Mercurial > hg > truffle
comparison src/cpu/x86/vm/graalRuntime_x86.cpp @ 9461:a14fef4fca7d
replaced identity_hash_code assembler stub with a compiled stub (GRAAL-81)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 30 Apr 2013 00:53:33 +0200 |
parents | 393d62a868da |
children | 902a974d55c8 |
comparison
equal
deleted
inserted
replaced
9421:20dc10bb82d1 | 9461:a14fef4fca7d |
---|---|
1048 } | 1048 } |
1049 __ ret(0); | 1049 __ ret(0); |
1050 break; | 1050 break; |
1051 } | 1051 } |
1052 | 1052 |
1053 case identity_hash_code_id: { | |
1054 Register obj = j_rarg0; // Incoming | |
1055 __ set_info("identity_hash_code", dont_gc_arguments); | |
1056 __ enter(); | |
1057 OopMap* map = save_live_registers(sasm, 1); | |
1058 int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, identity_hash_code), obj); | |
1059 oop_maps = new OopMapSet(); | |
1060 oop_maps->add_gc_map(call_offset, map); | |
1061 restore_live_registers_except_rax(sasm); | |
1062 __ leave(); | |
1063 __ ret(0); | |
1064 break; | |
1065 } | |
1066 | |
1067 default: | 1053 default: |
1068 { GraalStubFrame f(sasm, "unimplemented entry", dont_gc_arguments); | 1054 { GraalStubFrame f(sasm, "unimplemented entry", dont_gc_arguments); |
1069 __ movptr(rax, (int)id); | 1055 __ movptr(rax, (int)id); |
1070 __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), rax); | 1056 __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, unimplemented_entry), rax); |
1071 __ should_not_reach_here(); | 1057 __ should_not_reach_here(); |