changeset 3660:34a4f7687460 hs23-b17

7150051: incorrect oopmap in critical native Reviewed-by: kvn, twisti
author never
date Thu, 01 Mar 2012 15:31:33 -0800
parents ad0b499ddb18
children 66eb62861bb0
files src/cpu/x86/vm/sharedRuntime_x86_64.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Tue Feb 28 10:04:01 2012 -0800
+++ b/src/cpu/x86/vm/sharedRuntime_x86_64.cpp	Thu Mar 01 15:31:33 2012 -0800
@@ -1197,7 +1197,6 @@
     if (in_regs[i].first()->is_Register() &&
         (in_sig_bt[i] == T_LONG || in_sig_bt[i] == T_ARRAY)) {
       int offset = slot * VMRegImpl::stack_slot_size;
-      slot += VMRegImpl::slots_per_word;
       if (map != NULL) {
         __ movq(Address(rsp, offset), in_regs[i].first()->as_Register());
         if (in_sig_bt[i] == T_ARRAY) {
@@ -1206,6 +1205,7 @@
       } else {
         __ movq(in_regs[i].first()->as_Register(), Address(rsp, offset));
       }
+      slot += VMRegImpl::slots_per_word;
     }
   }
   // Save or restore single word registers