OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/compiler/osr.h" | 10 #include "src/compiler/osr.h" |
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
554 __ ld(kScratchReg, FieldMemOperand(func, JSFunction::kContextOffset)); | 554 __ ld(kScratchReg, FieldMemOperand(func, JSFunction::kContextOffset)); |
555 __ Assert(eq, kWrongFunctionContext, cp, Operand(kScratchReg)); | 555 __ Assert(eq, kWrongFunctionContext, cp, Operand(kScratchReg)); |
556 } | 556 } |
557 int stack_param_delta = i.InputInt32(instr->InputCount() - 1); | 557 int stack_param_delta = i.InputInt32(instr->InputCount() - 1); |
558 AssembleDeconstructActivationRecord(stack_param_delta); | 558 AssembleDeconstructActivationRecord(stack_param_delta); |
559 __ ld(at, FieldMemOperand(func, JSFunction::kCodeEntryOffset)); | 559 __ ld(at, FieldMemOperand(func, JSFunction::kCodeEntryOffset)); |
560 __ Jump(at); | 560 __ Jump(at); |
561 frame_access_state()->ClearSPDelta(); | 561 frame_access_state()->ClearSPDelta(); |
562 break; | 562 break; |
563 } | 563 } |
564 case kArchLazyBailout: { | |
565 EnsureSpaceForLazyDeopt(); | |
566 RecordCallPosition(instr); | |
567 break; | |
568 } | |
569 case kArchPrepareCallCFunction: { | 564 case kArchPrepareCallCFunction: { |
570 int const num_parameters = MiscField::decode(instr->opcode()); | 565 int const num_parameters = MiscField::decode(instr->opcode()); |
571 __ PrepareCallCFunction(num_parameters, kScratchReg); | 566 __ PrepareCallCFunction(num_parameters, kScratchReg); |
572 // Frame alignment requires using FP-relative frame addressing. | 567 // Frame alignment requires using FP-relative frame addressing. |
573 frame_access_state()->SetFrameAccessToFP(); | 568 frame_access_state()->SetFrameAccessToFP(); |
574 break; | 569 break; |
575 } | 570 } |
576 case kArchPrepareTailCall: | 571 case kArchPrepareTailCall: |
577 AssemblePrepareTailCall(i.InputInt32(instr->InputCount() - 1)); | 572 AssemblePrepareTailCall(i.InputInt32(instr->InputCount() - 1)); |
578 break; | 573 break; |
(...skipping 1543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2122 padding_size -= v8::internal::Assembler::kInstrSize; | 2117 padding_size -= v8::internal::Assembler::kInstrSize; |
2123 } | 2118 } |
2124 } | 2119 } |
2125 } | 2120 } |
2126 | 2121 |
2127 #undef __ | 2122 #undef __ |
2128 | 2123 |
2129 } // namespace compiler | 2124 } // namespace compiler |
2130 } // namespace internal | 2125 } // namespace internal |
2131 } // namespace v8 | 2126 } // namespace v8 |
OLD | NEW |