mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-24 21:34:52 +02:00
6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com> Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com> Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com> Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
This commit is contained in:
parent
36eee7c8c8
commit
5c58d27aac
853 changed files with 26124 additions and 82956 deletions
|
@ -42,7 +42,8 @@ class CompileTask : public CHeapObj<mtCompiler> {
|
|||
private:
|
||||
Monitor* _lock;
|
||||
uint _compile_id;
|
||||
jobject _method;
|
||||
Method* _method;
|
||||
jobject _method_loader;
|
||||
int _osr_bci;
|
||||
bool _is_complete;
|
||||
bool _is_success;
|
||||
|
@ -54,7 +55,8 @@ class CompileTask : public CHeapObj<mtCompiler> {
|
|||
|
||||
// Fields used for logging why the compilation was initiated:
|
||||
jlong _time_queued; // in units of os::elapsed_counter()
|
||||
jobject _hot_method; // which method actually triggered this task
|
||||
Method* _hot_method; // which method actually triggered this task
|
||||
jobject _hot_method_loader;
|
||||
int _hot_count; // information about its invocation counter
|
||||
const char* _comment; // more info about the task
|
||||
|
||||
|
@ -70,7 +72,7 @@ class CompileTask : public CHeapObj<mtCompiler> {
|
|||
void free();
|
||||
|
||||
int compile_id() const { return _compile_id; }
|
||||
jobject method_handle() const { return _method; }
|
||||
Method* method() const { return _method; }
|
||||
int osr_bci() const { return _osr_bci; }
|
||||
bool is_complete() const { return _is_complete; }
|
||||
bool is_blocking() const { return _is_blocking; }
|
||||
|
@ -98,7 +100,7 @@ class CompileTask : public CHeapObj<mtCompiler> {
|
|||
void set_prev(CompileTask* prev) { _prev = prev; }
|
||||
|
||||
private:
|
||||
static void print_compilation_impl(outputStream* st, methodOop method, int compile_id, int comp_level,
|
||||
static void print_compilation_impl(outputStream* st, Method* method, int compile_id, int comp_level,
|
||||
bool is_osr_method = false, int osr_bci = -1, bool is_blocking = false,
|
||||
const char* msg = NULL, bool short_form = false);
|
||||
|
||||
|
@ -115,6 +117,9 @@ public:
|
|||
print_inlining(tty, method, inline_level, bci, msg);
|
||||
}
|
||||
|
||||
// Redefine Classes support
|
||||
void mark_on_stack();
|
||||
|
||||
static void print_inline_indent(int inline_level, outputStream* st = tty);
|
||||
|
||||
void print();
|
||||
|
@ -206,6 +211,9 @@ class CompileQueue : public CHeapObj<mtCompiler> {
|
|||
bool is_empty() const { return _first == NULL; }
|
||||
int size() const { return _size; }
|
||||
|
||||
// Redefine Classes support
|
||||
void mark_on_stack();
|
||||
|
||||
void print();
|
||||
};
|
||||
|
||||
|
@ -400,6 +408,9 @@ class CompileBroker: AllStatic {
|
|||
return _perf_total_compilation != NULL ? _perf_total_compilation->get_value() : 0;
|
||||
}
|
||||
|
||||
// Redefine Classes support
|
||||
static void mark_on_stack();
|
||||
|
||||
// Print a detailed accounting of compilation time
|
||||
static void print_times();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue