assume c++11
clang didn't like static members in anonymous structures, gave them names WriteEvent template wouldn't resolve for temporary values without const decl in clang added a few missing headers added -fno-operator-names for xbyak compilation under gcc/clang
This commit is contained in:
@@ -109,7 +109,7 @@ int IVMAssembler::Assemble(
|
||||
// Fixup label references.
|
||||
LabelRef* label_ref = ctx.label_ref_head;
|
||||
while (label_ref) {
|
||||
label_ref->instr->src1_reg = (uint32_t)label_ref->label->tag & ~0x80000000;
|
||||
label_ref->instr->src1_reg = (uint32_t)(intptr_t)label_ref->label->tag & ~0x80000000;
|
||||
label_ref = label_ref->next;
|
||||
}
|
||||
|
||||
|
||||
@@ -32,17 +32,17 @@ public:
|
||||
ALLOY_BACKEND_IVM_ASSEMBLER_DEINIT = ALLOY_BACKEND_IVM_ASSEMBLER | (2),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct Init_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_IVM_INIT;
|
||||
} Init;
|
||||
typedef struct {
|
||||
typedef struct Deinit_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_IVM_DEINIT;
|
||||
} Deinit;
|
||||
|
||||
typedef struct {
|
||||
typedef struct AssemblerInit_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_IVM_ASSEMBLER_INIT;
|
||||
} AssemblerInit;
|
||||
typedef struct {
|
||||
typedef struct AssemblerDeinit_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_IVM_ASSEMBLER_DEINIT;
|
||||
} AssemblerDeinit;
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#define ALLOY_BACKEND_X64_X64_LOWERING_TRACERS_H_
|
||||
|
||||
#include <alloy/core.h>
|
||||
#include <xmmintrin.h>
|
||||
|
||||
|
||||
namespace alloy {
|
||||
|
||||
@@ -32,17 +32,17 @@ public:
|
||||
ALLOY_BACKEND_X64_ASSEMBLER_DEINIT = ALLOY_BACKEND_X64_ASSEMBLER | (2),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct Init_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_X64_INIT;
|
||||
} Init;
|
||||
typedef struct {
|
||||
typedef struct Deinit_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_X64_DEINIT;
|
||||
} Deinit;
|
||||
|
||||
typedef struct {
|
||||
typedef struct AssemblerInit_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_X64_ASSEMBLER_INIT;
|
||||
} AssemblerInit;
|
||||
typedef struct {
|
||||
typedef struct AssemblerDeinit_s {
|
||||
static const uint32_t event_type = ALLOY_BACKEND_X64_ASSEMBLER_DEINIT;
|
||||
} AssemblerDeinit;
|
||||
};
|
||||
|
||||
@@ -27,10 +27,10 @@ public:
|
||||
ALLOY_COMPILER_DEINIT = ALLOY_COMPILER | (2),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct Init_s {
|
||||
static const uint32_t event_type = ALLOY_COMPILER_INIT;
|
||||
} Init;
|
||||
typedef struct {
|
||||
typedef struct Deinit_s {
|
||||
static const uint32_t event_type = ALLOY_COMPILER_DEINIT;
|
||||
} Deinit;
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#define ALLOY_DELEGATE_H_
|
||||
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
|
||||
#include <alloy/core.h>
|
||||
#include <alloy/mutex.h>
|
||||
|
||||
@@ -27,10 +27,10 @@ public:
|
||||
ALLOY_FRONTEND_DEINIT = ALLOY_FRONTEND | (2),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct Init_s {
|
||||
static const uint32_t event_type = ALLOY_FRONTEND_INIT;
|
||||
} Init;
|
||||
typedef struct {
|
||||
typedef struct Deinit_s {
|
||||
static const uint32_t event_type = ALLOY_FRONTEND_DEINIT;
|
||||
} Deinit;
|
||||
};
|
||||
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
private:
|
||||
// TODO(benvanik): replace with a better data structure.
|
||||
Mutex* lock_;
|
||||
typedef std::tr1::unordered_map<uint64_t, Entry*> EntryMap;
|
||||
typedef std::unordered_map<uint64_t, Entry*> EntryMap;
|
||||
EntryMap map_;
|
||||
};
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ protected:
|
||||
private:
|
||||
// TODO(benvanik): replace with a better data structure.
|
||||
Mutex* lock_;
|
||||
typedef std::tr1::unordered_map<uint64_t, SymbolInfo*> SymbolMap;
|
||||
typedef std::unordered_map<uint64_t, SymbolInfo*> SymbolMap;
|
||||
SymbolMap map_;
|
||||
typedef std::vector<SymbolInfo*> SymbolList;
|
||||
SymbolList list_;
|
||||
|
||||
@@ -40,46 +40,46 @@ public:
|
||||
ALLOY_RUNTIME_MEMORY_HEAP_FREE = ALLOY_RUNTIME_MEMORY | (4),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct Init_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_INIT;
|
||||
} Init;
|
||||
typedef struct {
|
||||
typedef struct Deinit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_DEINIT;
|
||||
} Deinit;
|
||||
|
||||
typedef struct {
|
||||
typedef struct ThreadInit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_THREAD_INIT;
|
||||
} ThreadInit;
|
||||
typedef struct {
|
||||
typedef struct ThreadDeinit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_THREAD_DEINIT;
|
||||
} ThreadDeinit;
|
||||
|
||||
typedef struct {
|
||||
typedef struct MemoryInit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_MEMORY_INIT;
|
||||
// map of memory, etc?
|
||||
} MemoryInit;
|
||||
typedef struct {
|
||||
typedef struct MemoryDeinit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_MEMORY_DEINIT;
|
||||
} MemoryDeinit;
|
||||
typedef struct {
|
||||
typedef struct MemoryHeapInit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_MEMORY_HEAP_INIT;
|
||||
uint32_t heap_id;
|
||||
uint64_t low_address;
|
||||
uint64_t high_address;
|
||||
uint32_t is_physical;
|
||||
} MemoryHeapInit;
|
||||
typedef struct {
|
||||
typedef struct MemoryHeapDeinit_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_MEMORY_HEAP_DEINIT;
|
||||
uint32_t heap_id;
|
||||
} MemoryHeapDeinit;
|
||||
typedef struct {
|
||||
typedef struct MemoryHeapAlloc_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_MEMORY_HEAP_ALLOC;
|
||||
uint32_t heap_id;
|
||||
uint32_t flags;
|
||||
uint64_t address;
|
||||
size_t size;
|
||||
} MemoryHeapAlloc;
|
||||
typedef struct {
|
||||
typedef struct MemoryHeapFree_s {
|
||||
static const uint32_t event_type = ALLOY_RUNTIME_MEMORY_HEAP_FREE;
|
||||
uint32_t heap_id;
|
||||
uint64_t address;
|
||||
|
||||
@@ -33,10 +33,10 @@ public:
|
||||
USER = (1 << 31),
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct TraceInit_s {
|
||||
static const uint32_t event_type = ALLOY_TRACE_INIT;
|
||||
} TraceInit;
|
||||
typedef struct {
|
||||
typedef struct TraceEOF_s {
|
||||
static const uint32_t event_type = ALLOY_TRACE_EOF;
|
||||
} TraceEOF;
|
||||
};
|
||||
|
||||
@@ -30,7 +30,7 @@ Tracer* GetThreadTracer();
|
||||
|
||||
void WriteEvent(uint32_t event_type, size_t size = 0, const void* data = 0);
|
||||
|
||||
template<typename T> void WriteEvent(T& ev) {
|
||||
template<typename T> void WriteEvent(const T& ev) {
|
||||
if (sizeof(T) > 1) {
|
||||
alloy::tracing::WriteEvent(T::event_type, sizeof(T), &ev);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user