< prev index next >

src/hotspot/cpu/arm/c1_Runtime1_arm.cpp

Print this page
*** 624,15 ***
        // fall through
      case monitorenter_id:
        {
          __ set_info("monitorenter", dont_gc_arguments);
          const Register obj  = R1;
-         const Register lock = R2;
          OopMap* map = save_live_registers(sasm, save_fpu_registers);
          __ ldr(obj, Address(SP, arg1_offset));
!         __ ldr(lock, Address(SP, arg2_offset));
-         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorenter), obj, lock);
          oop_maps = new OopMapSet();
          oop_maps->add_gc_map(call_offset, map);
          restore_live_registers(sasm, save_fpu_registers);
        }
        break;
--- 624,13 ---
        // fall through
      case monitorenter_id:
        {
          __ set_info("monitorenter", dont_gc_arguments);
          const Register obj  = R1;
          OopMap* map = save_live_registers(sasm, save_fpu_registers);
          __ ldr(obj, Address(SP, arg1_offset));
!         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorenter), obj);
          oop_maps = new OopMapSet();
          oop_maps->add_gc_map(call_offset, map);
          restore_live_registers(sasm, save_fpu_registers);
        }
        break;

*** 641,14 ***
        save_fpu_registers = false;
        // fall through
      case monitorexit_id:
        {
          __ set_info("monitorexit", dont_gc_arguments);
!         const Register lock = R1;
          OopMap* map = save_live_registers(sasm, save_fpu_registers);
!         __ ldr(lock, Address(SP, arg1_offset));
!         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorexit), lock);
          oop_maps = new OopMapSet();
          oop_maps->add_gc_map(call_offset, map);
          restore_live_registers(sasm, save_fpu_registers);
        }
        break;
--- 639,14 ---
        save_fpu_registers = false;
        // fall through
      case monitorexit_id:
        {
          __ set_info("monitorexit", dont_gc_arguments);
!         const Register obj = R1;
          OopMap* map = save_live_registers(sasm, save_fpu_registers);
!         __ ldr(obj, Address(SP, arg1_offset));
!         int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, monitorexit), obj);
          oop_maps = new OopMapSet();
          oop_maps->add_gc_map(call_offset, map);
          restore_live_registers(sasm, save_fpu_registers);
        }
        break;
< prev index next >