equal
deleted
inserted
replaced
37 #include "runtime/interfaceSupport.hpp" |
37 #include "runtime/interfaceSupport.hpp" |
38 #include "runtime/objectMonitor.hpp" |
38 #include "runtime/objectMonitor.hpp" |
39 #include "runtime/os.hpp" |
39 #include "runtime/os.hpp" |
40 #include "runtime/sharedRuntime.hpp" |
40 #include "runtime/sharedRuntime.hpp" |
41 #include "runtime/stubRoutines.hpp" |
41 #include "runtime/stubRoutines.hpp" |
|
42 #include "runtime/thread.hpp" |
42 #include "utilities/macros.hpp" |
43 #include "utilities/macros.hpp" |
43 #if INCLUDE_ALL_GCS |
44 #if INCLUDE_ALL_GCS |
44 #include "gc/g1/g1CollectedHeap.inline.hpp" |
45 #include "gc/g1/g1CollectedHeap.inline.hpp" |
45 #include "gc/g1/g1SATBCardTableModRefBS.hpp" |
46 #include "gc/g1/g1SATBCardTableModRefBS.hpp" |
46 #include "gc/g1/heapRegion.hpp" |
47 #include "gc/g1/heapRegion.hpp" |
10832 } |
10833 } |
10833 |
10834 |
10834 SkipIfEqual::~SkipIfEqual() { |
10835 SkipIfEqual::~SkipIfEqual() { |
10835 _masm->bind(_label); |
10836 _masm->bind(_label); |
10836 } |
10837 } |
|
10838 |
|
10839 // 32-bit Windows has its own fast-path implementation |
|
10840 // of get_thread |
|
10841 #if !defined(WIN32) || defined(_LP64) |
|
10842 |
|
10843 // This is simply a call to Thread::current() |
|
10844 void MacroAssembler::get_thread(Register thread) { |
|
10845 if (thread != rax) { |
|
10846 push(rax); |
|
10847 } |
|
10848 LP64_ONLY(push(rdi);) |
|
10849 LP64_ONLY(push(rsi);) |
|
10850 push(rdx); |
|
10851 push(rcx); |
|
10852 #ifdef _LP64 |
|
10853 push(r8); |
|
10854 push(r9); |
|
10855 push(r10); |
|
10856 push(r11); |
|
10857 #endif |
|
10858 |
|
10859 MacroAssembler::call_VM_leaf_base(CAST_FROM_FN_PTR(address, Thread::current), 0); |
|
10860 |
|
10861 #ifdef _LP64 |
|
10862 pop(r11); |
|
10863 pop(r10); |
|
10864 pop(r9); |
|
10865 pop(r8); |
|
10866 #endif |
|
10867 pop(rcx); |
|
10868 pop(rdx); |
|
10869 LP64_ONLY(pop(rsi);) |
|
10870 LP64_ONLY(pop(rdi);) |
|
10871 if (thread != rax) { |
|
10872 mov(thread, rax); |
|
10873 pop(rax); |
|
10874 } |
|
10875 } |
|
10876 |
|
10877 #endif |