mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8220623: [JVMCI] Update JVMCI to support JVMCI based Compiler compiled into shared library
Reviewed-by: dnsimon, never, stefank, rehn, neliasso, dholmes, kbarrett, coleenp
This commit is contained in:
parent
f9bbbb6e27
commit
e9c523ae5f
173 changed files with 12881 additions and 5297 deletions
|
@ -62,6 +62,9 @@
|
|||
#include "utilities/align.hpp"
|
||||
#include "utilities/events.hpp"
|
||||
#include "utilities/stack.inline.hpp"
|
||||
#if INCLUDE_JVMCI
|
||||
#include "jvmci/jvmci.hpp"
|
||||
#endif
|
||||
|
||||
elapsedTimer PSMarkSweep::_accumulated_time;
|
||||
jlong PSMarkSweep::_time_of_last_gc = 0;
|
||||
|
@ -524,7 +527,8 @@ void PSMarkSweep::mark_sweep_phase1(bool clear_all_softrefs) {
|
|||
ClassLoaderDataGraph::always_strong_cld_do(follow_cld_closure());
|
||||
// Do not treat nmethods as strong roots for mark/sweep, since we can unload them.
|
||||
//ScavengableNMethods::scavengable_nmethods_do(CodeBlobToOopClosure(mark_and_push_closure()));
|
||||
AOTLoader::oops_do(mark_and_push_closure());
|
||||
AOT_ONLY(AOTLoader::oops_do(mark_and_push_closure());)
|
||||
JVMCI_ONLY(JVMCI::oops_do(mark_and_push_closure());)
|
||||
}
|
||||
|
||||
// Flush marking stack.
|
||||
|
@ -562,6 +566,9 @@ void PSMarkSweep::mark_sweep_phase1(bool clear_all_softrefs) {
|
|||
|
||||
// Prune dead klasses from subklass/sibling/implementor lists.
|
||||
Klass::clean_weak_klass_links(purged_class);
|
||||
|
||||
// Clean JVMCI metadata handles.
|
||||
JVMCI_ONLY(JVMCI::do_unloading(purged_class));
|
||||
}
|
||||
|
||||
_gc_tracer->report_object_count_after_gc(is_alive_closure());
|
||||
|
@ -615,7 +622,10 @@ void PSMarkSweep::mark_sweep_phase3() {
|
|||
|
||||
CodeBlobToOopClosure adjust_from_blobs(adjust_pointer_closure(), CodeBlobToOopClosure::FixRelocations);
|
||||
CodeCache::blobs_do(&adjust_from_blobs);
|
||||
AOTLoader::oops_do(adjust_pointer_closure());
|
||||
AOT_ONLY(AOTLoader::oops_do(adjust_pointer_closure());)
|
||||
|
||||
JVMCI_ONLY(JVMCI::oops_do(adjust_pointer_closure());)
|
||||
|
||||
ref_processor()->weak_oops_do(adjust_pointer_closure());
|
||||
PSScavenge::reference_processor()->weak_oops_do(adjust_pointer_closure());
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue