Mercurial > hg > graal-compiler
diff src/cpu/x86/vm/c1_Runtime1_x86.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 | 126ea7725993 |
children | 2d26b0046e0d f95d63e2154a |
line wrap: on
line diff
--- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp Thu Sep 02 11:40:02 2010 -0700 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp Fri Sep 03 17:51:07 2010 -0700 @@ -1068,15 +1068,16 @@ break; -#ifdef TIERED case counter_overflow_id: { - Register bci = rax; + Register bci = rax, method = rbx; __ enter(); - OopMap* map = save_live_registers(sasm, 2); + OopMap* map = save_live_registers(sasm, 3); // Retrieve bci __ movl(bci, Address(rbp, 2*BytesPerWord)); - int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, counter_overflow), bci); + // And a pointer to the methodOop + __ movptr(method, Address(rbp, 3*BytesPerWord)); + int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, counter_overflow), bci, method); oop_maps = new OopMapSet(); oop_maps->add_gc_map(call_offset, map); restore_live_registers(sasm); @@ -1084,7 +1085,6 @@ __ ret(0); } break; -#endif // TIERED case new_type_array_id: case new_object_array_id: