| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "src/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #if V8_TARGET_ARCH_X87 | 7 #if V8_TARGET_ARCH_X87 | 
| 8 | 8 | 
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" | 
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" | 
| (...skipping 2877 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2888   int arg_count = args->length(); | 2888   int arg_count = args->length(); | 
| 2889   { PreservePositionScope scope(masm()->positions_recorder()); | 2889   { PreservePositionScope scope(masm()->positions_recorder()); | 
| 2890     for (int i = 0; i < arg_count; i++) { | 2890     for (int i = 0; i < arg_count; i++) { | 
| 2891       VisitForStackValue(args->at(i)); | 2891       VisitForStackValue(args->at(i)); | 
| 2892     } | 2892     } | 
| 2893   } | 2893   } | 
| 2894 | 2894 | 
| 2895   // Record source position of the IC call. | 2895   // Record source position of the IC call. | 
| 2896   SetSourcePosition(expr->position()); | 2896   SetSourcePosition(expr->position()); | 
| 2897   Handle<Code> ic = CodeFactory::CallIC(isolate(), arg_count, call_type).code(); | 2897   Handle<Code> ic = CodeFactory::CallIC(isolate(), arg_count, call_type).code(); | 
| 2898   __ Move(edx, Immediate(SmiFromSlot(expr->CallFeedbackSlot()))); | 2898   __ Move(edx, Immediate(SmiFromSlot(expr->CallFeedbackICSlot()))); | 
| 2899   __ mov(edi, Operand(esp, (arg_count + 1) * kPointerSize)); | 2899   __ mov(edi, Operand(esp, (arg_count + 1) * kPointerSize)); | 
| 2900   // Don't assign a type feedback id to the IC, since type feedback is provided | 2900   // Don't assign a type feedback id to the IC, since type feedback is provided | 
| 2901   // by the vector above. | 2901   // by the vector above. | 
| 2902   CallIC(ic); | 2902   CallIC(ic); | 
| 2903 | 2903 | 
| 2904   RecordJSReturnSite(expr); | 2904   RecordJSReturnSite(expr); | 
| 2905 | 2905 | 
| 2906   // Restore context register. | 2906   // Restore context register. | 
| 2907   __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); | 2907   __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); | 
| 2908 | 2908 | 
| (...skipping 2361 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5270   DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 5270   DCHECK_EQ(isolate->builtins()->OsrAfterStackCheck()->entry(), | 
| 5271             Assembler::target_address_at(call_target_address, | 5271             Assembler::target_address_at(call_target_address, | 
| 5272                                          unoptimized_code)); | 5272                                          unoptimized_code)); | 
| 5273   return OSR_AFTER_STACK_CHECK; | 5273   return OSR_AFTER_STACK_CHECK; | 
| 5274 } | 5274 } | 
| 5275 | 5275 | 
| 5276 | 5276 | 
| 5277 } }  // namespace v8::internal | 5277 } }  // namespace v8::internal | 
| 5278 | 5278 | 
| 5279 #endif  // V8_TARGET_ARCH_X87 | 5279 #endif  // V8_TARGET_ARCH_X87 | 
| OLD | NEW | 
|---|