OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 static Register registers[] = { eax }; | 223 static Register registers[] = { eax }; |
224 descriptor->register_param_count_ = 1; | 224 descriptor->register_param_count_ = 1; |
225 descriptor->register_params_ = registers; | 225 descriptor->register_params_ = registers; |
226 descriptor->deoptimization_handler_ = | 226 descriptor->deoptimization_handler_ = |
227 FUNCTION_ADDR(ToBooleanIC_Miss); | 227 FUNCTION_ADDR(ToBooleanIC_Miss); |
228 descriptor->SetMissHandler( | 228 descriptor->SetMissHandler( |
229 ExternalReference(IC_Utility(IC::kToBooleanIC_Miss), isolate)); | 229 ExternalReference(IC_Utility(IC::kToBooleanIC_Miss), isolate)); |
230 } | 230 } |
231 | 231 |
232 | 232 |
233 void StoreGlobalStub::InitializeInterfaceDescriptor( | |
234 Isolate* isolate, | |
235 CodeStubInterfaceDescriptor* descriptor) { | |
236 static Register registers[] = { edx, ecx, eax }; | |
237 descriptor->register_param_count_ = 3; | |
238 descriptor->register_params_ = registers; | |
239 descriptor->deoptimization_handler_ = | |
240 FUNCTION_ADDR(StoreIC_MissFromStubFailure); | |
241 } | |
242 | |
243 | |
244 #define __ ACCESS_MASM(masm) | 233 #define __ ACCESS_MASM(masm) |
245 | 234 |
246 | 235 |
247 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { | 236 void HydrogenCodeStub::GenerateLightweightMiss(MacroAssembler* masm) { |
248 // Update the static counter each time a new code stub is generated. | 237 // Update the static counter each time a new code stub is generated. |
249 Isolate* isolate = masm->isolate(); | 238 Isolate* isolate = masm->isolate(); |
250 isolate->counters()->code_stubs()->Increment(); | 239 isolate->counters()->code_stubs()->Increment(); |
251 | 240 |
252 CodeStubInterfaceDescriptor* descriptor = GetInterfaceDescriptor(isolate); | 241 CodeStubInterfaceDescriptor* descriptor = GetInterfaceDescriptor(isolate); |
253 int param_count = descriptor->register_param_count_; | 242 int param_count = descriptor->register_param_count_; |
(...skipping 7776 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8030 __ bind(&fast_elements_case); | 8019 __ bind(&fast_elements_case); |
8031 GenerateCase(masm, FAST_ELEMENTS); | 8020 GenerateCase(masm, FAST_ELEMENTS); |
8032 } | 8021 } |
8033 | 8022 |
8034 | 8023 |
8035 #undef __ | 8024 #undef __ |
8036 | 8025 |
8037 } } // namespace v8::internal | 8026 } } // namespace v8::internal |
8038 | 8027 |
8039 #endif // V8_TARGET_ARCH_IA32 | 8028 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |