diff src/share/vm/oops/methodData.hpp @ 17900:ce9fd31ffd14

8039975: SIGSEGV in MethodData::next_data(ProfileData*) Summary: profiling code in interpreter broken when argument profiling is off. Reviewed-by: iveresov, kvn
author roland
date Fri, 18 Apr 2014 14:25:21 +0200
parents 62c54fcc0a35
children 52b4284cb496 f6f9aec27858
line wrap: on
line diff
--- a/src/share/vm/oops/methodData.hpp	Fri Feb 21 09:48:52 2014 +0100
+++ b/src/share/vm/oops/methodData.hpp	Fri Apr 18 14:25:21 2014 +0200
@@ -1022,6 +1022,11 @@
   static ByteSize argument_type_offset(int i) {
     return in_ByteSize(argument_type_local_offset(i) * DataLayout::cell_size);
   }
+
+  static ByteSize return_only_size() {
+    return ReturnTypeEntry::size() + in_ByteSize(header_cell_count() * DataLayout::cell_size);
+  }
+
 };
 
 // CallTypeData
@@ -2172,7 +2177,6 @@
 
   static bool profile_jsr292(methodHandle m, int bci);
   static int profile_arguments_flag();
-  static bool profile_arguments_jsr292_only();
   static bool profile_all_arguments();
   static bool profile_arguments_for_invoke(methodHandle m, int bci);
   static int profile_return_flag();
@@ -2475,6 +2479,7 @@
 
   static bool profile_parameters_for_method(methodHandle m);
   static bool profile_arguments();
+  static bool profile_arguments_jsr292_only();
   static bool profile_return();
   static bool profile_parameters();
   static bool profile_return_jsr292_only();