summaryrefslogtreecommitdiff
path: root/includes/compiler/PCodeAssembly.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--includes/compiler/PCodeAssembly.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/includes/compiler/PCodeAssembly.h b/includes/compiler/PCodeAssembly.h
index 41082a3..1819a04 100644
--- a/includes/compiler/PCodeAssembly.h
+++ b/includes/compiler/PCodeAssembly.h
@@ -3,8 +3,26 @@
#include "compiler/common.h"
-extern UInt32 assemblepcode(PCode *instr, UInt32 offset, PCodeArg *dummyArg);
-extern void optimizefinalbranches();
-extern void assemblefunction();
+#ifdef __MWERKS__
+#pragma options align=mac68k
+#endif
+typedef struct WeirdOperand {
+ short type; // matches MWReloc
+ Object *x2;
+ UInt32 x6;
+} WeirdOperand;
+
+typedef struct EntryPoint {
+ struct EntryPoint *next;
+ Object *object;
+ PCodeBlock *block;
+} EntryPoint;
+#ifdef __MWERKS__
+#pragma options align=reset
+#endif
+
+extern UInt32 assemblepcode(PCode *instr, UInt32 offset, WeirdOperand *wop);
+extern SInt32 optimizefinalbranches(SInt32 codesize);
+extern SInt32 assemblefunction(Object *func, EntryPoint *entrypoints);
#endif