summaryrefslogtreecommitdiff
path: root/libjava/java/security/natVMAccessControlState.cc
blob: a4c14cdd44149fce8648f3325a2af728d7cae9af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
}