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

Side by Side Diff: src/hydrogen.cc

Issue 928343003: CpuProfile: rename HSourcePosition to SourcePosition and move it to compiler.* (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: comments addressed Created 5 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 unified diff | Download patch
« no previous file with comments | « src/hydrogen.h ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/hydrogen.h" 5 #include "src/hydrogen.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 122
123 void HBasicBlock::RemovePhi(HPhi* phi) { 123 void HBasicBlock::RemovePhi(HPhi* phi) {
124 DCHECK(phi->block() == this); 124 DCHECK(phi->block() == this);
125 DCHECK(phis_.Contains(phi)); 125 DCHECK(phis_.Contains(phi));
126 phi->Kill(); 126 phi->Kill();
127 phis_.RemoveElement(phi); 127 phis_.RemoveElement(phi);
128 phi->SetBlock(NULL); 128 phi->SetBlock(NULL);
129 } 129 }
130 130
131 131
132 void HBasicBlock::AddInstruction(HInstruction* instr, 132 void HBasicBlock::AddInstruction(HInstruction* instr, SourcePosition position) {
133 HSourcePosition position) {
134 DCHECK(!IsStartBlock() || !IsFinished()); 133 DCHECK(!IsStartBlock() || !IsFinished());
135 DCHECK(!instr->IsLinked()); 134 DCHECK(!instr->IsLinked());
136 DCHECK(!IsFinished()); 135 DCHECK(!IsFinished());
137 136
138 if (!position.IsUnknown()) { 137 if (!position.IsUnknown()) {
139 instr->set_position(position); 138 instr->set_position(position);
140 } 139 }
141 if (first_ == NULL) { 140 if (first_ == NULL) {
142 DCHECK(last_environment() != NULL); 141 DCHECK(last_environment() != NULL);
143 DCHECK(!last_environment()->ast_id().IsNone()); 142 DCHECK(!last_environment()->ast_id().IsNone());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 !it.Done(); 191 !it.Done();
193 it.Advance()) { 192 it.Advance()) {
194 int index = it.Current(); 193 int index = it.Current();
195 instr->AddAssignedValue(index, environment->Lookup(index)); 194 instr->AddAssignedValue(index, environment->Lookup(index));
196 } 195 }
197 environment->ClearHistory(); 196 environment->ClearHistory();
198 return instr; 197 return instr;
199 } 198 }
200 199
201 200
202 void HBasicBlock::Finish(HControlInstruction* end, HSourcePosition position) { 201 void HBasicBlock::Finish(HControlInstruction* end, SourcePosition position) {
203 DCHECK(!IsFinished()); 202 DCHECK(!IsFinished());
204 AddInstruction(end, position); 203 AddInstruction(end, position);
205 end_ = end; 204 end_ = end;
206 for (HSuccessorIterator it(end); !it.Done(); it.Advance()) { 205 for (HSuccessorIterator it(end); !it.Done(); it.Advance()) {
207 it.Current()->RegisterPredecessor(this); 206 it.Current()->RegisterPredecessor(this);
208 } 207 }
209 } 208 }
210 209
211 210
212 void HBasicBlock::Goto(HBasicBlock* block, 211 void HBasicBlock::Goto(HBasicBlock* block, SourcePosition position,
213 HSourcePosition position, 212 FunctionState* state, bool add_simulate) {
214 FunctionState* state,
215 bool add_simulate) {
216 bool drop_extra = state != NULL && 213 bool drop_extra = state != NULL &&
217 state->inlining_kind() == NORMAL_RETURN; 214 state->inlining_kind() == NORMAL_RETURN;
218 215
219 if (block->IsInlineReturnTarget()) { 216 if (block->IsInlineReturnTarget()) {
220 HEnvironment* env = last_environment(); 217 HEnvironment* env = last_environment();
221 int argument_count = env->arguments_environment()->parameter_count(); 218 int argument_count = env->arguments_environment()->parameter_count();
222 AddInstruction(new(zone()) 219 AddInstruction(new(zone())
223 HLeaveInlined(state->entry(), argument_count), 220 HLeaveInlined(state->entry(), argument_count),
224 position); 221 position);
225 UpdateEnvironment(last_environment()->DiscardInlined(drop_extra)); 222 UpdateEnvironment(last_environment()->DiscardInlined(drop_extra));
226 } 223 }
227 224
228 if (add_simulate) AddNewSimulate(BailoutId::None(), position); 225 if (add_simulate) AddNewSimulate(BailoutId::None(), position);
229 HGoto* instr = new(zone()) HGoto(block); 226 HGoto* instr = new(zone()) HGoto(block);
230 Finish(instr, position); 227 Finish(instr, position);
231 } 228 }
232 229
233 230
234 void HBasicBlock::AddLeaveInlined(HValue* return_value, 231 void HBasicBlock::AddLeaveInlined(HValue* return_value, FunctionState* state,
235 FunctionState* state, 232 SourcePosition position) {
236 HSourcePosition position) {
237 HBasicBlock* target = state->function_return(); 233 HBasicBlock* target = state->function_return();
238 bool drop_extra = state->inlining_kind() == NORMAL_RETURN; 234 bool drop_extra = state->inlining_kind() == NORMAL_RETURN;
239 235
240 DCHECK(target->IsInlineReturnTarget()); 236 DCHECK(target->IsInlineReturnTarget());
241 DCHECK(return_value != NULL); 237 DCHECK(return_value != NULL);
242 HEnvironment* env = last_environment(); 238 HEnvironment* env = last_environment();
243 int argument_count = env->arguments_environment()->parameter_count(); 239 int argument_count = env->arguments_environment()->parameter_count();
244 AddInstruction(new(zone()) HLeaveInlined(state->entry(), argument_count), 240 AddInstruction(new(zone()) HLeaveInlined(state->entry(), argument_count),
245 position); 241 position);
246 UpdateEnvironment(last_environment()->DiscardInlined(drop_extra)); 242 UpdateEnvironment(last_environment()->DiscardInlined(drop_extra));
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
1022 } 1018 }
1023 current = current->next_; 1019 current = current->next_;
1024 } 1020 }
1025 1021
1026 // Merge deopt blocks, padding when necessary. 1022 // Merge deopt blocks, padding when necessary.
1027 current = merge_at_join_blocks_; 1023 current = merge_at_join_blocks_;
1028 while (current != NULL) { 1024 while (current != NULL) {
1029 if (current->deopt_ && current->block_ != NULL) { 1025 if (current->deopt_ && current->block_ != NULL) {
1030 current->block_->FinishExit( 1026 current->block_->FinishExit(
1031 HAbnormalExit::New(builder()->isolate(), builder()->zone(), NULL), 1027 HAbnormalExit::New(builder()->isolate(), builder()->zone(), NULL),
1032 HSourcePosition::Unknown()); 1028 SourcePosition::Unknown());
1033 } 1029 }
1034 current = current->next_; 1030 current = current->next_;
1035 } 1031 }
1036 builder()->set_current_block(merge_block); 1032 builder()->set_current_block(merge_block);
1037 } 1033 }
1038 1034
1039 1035
1040 HGraphBuilder::LoopBuilder::LoopBuilder(HGraphBuilder* builder) { 1036 HGraphBuilder::LoopBuilder::LoopBuilder(HGraphBuilder* builder) {
1041 Initialize(builder, NULL, kWhileTrue, NULL); 1037 Initialize(builder, NULL, kWhileTrue, NULL);
1042 } 1038 }
(...skipping 2372 matching lines...) Expand 10 before | Expand all | Expand 10 after
3415 HBasicBlock* HOptimizedGraphBuilder::BuildLoopEntry( 3411 HBasicBlock* HOptimizedGraphBuilder::BuildLoopEntry(
3416 IterationStatement* statement) { 3412 IterationStatement* statement) {
3417 HBasicBlock* loop_entry = osr()->HasOsrEntryAt(statement) 3413 HBasicBlock* loop_entry = osr()->HasOsrEntryAt(statement)
3418 ? osr()->BuildOsrLoopEntry(statement) 3414 ? osr()->BuildOsrLoopEntry(statement)
3419 : BuildLoopEntry(); 3415 : BuildLoopEntry();
3420 return loop_entry; 3416 return loop_entry;
3421 } 3417 }
3422 3418
3423 3419
3424 void HBasicBlock::FinishExit(HControlInstruction* instruction, 3420 void HBasicBlock::FinishExit(HControlInstruction* instruction,
3425 HSourcePosition position) { 3421 SourcePosition position) {
3426 Finish(instruction, position); 3422 Finish(instruction, position);
3427 ClearEnvironment(); 3423 ClearEnvironment();
3428 } 3424 }
3429 3425
3430 3426
3431 std::ostream& operator<<(std::ostream& os, const HBasicBlock& b) { 3427 std::ostream& operator<<(std::ostream& os, const HBasicBlock& b) {
3432 return os << "B" << b.block_id(); 3428 return os << "B" << b.block_id();
3433 } 3429 }
3434 3430
3435 3431
(...skipping 14 matching lines...) Expand all
3450 type_change_checksum_(0), 3446 type_change_checksum_(0),
3451 maximum_environment_size_(0), 3447 maximum_environment_size_(0),
3452 no_side_effects_scope_count_(0), 3448 no_side_effects_scope_count_(0),
3453 disallow_adding_new_values_(false) { 3449 disallow_adding_new_values_(false) {
3454 if (info->IsStub()) { 3450 if (info->IsStub()) {
3455 CallInterfaceDescriptor descriptor = 3451 CallInterfaceDescriptor descriptor =
3456 info->code_stub()->GetCallInterfaceDescriptor(); 3452 info->code_stub()->GetCallInterfaceDescriptor();
3457 start_environment_ = new (zone_) 3453 start_environment_ = new (zone_)
3458 HEnvironment(zone_, descriptor.GetEnvironmentParameterCount()); 3454 HEnvironment(zone_, descriptor.GetEnvironmentParameterCount());
3459 } else { 3455 } else {
3460 info->TraceInlinedFunction(info->shared_info(), 3456 info->TraceInlinedFunction(info->shared_info(), SourcePosition::Unknown());
3461 HSourcePosition::Unknown().raw());
3462 start_environment_ = 3457 start_environment_ =
3463 new(zone_) HEnvironment(NULL, info->scope(), info->closure(), zone_); 3458 new(zone_) HEnvironment(NULL, info->scope(), info->closure(), zone_);
3464 } 3459 }
3465 start_environment_->set_ast_id(BailoutId::FunctionEntry()); 3460 start_environment_->set_ast_id(BailoutId::FunctionEntry());
3466 entry_block_ = CreateBasicBlock(); 3461 entry_block_ = CreateBasicBlock();
3467 entry_block_->SetInitialEnvironment(start_environment_); 3462 entry_block_->SetInitialEnvironment(start_environment_);
3468 } 3463 }
3469 3464
3470 3465
3471 HBasicBlock* HGraph::CreateBasicBlock() { 3466 HBasicBlock* HGraph::CreateBasicBlock() {
3472 HBasicBlock* result = new(zone()) HBasicBlock(this); 3467 HBasicBlock* result = new(zone()) HBasicBlock(this);
3473 blocks_.Add(result, zone()); 3468 blocks_.Add(result, zone());
3474 return result; 3469 return result;
3475 } 3470 }
3476 3471
3477 3472
3478 void HGraph::FinalizeUniqueness() { 3473 void HGraph::FinalizeUniqueness() {
3479 DisallowHeapAllocation no_gc; 3474 DisallowHeapAllocation no_gc;
3480 DCHECK(!OptimizingCompilerThread::IsOptimizerThread(isolate())); 3475 DCHECK(!OptimizingCompilerThread::IsOptimizerThread(isolate()));
3481 for (int i = 0; i < blocks()->length(); ++i) { 3476 for (int i = 0; i < blocks()->length(); ++i) {
3482 for (HInstructionIterator it(blocks()->at(i)); !it.Done(); it.Advance()) { 3477 for (HInstructionIterator it(blocks()->at(i)); !it.Done(); it.Advance()) {
3483 it.Current()->FinalizeUniqueness(); 3478 it.Current()->FinalizeUniqueness();
3484 } 3479 }
3485 } 3480 }
3486 } 3481 }
3487 3482
3488 3483
3489 int HGraph::SourcePositionToScriptPosition(HSourcePosition pos) { 3484 int HGraph::SourcePositionToScriptPosition(SourcePosition pos) {
3490 if (!FLAG_hydrogen_track_positions || pos.IsUnknown()) { 3485 if (!FLAG_hydrogen_track_positions || pos.IsUnknown()) {
3491 return pos.raw(); 3486 return pos.raw();
3492 } 3487 }
3493 3488
3494 const int id = info()->inlining_id_to_function_id()->at(pos.inlining_id()); 3489 const int id = info()->inlining_id_to_function_id()->at(pos.inlining_id());
3495 return info()->inlined_function_infos()->at(id).start_position() + 3490 return info()->inlined_function_infos()->at(id).start_position() +
3496 pos.position(); 3491 pos.position();
3497 } 3492 }
3498 3493
3499 3494
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after
3873 HPhi* phi = blocks_[i]->phis()->at(j); 3868 HPhi* phi = blocks_[i]->phis()->at(j);
3874 phi_list_->Add(phi, zone()); 3869 phi_list_->Add(phi, zone());
3875 } 3870 }
3876 } 3871 }
3877 } 3872 }
3878 3873
3879 3874
3880 // Implementation of utility class to encapsulate the translation state for 3875 // Implementation of utility class to encapsulate the translation state for
3881 // a (possibly inlined) function. 3876 // a (possibly inlined) function.
3882 FunctionState::FunctionState(HOptimizedGraphBuilder* owner, 3877 FunctionState::FunctionState(HOptimizedGraphBuilder* owner,
3883 CompilationInfo* info, 3878 CompilationInfo* info, InliningKind inlining_kind,
3884 InliningKind inlining_kind,
3885 int inlining_id) 3879 int inlining_id)
3886 : owner_(owner), 3880 : owner_(owner),
3887 compilation_info_(info), 3881 compilation_info_(info),
3888 call_context_(NULL), 3882 call_context_(NULL),
3889 inlining_kind_(inlining_kind), 3883 inlining_kind_(inlining_kind),
3890 function_return_(NULL), 3884 function_return_(NULL),
3891 test_context_(NULL), 3885 test_context_(NULL),
3892 entry_(NULL), 3886 entry_(NULL),
3893 arguments_object_(NULL), 3887 arguments_object_(NULL),
3894 arguments_elements_(NULL), 3888 arguments_elements_(NULL),
3895 inlining_id_(inlining_id), 3889 inlining_id_(inlining_id),
3896 outer_source_position_(HSourcePosition::Unknown()), 3890 outer_source_position_(SourcePosition::Unknown()),
3897 outer_(owner->function_state()) { 3891 outer_(owner->function_state()) {
3898 if (outer_ != NULL) { 3892 if (outer_ != NULL) {
3899 // State for an inline function. 3893 // State for an inline function.
3900 if (owner->ast_context()->IsTest()) { 3894 if (owner->ast_context()->IsTest()) {
3901 HBasicBlock* if_true = owner->graph()->CreateBasicBlock(); 3895 HBasicBlock* if_true = owner->graph()->CreateBasicBlock();
3902 HBasicBlock* if_false = owner->graph()->CreateBasicBlock(); 3896 HBasicBlock* if_false = owner->graph()->CreateBasicBlock();
3903 if_true->MarkAsInlineReturnTarget(owner->current_block()); 3897 if_true->MarkAsInlineReturnTarget(owner->current_block());
3904 if_false->MarkAsInlineReturnTarget(owner->current_block()); 3898 if_false->MarkAsInlineReturnTarget(owner->current_block());
3905 TestContext* outer_test_context = TestContext::cast(owner->ast_context()); 3899 TestContext* outer_test_context = TestContext::cast(owner->ast_context());
3906 Expression* cond = outer_test_context->condition(); 3900 Expression* cond = outer_test_context->condition();
(...skipping 3902 matching lines...) Expand 10 before | Expand all | Expand 10 after
7809 } 7803 }
7810 7804
7811 int nodes_added = target_shared->ast_node_count(); 7805 int nodes_added = target_shared->ast_node_count();
7812 return nodes_added; 7806 return nodes_added;
7813 } 7807 }
7814 7808
7815 7809
7816 bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target, 7810 bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
7817 int arguments_count, 7811 int arguments_count,
7818 HValue* implicit_return_value, 7812 HValue* implicit_return_value,
7819 BailoutId ast_id, 7813 BailoutId ast_id, BailoutId return_id,
7820 BailoutId return_id,
7821 InliningKind inlining_kind, 7814 InliningKind inlining_kind,
7822 HSourcePosition position) { 7815 SourcePosition position) {
7823 int nodes_added = InliningAstSize(target); 7816 int nodes_added = InliningAstSize(target);
7824 if (nodes_added == kNotInlinable) return false; 7817 if (nodes_added == kNotInlinable) return false;
7825 7818
7826 Handle<JSFunction> caller = current_info()->closure(); 7819 Handle<JSFunction> caller = current_info()->closure();
7827 7820
7828 if (nodes_added > Min(FLAG_max_inlined_nodes, kUnlimitedMaxInlinedNodes)) { 7821 if (nodes_added > Min(FLAG_max_inlined_nodes, kUnlimitedMaxInlinedNodes)) {
7829 TraceInline(target, caller, "target AST is too large [early]"); 7822 TraceInline(target, caller, "target AST is too large [early]");
7830 return false; 7823 return false;
7831 } 7824 }
7832 7825
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
7924 } 7917 }
7925 7918
7926 // ---------------------------------------------------------------- 7919 // ----------------------------------------------------------------
7927 // After this point, we've made a decision to inline this function (so 7920 // After this point, we've made a decision to inline this function (so
7928 // TryInline should always return true). 7921 // TryInline should always return true).
7929 7922
7930 // Type-check the inlined function. 7923 // Type-check the inlined function.
7931 DCHECK(target_shared->has_deoptimization_support()); 7924 DCHECK(target_shared->has_deoptimization_support());
7932 AstTyper::Run(&target_info); 7925 AstTyper::Run(&target_info);
7933 7926
7934 int function_id = 7927 int function_id = top_info()->TraceInlinedFunction(target_shared, position);
7935 top_info()->TraceInlinedFunction(target_shared, position.raw());
7936 7928
7937 // Save the pending call context. Set up new one for the inlined function. 7929 // Save the pending call context. Set up new one for the inlined function.
7938 // The function state is new-allocated because we need to delete it 7930 // The function state is new-allocated because we need to delete it
7939 // in two different places. 7931 // in two different places.
7940 FunctionState* target_state = new FunctionState( 7932 FunctionState* target_state = new FunctionState(
7941 this, &target_info, inlining_kind, function_id); 7933 this, &target_info, inlining_kind, function_id);
7942 7934
7943 HConstant* undefined = graph()->GetConstantUndefined(); 7935 HConstant* undefined = graph()->GetConstantUndefined();
7944 7936
7945 HEnvironment* inner_env = 7937 HEnvironment* inner_env =
(...skipping 2986 matching lines...) Expand 10 before | Expand all | Expand 10 after
10932 op, left, right, left_type, right_type, combined_type, 10924 op, left, right, left_type, right_type, combined_type,
10933 ScriptPositionToSourcePosition(expr->left()->position()), 10925 ScriptPositionToSourcePosition(expr->left()->position()),
10934 ScriptPositionToSourcePosition(expr->right()->position()), 10926 ScriptPositionToSourcePosition(expr->right()->position()),
10935 push_behavior, expr->id()); 10927 push_behavior, expr->id());
10936 if (compare == NULL) return; // Bailed out. 10928 if (compare == NULL) return; // Bailed out.
10937 return ast_context()->ReturnControl(compare, expr->id()); 10929 return ast_context()->ReturnControl(compare, expr->id());
10938 } 10930 }
10939 10931
10940 10932
10941 HControlInstruction* HOptimizedGraphBuilder::BuildCompareInstruction( 10933 HControlInstruction* HOptimizedGraphBuilder::BuildCompareInstruction(
10942 Token::Value op, 10934 Token::Value op, HValue* left, HValue* right, Type* left_type,
10943 HValue* left, 10935 Type* right_type, Type* combined_type, SourcePosition left_position,
10944 HValue* right, 10936 SourcePosition right_position, PushBeforeSimulateBehavior push_sim_result,
10945 Type* left_type,
10946 Type* right_type,
10947 Type* combined_type,
10948 HSourcePosition left_position,
10949 HSourcePosition right_position,
10950 PushBeforeSimulateBehavior push_sim_result,
10951 BailoutId bailout_id) { 10937 BailoutId bailout_id) {
10952 // Cases handled below depend on collected type feedback. They should 10938 // Cases handled below depend on collected type feedback. They should
10953 // soft deoptimize when there is no type feedback. 10939 // soft deoptimize when there is no type feedback.
10954 if (!combined_type->IsInhabited()) { 10940 if (!combined_type->IsInhabited()) {
10955 Add<HDeoptimize>( 10941 Add<HDeoptimize>(
10956 Deoptimizer::kInsufficientTypeFeedbackForCombinedTypeOfBinaryOperation, 10942 Deoptimizer::kInsufficientTypeFeedbackForCombinedTypeOfBinaryOperation,
10957 Deoptimizer::SOFT); 10943 Deoptimizer::SOFT);
10958 combined_type = left_type = right_type = Type::Any(zone()); 10944 combined_type = left_type = right_type = Type::Any(zone());
10959 } 10945 }
10960 10946
(...skipping 2288 matching lines...) Expand 10 before | Expand all | Expand 10 after
13249 Tag HIR_tag(this, "HIR"); 13235 Tag HIR_tag(this, "HIR");
13250 for (HInstructionIterator it(current); !it.Done(); it.Advance()) { 13236 for (HInstructionIterator it(current); !it.Done(); it.Advance()) {
13251 HInstruction* instruction = it.Current(); 13237 HInstruction* instruction = it.Current();
13252 int uses = instruction->UseCount(); 13238 int uses = instruction->UseCount();
13253 PrintIndent(); 13239 PrintIndent();
13254 std::ostringstream os; 13240 std::ostringstream os;
13255 os << "0 " << uses << " " << NameOf(instruction) << " " << *instruction; 13241 os << "0 " << uses << " " << NameOf(instruction) << " " << *instruction;
13256 if (FLAG_hydrogen_track_positions && 13242 if (FLAG_hydrogen_track_positions &&
13257 instruction->has_position() && 13243 instruction->has_position() &&
13258 instruction->position().raw() != 0) { 13244 instruction->position().raw() != 0) {
13259 const HSourcePosition pos = instruction->position(); 13245 const SourcePosition pos = instruction->position();
13260 os << " pos:"; 13246 os << " pos:";
13261 if (pos.inlining_id() != 0) os << pos.inlining_id() << "_"; 13247 if (pos.inlining_id() != 0) os << pos.inlining_id() << "_";
13262 os << pos.position(); 13248 os << pos.position();
13263 } 13249 }
13264 os << " <|@\n"; 13250 os << " <|@\n";
13265 trace_.Add(os.str().c_str()); 13251 trace_.Add(os.str().c_str());
13266 } 13252 }
13267 } 13253 }
13268 13254
13269 13255
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
13457 if (ShouldProduceTraceOutput()) { 13443 if (ShouldProduceTraceOutput()) {
13458 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13444 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13459 } 13445 }
13460 13446
13461 #ifdef DEBUG 13447 #ifdef DEBUG
13462 graph_->Verify(false); // No full verify. 13448 graph_->Verify(false); // No full verify.
13463 #endif 13449 #endif
13464 } 13450 }
13465 13451
13466 } } // namespace v8::internal 13452 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/hydrogen.h ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698