2022-11-20 05:07:22 +00:00
|
|
|
#ifndef COMPILER_PCODEASSEMBLY_H
|
|
|
|
#define COMPILER_PCODEASSEMBLY_H
|
|
|
|
|
|
|
|
#include "compiler/common.h"
|
|
|
|
|
2022-12-29 12:32:55 +00:00
|
|
|
#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);
|
2022-12-14 00:16:59 +00:00
|
|
|
|
2022-11-20 05:07:22 +00:00
|
|
|
#endif
|