hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp
changeset 6453 970dc585ab63
parent 5702 201c5cde25bb
child 7397 5b173b4ca846
equal deleted inserted replaced
6452:cc624b341ab2 6453:970dc585ab63
  1478     call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit),
  1478     call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit),
  1479                  r15_thread, c_rarg1);
  1479                  r15_thread, c_rarg1);
  1480     NOT_CC_INTERP(pop(state));
  1480     NOT_CC_INTERP(pop(state));
  1481   }
  1481   }
  1482 }
  1482 }
       
  1483 
       
  1484 // Jump if ((*counter_addr += increment) & mask) satisfies the condition.
       
  1485 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
       
  1486                                                         int increment, int mask,
       
  1487                                                         Register scratch, bool preloaded,
       
  1488                                                         Condition cond, Label* where) {
       
  1489   if (!preloaded) {
       
  1490     movl(scratch, counter_addr);
       
  1491   }
       
  1492   incrementl(scratch, increment);
       
  1493   movl(counter_addr, scratch);
       
  1494   andl(scratch, mask);
       
  1495   jcc(cond, *where);
       
  1496 }