Thread.java (accessControlState): New field.

2006-08-14  Gary Benson  <gbenson@redhat.com>

	* java/lang/Thread.java (accessControlState): New field.
	* java/security/VMAccessControlState.java: New file.
	* java/security/natVMAccessControlState.cc: Likewise.
	* java/security/VMAccessController.java
	(contexts, inGetContext): Removed.
	(pushContext, popContext, getContext): Use VMAccessControlState.
	* Makefile.am (nat_source_files): Updated.
	* sources.am, Makefile.in: Rebuilt.

From-SVN: r116128
This commit is contained in:
Gary Benson 2006-08-14 14:24:52 +00:00 committed by Gary Benson
parent 2b3969faee
commit be6415beae
8 changed files with 181 additions and 37 deletions

View file

@ -0,0 +1,32 @@
// natVMAccessControlState.cc -- Native part of the VMAccessControlState class.
/* Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
#include <gcj/cni.h>
#include <jvm.h>
#include <java/lang/Thread.h>
#include <java/security/VMAccessControlState.h>
java::security::VMAccessControlState *
java::security::VMAccessControlState::getThreadState ()
{
java::lang::Thread *thread = java::lang::Thread::currentThread ();
if (thread == NULL)
return NULL;
VMAccessControlState *state =
reinterpret_cast<VMAccessControlState *> (thread->accessControlState);
if (state == NULL)
thread->accessControlState = state = new VMAccessControlState ();
return state;
}