src/cpu/x86/vm/c1_Runtime1_x86.cpp

changeset 2138
d5d065957597
parent 2036
126ea7725993
child 2314
f95d63e2154a
     1.1 --- a/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Thu Sep 02 11:40:02 2010 -0700
     1.2 +++ b/src/cpu/x86/vm/c1_Runtime1_x86.cpp	Fri Sep 03 17:51:07 2010 -0700
     1.3 @@ -1068,15 +1068,16 @@
     1.4  
     1.5        break;
     1.6  
     1.7 -#ifdef TIERED
     1.8      case counter_overflow_id:
     1.9        {
    1.10 -        Register bci = rax;
    1.11 +        Register bci = rax, method = rbx;
    1.12          __ enter();
    1.13 -        OopMap* map = save_live_registers(sasm, 2);
    1.14 +        OopMap* map = save_live_registers(sasm, 3);
    1.15          // Retrieve bci
    1.16          __ movl(bci, Address(rbp, 2*BytesPerWord));
    1.17 -        int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, counter_overflow), bci);
    1.18 +        // And a pointer to the methodOop
    1.19 +        __ movptr(method, Address(rbp, 3*BytesPerWord));
    1.20 +        int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, counter_overflow), bci, method);
    1.21          oop_maps = new OopMapSet();
    1.22          oop_maps->add_gc_map(call_offset, map);
    1.23          restore_live_registers(sasm);
    1.24 @@ -1084,7 +1085,6 @@
    1.25          __ ret(0);
    1.26        }
    1.27        break;
    1.28 -#endif // TIERED
    1.29  
    1.30      case new_type_array_id:
    1.31      case new_object_array_id:

mercurial