hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp
changeset 6453 970dc585ab63
parent 5702 201c5cde25bb
child 7397 5b173b4ca846
equal deleted inserted replaced
6452:cc624b341ab2 6453:970dc585ab63
  1395       CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit),
  1395       CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_exit),
  1396       rbx, rcx);
  1396       rbx, rcx);
  1397     NOT_CC_INTERP(pop(state));
  1397     NOT_CC_INTERP(pop(state));
  1398   }
  1398   }
  1399 }
  1399 }
       
  1400 
       
  1401 // Jump if ((*counter_addr += increment) & mask) satisfies the condition.
       
  1402 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
       
  1403                                                         int increment, int mask,
       
  1404                                                         Register scratch, bool preloaded,
       
  1405                                                         Condition cond, Label* where) {
       
  1406   if (!preloaded) {
       
  1407     movl(scratch, counter_addr);
       
  1408   }
       
  1409   incrementl(scratch, increment);
       
  1410   movl(counter_addr, scratch);
       
  1411   andl(scratch, mask);
       
  1412   jcc(cond, *where);
       
  1413 }