| 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 <limits> | 7 #include <limits> | 
| 8 #include <ostream> | 8 #include <ostream> | 
| 9 | 9 | 
| 10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" | 
| (...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 843   Node* function_table = ExternalConstant( | 843   Node* function_table = ExternalConstant( | 
| 844       ExternalReference::runtime_function_table_address(isolate())); | 844       ExternalReference::runtime_function_table_address(isolate())); | 
| 845   Node* function_offset = | 845   Node* function_offset = | 
| 846       Int32Mul(function_id, Int32Constant(sizeof(Runtime::Function))); | 846       Int32Mul(function_id, Int32Constant(sizeof(Runtime::Function))); | 
| 847   Node* function = | 847   Node* function = | 
| 848       IntPtrAdd(function_table, ChangeUint32ToWord(function_offset)); | 848       IntPtrAdd(function_table, ChangeUint32ToWord(function_offset)); | 
| 849   Node* function_entry = | 849   Node* function_entry = | 
| 850       Load(MachineType::Pointer(), function, | 850       Load(MachineType::Pointer(), function, | 
| 851            IntPtrConstant(offsetof(Runtime::Function, entry))); | 851            IntPtrConstant(offsetof(Runtime::Function, entry))); | 
| 852 | 852 | 
| 853   return CallStub(callable.descriptor(), code_target, context, arg_count, | 853   return CallStubR(callable.descriptor(), result_size, code_target, context, | 
| 854                   first_arg, function_entry, result_size); | 854                    arg_count, first_arg, function_entry); | 
| 855 } | 855 } | 
| 856 | 856 | 
| 857 void InterpreterAssembler::UpdateInterruptBudget(Node* weight) { | 857 void InterpreterAssembler::UpdateInterruptBudget(Node* weight) { | 
| 858   // TODO(rmcilroy): It might be worthwhile to only update the budget for | 858   // TODO(rmcilroy): It might be worthwhile to only update the budget for | 
| 859   // backwards branches. Those are distinguishable by the {JumpLoop} bytecode. | 859   // backwards branches. Those are distinguishable by the {JumpLoop} bytecode. | 
| 860 | 860 | 
| 861   Label ok(this), interrupt_check(this, Label::kDeferred), end(this); | 861   Label ok(this), interrupt_check(this, Label::kDeferred), end(this); | 
| 862   Node* budget_offset = | 862   Node* budget_offset = | 
| 863       IntPtrConstant(BytecodeArray::kInterruptBudgetOffset - kHeapObjectTag); | 863       IntPtrConstant(BytecodeArray::kInterruptBudgetOffset - kHeapObjectTag); | 
| 864 | 864 | 
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1306     Goto(&loop); | 1306     Goto(&loop); | 
| 1307   } | 1307   } | 
| 1308   Bind(&done_loop); | 1308   Bind(&done_loop); | 
| 1309 | 1309 | 
| 1310   return array; | 1310   return array; | 
| 1311 } | 1311 } | 
| 1312 | 1312 | 
| 1313 }  // namespace interpreter | 1313 }  // namespace interpreter | 
| 1314 }  // namespace internal | 1314 }  // namespace internal | 
| 1315 }  // namespace v8 | 1315 }  // namespace v8 | 
| OLD | NEW | 
|---|