Mercurial > hg > truffle
comparison src/cpu/x86/vm/interp_masm_x86_32.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 |
---|---|
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 } |