Mercurial > hg > truffle
comparison src/cpu/x86/vm/interp_masm_x86_64.cpp @ 1783:d5d065957597
6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
author | iveresov |
---|---|
date | Fri, 03 Sep 2010 17:51:07 -0700 |
parents | e9ff18c4ace7 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1782:f353275af40e | 1783:d5d065957597 |
---|---|
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 } |