1 /*
2 * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
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["SurrogateLockerThread"] = 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 {
|
1 /*
2 * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
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 {
|