| OLD | NEW | 
|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" | 
| 6 | 6 | 
| 7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" | 
| 8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" | 
| 9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" | 
| 10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" | 
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 406         // Check the function's context matches the context argument. | 406         // Check the function's context matches the context argument. | 
| 407         __ cmp(esi, FieldOperand(func, JSFunction::kContextOffset)); | 407         __ cmp(esi, FieldOperand(func, JSFunction::kContextOffset)); | 
| 408         __ Assert(equal, kWrongFunctionContext); | 408         __ Assert(equal, kWrongFunctionContext); | 
| 409       } | 409       } | 
| 410       int stack_param_delta = i.InputInt32(instr->InputCount() - 1); | 410       int stack_param_delta = i.InputInt32(instr->InputCount() - 1); | 
| 411       AssembleDeconstructActivationRecord(stack_param_delta); | 411       AssembleDeconstructActivationRecord(stack_param_delta); | 
| 412       __ jmp(FieldOperand(func, JSFunction::kCodeEntryOffset)); | 412       __ jmp(FieldOperand(func, JSFunction::kCodeEntryOffset)); | 
| 413       frame_access_state()->ClearSPDelta(); | 413       frame_access_state()->ClearSPDelta(); | 
| 414       break; | 414       break; | 
| 415     } | 415     } | 
| 416     case kArchLazyBailout: { |  | 
| 417       EnsureSpaceForLazyDeopt(); |  | 
| 418       RecordCallPosition(instr); |  | 
| 419       break; |  | 
| 420     } |  | 
| 421     case kArchPrepareCallCFunction: { | 416     case kArchPrepareCallCFunction: { | 
| 422       // Frame alignment requires using FP-relative frame addressing. | 417       // Frame alignment requires using FP-relative frame addressing. | 
| 423       frame_access_state()->SetFrameAccessToFP(); | 418       frame_access_state()->SetFrameAccessToFP(); | 
| 424       int const num_parameters = MiscField::decode(instr->opcode()); | 419       int const num_parameters = MiscField::decode(instr->opcode()); | 
| 425       __ PrepareCallCFunction(num_parameters, i.TempRegister(0)); | 420       __ PrepareCallCFunction(num_parameters, i.TempRegister(0)); | 
| 426       break; | 421       break; | 
| 427     } | 422     } | 
| 428     case kArchPrepareTailCall: | 423     case kArchPrepareTailCall: | 
| 429       AssemblePrepareTailCall(i.InputInt32(instr->InputCount() - 1)); | 424       AssemblePrepareTailCall(i.InputInt32(instr->InputCount() - 1)); | 
| 430       break; | 425       break; | 
| (...skipping 1308 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1739     int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 1734     int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 
| 1740     __ Nop(padding_size); | 1735     __ Nop(padding_size); | 
| 1741   } | 1736   } | 
| 1742 } | 1737 } | 
| 1743 | 1738 | 
| 1744 #undef __ | 1739 #undef __ | 
| 1745 | 1740 | 
| 1746 }  // namespace compiler | 1741 }  // namespace compiler | 
| 1747 }  // namespace internal | 1742 }  // namespace internal | 
| 1748 }  // namespace v8 | 1743 }  // namespace v8 | 
| OLD | NEW | 
|---|