diff options
Diffstat (limited to 'deps/v8/src/compiler/pipeline.h')
-rw-r--r-- | deps/v8/src/compiler/pipeline.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/deps/v8/src/compiler/pipeline.h b/deps/v8/src/compiler/pipeline.h index af94018f07..edb8191862 100644 --- a/deps/v8/src/compiler/pipeline.h +++ b/deps/v8/src/compiler/pipeline.h @@ -7,11 +7,12 @@ // Clients of this interface shouldn't depend on lots of compiler internals. // Do not include anything from src/compiler here! -#include "src/compiler.h" +#include "src/objects.h" namespace v8 { namespace internal { +class CompilationInfo; class RegisterConfiguration; namespace compiler { @@ -35,7 +36,7 @@ class Pipeline { static Handle<Code> GenerateCodeForCodeStub(Isolate* isolate, CallDescriptor* call_descriptor, Graph* graph, Schedule* schedule, - Code::Kind kind, + Code::Flags flags, const char* debug_name); // Run the pipeline on a machine graph and generate code. If {schedule} is @@ -57,23 +58,27 @@ class Pipeline { Schedule* schedule = nullptr); private: - CompilationInfo* info_; - PipelineData* data_; - // Helpers for executing pipeline phases. template <typename Phase> void Run(); template <typename Phase, typename Arg0> void Run(Arg0 arg_0); - - CompilationInfo* info() const { return info_; } - Isolate* isolate() { return info_->isolate(); } + template <typename Phase, typename Arg0, typename Arg1> + void Run(Arg0 arg_0, Arg1 arg_1); void BeginPhaseKind(const char* phase_kind); void RunPrintAndVerify(const char* phase, bool untyped = false); Handle<Code> ScheduleAndGenerateCode(CallDescriptor* call_descriptor); void AllocateRegisters(const RegisterConfiguration* config, CallDescriptor* descriptor, bool run_verifier); + + CompilationInfo* info() const { return info_; } + Isolate* isolate() const; + + CompilationInfo* const info_; + PipelineData* data_; + + DISALLOW_COPY_AND_ASSIGN(Pipeline); }; } // namespace compiler |