From fcfbafff31869ed808bff0639532db1828660e92 Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Thu, 29 Dec 2022 12:32:55 +0000 Subject: dump lots more code --- includes/compiler/Exceptions.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'includes/compiler/Exceptions.h') diff --git a/includes/compiler/Exceptions.h b/includes/compiler/Exceptions.h index f1096c8..cc485b0 100644 --- a/includes/compiler/Exceptions.h +++ b/includes/compiler/Exceptions.h @@ -62,6 +62,11 @@ struct ExceptionAction { Object *dtor; Object *element_size; } destroy_partial_array; + struct { // TODO: merge me with destroy_member + Object *objectptr; + Object *dtor; + SInt32 offset; + } destroy_base; struct { Object *objectptr; Object *dtor; @@ -115,8 +120,33 @@ struct ExceptionAction { ExceptionActionType type; }; +typedef struct EANode { + struct EANode *dagListNext; + struct EANode *prev; + ExceptionAction *action; + UInt16 count; + UInt16 xE; +} EANode; + +typedef struct PCAction { + struct PCAction *next; + struct PCAction *prev; + PCode *firstInstr; + PCode *lastInstr; + ExceptionAction *actions; + EANode *node; +} PCAction; + #ifdef __MWERKS__ #pragma options align=reset #endif +extern EANode *DAG[EAT_NACTIONS]; + +extern int countexceptionactionregisters(ExceptionAction *actions); +extern void noteexceptionactionregisters(ExceptionAction *actions, PCodeArg *ops); +extern void recordexceptionactions(PCode *instr, ExceptionAction *actions); +extern void deleteexceptionaction(PCAction *pca); +extern void dumpexceptiontables(Object *function, SInt32 codesize); + #endif -- cgit v1.2.3