| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/interpreter/interpreter-assembler.h" | 5 #include "src/interpreter/interpreter-assembler.h" |
| 6 | 6 |
| 7 #include <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
| 10 #include "src/frames.h" | 10 #include "src/frames.h" |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 Node* shared_info = | 298 Node* shared_info = |
| 299 LoadObjectField(function, JSFunction::kSharedFunctionInfoOffset); | 299 LoadObjectField(function, JSFunction::kSharedFunctionInfoOffset); |
| 300 Node* vector = | 300 Node* vector = |
| 301 LoadObjectField(shared_info, SharedFunctionInfo::kFeedbackVectorOffset); | 301 LoadObjectField(shared_info, SharedFunctionInfo::kFeedbackVectorOffset); |
| 302 return vector; | 302 return vector; |
| 303 } | 303 } |
| 304 | 304 |
| 305 void InterpreterAssembler::CallPrologue() { | 305 void InterpreterAssembler::CallPrologue() { |
| 306 StoreRegister(SmiTag(BytecodeOffset()), | 306 StoreRegister(SmiTag(BytecodeOffset()), |
| 307 InterpreterFrameConstants::kBytecodeOffsetFromRegisterPointer); | 307 InterpreterFrameConstants::kBytecodeOffsetFromRegisterPointer); |
| 308 StoreRegister(BytecodeArrayTaggedPointer(), | |
| 309 InterpreterFrameConstants::kBytecodeArrayFromRegisterPointer); | |
| 310 | 308 |
| 311 if (FLAG_debug_code && !disable_stack_check_across_call_) { | 309 if (FLAG_debug_code && !disable_stack_check_across_call_) { |
| 312 DCHECK(stack_pointer_before_call_ == nullptr); | 310 DCHECK(stack_pointer_before_call_ == nullptr); |
| 313 stack_pointer_before_call_ = LoadStackPointer(); | 311 stack_pointer_before_call_ = LoadStackPointer(); |
| 314 } | 312 } |
| 315 } | 313 } |
| 316 | 314 |
| 317 void InterpreterAssembler::CallEpilogue() { | 315 void InterpreterAssembler::CallEpilogue() { |
| 318 if (FLAG_debug_code && !disable_stack_check_across_call_) { | 316 if (FLAG_debug_code && !disable_stack_check_across_call_) { |
| 319 Node* stack_pointer_after_call = LoadStackPointer(); | 317 Node* stack_pointer_after_call = LoadStackPointer(); |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 V8_TARGET_ARCH_S390 | 533 V8_TARGET_ARCH_S390 |
| 536 return true; | 534 return true; |
| 537 #else | 535 #else |
| 538 #error "Unknown Architecture" | 536 #error "Unknown Architecture" |
| 539 #endif | 537 #endif |
| 540 } | 538 } |
| 541 | 539 |
| 542 } // namespace interpreter | 540 } // namespace interpreter |
| 543 } // namespace internal | 541 } // namespace internal |
| 544 } // namespace v8 | 542 } // namespace v8 |
| OLD | NEW |