mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-16 17:14:41 +02:00
8258471: "search codecache" clhsdb command does not work
Reviewed-by: cjplummer, sspitsyn
This commit is contained in:
parent
3f77a6002e
commit
1e03ca13cc
3 changed files with 47 additions and 1 deletions
|
@ -1401,6 +1401,7 @@ typedef HashtableEntry<InstanceKlass*, mtClass> KlassHashtableEntry;
|
||||||
declare_type(BufferBlob, RuntimeBlob) \
|
declare_type(BufferBlob, RuntimeBlob) \
|
||||||
declare_type(AdapterBlob, BufferBlob) \
|
declare_type(AdapterBlob, BufferBlob) \
|
||||||
declare_type(MethodHandlesAdapterBlob, BufferBlob) \
|
declare_type(MethodHandlesAdapterBlob, BufferBlob) \
|
||||||
|
declare_type(VtableBlob, BufferBlob) \
|
||||||
declare_type(CompiledMethod, CodeBlob) \
|
declare_type(CompiledMethod, CodeBlob) \
|
||||||
declare_type(nmethod, CompiledMethod) \
|
declare_type(nmethod, CompiledMethod) \
|
||||||
declare_type(RuntimeStub, RuntimeBlob) \
|
declare_type(RuntimeStub, RuntimeBlob) \
|
||||||
|
|
|
@ -64,6 +64,7 @@ public class CodeCache {
|
||||||
virtualConstructor.addMapping("RuntimeStub", RuntimeStub.class);
|
virtualConstructor.addMapping("RuntimeStub", RuntimeStub.class);
|
||||||
virtualConstructor.addMapping("AdapterBlob", AdapterBlob.class);
|
virtualConstructor.addMapping("AdapterBlob", AdapterBlob.class);
|
||||||
virtualConstructor.addMapping("MethodHandlesAdapterBlob", MethodHandlesAdapterBlob.class);
|
virtualConstructor.addMapping("MethodHandlesAdapterBlob", MethodHandlesAdapterBlob.class);
|
||||||
|
virtualConstructor.addMapping("VtableBlob", VtableBlob.class);
|
||||||
virtualConstructor.addMapping("SafepointBlob", SafepointBlob.class);
|
virtualConstructor.addMapping("SafepointBlob", SafepointBlob.class);
|
||||||
virtualConstructor.addMapping("DeoptimizationBlob", DeoptimizationBlob.class);
|
virtualConstructor.addMapping("DeoptimizationBlob", DeoptimizationBlob.class);
|
||||||
if (VM.getVM().isServerCompiler()) {
|
if (VM.getVM().isServerCompiler()) {
|
||||||
|
@ -167,7 +168,7 @@ public class CodeCache {
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
String message = "Unable to deduce type of CodeBlob from address " + codeBlobAddr +
|
String message = "Unable to deduce type of CodeBlob from address " + codeBlobAddr +
|
||||||
" (expected type nmethod, RuntimeStub, ";
|
" (expected type nmethod, RuntimeStub, VtableBlob, ";
|
||||||
if (VM.getVM().isClientCompiler()) {
|
if (VM.getVM().isClientCompiler()) {
|
||||||
message = message + " or ";
|
message = message + " or ";
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
* Copyright (c) 2020, NTT DATA.
|
||||||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
|
*
|
||||||
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License version 2 only, as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package sun.jvm.hotspot.code;
|
||||||
|
|
||||||
|
import sun.jvm.hotspot.debugger.Address;
|
||||||
|
|
||||||
|
public class VtableBlob extends BufferBlob {
|
||||||
|
|
||||||
|
public VtableBlob(Address addr) {
|
||||||
|
super(addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isVtableBlob() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return "VtableBlob: " + super.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue