Index: src/compiler/pipeline.h |
diff --git a/src/compiler/pipeline.h b/src/compiler/pipeline.h |
index 5941251da959e8c7f4e363f5d83c18c094cf6d76..73053dc18ec959c6f0c442485d10a8fd045f4046 100644 |
--- a/src/compiler/pipeline.h |
+++ b/src/compiler/pipeline.h |
@@ -17,6 +17,7 @@ namespace internal { |
namespace compiler { |
// Clients of this interface shouldn't depend on lots of compiler internals. |
+class CallDescriptor; |
class Graph; |
class InstructionSequence; |
class Linkage; |
@@ -31,14 +32,22 @@ class Pipeline { |
// Run the entire pipeline and generate a handle to a code object. |
Handle<Code> GenerateCode(); |
- // Run the pipeline on a machine graph and generate code. If {schedule} |
- // is {NULL}, then compute a new schedule for code generation. |
- Handle<Code> GenerateCodeForMachineGraph(Linkage* linkage, Graph* graph, |
- Schedule* schedule = NULL); |
+ // Run the pipeline on a machine graph and generate code. If {schedule} is |
+ // {nullptr}, then compute a new schedule for code generation. |
+ static Handle<Code> GenerateCodeForTesting(CompilationInfo* info, |
+ Graph* graph, |
+ Schedule* schedule = nullptr); |
- static bool AllocateRegisters(const RegisterConfiguration* config, |
- InstructionSequence* sequence, |
- bool run_verifier); |
+ // Run the pipeline on a machine graph and generate code. If {schedule} is |
+ // {nullptr}, then compute a new schedule for code generation. |
+ static Handle<Code> GenerateCodeForTesting(CallDescriptor* call_descriptor, |
+ Graph* graph, |
+ Schedule* schedule = nullptr); |
+ |
+ // Run just the register allocator phases. |
+ static bool AllocateRegistersForTesting(const RegisterConfiguration* config, |
+ InstructionSequence* sequence, |
+ bool run_verifier); |
static inline bool SupportedBackend() { return V8_TURBOFAN_BACKEND != 0; } |
static inline bool SupportedTarget() { return V8_TURBOFAN_TARGET != 0; } |
@@ -47,6 +56,10 @@ class Pipeline { |
static void TearDown(); |
private: |
+ static Handle<Code> GenerateCodeForTesting(CompilationInfo* info, |
+ CallDescriptor* call_descriptor, |
+ Graph* graph, Schedule* schedule); |
+ |
CompilationInfo* info_; |
PipelineData* data_; |