本文整理汇总了Java中sun.jvm.hotspot.types.Type类的典型用法代码示例。如果您正苦于以下问题:Java Type类的具体用法?Java Type怎么用?Java Type使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Type类属于sun.jvm.hotspot.types包,在下文中一共展示了Type类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
Type type = db.lookupType("Method");
constMethod = type.getAddressField("_constMethod");
methodData = type.getAddressField("_method_data");
methodCounters = type.getAddressField("_method_counters");
methodSize = new CIntField(type.getCIntegerField("_method_size"), 0);
accessFlags = new CIntField(type.getCIntegerField("_access_flags"), 0);
code = type.getAddressField("_code");
vtableIndex = new CIntField(type.getCIntegerField("_vtable_index"), 0);
bytecodeOffset = type.getSize();
/*
interpreterEntry = type.getAddressField("_interpreter_entry");
fromCompiledCodeEntryPoint = type.getAddressField("_from_compiled_code_entry_point");
*/
objectInitializerName = null;
classInitializerName = null;
}
示例2: dumpType
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
void dumpType(Type type) {
out.print("type ");
quote(type.getName());
out.print(" ");
if (type.getSuperclass() != null) {
quote(type.getSuperclass().getName());
out.print(" ");
} else {
out.print("null ");
}
out.print(type.isOopType());
out.print(" ");
if (type.isCIntegerType()) {
out.print("true ");
out.print(((CIntegerType)type).isUnsigned());
out.print(" ");
} else {
out.print("false false ");
}
out.print(type.getSize());
out.println();
}
示例3: dumpFields
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
void dumpFields(Type type, boolean allowStatic) {
Iterator i = type.getFields();
while (i.hasNext()) {
Field f = (Field) i.next();
if (!allowStatic && f.isStatic()) continue;
out.print("field ");
quote(type.getName());
out.print(" ");
out.print(f.getName());
out.print(" ");
quote(f.getType().getName());
out.print(" ");
out.print(f.isStatic());
out.print(" ");
if (f.isStatic()) {
out.print("0 ");
out.print(f.getStaticFieldAddress());
} else {
out.print(f.getOffset());
out.print(" 0x0");
}
out.println();
}
}
示例4: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
private static void initialize(TypeDataBase db) {
Type type = db.lookupType("CodeBlob");
nameField = type.getAddressField("_name");
sizeField = type.getCIntegerField("_size");
headerSizeField = type.getCIntegerField("_header_size");
frameCompleteOffsetField = type.getCIntegerField("_frame_complete_offset");
contentBeginField = type.getAddressField("_content_begin");
codeBeginField = type.getAddressField("_code_begin");
codeEndField = type.getAddressField("_code_end");
dataEndField = type.getAddressField("_data_end");
dataOffsetField = type.getCIntegerField("_data_offset");
frameSizeField = type.getCIntegerField("_frame_size");
oopMapsField = type.getAddressField("_oop_maps");
if (VM.getVM().isServerCompiler()) {
matcherInterpreterFramePointerReg =
db.lookupIntConstant("Matcher::interpreter_frame_pointer_reg").intValue();
}
}
示例5: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
private static synchronized void initialize(TypeDataBase db) throws WrongTypeException {
Type type = db.lookupType("ciInstanceKlass");
initStateField = new CIntField(type.getCIntegerField("_init_state"), 0);
isSharedField = new CIntField(type.getCIntegerField("_is_shared"), 0);
CLASS_STATE_LINKED = db.lookupIntConstant("InstanceKlass::linked").intValue();
CLASS_STATE_FULLY_INITIALIZED = db.lookupIntConstant("InstanceKlass::fully_initialized").intValue();
}
示例6: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
private static synchronized void initialize(TypeDataBase db) {
// klass and oop_size are HotSpot magic fields and hence we can't
// find them from InstanceKlass for java.lang.Class.
Type jlc = db.lookupType("java_lang_Class");
klassOffset = (int) jlc.getCIntegerField("_klass_offset").getValue();
int oopSizeOffset = (int) jlc.getCIntegerField("_oop_size_offset").getValue();
oopSizeField = new IntField(new NamedFieldIdentifier("oop_size"), oopSizeOffset, true);
}
示例7: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
static private synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("G1MonitoringSupport");
edenCommittedField = type.getCIntegerField("_eden_committed");
edenUsedField = type.getCIntegerField("_eden_used");
survivorCommittedField = type.getCIntegerField("_survivor_committed");
survivorUsedField = type.getCIntegerField("_survivor_used");
oldCommittedField = type.getCIntegerField("_old_committed");
oldUsedField = type.getCIntegerField("_old_used");
}
示例8: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
static private synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("G1CollectedHeap");
hrsFieldOffset = type.getField("_hrs").getOffset();
g1CommittedFieldOffset = type.getField("_g1_committed").getOffset();
summaryBytesUsedField = type.getCIntegerField("_summary_bytes_used");
g1mmField = type.getAddressField("_g1mm");
oldSetFieldOffset = type.getField("_old_set").getOffset();
humongousSetFieldOffset = type.getField("_humongous_set").getOffset();
}
示例9: initialize
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
static private synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("HeapRegionSetBase");
lengthField = type.getCIntegerField("_length");
regionNumField = type.getCIntegerField("_region_num");
totalUsedBytesField = type.getCIntegerField("_total_used_bytes");
}
示例10: doit
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
public void doit(Tokens t) {
if (t.countTokens() != 2) {
usage();
} else {
Type type = agent.getTypeDataBase().lookupType(t.nextToken());
Address a = VM.getVM().getDebugger().parseAddress(t.nextToken());
CTypeTreeNodeAdapter node = new CTypeTreeNodeAdapter(a, type, null);
out.println("pointer to " + type + " @ " + a +
" (size = " + type.getSize() + ")");
printNode(node);
}
}
示例11: lookupType
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
public Type lookupType(String cTypeName, boolean throwException) {
Type type = (Type) nameToTypeMap.get(cTypeName);
if (type == null && throwException) {
throw new RuntimeException("No type named \"" + cTypeName + "\" in database");
}
return type;
}
示例12: vtblForType
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
private Address vtblForType(Type type) {
Address vtblAddr = (Address)typeToVtbl.get(type);
if (vtblAddr == null) {
vtblAddr = vtblAccess.getVtblForType(type);
if (vtblAddr != null) {
typeToVtbl.put(type, vtblAddr);
}
}
return vtblAddr;
}
示例13: guessTypeForAddress
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
public Type guessTypeForAddress(Address addr) {
for (Iterator iter = getTypes(); iter.hasNext(); ) {
Type t = (Type) iter.next();
if (addressTypeIsEqualToType(addr, t)) {
return t;
}
}
return null;
}
示例14: addType
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
/** This method should only be used by the builder of the
TypeDataBase. Throws a RuntimeException if a class with this
name was already present. */
public void addType(Type type) {
if (nameToTypeMap.get(type.getName()) != null) {
throw new RuntimeException("type of name \"" + type.getName() + "\" already present");
}
nameToTypeMap.put(type.getName(), type);
}
示例15: removeType
import sun.jvm.hotspot.types.Type; //导入依赖的package包/类
/** This method should only be used by the builder of the
TypeDataBase. Throws a RuntimeException if this class was not
present. */
public void removeType(Type type) {
Type curType = (Type) nameToTypeMap.get(type.getName());
if (curType == null) {
throw new RuntimeException("type of name \"" + type.getName() + "\" not present");
}
if (!curType.equals(type)) {
throw new RuntimeException("a different type of name \"" + type.getName() + "\" was present");
}
nameToTypeMap.remove(type.getName());
}