Mercurial > hg > truffle
comparison src/cpu/x86/vm/c1_Runtime1_x86.cpp @ 1783:d5d065957597
6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
author | iveresov |
---|---|
date | Fri, 03 Sep 2010 17:51:07 -0700 |
parents | 126ea7725993 |
children | 2d26b0046e0d f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1782:f353275af40e | 1783:d5d065957597 |
---|---|
1066 // rax,: new instance | 1066 // rax,: new instance |
1067 } | 1067 } |
1068 | 1068 |
1069 break; | 1069 break; |
1070 | 1070 |
1071 #ifdef TIERED | |
1072 case counter_overflow_id: | 1071 case counter_overflow_id: |
1073 { | 1072 { |
1074 Register bci = rax; | 1073 Register bci = rax, method = rbx; |
1075 __ enter(); | 1074 __ enter(); |
1076 OopMap* map = save_live_registers(sasm, 2); | 1075 OopMap* map = save_live_registers(sasm, 3); |
1077 // Retrieve bci | 1076 // Retrieve bci |
1078 __ movl(bci, Address(rbp, 2*BytesPerWord)); | 1077 __ movl(bci, Address(rbp, 2*BytesPerWord)); |
1079 int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, counter_overflow), bci); | 1078 // And a pointer to the methodOop |
1079 __ movptr(method, Address(rbp, 3*BytesPerWord)); | |
1080 int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, counter_overflow), bci, method); | |
1080 oop_maps = new OopMapSet(); | 1081 oop_maps = new OopMapSet(); |
1081 oop_maps->add_gc_map(call_offset, map); | 1082 oop_maps->add_gc_map(call_offset, map); |
1082 restore_live_registers(sasm); | 1083 restore_live_registers(sasm); |
1083 __ leave(); | 1084 __ leave(); |
1084 __ ret(0); | 1085 __ ret(0); |
1085 } | 1086 } |
1086 break; | 1087 break; |
1087 #endif // TIERED | |
1088 | 1088 |
1089 case new_type_array_id: | 1089 case new_type_array_id: |
1090 case new_object_array_id: | 1090 case new_object_array_id: |
1091 { | 1091 { |
1092 Register length = rbx; // Incoming | 1092 Register length = rbx; // Incoming |