46 .globl SYMBOL(_Copy_conjoint_jints_atomic)
47 .globl SYMBOL(_Copy_arrayof_conjoint_jints)
48 .globl SYMBOL(_Copy_conjoint_jlongs_atomic)
49 .globl SYMBOL(_mmx_Copy_arrayof_conjoint_jshorts)
50
51 .globl SYMBOL(_Atomic_cmpxchg_long)
52 .globl SYMBOL(_Atomic_move_long)
53
54 .text
55
56 # Support for void os::Solaris::init_thread_fpu_state() in os_solaris_i486.cpp
57 # Set fpu to 53 bit precision. This happens too early to use a stub.
58 # ported from solaris_x86_32.s
59 .p2align 4,,15
60 SYMBOL(fixcw):
61 pushl $0x27f
62 fldcw 0(%esp)
63 popl %eax
64 ret
65
66 .globl SYMBOL(SpinPause)
67 ELF_TYPE(SpinPause,@function)
68 .p2align 4,,15
69 SYMBOL(SpinPause):
70 rep
71 nop
72 movl $1, %eax
73 ret
74
75 # Support for void Copy::conjoint_bytes(void* from,
76 # void* to,
77 # size_t count)
78 .p2align 4,,15
79 ELF_TYPE(_Copy_conjoint_bytes,@function)
80 SYMBOL(_Copy_conjoint_bytes):
81 pushl %esi
82 movl 4+12(%esp),%ecx # count
83 pushl %edi
84 movl 8+ 4(%esp),%esi # from
85 movl 8+ 8(%esp),%edi # to
86 cmpl %esi,%edi
87 leal -1(%esi,%ecx),%eax # from + count - 1
88 jbe cb_CopyRight
89 cmpl %eax,%edi
90 jbe cb_CopyLeft
91 # copy from low to high
92 cb_CopyRight:
93 cmpl $3,%ecx
94 jbe 5f # <= 3 bytes
|
46 .globl SYMBOL(_Copy_conjoint_jints_atomic)
47 .globl SYMBOL(_Copy_arrayof_conjoint_jints)
48 .globl SYMBOL(_Copy_conjoint_jlongs_atomic)
49 .globl SYMBOL(_mmx_Copy_arrayof_conjoint_jshorts)
50
51 .globl SYMBOL(_Atomic_cmpxchg_long)
52 .globl SYMBOL(_Atomic_move_long)
53
54 .text
55
56 # Support for void os::Solaris::init_thread_fpu_state() in os_solaris_i486.cpp
57 # Set fpu to 53 bit precision. This happens too early to use a stub.
58 # ported from solaris_x86_32.s
59 .p2align 4,,15
60 SYMBOL(fixcw):
61 pushl $0x27f
62 fldcw 0(%esp)
63 popl %eax
64 ret
65
66 # Support for void Copy::conjoint_bytes(void* from,
67 # void* to,
68 # size_t count)
69 .p2align 4,,15
70 ELF_TYPE(_Copy_conjoint_bytes,@function)
71 SYMBOL(_Copy_conjoint_bytes):
72 pushl %esi
73 movl 4+12(%esp),%ecx # count
74 pushl %edi
75 movl 8+ 4(%esp),%esi # from
76 movl 8+ 8(%esp),%edi # to
77 cmpl %esi,%edi
78 leal -1(%esi,%ecx),%eax # from + count - 1
79 jbe cb_CopyRight
80 cmpl %eax,%edi
81 jbe cb_CopyLeft
82 # copy from low to high
83 cb_CopyRight:
84 cmpl $3,%ecx
85 jbe 5f # <= 3 bytes
|