projects
/
cacao.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/vm/cycles-stats.h: Switched from asm_get_cycle_count to md_get_cycle_count.
[cacao.git]
/
src
/
vm
/
jit
/
i386
/
asmpart.S
diff --git
a/src/vm/jit/i386/asmpart.S
b/src/vm/jit/i386/asmpart.S
index af29ffea9606000826c987576f71b1724c1ee063..b9be6e191288c242139bfc018248b49e875043d0 100644
(file)
--- a/
src/vm/jit/i386/asmpart.S
+++ b/
src/vm/jit/i386/asmpart.S
@@
-62,7
+62,9
@@
.globl asm_compare_and_swap
.globl asm_memory_barrier
.globl asm_compare_and_swap
.globl asm_memory_barrier
- .globl asm_get_cycle_count
+#if defined(ENABLE_ESCAPE_CHECK)
+ .globl asm_escape_check
+#endif
/* asm_md_init *****************************************************************
/* asm_md_init *****************************************************************
@@
-120,7
+122,7
@@
asm_vm_call_method_long:
asm_vm_call_method_float:
asm_vm_call_method_double:
push bp
asm_vm_call_method_float:
asm_vm_call_method_double:
push bp
- mov sp,bp /* save stack
ptr
*/
+ mov sp,bp /* save stack
pointer
*/
sub $(4*4),sp /* create stackframe */
and $0xfffffff0,sp /* align stack to 16-byte */
sub $(4*4),sp /* create stackframe */
and $0xfffffff0,sp /* align stack to 16-byte */
@@
-412,16
+414,29
@@
asm_memory_barrier:
lock; add $0,0(sp)
ret
lock; add $0,0(sp)
ret
-
-/* asm_get_cycle_count *********************************************************
- Get the current time-stamp counter from the CPU.
+#if defined(ENABLE_ESCAPE_CHECK)
+asm_escape_check:
+ sub $24,%esp
-*******************************************************************************/
+ mov t0, 4(%esp)
+ mov itmp1, 8(%esp)
+ mov itmp2, 12(%esp)
+ mov itmp3, 16(%esp)
+
+ mov 28(%esp), itmp1
+ mov itmp1, (%esp)
-asm_get_cycle_count:
- rdtsc
+ call escape_analysis_escape_check
+
+ mov 4(%esp), t0
+ mov 8(%esp), itmp1
+ mov 12(%esp), itmp2
+ mov 16(%esp), itmp3
+
+ add $24,sp
ret
ret
+#endif
/* disable exec-stacks ********************************************************/
/* disable exec-stacks ********************************************************/
@@
-430,7
+445,6
@@
asm_get_cycle_count:
.section .note.GNU-stack,"",%progbits
#endif
.section .note.GNU-stack,"",%progbits
#endif
-
/*
* These are local overrides for various environment variables in Emacs.
* Please do not remove this and leave it at the end of the file, where
/*
* These are local overrides for various environment variables in Emacs.
* Please do not remove this and leave it at the end of the file, where