src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
7089790_bsd_vs_linux Cdiff src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp
src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp
Print this page
rev 2698 : new bsd files
*** 31,73 ****
#ifndef _LP64
void MacroAssembler::int3() {
call(RuntimeAddress(CAST_FROM_FN_PTR(address, os::breakpoint)));
}
- #ifdef MINIMIZE_RAM_USAGE
-
void MacroAssembler::get_thread(Register thread) {
- // call pthread_getspecific
- // void * pthread_getspecific(pthread_key_t key);
- if (thread != rax) push(rax);
- push(rcx);
- push(rdx);
-
- push(ThreadLocalStorage::thread_index());
- call(RuntimeAddress(CAST_FROM_FN_PTR(address, pthread_getspecific)));
- increment(rsp, wordSize);
-
- pop(rdx);
- pop(rcx);
- if (thread != rax) {
- mov(thread, rax);
- pop(rax);
- }
- }
-
- #else
- void MacroAssembler::get_thread(Register thread) {
movl(thread, rsp);
shrl(thread, PAGE_SHIFT);
ExternalAddress tls_base((address)ThreadLocalStorage::sp_map_addr());
Address index(noreg, thread, Address::times_4);
ArrayAddress tls(tls_base, index);
movptr(thread, tls);
}
- #endif // MINIMIZE_RAM_USAGE
#else
void MacroAssembler::int3() {
call(RuntimeAddress(CAST_FROM_FN_PTR(address, os::breakpoint)));
}
--- 31,50 ----
src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File