changeset 3191:ff29ce866f23

7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode Summary: Assert doesn't respect invokedynamic opcode Reviewed-by: dcubed, phh
author dsamersoff
date Thu, 01 Mar 2012 12:41:13 +0400
parents 205573af962c
children 8a48c2906f91
files src/share/vm/prims/jvmtiClassFileReconstituter.cpp
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp	Tue Feb 28 07:58:43 2012 -0800
+++ b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp	Thu Mar 01 12:41:13 2012 +0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -727,8 +727,11 @@
       case Bytecodes::_invokestatic    :  // fall through
       case Bytecodes::_invokedynamic   :  // fall through
       case Bytecodes::_invokeinterface :
-        assert(len == 3 || (code == Bytecodes::_invokeinterface && len ==5),
+        assert(len == 3 ||
+               (code == Bytecodes::_invokeinterface && len == 5) ||
+               (code == Bytecodes::_invokedynamic   && len == 5),
                "sanity check");
+
         int cpci = Bytes::get_native_u2(bcp+1);
         bool is_invokedynamic = (EnableInvokeDynamic && code == Bytecodes::_invokedynamic);
         if (is_invokedynamic)