changeset 943:47ca7aa20d97

6858208: jvm crash when specifying TypeProfileWidth=0 on jdk 6.0 Reviewed-by: never
author asaha
date Wed, 21 Oct 2009 15:43:35 -0700
parents 6de2c9c36168
children aa83c08db78c b7e7fc226009
files src/cpu/sparc/vm/interp_masm_sparc.cpp src/cpu/x86/vm/interp_masm_x86_32.cpp src/cpu/x86/vm/interp_masm_x86_64.cpp
diffstat 3 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/sparc/vm/interp_masm_sparc.cpp	Tue Oct 20 19:55:13 2009 -0400
+++ b/src/cpu/sparc/vm/interp_masm_sparc.cpp	Wed Oct 21 15:43:35 2009 -0700
@@ -1696,6 +1696,9 @@
 void InterpreterMacroAssembler::record_klass_in_profile_helper(
                                         Register receiver, Register scratch,
                                         int start_row, Label& done) {
+  if (TypeProfileWidth == 0)
+    return;
+
   int last_row = VirtualCallData::row_limit() - 1;
   assert(start_row <= last_row, "must be work left to do");
   // Test this row for both the receiver and for null.
--- a/src/cpu/x86/vm/interp_masm_x86_32.cpp	Tue Oct 20 19:55:13 2009 -0400
+++ b/src/cpu/x86/vm/interp_masm_x86_32.cpp	Wed Oct 21 15:43:35 2009 -0700
@@ -1262,6 +1262,9 @@
                                         Register receiver, Register mdp,
                                         Register reg2,
                                         int start_row, Label& done) {
+  if (TypeProfileWidth == 0)
+    return;
+
   int last_row = VirtualCallData::row_limit() - 1;
   assert(start_row <= last_row, "must be work left to do");
   // Test this row for both the receiver and for null.
--- a/src/cpu/x86/vm/interp_masm_x86_64.cpp	Tue Oct 20 19:55:13 2009 -0400
+++ b/src/cpu/x86/vm/interp_masm_x86_64.cpp	Wed Oct 21 15:43:35 2009 -0700
@@ -1272,6 +1272,9 @@
                                         Register receiver, Register mdp,
                                         Register reg2,
                                         int start_row, Label& done) {
+  if (TypeProfileWidth == 0)
+    return;
+
   int last_row = VirtualCallData::row_limit() - 1;
   assert(start_row <= last_row, "must be work left to do");
   // Test this row for both the receiver and for null.