File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -140,4 +140,14 @@ class MMTkScanObjectClosure : public BasicOopIterateClosure {
140
140
// }
141
141
// };
142
142
143
+ class CodeBlobFixRelocationClosure : public CodeBlobClosure {
144
+ public:
145
+ inline virtual void do_code_blob (CodeBlob* cb) {
146
+ nmethod* nm = cb->as_nmethod_or_null ();
147
+ if (nm != NULL ) {
148
+ nm->fix_oop_relocations ();
149
+ }
150
+ }
151
+ };
152
+
143
153
#endif // MMTK_OPENJDK_MMTK_ROOTS_CLOSURE_HPP
Original file line number Diff line number Diff line change @@ -76,6 +76,10 @@ static void mmtk_resume_mutators(void *tls) {
76
76
#if COMPILER2_OR_JVMCI
77
77
DerivedPointerTable::update_pointers ();
78
78
#endif
79
+ {
80
+ CodeBlobFixRelocationClosure cb_cl;
81
+ CodeCache::blobs_do (&cb_cl);
82
+ }
79
83
80
84
// Note: we don't have to hold gc_lock to increment the counter.
81
85
// The increment has to be done before mutators can be resumed
You can’t perform that action at this time.
0 commit comments