X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibspiderscript.so_src%2Fbytecode.h;h=bc3c91cdbad3a3bdbd7a48b87a5c6d9f03bf2d3b;hb=c43c05ef3234d6118ce601d299df60383d54ac7b;hp=045f896f186cd6a24302a1e55a9240d46cd858db;hpb=2c8989ea0849b0e207e6c357626d41c991dc423f;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libspiderscript.so_src/bytecode.h b/Usermode/Libraries/libspiderscript.so_src/bytecode.h index 045f896f..bc3c91cd 100644 --- a/Usermode/Libraries/libspiderscript.so_src/bytecode.h +++ b/Usermode/Libraries/libspiderscript.so_src/bytecode.h @@ -7,6 +7,8 @@ #include "bytecode_ops.h" +#define BC_NS_SEPARATOR '@' + typedef struct sBC_Op tBC_Op; typedef struct sBC_Function tBC_Function; @@ -14,11 +16,12 @@ struct sBC_Op { tBC_Op *Next; int Operation; - int bUseInteger; // Used for serialisation + char bUseInteger; // Used for serialisation + char bUseString; // Used for serialisation union { struct { - const char *String; int Integer; + char String[]; } StringInt; uint64_t Integer; @@ -28,8 +31,6 @@ struct sBC_Op struct sBC_Function { - const char *Name; - int LabelCount; int LabelSpace; tBC_Op **Labels; @@ -38,18 +39,12 @@ struct sBC_Function // NOTE: These fields are invalid after compilation int VariableCount; int VariableSpace; - const char **VariableNames; // Only type needs to be stored + const char **VariableNames; int CurContextDepth; // Used to get the real var count int OperationCount; tBC_Op *Operations; tBC_Op *OperationsEnd; - - int ArgumentCount; - struct { - char *Name; - int Type; - } Arguments[]; }; #endif