| 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/crankshaft/hydrogen.h" | 5 #include "src/crankshaft/hydrogen.h" |
| 6 | 6 |
| 7 #include <sstream> | 7 #include <sstream> |
| 8 | 8 |
| 9 #include "src/allocation-site-scopes.h" | 9 #include "src/allocation-site-scopes.h" |
| 10 #include "src/ast/ast-numbering.h" | 10 #include "src/ast/ast-numbering.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 #include "src/crankshaft/hydrogen-redundant-phi.h" | 28 #include "src/crankshaft/hydrogen-redundant-phi.h" |
| 29 #include "src/crankshaft/hydrogen-removable-simulates.h" | 29 #include "src/crankshaft/hydrogen-removable-simulates.h" |
| 30 #include "src/crankshaft/hydrogen-representation-changes.h" | 30 #include "src/crankshaft/hydrogen-representation-changes.h" |
| 31 #include "src/crankshaft/hydrogen-sce.h" | 31 #include "src/crankshaft/hydrogen-sce.h" |
| 32 #include "src/crankshaft/hydrogen-store-elimination.h" | 32 #include "src/crankshaft/hydrogen-store-elimination.h" |
| 33 #include "src/crankshaft/hydrogen-uint32-analysis.h" | 33 #include "src/crankshaft/hydrogen-uint32-analysis.h" |
| 34 #include "src/crankshaft/lithium-allocator.h" | 34 #include "src/crankshaft/lithium-allocator.h" |
| 35 #include "src/crankshaft/typing.h" | 35 #include "src/crankshaft/typing.h" |
| 36 #include "src/field-type.h" | 36 #include "src/field-type.h" |
| 37 #include "src/full-codegen/full-codegen.h" | 37 #include "src/full-codegen/full-codegen.h" |
| 38 #include "src/globals.h" |
| 38 #include "src/ic/call-optimization.h" | 39 #include "src/ic/call-optimization.h" |
| 39 #include "src/ic/ic.h" | 40 #include "src/ic/ic.h" |
| 40 // GetRootConstructor | 41 // GetRootConstructor |
| 41 #include "src/ic/ic-inl.h" | 42 #include "src/ic/ic-inl.h" |
| 42 #include "src/isolate-inl.h" | 43 #include "src/isolate-inl.h" |
| 43 #include "src/parsing/parser.h" | 44 #include "src/parsing/parser.h" |
| 44 #include "src/runtime/runtime.h" | 45 #include "src/runtime/runtime.h" |
| 45 | 46 |
| 46 #if V8_TARGET_ARCH_IA32 | 47 #if V8_TARGET_ARCH_IA32 |
| 47 #include "src/crankshaft/ia32/lithium-codegen-ia32.h" // NOLINT | 48 #include "src/crankshaft/ia32/lithium-codegen-ia32.h" // NOLINT |
| (...skipping 23 matching lines...) Expand all Loading... |
| 71 const auto GetRegConfig = RegisterConfiguration::Crankshaft; | 72 const auto GetRegConfig = RegisterConfiguration::Crankshaft; |
| 72 | 73 |
| 73 class HOptimizedGraphBuilderWithPositions : public HOptimizedGraphBuilder { | 74 class HOptimizedGraphBuilderWithPositions : public HOptimizedGraphBuilder { |
| 74 public: | 75 public: |
| 75 explicit HOptimizedGraphBuilderWithPositions(CompilationInfo* info) | 76 explicit HOptimizedGraphBuilderWithPositions(CompilationInfo* info) |
| 76 : HOptimizedGraphBuilder(info) {} | 77 : HOptimizedGraphBuilder(info) {} |
| 77 | 78 |
| 78 #define DEF_VISIT(type) \ | 79 #define DEF_VISIT(type) \ |
| 79 void Visit##type(type* node) override { \ | 80 void Visit##type(type* node) override { \ |
| 80 SourcePosition old_position = SourcePosition::Unknown(); \ | 81 SourcePosition old_position = SourcePosition::Unknown(); \ |
| 81 if (node->position() != RelocInfo::kNoPosition) { \ | 82 if (node->position() != kNoSourcePosition) { \ |
| 82 old_position = source_position(); \ | 83 old_position = source_position(); \ |
| 83 SetSourcePosition(node->position()); \ | 84 SetSourcePosition(node->position()); \ |
| 84 } \ | 85 } \ |
| 85 HOptimizedGraphBuilder::Visit##type(node); \ | 86 HOptimizedGraphBuilder::Visit##type(node); \ |
| 86 if (!old_position.IsUnknown()) { \ | 87 if (!old_position.IsUnknown()) { \ |
| 87 set_source_position(old_position); \ | 88 set_source_position(old_position); \ |
| 88 } \ | 89 } \ |
| 89 } | 90 } |
| 90 EXPRESSION_NODE_LIST(DEF_VISIT) | 91 EXPRESSION_NODE_LIST(DEF_VISIT) |
| 91 #undef DEF_VISIT | 92 #undef DEF_VISIT |
| 92 | 93 |
| 93 #define DEF_VISIT(type) \ | 94 #define DEF_VISIT(type) \ |
| 94 void Visit##type(type* node) override { \ | 95 void Visit##type(type* node) override { \ |
| 95 SourcePosition old_position = SourcePosition::Unknown(); \ | 96 SourcePosition old_position = SourcePosition::Unknown(); \ |
| 96 if (node->position() != RelocInfo::kNoPosition) { \ | 97 if (node->position() != kNoSourcePosition) { \ |
| 97 old_position = source_position(); \ | 98 old_position = source_position(); \ |
| 98 SetSourcePosition(node->position()); \ | 99 SetSourcePosition(node->position()); \ |
| 99 } \ | 100 } \ |
| 100 HOptimizedGraphBuilder::Visit##type(node); \ | 101 HOptimizedGraphBuilder::Visit##type(node); \ |
| 101 if (!old_position.IsUnknown()) { \ | 102 if (!old_position.IsUnknown()) { \ |
| 102 set_source_position(old_position); \ | 103 set_source_position(old_position); \ |
| 103 } \ | 104 } \ |
| 104 } | 105 } |
| 105 STATEMENT_NODE_LIST(DEF_VISIT) | 106 STATEMENT_NODE_LIST(DEF_VISIT) |
| 106 #undef DEF_VISIT | 107 #undef DEF_VISIT |
| (...skipping 13566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13673 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13674 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 13674 } | 13675 } |
| 13675 | 13676 |
| 13676 #ifdef DEBUG | 13677 #ifdef DEBUG |
| 13677 graph_->Verify(false); // No full verify. | 13678 graph_->Verify(false); // No full verify. |
| 13678 #endif | 13679 #endif |
| 13679 } | 13680 } |
| 13680 | 13681 |
| 13681 } // namespace internal | 13682 } // namespace internal |
| 13682 } // namespace v8 | 13683 } // namespace v8 |
| OLD | NEW |