Mercurial > hg > graal-compiler
comparison src/os_cpu/solaris_x86/vm/solaris_x86_64.il @ 4749:7ab5f6318694
7125934: Add a fast unordered timestamp capability to Hotspot on x86/x64
Summary: Add rdtsc detection and inline generation.
Reviewed-by: kamg, dholmes
Contributed-by: karen.kinnear@oracle.com
author | phh |
---|---|
date | Sun, 01 Jan 2012 11:17:59 -0500 |
parents | 0a8e0d4345b3 |
children | da4be62fb889 |
comparison
equal
deleted
inserted
replaced
4732:4ec93d767458 | 4749:7ab5f6318694 |
---|---|
28 // Get the raw thread ID from %gs:0 | 28 // Get the raw thread ID from %gs:0 |
29 .inline _raw_thread_id,0 | 29 .inline _raw_thread_id,0 |
30 movq %fs:0, %rax | 30 movq %fs:0, %rax |
31 .end | 31 .end |
32 | 32 |
33 // Get the frame pointer from current frame. | 33 // Get current fp |
34 .inline _get_current_fp,0 | 34 .inline _get_current_fp,0 |
35 .volatile | 35 .volatile |
36 movq %rbp, %rax | 36 movq %rbp, %rax |
37 .end | |
38 | |
39 // Support for os::rdtsc() | |
40 .inline _raw_rdtsc,0 | |
41 rdtsc | |
42 salq $32, %rdx | |
43 orq %rdx, %rax | |
37 .end | 44 .end |
38 | 45 |
39 // Support for jint Atomic::add(jint add_value, volatile jint* dest) | 46 // Support for jint Atomic::add(jint add_value, volatile jint* dest) |
40 .inline _Atomic_add,2 | 47 .inline _Atomic_add,2 |
41 movl %edi, %eax // save add_value for return | 48 movl %edi, %eax // save add_value for return |