Nicolas Cannasse před 8 roky
rodič
revize
e7a1e78b72
1 změnil soubory, kde provedl 2 přidání a 3 odebrání
  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;
 							break;
 						default:
 						default:
 							size = pad_before_call(ctx,HL_WSIZE*4);
 							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,MOV,r,pconst64(&p,(int_val)rb->t));
 							op64(ctx,PUSH,r,UNUSED);
 							op64(ctx,PUSH,r,UNUSED);
 							break;
 							break;
 						}
 						}
 						op32(ctx,MOV,r,pconst(&p,dst->t->virt->fields[o->p2].hashed_name));
 						op32(ctx,MOV,r,pconst(&p,dst->t->virt->fields[o->p2].hashed_name));
 						op64(ctx,PUSH,r,UNUSED);
 						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);
 						call_native(ctx,get_dynset(rb->t),size);
 #						endif
 #						endif
 						XJump_small(JAlways,jend);
 						XJump_small(JAlways,jend);