Mercurial > hg > truffle
diff src/cpu/x86/vm/graalRuntime_x86.cpp @ 8502:ff4fa8b0516e
-Create push patch
author | Christos Kotselidis <christos.kotselidis@oracle.com> |
---|---|
date | Wed, 20 Mar 2013 20:13:08 +0100 |
parents | 96a337d307bd |
children | c3657d00e343 |
line wrap: on
line diff
--- a/src/cpu/x86/vm/graalRuntime_x86.cpp Wed Mar 06 19:35:04 2013 +0100 +++ b/src/cpu/x86/vm/graalRuntime_x86.cpp Wed Mar 20 20:13:08 2013 +0100 @@ -1205,13 +1205,14 @@ oop_maps = new OopMapSet(); oop_maps->add_gc_map(call_offset, map); - restore_live_registers(sasm, save_fpu_registers); + restore_live_registers(sasm); } __ ret(0); break; } case graal_wb_post_call_id: { Register obj = j_rarg0; + Register caddr = j_rarg1; { GraalStubFrame f(sasm, "graal_wb_post_call", dont_gc_arguments); OopMap* map = save_live_registers(sasm, 2, save_fpu_registers); @@ -1219,33 +1220,16 @@ // note: really a leaf routine but must setup last java sp // => use call_RT for now (speed can be improved by // doing last java sp setup manually) - int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, graal_wb_post_call), obj); + int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, graal_wb_post_call), obj, caddr); oop_maps = new OopMapSet(); oop_maps->add_gc_map(call_offset, map); - restore_live_registers(sasm, save_fpu_registers); + restore_live_registers(sasm); } __ ret(0); break; } - case graal_ver_oop_id: { - Register obj = j_rarg0; - { - GraalStubFrame f(sasm, "graal_wb_post_call", dont_gc_arguments); - OopMap* map = save_live_registers(sasm, 2, save_fpu_registers); - // note: really a leaf routine but must setup last java sp - // => use call_RT for now (speed can be improved by - // doing last java sp setup manually) - int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, graal_ver_oop), obj); - - oop_maps = new OopMapSet(); - oop_maps->add_gc_map(call_offset, map); - restore_live_registers(sasm, save_fpu_registers); - } - __ ret(0); - break; - } case graal_identity_hash_code_id: { Register obj = j_rarg0; // Incoming __ set_info("identity_hash_code", dont_gc_arguments);