| Index: src/compiler/js-inlining.h
|
| diff --git a/src/compiler/js-inlining.h b/src/compiler/js-inlining.h
|
| index eef29d6a74f68f24176fa9b4aa62e9afcf0f8dda..2aaedae538a7fab2e032848bdabcc5dc9636845b 100644
|
| --- a/src/compiler/js-inlining.h
|
| +++ b/src/compiler/js-inlining.h
|
| @@ -5,38 +5,59 @@
|
| #ifndef V8_COMPILER_JS_INLINING_H_
|
| #define V8_COMPILER_JS_INLINING_H_
|
|
|
| -#include "src/compiler/js-graph.h"
|
| -#include "src/v8.h"
|
| +#include "src/base/macros.h"
|
|
|
| namespace v8 {
|
| namespace internal {
|
| +
|
| +// Forward declarations.
|
| +class CompilationInfo;
|
| +template <typename>
|
| +class Handle;
|
| +class JSFunction;
|
| +class Zone;
|
| +
|
| +
|
| namespace compiler {
|
|
|
| -class JSCallFunctionAccessor;
|
| +// Forward declarations.
|
| +class CommonOperatorBuilder;
|
| +class Graph;
|
| +class JSGraph;
|
| +class JSOperatorBuilder;
|
| +class MachineOperatorBuilder;
|
| +class Node;
|
|
|
| -class JSInliner {
|
| +
|
| +class JSInliner FINAL {
|
| public:
|
| - JSInliner(Zone* local_zone, CompilationInfo* info, JSGraph* jsgraph)
|
| - : local_zone_(local_zone), info_(info), jsgraph_(jsgraph) {}
|
| + JSInliner(CompilationInfo* info, JSGraph* jsgraph, Zone* zone)
|
| + : info_(info), jsgraph_(jsgraph), zone_(zone) {}
|
|
|
| void Inline();
|
| void TryInlineJSCall(Node* node);
|
| void TryInlineRuntimeCall(Node* node);
|
|
|
| private:
|
| - friend class InlinerVisitor;
|
| - Zone* local_zone_;
|
| - CompilationInfo* info_;
|
| - JSGraph* jsgraph_;
|
| -
|
| - Node* CreateArgumentsAdaptorFrameState(JSCallFunctionAccessor* call,
|
| - Handle<JSFunction> jsfunction,
|
| - Zone* temp_zone);
|
| - void AddClosureToFrameState(Node* frame_state, Handle<JSFunction> jsfunction);
|
| - static void UnifyReturn(Graph* graph);
|
| + template <typename InputIterator>
|
| + Node* CreateArgumentsAdaptorFrameState(const Handle<JSFunction>& function,
|
| + InputIterator first,
|
| + InputIterator last, Node* frame_state);
|
| +
|
| + Graph* graph() const;
|
| + JSGraph* jsgraph() const { return jsgraph_; }
|
| + CommonOperatorBuilder* common() const;
|
| + JSOperatorBuilder* javascript() const;
|
| + MachineOperatorBuilder* machine() const;
|
| + Zone* zone() const { return zone_; }
|
| +
|
| + CompilationInfo* const info_;
|
| + JSGraph* const jsgraph_;
|
| + Zone* const zone_;
|
| };
|
| -}
|
| -}
|
| -} // namespace v8::internal::compiler
|
| +
|
| +} // namespace compiler
|
| +} // namespace internal
|
| +} // namespace v8
|
|
|
| #endif // V8_COMPILER_JS_INLINING_H_
|
|
|