diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-24 13:08:39 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-24 13:08:39 (GMT) |
| commit | cfb8df08305cfc8baebf104524a257bf0ded49db (patch) | |
| tree | d3898c6427643d86b7f584190cc8178bbff76382 /src/pim/Machine.h | |
| parent | 2ddbd576770d2497af4b0a66149962956ef0ccf3 (diff) | |
| download | powder-cfb8df08305cfc8baebf104524a257bf0ded49db.zip powder-cfb8df08305cfc8baebf104524a257bf0ded49db.tar.gz | |
Work on Ahead-Of-Time compiler for PVM
Diffstat (limited to 'src/pim/Machine.h')
| -rw-r--r-- | src/pim/Machine.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/pim/Machine.h b/src/pim/Machine.h index 42147dd..3bf1131 100644 --- a/src/pim/Machine.h +++ b/src/pim/Machine.h @@ -59,6 +59,9 @@ namespace pim int romSize; int romMask; + unsigned char * compiledRom; + int compiledRomSize; + unsigned char * ram; int ramSize; int ramMask; @@ -76,12 +79,16 @@ namespace pim int programCounter; - + void emit(std::string opcode); + void emit(int constant); public: VirtualMachine(Simulation * sim); int OpcodeArgSize(int opcode); void LoadProgram(std::vector<unsigned char> programData); void Run(); + void Compile(); + void CallCompiled(std::string entryPoint); + void CallCompiled(int entryPoint); void Call(std::string entryPoint); void Call(int entryPoint); inline void PSPush(Word word) |
