8200555: OopHandle should use Access API

Add RootAccess<> to OopHandle.resolve() in runtime and interpreter code.  Add comments for compiler code for later.

Reviewed-by: eosterlund, stefank
This commit is contained in:
Coleen Phillimore 2018-04-18 10:39:40 -04:00
parent 1b29264229
commit 1ee531afe9
34 changed files with 134 additions and 68 deletions

View file

@ -29,6 +29,7 @@
#include "oops/objArrayKlass.hpp"
#include "oops/objArrayOop.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oopHandle.inline.hpp"
#include "prims/jvmtiEnvBase.hpp"
#include "prims/jvmtiEventController.inline.hpp"
#include "prims/jvmtiExtensions.hpp"
@ -1478,6 +1479,13 @@ JvmtiMonitorClosure::do_monitor(ObjectMonitor* mon) {
GrowableArray<OopHandle>* JvmtiModuleClosure::_tbl = NULL;
void JvmtiModuleClosure::do_module(ModuleEntry* entry) {
assert_locked_or_safepoint(Module_lock);
OopHandle module = entry->module_handle();
guarantee(module.resolve() != NULL, "module object is NULL");
_tbl->push(module);
}
jvmtiError
JvmtiModuleClosure::get_all_modules(JvmtiEnv* env, jint* module_count_ptr, jobject** modules_ptr) {
ResourceMark rm;