< prev index next >
src/hotspot/share/runtime/thread.cpp
Print this page
rev 52360 : 8212605: Pure-Java implementation of AccessController.doPrivileged
*** 59,69 ****
#include "oops/typeArrayOop.inline.hpp"
#include "oops/verifyOopClosure.hpp"
#include "prims/jvm_misc.hpp"
#include "prims/jvmtiExport.hpp"
#include "prims/jvmtiThreadState.hpp"
- #include "prims/privilegedStack.hpp"
#include "runtime/arguments.hpp"
#include "runtime/atomic.hpp"
#include "runtime/biasedLocking.hpp"
#include "runtime/fieldDescriptor.inline.hpp"
#include "runtime/flags/jvmFlagConstraintList.hpp"
--- 59,68 ----
*** 1556,1566 ****
set_monitor_chunks(NULL);
set_next(NULL);
_on_thread_list = false;
set_thread_state(_thread_new);
_terminated = _not_terminated;
- _privileged_stack_top = NULL;
_array_for_gc = NULL;
_suspend_equivalent = false;
_in_deopt_handler = 0;
_doing_unsafe_access = false;
_stack_guard_state = stack_guard_unused;
--- 1555,1564 ----
*** 1988,1998 ****
assert(!this->has_pending_exception(), "release_monitors should have cleared");
}
// These things needs to be done while we are still a Java Thread. Make sure that thread
// is in a consistent state, in case GC happens
- assert(_privileged_stack_top == NULL, "must be NULL when we get here");
if (active_handles() != NULL) {
JNIHandleBlock* block = active_handles();
set_active_handles(NULL);
JNIHandleBlock::release_block(block);
--- 1986,1995 ----
*** 2838,2852 ****
if (has_last_Java_frame()) {
// Record JavaThread to GC thread
RememberProcessedThread rpt(this);
- // Traverse the privileged stack
- if (_privileged_stack_top != NULL) {
- _privileged_stack_top->oops_do(f);
- }
-
// traverse the registered growable array
if (_array_for_gc != NULL) {
for (int index = 0; index < _array_for_gc->length(); index++) {
f->do_oop(_array_for_gc->adr_at(index));
}
--- 2835,2844 ----
< prev index next >