Huge performance upgrade.
This commit is contained in:
@@ -231,6 +231,7 @@ typedef union {
|
||||
struct {
|
||||
char *class_name;
|
||||
char *field_name;
|
||||
void *cached_ptr;
|
||||
} field;
|
||||
struct {
|
||||
int local_index;
|
||||
|
||||
@@ -270,6 +270,7 @@ static void _rava_ir_gen_expression(RavaIRGenerator_t *gen, RavaASTNode_t *expr)
|
||||
instr.opcode = RAVA_OP_STORE_STATIC;
|
||||
instr.operand.field.class_name = strdup(obj_name);
|
||||
instr.operand.field.field_name = strdup(target_member->data.member_access.member);
|
||||
instr.operand.field.cached_ptr = NULL;
|
||||
_rava_ir_emit(gen, instr);
|
||||
break;
|
||||
}
|
||||
@@ -301,6 +302,7 @@ static void _rava_ir_gen_expression(RavaIRGenerator_t *gen, RavaASTNode_t *expr)
|
||||
instr.opcode = RAVA_OP_LOAD_STATIC;
|
||||
instr.operand.field.class_name = strdup(obj_name);
|
||||
instr.operand.field.field_name = strdup(expr->data.member_access.member);
|
||||
instr.operand.field.cached_ptr = NULL;
|
||||
_rava_ir_emit(gen, instr);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user