From 3385cfe8cf83203145d2d6f778e5161380ee5c31 Mon Sep 17 00:00:00 2001 From: Dmitry Samersoff Date: Thu, 1 Mar 2012 12:41:13 +0400 Subject: [PATCH] 7118280: The gbyc00102 JCK7 test causes an assert in JVM 7.0 fastdebug mode Assert doesn't respect invokedynamic opcode Reviewed-by: dcubed, phh --- hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp index 7e2a327ec75..af576eb2827 100644 --- a/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp +++ b/hotspot/src/share/vm/prims/jvmtiClassFileReconstituter.cpp @@ -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 @@ void JvmtiClassFileReconstituter::copy_bytecodes(methodHandle mh, 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)