changeset 18060:b207affc0618

Merge
author asaha
date Tue, 03 Jun 2014 21:36:53 -0700
parents ec8878dc470d (current diff) dbcd3fcdba84 (diff)
children e47c5dad18f2
files make/hotspot_version src/share/vm/classfile/classFileParser.cpp src/share/vm/classfile/verifier.cpp
diffstat 3 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/make/hotspot_version	Tue Jun 03 07:29:16 2014 -0700
+++ b/make/hotspot_version	Tue Jun 03 21:36:53 2014 -0700
@@ -34,8 +34,8 @@
 HOTSPOT_VM_COPYRIGHT=Copyright 2014
 
 HS_MAJOR_VER=25
-HS_MINOR_VER=20
-HS_BUILD_NUMBER=16
+HS_MINOR_VER=25
+HS_BUILD_NUMBER=01
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
--- a/src/share/vm/classfile/classFileParser.cpp	Tue Jun 03 07:29:16 2014 -0700
+++ b/src/share/vm/classfile/classFileParser.cpp	Tue Jun 03 21:36:53 2014 -0700
@@ -2831,6 +2831,11 @@
       "bootstrap_method_index %u has bad constant type in class file %s",
       bootstrap_method_index,
       CHECK);
+
+    guarantee_property((operand_fill_index + 1 + argument_count) < operands->length(),
+      "Invalid BootstrapMethods num_bootstrap_methods or num_bootstrap_arguments value in class file %s",
+      CHECK);
+
     operands->at_put(operand_fill_index++, bootstrap_method_index);
     operands->at_put(operand_fill_index++, argument_count);
 
@@ -2848,7 +2853,6 @@
   }
 
   assert(operand_fill_index == operands->length(), "exact fill");
-  assert(ConstantPool::operand_array_length(operands) == attribute_array_length, "correct decode");
 
   u1* current_end = cfs->current();
   guarantee_property(current_end == current_start + attribute_byte_length,
--- a/src/share/vm/classfile/verifier.cpp	Tue Jun 03 07:29:16 2014 -0700
+++ b/src/share/vm/classfile/verifier.cpp	Tue Jun 03 21:36:53 2014 -0700
@@ -2315,7 +2315,7 @@
         instanceKlassHandle mh(THREAD, m->method_holder());
         if (m->is_protected() && !mh->is_same_class_package(_klass())) {
           bool assignable = current_type().is_assignable_from(
-            objectref_type, this, CHECK_VERIFY(this));
+            objectref_type, this, true, CHECK_VERIFY(this));
           if (!assignable) {
             verify_error(ErrorContext::bad_type(bci,
                 TypeOrigin::cp(new_class_index, objectref_type),