mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8015774: Add support for multiple code heaps
Support for segmentation of the code cache. Separate code heaps are created and used to store code of different types. Reviewed-by: kvn, iveresov, roland, anoll, egahlin, sla
This commit is contained in:
parent
b2620f89c3
commit
cd01de591a
51 changed files with 1756 additions and 680 deletions
|
@ -30,6 +30,18 @@
|
|||
#include "runtime/frame.hpp"
|
||||
#include "runtime/handles.hpp"
|
||||
|
||||
// CodeBlob Types
|
||||
// Used in the CodeCache to assign CodeBlobs to different CodeHeaps
|
||||
struct CodeBlobType {
|
||||
enum {
|
||||
MethodNonProfiled = 0, // Execution level 1 and 4 (non-profiled) nmethods (including native nmethods)
|
||||
MethodProfiled = 1, // Execution level 2 and 3 (profiled) nmethods
|
||||
NonMethod = 2, // Non-methods like Buffers, Adapters and Runtime Stubs
|
||||
All = 3, // All types (No code cache segmentation)
|
||||
NumTypes = 4 // Number of CodeBlobTypes
|
||||
};
|
||||
};
|
||||
|
||||
// CodeBlob - superclass for all entries in the CodeCache.
|
||||
//
|
||||
// Suptypes are:
|
||||
|
@ -385,9 +397,6 @@ class DeoptimizationBlob: public SingletonBlob {
|
|||
return (pc == unpack_pc || (pc + frame::pc_return_offset) == unpack_pc);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// GC for args
|
||||
void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { /* Nothing to do */ }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue