Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: src/compiler/bytecode-graph-builder.cc

Issue 1704913002: [interpreter] Remove CompilationInfo from graph builder. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@local_strong-remove-3
Patch Set: Rebased. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/bytecode-graph-builder.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « src/compiler/bytecode-graph-builder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698