comparison src/cpu/sparc/vm/interp_masm_sparc.cpp @ 14676:d3f14809b051

8036146: make CPP interpreter build again Summary: fix build of CPP interpreter on x86 and sparc Reviewed-by: kvn
author roland
date Wed, 05 Mar 2014 15:14:25 +0100
parents 8cdf3f43f63e
children b51e29501f30
comparison
equal deleted inserted replaced
14675:bb4db06fd36f 14676:d3f14809b051
2495 2495
2496 2496
2497 void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { 2497 void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) {
2498 if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth); 2498 if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth);
2499 } 2499 }
2500
2501
2502 // Jump if ((*counter_addr += increment) & mask) satisfies the condition.
2503 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
2504 int increment, int mask,
2505 Register scratch1, Register scratch2,
2506 Condition cond, Label *where) {
2507 ld(counter_addr, scratch1);
2508 add(scratch1, increment, scratch1);
2509 if (is_simm13(mask)) {
2510 andcc(scratch1, mask, G0);
2511 } else {
2512 set(mask, scratch2);
2513 andcc(scratch1, scratch2, G0);
2514 }
2515 br(cond, false, Assembler::pn, *where);
2516 delayed()->st(scratch1, counter_addr);
2517 }
2500 #endif /* CC_INTERP */ 2518 #endif /* CC_INTERP */
2501 2519
2502 // Inline assembly for: 2520 // Inline assembly for:
2503 // 2521 //
2504 // if (thread is in interp_only_mode) { 2522 // if (thread is in interp_only_mode) {
2644 } else { 2662 } else {
2645 pop(state); 2663 pop(state);
2646 } 2664 }
2647 #endif // CC_INTERP 2665 #endif // CC_INTERP
2648 } 2666 }
2649
2650 // Jump if ((*counter_addr += increment) & mask) satisfies the condition.
2651 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
2652 int increment, int mask,
2653 Register scratch1, Register scratch2,
2654 Condition cond, Label *where) {
2655 ld(counter_addr, scratch1);
2656 add(scratch1, increment, scratch1);
2657 if (is_simm13(mask)) {
2658 andcc(scratch1, mask, G0);
2659 } else {
2660 set(mask, scratch2);
2661 andcc(scratch1, scratch2, G0);
2662 }
2663 br(cond, false, Assembler::pn, *where);
2664 delayed()->st(scratch1, counter_addr);
2665 }