| 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 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 5 #ifndef V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 
| 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 6 #define V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 
| 7 | 7 | 
| 8 #include <map> | 8 #include <map> | 
| 9 | 9 | 
| 10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" | 
| 11 #include "src/compiler/instruction-scheduler.h" | 11 #include "src/compiler/instruction-scheduler.h" | 
| 12 #include "src/compiler/instruction.h" | 12 #include "src/compiler/instruction.h" | 
| 13 #include "src/compiler/machine-operator.h" | 13 #include "src/compiler/machine-operator.h" | 
| 14 #include "src/compiler/node.h" | 14 #include "src/compiler/node.h" | 
|  | 15 #include "src/globals.h" | 
| 15 #include "src/zone/zone-containers.h" | 16 #include "src/zone/zone-containers.h" | 
| 16 | 17 | 
| 17 namespace v8 { | 18 namespace v8 { | 
| 18 namespace internal { | 19 namespace internal { | 
| 19 namespace compiler { | 20 namespace compiler { | 
| 20 | 21 | 
| 21 // Forward declarations. | 22 // Forward declarations. | 
| 22 class BasicBlock; | 23 class BasicBlock; | 
| 23 struct CallBuffer;  // TODO(bmeurer): Remove this. | 24 struct CallBuffer;  // TODO(bmeurer): Remove this. | 
| 24 class FlagsContinuation; | 25 class FlagsContinuation; | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
| 35 | 36 | 
| 36   Node* node() const { return node_; } | 37   Node* node() const { return node_; } | 
| 37   MachineType type() const { return type_; } | 38   MachineType type() const { return type_; } | 
| 38 | 39 | 
| 39  private: | 40  private: | 
| 40   Node* node_; | 41   Node* node_; | 
| 41   MachineType type_; | 42   MachineType type_; | 
| 42 }; | 43 }; | 
| 43 | 44 | 
| 44 // Instruction selection generates an InstructionSequence for a given Schedule. | 45 // Instruction selection generates an InstructionSequence for a given Schedule. | 
| 45 class InstructionSelector final { | 46 class V8_EXPORT_PRIVATE InstructionSelector final { | 
| 46  public: | 47  public: | 
| 47   // Forward declarations. | 48   // Forward declarations. | 
| 48   class Features; | 49   class Features; | 
| 49 | 50 | 
| 50   enum SourcePositionMode { kCallSourcePositions, kAllSourcePositions }; | 51   enum SourcePositionMode { kCallSourcePositions, kAllSourcePositions }; | 
| 51   enum EnableScheduling { kDisableScheduling, kEnableScheduling }; | 52   enum EnableScheduling { kDisableScheduling, kEnableScheduling }; | 
| 52   enum EnableSerialization { kDisableSerialization, kEnableSerialization }; | 53   enum EnableSerialization { kDisableSerialization, kEnableSerialization }; | 
| 53 | 54 | 
| 54   InstructionSelector( | 55   InstructionSelector( | 
| 55       Zone* zone, size_t node_count, Linkage* linkage, | 56       Zone* zone, size_t node_count, Linkage* linkage, | 
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 367   EnableSerialization enable_serialization_; | 368   EnableSerialization enable_serialization_; | 
| 368   Frame* frame_; | 369   Frame* frame_; | 
| 369   bool instruction_selection_failed_; | 370   bool instruction_selection_failed_; | 
| 370 }; | 371 }; | 
| 371 | 372 | 
| 372 }  // namespace compiler | 373 }  // namespace compiler | 
| 373 }  // namespace internal | 374 }  // namespace internal | 
| 374 }  // namespace v8 | 375 }  // namespace v8 | 
| 375 | 376 | 
| 376 #endif  // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 377 #endif  // V8_COMPILER_INSTRUCTION_SELECTOR_H_ | 
| OLD | NEW | 
|---|