当前位置: 首页>>代码示例>>Java>>正文


Java Address类代码示例

本文整理汇总了Java中sun.jvm.hotspot.debugger.Address的典型用法代码示例。如果您正苦于以下问题:Java Address类的具体用法?Java Address怎么用?Java Address使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Address类属于sun.jvm.hotspot.debugger包,在下文中一共展示了Address类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: lookup

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
Address lookup(String symbol) {
    if (symbol.indexOf("::") != -1) {
        String[] parts = symbol.split("::");
        StringBuffer mangled = new StringBuffer("__1c");
        for (int i = 0; i < parts.length; i++) {
            int len = parts[i].length();
            if (len >= 26) {
                mangled.append((char)('a' + (len / 26)));
                len = len % 26;
            }
            mangled.append((char)('A' + len));
            mangled.append(parts[i]);
        }
        mangled.append("_");
        symbol = mangled.toString();
    }
    return VM.getVM().getDebugger().lookup(null, symbol);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:19,代码来源:CommandProcessor.java

示例2: doit

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
public void doit(Tokens t) {
    int tokens = t.countTokens();
    if (tokens != 1) {
        usage();
        return;
    }
    String name = t.nextToken();
    Address addr = null;
    try {
        addr = VM.getVM().getDebugger().parseAddress(name);
    } catch (NumberFormatException e) {
       out.println(e);
       return;
    }

    HTMLGenerator generator = new HTMLGenerator(false);
    out.println(generator.genHTML(addr));
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:19,代码来源:CommandProcessor.java

示例3: doit

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
public void doit(Tokens t) {
    if (t.countTokens() != 0) {
        usage();
    } else {
        final PrintStream fout = out;
        final HTMLGenerator gen = new HTMLGenerator(false);
        CodeCacheVisitor v = new CodeCacheVisitor() {
                public void prologue(Address start, Address end) {
                }
                public void visit(CodeBlob blob) {
                    fout.println(gen.genHTML(blob.contentBegin()));
                }
                public void epilogue() {
                }


            };
        VM.getVM().getCodeCache().iterate(v);
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:CommandProcessor.java

示例4: parseAddress

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
/** From the Debugger interface via JVMDebugger */
public Address parseAddress(String addressString)
        throws NumberFormatException {
    long addr = utils.scanAddress(addressString);
    if (addr == 0) {
        return null;
    }
    return new BsdAddress(this, addr);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:10,代码来源:BsdDebuggerLocal.java

示例5: lookupOop

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
/** From the SymbolLookup interface via Debugger and JVMDebugger */
public synchronized OopHandle lookupOop(String objectName, String symbol) {
    Address addr = lookup(objectName, symbol);
    if (addr == null) {
        return null;
    }
    return addr.addOffsetToAsOopHandle(0);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:9,代码来源:BsdDebuggerLocal.java

示例6: parseAddress

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
/** From the Debugger interface via JVMDebugger */
public Address parseAddress(String addressString)
        throws NumberFormatException {
    long addr = utils.scanAddress(addressString);
    if (addr == 0) {
        return null;
    }
    return new LinuxAddress(this, addr);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:10,代码来源:LinuxDebuggerLocal.java

示例7: vtblForType

import sun.jvm.hotspot.debugger.Address; //导入依赖的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;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:11,代码来源:BasicTypeDataBase.java

示例8: guessTypeForAddress

import sun.jvm.hotspot.debugger.Address; //导入依赖的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;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:10,代码来源:BasicTypeDataBase.java

示例9: at

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
private HeapRegion at(long index) {
    Address arrayAddr = regionsField.getValue(addr);
    // Offset of &_region[index]
    long offset = index * VM.getVM().getAddressSize();
    Address regionAddr = arrayAddr.getAddressAt(offset);
    return (HeapRegion) VMObjectFactory.newObject(HeapRegion.class,
                                                  regionAddr);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:9,代码来源:HeapRegionSeq.java

示例10: fill

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
String fill(Address a, int width) {
    String s = "0x0";
    if (a != null) {
        s = a.toString();
    }
    if (s.length() != width) {
        return s.substring(0, 2) + "000000000000000000000".substring(0, width - s.length()) + s.substring(2);
    }
    return s;
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:11,代码来源:CommandProcessor.java

示例11: decode

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
public static void decode(InstructionVisitor visitor, CodeBlob blob, Address begin, Address end) {
   int codeSize = (int)end.minus(begin);
   long startPc = VM.getAddressValue(begin);
   byte[] code = new byte[codeSize];
   for (int i = 0; i < code.length; i++)
      code[i] = begin.getJByteAt(i);
   Disassembler dis = new Disassembler(startPc, code);
   dis.decode(visitor);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:10,代码来源:Disassembler.java

示例12: getAddressAt

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
protected Address getAddressAt(int index) {
  if (index < 0 || index >= length()) throw new ArrayIndexOutOfBoundsException(index);

  Type elemType = getElemType();
  if (getElemType().isCIntegerType()) throw new RuntimeException("elemType must not be of CInteger type");

  Address data = getAddress().addOffsetTo(dataFieldOffset);
  long elemSize = elemType.getSize();

  return data.getAddressAt(index * elemSize);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:12,代码来源:GenericArray.java

示例13: getIntegerAt

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
/**
 * Gets the element at the given index.
 */
protected long getIntegerAt(int index) {
  if (index < 0 || index >= length()) throw new ArrayIndexOutOfBoundsException(index + " " + length());

  Type elemType = getElemType();
  if (!getElemType().isCIntegerType()) throw new RuntimeException("elemType must be of CInteger type");

  Address data = getAddress().addOffsetTo(dataFieldOffset);
  long elemSize = elemType.getSize();

  return data.getCIntegerAt(index * elemSize, elemSize, false);
}
 
开发者ID:arodchen,项目名称:MaxSim,代码行数:15,代码来源:GenericArray.java

示例14: getOopMapForReturnAddress

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
public ImmutableOopMap getOopMapForReturnAddress(Address returnAddress, boolean debugging) {
  Address pc = returnAddress;
  if (Assert.ASSERTS_ENABLED) {
    Assert.that(getOopMaps() != null, "nope");
  }
  return getOopMaps().findMapAtOffset(pc.minus(codeBegin()), debugging);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:8,代码来源:CodeBlob.java

示例15: MethodArray

import sun.jvm.hotspot.debugger.Address; //导入依赖的package包/类
public MethodArray(Address addr) {
  super(addr, dataFieldOffset);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:4,代码来源:MethodArray.java


注:本文中的sun.jvm.hotspot.debugger.Address类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。