--- old/src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.cpp Tue Jul 28 01:22:32 2015 +++ new/src/os_cpu/solaris_sparc/vm/threadLS_solaris_sparc.cpp Tue Jul 28 01:22:30 2015 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * 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 @@ -26,20 +26,27 @@ #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() +// True thread-local variable +__thread Thread * ThreadLocalStorage::_thr_current = NULL; -#include +// Implementations needed to support the shared API -// 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::pd_invalidate_all() {} // nothing to do + +bool ThreadLocalStorage::_initialized = false; + +void ThreadLocalStorage::init() { + _initialized = true; } -void ThreadLocalStorage::set_thread_in_slot (Thread * self) {} +bool ThreadLocalStorage::is_initialized() { + return _initialized; +} +Thread* ThreadLocalStorage::get_thread_slow() { + return thread(); +} + extern "C" Thread* get_thread() { return ThreadLocalStorage::thread(); }