comparison src/cpu/sparc/vm/interp_masm_sparc.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
2429 } else { 2429 } else {
2430 pop(state); 2430 pop(state);
2431 } 2431 }
2432 #endif // CC_INTERP 2432 #endif // CC_INTERP
2433 } 2433 }
2434
2435 // Jump if ((*counter_addr += increment) & mask) satisfies the condition.
2436 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
2437 int increment, int mask,
2438 Register scratch1, Register scratch2,
2439 Condition cond, Label *where) {
2440 ld(counter_addr, scratch1);
2441 add(scratch1, increment, scratch1);
2442 if (is_simm13(mask)) {
2443 andcc(scratch1, mask, G0);
2444 } else {
2445 set(mask, scratch2);
2446 andcc(scratch1, scratch2, G0);
2447 }
2448 br(cond, false, Assembler::pn, *where);
2449 delayed()->st(scratch1, counter_addr);
2450 }