summaryrefslogtreecommitdiff
path: root/includes/compiler/PCodeAssembly.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2022-12-29 12:32:55 +0000
committerAsh Wolf <ninji@wuffs.org>2022-12-29 12:32:55 +0000
commitfcfbafff31869ed808bff0639532db1828660e92 (patch)
tree7425b346b031c4cb47a06250b3f6f950374d44ae /includes/compiler/PCodeAssembly.h
parentbc1321735c15104ffad195e1509cab5f3a044260 (diff)
downloadMWCC-fcfbafff31869ed808bff0639532db1828660e92.tar.gz
MWCC-fcfbafff31869ed808bff0639532db1828660e92.zip
dump lots more code
Diffstat (limited to 'includes/compiler/PCodeAssembly.h')
-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