820
821 // This is *not* exhaustive. Add more if needed.
822 // code blobs
823 vmType2Class["BufferBlob"] = sapkg.code.BufferBlob;
824 vmType2Class["nmethod"] = sapkg.code.NMethod;
825 vmType2Class["RuntimeStub"] = sapkg.code.RuntimeStub;
826 vmType2Class["SafepointBlob"] = sapkg.code.SafepointBlob;
827 vmType2Class["C2IAdapter"] = sapkg.code.C2IAdapter;
828 vmType2Class["DeoptimizationBlob"] = sapkg.code.DeoptimizationBlob;
829 vmType2Class["I2CAdapter"] = sapkg.code.I2CAdapter;
830 vmType2Class["OSRAdapter"] = sapkg.code.OSRAdapter;
831 vmType2Class["PCDesc"] = sapkg.code.PCDesc;
832
833 // interpreter
834 vmType2Class["InterpreterCodelet"] = sapkg.interpreter.InterpreterCodelet;
835
836 // Java Threads
837 vmType2Class["JavaThread"] = sapkg.runtime.JavaThread;
838 vmType2Class["CompilerThread"] = sapkg.runtime.CompilerThread;
839 vmType2Class["CodeCacheSweeperThread"] = sapkg.runtime.CodeCacheSweeperThread;
840 vmType2Class["ReferencePendingListLockerThread"] = sapkg.runtime.JavaThread;
841 vmType2Class["DebuggerThread"] = sapkg.runtime.DebuggerThread;
842
843 // gc
844 vmType2Class["GenCollectedHeap"] = sapkg.memory.GenCollectedHeap;
845 vmType2Class["DefNewGeneration"] = sapkg.memory.DefNewGeneration;
846 vmType2Class["TenuredGeneration"] = sapkg.memory.TenuredGeneration;
847
848 // generic VMObject factory for a given address
849 // This is equivalent to VirtualConstructor.
850 function newVMObject(addr) {
851 addr = any2addr(addr);
852 var result = null;
853 forEachVMType(function (type) {
854 if (isOfVMType(addr, type)) {
855 var clazz = vmType2Class[type.name];
856 if (clazz != undefined) {
857 result = new clazz(addr);
858 }
859 return false;
860 } else {
|
820
821 // This is *not* exhaustive. Add more if needed.
822 // code blobs
823 vmType2Class["BufferBlob"] = sapkg.code.BufferBlob;
824 vmType2Class["nmethod"] = sapkg.code.NMethod;
825 vmType2Class["RuntimeStub"] = sapkg.code.RuntimeStub;
826 vmType2Class["SafepointBlob"] = sapkg.code.SafepointBlob;
827 vmType2Class["C2IAdapter"] = sapkg.code.C2IAdapter;
828 vmType2Class["DeoptimizationBlob"] = sapkg.code.DeoptimizationBlob;
829 vmType2Class["I2CAdapter"] = sapkg.code.I2CAdapter;
830 vmType2Class["OSRAdapter"] = sapkg.code.OSRAdapter;
831 vmType2Class["PCDesc"] = sapkg.code.PCDesc;
832
833 // interpreter
834 vmType2Class["InterpreterCodelet"] = sapkg.interpreter.InterpreterCodelet;
835
836 // Java Threads
837 vmType2Class["JavaThread"] = sapkg.runtime.JavaThread;
838 vmType2Class["CompilerThread"] = sapkg.runtime.CompilerThread;
839 vmType2Class["CodeCacheSweeperThread"] = sapkg.runtime.CodeCacheSweeperThread;
840 vmType2Class["DebuggerThread"] = sapkg.runtime.DebuggerThread;
841
842 // gc
843 vmType2Class["GenCollectedHeap"] = sapkg.memory.GenCollectedHeap;
844 vmType2Class["DefNewGeneration"] = sapkg.memory.DefNewGeneration;
845 vmType2Class["TenuredGeneration"] = sapkg.memory.TenuredGeneration;
846
847 // generic VMObject factory for a given address
848 // This is equivalent to VirtualConstructor.
849 function newVMObject(addr) {
850 addr = any2addr(addr);
851 var result = null;
852 forEachVMType(function (type) {
853 if (isOfVMType(addr, type)) {
854 var clazz = vmType2Class[type.name];
855 if (clazz != undefined) {
856 result = new clazz(addr);
857 }
858 return false;
859 } else {
|