< 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 >