stage1 整理代码 修复错误
This commit is contained in:
@@ -152,6 +152,7 @@ static int spl_type_size(spl_type_t t) {
|
||||
_r = (spl_val_t)((int64_t)_a OP(int64_t) _b); \
|
||||
break; \
|
||||
case SPL_U64: \
|
||||
case SPL_PTR: \
|
||||
case SPL_USIZE: \
|
||||
case SPL_ISIZE: \
|
||||
_r = _a OP _b; \
|
||||
@@ -213,6 +214,7 @@ static int spl_type_size(spl_type_t t) {
|
||||
_r = (spl_val_t)((int64_t)_a OP(int64_t) _b); \
|
||||
break; \
|
||||
case SPL_U64: \
|
||||
case SPL_PTR: \
|
||||
case SPL_USIZE: \
|
||||
case SPL_ISIZE: \
|
||||
_r = (spl_val_t)((int64_t)_a OP(int64_t) _b); \
|
||||
@@ -254,6 +256,7 @@ static int spl_type_size(spl_type_t t) {
|
||||
_r = (spl_val_t)((uint64_t)_a OP(uint64_t) _b); \
|
||||
break; \
|
||||
case SPL_U64: \
|
||||
case SPL_PTR: \
|
||||
case SPL_USIZE: \
|
||||
case SPL_ISIZE: \
|
||||
_r = _a OP _b; \
|
||||
@@ -346,6 +349,7 @@ static int spl_type_size(spl_type_t t) {
|
||||
_r = (int64_t)_a OP(int64_t) _b; \
|
||||
break; \
|
||||
case SPL_U64: \
|
||||
case SPL_PTR: \
|
||||
case SPL_USIZE: \
|
||||
case SPL_ISIZE: \
|
||||
_r = _a OP _b; \
|
||||
@@ -399,6 +403,7 @@ static int spl_type_size(spl_type_t t) {
|
||||
_r = (uint64_t)_a OP(uint64_t) _b; \
|
||||
break; \
|
||||
case SPL_U64: \
|
||||
case SPL_PTR: \
|
||||
case SPL_USIZE: \
|
||||
case SPL_ISIZE: \
|
||||
_r = _a OP _b; \
|
||||
@@ -665,7 +670,8 @@ int spl_vm_run_once(spl_vm_t *vm) {
|
||||
|
||||
if (vm->trace) {
|
||||
fprintf(stderr, "vm: ip=%zd op=%s type=%s imm=%zu sp=%zd fp=%zd\n", vm->ip - 1,
|
||||
spl_opcode_name(ins->opcode), spl_type_tag_name(ins->type), ins->imm, vm->sp, vm->fp);
|
||||
spl_opcode_name(ins->opcode), spl_type_tag_name(ins->type), ins->imm, vm->sp,
|
||||
vm->fp);
|
||||
}
|
||||
|
||||
switch (ins->opcode) {
|
||||
@@ -1084,7 +1090,7 @@ void spl_vm_dump_instr(spl_vm_t *vm, spl_val_t ip) {
|
||||
return;
|
||||
spl_ins_t *ins = &vec_at(vm->prog->insns, ip);
|
||||
fprintf(stderr, " instr at ip=%zd: op=%s type=%s imm=%zu\n", ip, spl_opcode_name(ins->opcode),
|
||||
spl_type_tag_name(ins->type), ins->imm);
|
||||
spl_type_tag_name(ins->type), ins->imm);
|
||||
}
|
||||
|
||||
void spl_vm_stackdump(spl_vm_t *vm, spl_val_t sp) {
|
||||
|
||||
Reference in New Issue
Block a user