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 *
23 */
24
25 #ifndef SHARE_VM_CODE_CODEBLOB_HPP
26 #define SHARE_VM_CODE_CODEBLOB_HPP
27
28 #include "asm/codeBuffer.hpp"
29 #include "compiler/oopMap.hpp"
30 #include "runtime/frame.hpp"
31 #include "runtime/handles.hpp"
32
33 // CodeBlob Types
34 // Used in the CodeCache to assign CodeBlobs to different CodeHeaps
35 struct CodeBlobType {
36 enum {
37 MethodNonProfiled = 0, // Execution level 1 and 4 (non-profiled) nmethods (including native nmethods)
38 MethodProfiled = 1, // Execution level 2 and 3 (profiled) nmethods
39 NonMethod = 2, // Non-methods like Buffers, Adapters and Runtime Stubs
40 All = 3, // All types (No code cache segmentation)
41 NumTypes = 4 // Number of CodeBlobTypes
42 };
43 };
44
45 // CodeBlob - superclass for all entries in the CodeCache.
46 //
47 // Suptypes are:
48 // nmethod : Compiled Java methods (include method that calls to native code)
49 // RuntimeStub : Call to VM runtime methods
50 // DeoptimizationBlob : Used for deoptimizatation
51 // ExceptionBlob : Used for stack unrolling
52 // SafepointBlob : Used to handle illegal instruction exceptions
53 //
54 //
55 // Layout:
56 // - header
57 // - relocation
58 // - content space
59 // - instruction space
|
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 *
23 */
24
25 #ifndef SHARE_VM_CODE_CODEBLOB_HPP
26 #define SHARE_VM_CODE_CODEBLOB_HPP
27
28 #include "asm/codeBuffer.hpp"
29 #include "compiler/oopMap.hpp"
30 #include "runtime/frame.hpp"
31 #include "runtime/handles.hpp"
32
33 // CodeBlob Types
34 // Used in the CodeCache to assign CodeBlobs to different CodeHeaps
35 struct CodeBlobType {
36 enum {
37 MethodNonProfiled = 0, // Execution level 1 and 4 (non-profiled) nmethods (including native nmethods)
38 MethodProfiled = 1, // Execution level 2 and 3 (profiled) nmethods
39 NonNMethod = 2, // Non-nmethods like Buffers, Adapters and Runtime Stubs
40 All = 3, // All types (No code cache segmentation)
41 NumTypes = 4 // Number of CodeBlobTypes
42 };
43 };
44
45 // CodeBlob - superclass for all entries in the CodeCache.
46 //
47 // Suptypes are:
48 // nmethod : Compiled Java methods (include method that calls to native code)
49 // RuntimeStub : Call to VM runtime methods
50 // DeoptimizationBlob : Used for deoptimizatation
51 // ExceptionBlob : Used for stack unrolling
52 // SafepointBlob : Used to handle illegal instruction exceptions
53 //
54 //
55 // Layout:
56 // - header
57 // - relocation
58 // - content space
59 // - instruction space
|