OLD | NEW |
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 9163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9174 HValue* arg_two_value = LookupAndMakeLive(arg_two->var()); | 9174 HValue* arg_two_value = LookupAndMakeLive(arg_two->var()); |
9175 if (!arg_two_value->CheckFlag(HValue::kIsArguments)) return false; | 9175 if (!arg_two_value->CheckFlag(HValue::kIsArguments)) return false; |
9176 return true; | 9176 return true; |
9177 } | 9177 } |
9178 | 9178 |
9179 | 9179 |
9180 void HOptimizedGraphBuilder::VisitCall(Call* expr) { | 9180 void HOptimizedGraphBuilder::VisitCall(Call* expr) { |
9181 DCHECK(!HasStackOverflow()); | 9181 DCHECK(!HasStackOverflow()); |
9182 DCHECK(current_block() != NULL); | 9182 DCHECK(current_block() != NULL); |
9183 DCHECK(current_block()->HasPredecessor()); | 9183 DCHECK(current_block()->HasPredecessor()); |
| 9184 if (!top_info()->is_tracking_positions()) SetSourcePosition(expr->position()); |
9184 Expression* callee = expr->expression(); | 9185 Expression* callee = expr->expression(); |
9185 int argument_count = expr->arguments()->length() + 1; // Plus receiver. | 9186 int argument_count = expr->arguments()->length() + 1; // Plus receiver. |
9186 HInstruction* call = NULL; | 9187 HInstruction* call = NULL; |
9187 | 9188 |
9188 Property* prop = callee->AsProperty(); | 9189 Property* prop = callee->AsProperty(); |
9189 if (prop != NULL) { | 9190 if (prop != NULL) { |
9190 CHECK_ALIVE(VisitForValue(prop->obj())); | 9191 CHECK_ALIVE(VisitForValue(prop->obj())); |
9191 HValue* receiver = Top(); | 9192 HValue* receiver = Top(); |
9192 | 9193 |
9193 SmallMapList* maps; | 9194 SmallMapList* maps; |
(...skipping 3766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12960 if (ShouldProduceTraceOutput()) { | 12961 if (ShouldProduceTraceOutput()) { |
12961 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 12962 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
12962 } | 12963 } |
12963 | 12964 |
12964 #ifdef DEBUG | 12965 #ifdef DEBUG |
12965 graph_->Verify(false); // No full verify. | 12966 graph_->Verify(false); // No full verify. |
12966 #endif | 12967 #endif |
12967 } | 12968 } |
12968 | 12969 |
12969 } } // namespace v8::internal | 12970 } } // namespace v8::internal |
OLD | NEW |