Using the 1.3.1 fcs sources from
hotspot-1_3_1-pre-fcs-src-b24-solsparc-07_may_2001.zip
I observe this inefficieny in the client compiler .
In file c1_Runtime1_sparc.cpp, in the implementation of
StubAssembler::call_RT there is this code pattern
if (oop_result1.isValid()) { // get oop result if there is one and reset it in the thread
get_vm_result (oop_result1);
}
Address vm_result_addr(Gthread, 0, JavaThread::vm_result_offset_in_bytes());
st(G0, vm_result_addr); // REDUNDANT
If the get_vm_result is executed then the line marked REDUNDANT
duplicates a store emitted by the implementation of get_vm_result
in assembler_sparc.cpp
Tom, this appearo be true. Also, incase of result2. uld take a quicklook at this...
mohammad.gharahgouzloo@Eng 2001-06-13
hotspot-1_3_1-pre-fcs-src-b24-solsparc-07_may_2001.zip
I observe this inefficieny in the client compiler .
In file c1_Runtime1_sparc.cpp, in the implementation of
StubAssembler::call_RT there is this code pattern
if (oop_result1.isValid()) { // get oop result if there is one and reset it in the thread
get_vm_result (oop_result1);
}
Address vm_result_addr(Gthread, 0, JavaThread::vm_result_offset_in_bytes());
st(G0, vm_result_addr); // REDUNDANT
If the get_vm_result is executed then the line marked REDUNDANT
duplicates a store emitted by the implementation of get_vm_result
in assembler_sparc.cpp
Tom, this appearo be true. Also, incase of result2. uld take a quicklook at this...
mohammad.gharahgouzloo@Eng 2001-06-13