changeset 1935:98dbef29f10b

Important fix for exception unwind method entry offset (regression introduced during update to latest OpenJDK). Hard to find bug => should add a regression test for wrong offsets.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Wed, 22 Dec 2010 19:47:39 +0100
parents b1f2e875300a
children 8d88c9ac9247
files src/share/vm/code/nmethod.cpp
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.cpp	Tue Dec 21 17:40:10 2010 +0100
+++ b/src/share/vm/code/nmethod.cpp	Wed Dec 22 19:47:39 2010 +0100
@@ -794,11 +794,11 @@
 
     // Exception handler and deopt handler are in the stub section
     if (UseC1X) {
-      // c1x produces no stub section
-      _exception_offset        = _stub_offset          + offsets->value(CodeOffsets::Exceptions);
-      _deoptimize_offset       = _stub_offset          + offsets->value(CodeOffsets::Deopt);
+      // c1x produces no (!) stub section
+      _exception_offset        = code_offset()          + offsets->value(CodeOffsets::Exceptions);
+      _deoptimize_offset       = code_offset()          + offsets->value(CodeOffsets::Deopt);
       if (has_method_handle_invokes()) {
-        _deoptimize_mh_offset  = _stub_offset          + offsets->value(CodeOffsets::DeoptMH);
+        _deoptimize_mh_offset  = code_offset()          + offsets->value(CodeOffsets::DeoptMH);
       } else {
         _deoptimize_mh_offset  = -1;
       }