< prev index next >
src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 24,45 ****
#include "precompiled.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/threadLocalStorage.hpp"
! // Provides an entry point we can link against and
! // a buffer we can emit code into. The buffer is
! // filled by ThreadLocalStorage::generate_code_for_get_thread
! // and called from ThreadLocalStorage::thread()
! #include <sys/systeminfo.h>
! // The portable TLS mechanism (get_thread_via_cache) is enough on SPARC.
! // There is no need for hand-assembling a special function.
! void ThreadLocalStorage::generate_code_for_get_thread() {
}
! void ThreadLocalStorage::set_thread_in_slot (Thread * self) {}
extern "C" Thread* get_thread() {
return ThreadLocalStorage::thread();
}
--- 24,52 ----
#include "precompiled.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/threadLocalStorage.hpp"
! // True thread-local variable
! __thread Thread * ThreadLocalStorage::_thr_current = NULL;
! // Implementations needed to support the shared API
! void ThreadLocalStorage::pd_invalidate_all() {} // nothing to do
!
! bool ThreadLocalStorage::_initialized = false;
!
! void ThreadLocalStorage::init() {
! _initialized = true;
}
! bool ThreadLocalStorage::is_initialized() {
! return _initialized;
! }
+ Thread* ThreadLocalStorage::get_thread_slow() {
+ return thread();
+ }
+
extern "C" Thread* get_thread() {
return ThreadLocalStorage::thread();
}
< prev index next >