| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/compiler/ast-graph-builder.h" | 5 #include "src/compiler/ast-graph-builder.h" |
| 6 | 6 |
| 7 #include "src/ast/compile-time-value.h" | 7 #include "src/ast/compile-time-value.h" |
| 8 #include "src/ast/scopes.h" | 8 #include "src/ast/scopes.h" |
| 9 #include "src/compilation-info.h" | 9 #include "src/compilation-info.h" |
| 10 #include "src/compiler.h" | 10 #include "src/compiler.h" |
| (...skipping 2300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2311 case Call::WITH_CALL: { | 2311 case Call::WITH_CALL: { |
| 2312 Variable* variable = callee->AsVariableProxy()->var(); | 2312 Variable* variable = callee->AsVariableProxy()->var(); |
| 2313 Node* name = jsgraph()->Constant(variable->name()); | 2313 Node* name = jsgraph()->Constant(variable->name()); |
| 2314 const Operator* op = | 2314 const Operator* op = |
| 2315 javascript()->CallRuntime(Runtime::kLoadLookupSlotForCall); | 2315 javascript()->CallRuntime(Runtime::kLoadLookupSlotForCall); |
| 2316 Node* pair = NewNode(op, name); | 2316 Node* pair = NewNode(op, name); |
| 2317 callee_value = NewNode(common()->Projection(0), pair); | 2317 callee_value = NewNode(common()->Projection(0), pair); |
| 2318 receiver_value = NewNode(common()->Projection(1), pair); | 2318 receiver_value = NewNode(common()->Projection(1), pair); |
| 2319 PrepareFrameState(pair, expr->LookupId(), | 2319 PrepareFrameState(pair, expr->LookupId(), |
| 2320 OutputFrameStateCombine::Push(2)); | 2320 OutputFrameStateCombine::Push(2)); |
| 2321 break; |
| 2321 } | 2322 } |
| 2322 case Call::NAMED_PROPERTY_CALL: { | 2323 case Call::NAMED_PROPERTY_CALL: { |
| 2323 Property* property = callee->AsProperty(); | 2324 Property* property = callee->AsProperty(); |
| 2324 VectorSlotPair feedback = | 2325 VectorSlotPair feedback = |
| 2325 CreateVectorSlotPair(property->PropertyFeedbackSlot()); | 2326 CreateVectorSlotPair(property->PropertyFeedbackSlot()); |
| 2326 VisitForValue(property->obj()); | 2327 VisitForValue(property->obj()); |
| 2327 Handle<Name> name = property->key()->AsLiteral()->AsPropertyName(); | 2328 Handle<Name> name = property->key()->AsLiteral()->AsPropertyName(); |
| 2328 Node* object = environment()->Top(); | 2329 Node* object = environment()->Top(); |
| 2329 callee_value = BuildNamedLoad(object, name, feedback); | 2330 callee_value = BuildNamedLoad(object, name, feedback); |
| 2330 PrepareFrameState(callee_value, property->LoadId(), | 2331 PrepareFrameState(callee_value, property->LoadId(), |
| (...skipping 2035 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4366 TypeHintAnalysis* type_hint_analysis, SourcePositionTable* source_positions, | 4367 TypeHintAnalysis* type_hint_analysis, SourcePositionTable* source_positions, |
| 4367 int inlining_id) | 4368 int inlining_id) |
| 4368 : AstGraphBuilder(local_zone, info, jsgraph, invocation_frequency, | 4369 : AstGraphBuilder(local_zone, info, jsgraph, invocation_frequency, |
| 4369 loop_assignment, type_hint_analysis), | 4370 loop_assignment, type_hint_analysis), |
| 4370 source_positions_(source_positions), | 4371 source_positions_(source_positions), |
| 4371 start_position_(info->shared_info()->start_position(), inlining_id) {} | 4372 start_position_(info->shared_info()->start_position(), inlining_id) {} |
| 4372 | 4373 |
| 4373 } // namespace compiler | 4374 } // namespace compiler |
| 4374 } // namespace internal | 4375 } // namespace internal |
| 4375 } // namespace v8 | 4376 } // namespace v8 |
| OLD | NEW |