| Index: src/compiler/bytecode-graph-builder.cc
|
| diff --git a/src/compiler/bytecode-graph-builder.cc b/src/compiler/bytecode-graph-builder.cc
|
| index 527e2ddaa2f65ff1961d4c781b922446dba1ebf4..e7b43ca6d760c8190d45893b959ac2abfad992b1 100644
|
| --- a/src/compiler/bytecode-graph-builder.cc
|
| +++ b/src/compiler/bytecode-graph-builder.cc
|
| @@ -355,7 +355,7 @@ void BytecodeGraphBuilder::Environment::PrepareForLoop() {
|
|
|
| bool BytecodeGraphBuilder::Environment::StateValuesRequireUpdate(
|
| Node** state_values, int offset, int count) {
|
| - if (!builder()->info()->is_deoptimization_enabled()) {
|
| + if (!builder()->deoptimization_enabled_) {
|
| return false;
|
| }
|
| if (*state_values == nullptr) {
|
| @@ -385,7 +385,7 @@ void BytecodeGraphBuilder::Environment::UpdateStateValues(Node** state_values,
|
|
|
| Node* BytecodeGraphBuilder::Environment::Checkpoint(
|
| BailoutId bailout_id, OutputFrameStateCombine combine) {
|
| - if (!builder()->info()->is_deoptimization_enabled()) {
|
| + if (!builder()->deoptimization_enabled_) {
|
| return builder()->jsgraph()->EmptyFrameState();
|
| }
|
|
|
| @@ -423,7 +423,7 @@ bool BytecodeGraphBuilder::Environment::StateValuesAreUpToDate(
|
|
|
| bool BytecodeGraphBuilder::Environment::StateValuesAreUpToDate(
|
| int output_poke_offset, int output_poke_count) {
|
| - if (!builder()->info()->is_deoptimization_enabled()) return true;
|
| + if (!builder()->deoptimization_enabled_) return true;
|
| // Poke offset is relative to the top of the stack (i.e., the accumulator).
|
| int output_poke_start = accumulator_base() - output_poke_offset;
|
| int output_poke_end = output_poke_start + output_poke_count;
|
| @@ -437,19 +437,20 @@ bool BytecodeGraphBuilder::Environment::StateValuesAreUpToDate(
|
| }
|
|
|
| BytecodeGraphBuilder::BytecodeGraphBuilder(Zone* local_zone,
|
| - CompilationInfo* compilation_info,
|
| + CompilationInfo* info,
|
| JSGraph* jsgraph)
|
| : local_zone_(local_zone),
|
| - info_(compilation_info),
|
| jsgraph_(jsgraph),
|
| - bytecode_array_(handle(info()->shared_info()->bytecode_array())),
|
| + bytecode_array_(handle(info->shared_info()->bytecode_array())),
|
| exception_handler_table_(
|
| handle(HandlerTable::cast(bytecode_array()->handler_table()))),
|
| + feedback_vector_(info->feedback_vector()),
|
| frame_state_function_info_(common()->CreateFrameStateFunctionInfo(
|
| FrameStateType::kInterpretedFunction,
|
| bytecode_array()->parameter_count(),
|
| - bytecode_array()->register_count(), info()->shared_info(),
|
| + bytecode_array()->register_count(), info->shared_info(),
|
| CALL_MAINTAINS_NATIVE_CONTEXT)),
|
| + deoptimization_enabled_(info->is_deoptimization_enabled()),
|
| merge_environments_(local_zone),
|
| exception_handlers_(local_zone),
|
| current_exception_handler_(0),
|
| @@ -501,12 +502,11 @@ Node* BytecodeGraphBuilder::BuildLoadNativeContextField(int index) {
|
|
|
|
|
| VectorSlotPair BytecodeGraphBuilder::CreateVectorSlotPair(int slot_id) {
|
| - Handle<TypeFeedbackVector> feedback_vector = info()->feedback_vector();
|
| FeedbackVectorSlot slot;
|
| if (slot_id >= TypeFeedbackVector::kReservedIndexCount) {
|
| - slot = feedback_vector->ToSlot(slot_id);
|
| + slot = feedback_vector()->ToSlot(slot_id);
|
| }
|
| - return VectorSlotPair(feedback_vector, slot);
|
| + return VectorSlotPair(feedback_vector(), slot);
|
| }
|
|
|
| bool BytecodeGraphBuilder::CreateGraph() {
|
| @@ -981,7 +981,7 @@ Node* BytecodeGraphBuilder::ProcessCallArguments(const Operator* call_op,
|
| Node* callee,
|
| interpreter::Register receiver,
|
| size_t arity) {
|
| - Node** all = info()->zone()->NewArray<Node*>(static_cast<int>(arity));
|
| + Node** all = local_zone()->NewArray<Node*>(static_cast<int>(arity));
|
| all[0] = callee;
|
| all[1] = environment()->LookupRegister(receiver);
|
| int receiver_index = receiver.index();
|
| @@ -1037,7 +1037,7 @@ void BytecodeGraphBuilder::VisitCallJSRuntimeWide() { BuildCallJSRuntime(); }
|
| Node* BytecodeGraphBuilder::ProcessCallRuntimeArguments(
|
| const Operator* call_runtime_op, interpreter::Register first_arg,
|
| size_t arity) {
|
| - Node** all = info()->zone()->NewArray<Node*>(arity);
|
| + Node** all = local_zone()->NewArray<Node*>(arity);
|
| int first_arg_index = first_arg.index();
|
| for (int i = 0; i < static_cast<int>(arity); ++i) {
|
| all[i] = environment()->LookupRegister(
|
| @@ -1090,7 +1090,7 @@ void BytecodeGraphBuilder::VisitCallRuntimeForPairWide() {
|
| Node* BytecodeGraphBuilder::ProcessCallNewArguments(
|
| const Operator* call_new_op, Node* callee, Node* new_target,
|
| interpreter::Register first_arg, size_t arity) {
|
| - Node** all = info()->zone()->NewArray<Node*>(arity);
|
| + Node** all = local_zone()->NewArray<Node*>(arity);
|
| all[0] = new_target;
|
| int first_arg_index = first_arg.index();
|
| for (int i = 1; i < static_cast<int>(arity) - 1; ++i) {
|
|
|