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);