diff -r 57ad70bcf06c -r 15936b142f86 src/hotspot/share/interpreter/bytecode.cpp --- a/src/hotspot/share/interpreter/bytecode.cpp Wed Nov 13 11:27:50 2019 +0000 +++ b/src/hotspot/share/interpreter/bytecode.cpp Wed Nov 13 08:23:23 2019 -0500 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2019, 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 @@ -151,7 +151,7 @@ } -methodHandle Bytecode_invoke::static_target(TRAPS) { +Method* Bytecode_invoke::static_target(TRAPS) { constantPoolHandle constants(THREAD, this->constants()); Bytecodes::Code bc = invoke_code(); @@ -160,8 +160,10 @@ Handle Bytecode_invoke::appendix(TRAPS) { ConstantPoolCacheEntry* cpce = cpcache_entry(); - if (cpce->has_appendix()) - return Handle(THREAD, cpce->appendix_if_resolved(constants())); + if (cpce->has_appendix()) { + constantPoolHandle cp(THREAD, constants()); + return Handle(THREAD, cpce->appendix_if_resolved(cp)); + } return Handle(); // usual case }