ソースを参照

better fix for #60

Nicolas Cannasse 8 年 前
コミット
e7a1e78b72
1 ファイル変更2 行追加3 行削除
  1. 2 3
      src/jit.c

+ 2 - 3
src/jit.c

@@ -2703,15 +2703,14 @@ int hl_jit_function( jit_ctx *ctx, hl_module *m, hl_function *f ) {
 							break;
 						default:
 							size = pad_before_call(ctx,HL_WSIZE*4);
-							if( hl_is_ptr(rb->t) ) op64(ctx,PUSH,fetch(rb),UNUSED); else push_reg(ctx,rb);
+							op64(ctx,PUSH,fetch(rb),UNUSED);
 							op64(ctx,MOV,r,pconst64(&p,(int_val)rb->t));
 							op64(ctx,PUSH,r,UNUSED);
 							break;
 						}
 						op32(ctx,MOV,r,pconst(&p,dst->t->virt->fields[o->p2].hashed_name));
 						op64(ctx,PUSH,r,UNUSED);
-						op64(ctx,PUSH,obj,UNUSED);
-						if( rb->current ) RUNLOCK(rb->current); // we might need a free register for later use
+						op64(ctx,PUSH,obj,UNUSED);						
 						call_native(ctx,get_dynset(rb->t),size);
 #						endif
 						XJump_small(JAlways,jend);