comparison src/os_cpu/linux_x86/vm/linux_x86_32.ad @ 420:a1980da045cc

6462850: generate biased locking code in C2 ideal graph Summary: Inline biased locking code in C2 ideal graph during macro nodes expansion Reviewed-by: never
author kvn
date Fri, 07 Nov 2008 09:29:38 -0800
parents a61af66fc99e
children ad8c8ca4ab0f
comparison
equal deleted inserted replaced
419:0bf25c4807f9 420:a1980da045cc
101 //----------OS and Locking Instructions---------------------------------------- 101 //----------OS and Locking Instructions----------------------------------------
102 102
103 // This name is KNOWN by the ADLC and cannot be changed. 103 // This name is KNOWN by the ADLC and cannot be changed.
104 // The ADLC forces a 'TypeRawPtr::BOTTOM' output type 104 // The ADLC forces a 'TypeRawPtr::BOTTOM' output type
105 // for this guy. 105 // for this guy.
106 instruct tlsLoadP(eAXRegP dst, eFlagsReg cr) %{ 106 instruct tlsLoadP(eRegP dst, eFlagsReg cr) %{
107 match(Set dst (ThreadLocal)); 107 match(Set dst (ThreadLocal));
108 effect(DEF dst, KILL cr); 108 effect(DEF dst, KILL cr);
109 109
110 format %{ "MOV EAX, Thread::current()" %} 110 format %{ "MOV $dst, Thread::current()" %}
111 ins_encode( linux_tlsencode(dst) ); 111 ins_encode( linux_tlsencode(dst) );
112 ins_pipe( ialu_reg_fat ); 112 ins_pipe( ialu_reg_fat );
113 %} 113 %}
114 114
115 instruct TLS(eAXRegP dst) %{ 115 instruct TLS(eRegP dst) %{
116 match(Set dst (ThreadLocal)); 116 match(Set dst (ThreadLocal));
117 117
118 expand %{ 118 expand %{
119 tlsLoadP(dst); 119 tlsLoadP(dst);
120 %} 120 %}