From aec1b8dddc68ecb8288ec6132932e4c7b4bca09f Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Tue, 10 Jan 2023 11:05:21 +0000 Subject: getting close to done --- includes/compiler/TOC.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'includes/compiler/TOC.h') diff --git a/includes/compiler/TOC.h b/includes/compiler/TOC.h index c5eabb0..2d6d3be 100644 --- a/includes/compiler/TOC.h +++ b/includes/compiler/TOC.h @@ -13,13 +13,20 @@ typedef struct CodeLabelList { CLabel *label; } CodeLabelList; +typedef struct PoolEntry { + struct PoolEntry *next; + Object *object; + SInt32 offset; + void *buffer; +} PoolEntry; + extern ObjectList *toclist; extern ObjectList *exceptionlist; extern void *descriptorlist; -extern void *floatconstpool; -extern void *doubleconstpool; +extern PoolEntry *floatconstpool; +extern PoolEntry *doubleconstpool; extern ObjectList *floatconstlist; -extern void *vectorconstpool; +extern PoolEntry *vectorconstpool; extern ObjectList *vectorconstlist; extern Object toc0; extern Boolean no_descriptors; @@ -34,8 +41,8 @@ extern void referenceIndirectPointer(Object *obj); extern Object *createIndirect(Object *obj, Boolean flag1, Boolean flag2); extern Object *createfloatconstant(Type *type, Float *data); extern Object *createvectorconstant(Type *type, MWVector128 *data); -extern void DeclarePooledConstants(); -extern Object *CreateFloatConst(Type *type, Float *data, SInt32 *unkptr); +extern void DeclarePooledConstants(void); +extern Object *CreateFloatConst(Type *type, Float *data, SInt32 *pOffset); extern void dumpcodelabels(Object *func); typedef struct COVCResult { // this struct might be used in other places too??? -- cgit v1.2.3