diff options
Diffstat (limited to 'vm/compiler/CompilerIR.h')
-rw-r--r-- | vm/compiler/CompilerIR.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vm/compiler/CompilerIR.h b/vm/compiler/CompilerIR.h index 21aadec3a..82b97e5ba 100644 --- a/vm/compiler/CompilerIR.h +++ b/vm/compiler/CompilerIR.h @@ -152,6 +152,12 @@ typedef struct BasicBlock { struct LoopAnalysis; struct RegisterPool; +typedef enum AssemblerStatus { + kSuccess, + kRetryAll, + kRetryHalve +} AssemblerStatus; + typedef struct CompilationUnit { int numInsts; int numBlocks; @@ -166,11 +172,12 @@ typedef struct CompilationUnit { int headerSize; // bytes before the first code ptr int dataOffset; // starting offset of literal pool int totalSize; // header + code size + AssemblerStatus assemblerStatus; // Success or fix and retry + int assemblerRetries; // How many times tried to fix assembly unsigned char *codeBuffer; void *baseAddr; bool printMe; bool allSingleStep; - bool halveInstCount; bool executionCount; // Add code to count trace executions bool hasLoop; // Contains a loop bool hasInvoke; // Contains an invoke instruction |