#include "src/compiler/linkage.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator.h"
-#include "src/unique.h"
+#include "src/handles-inl.h"
#include "src/zone.h"
namespace v8 {
#include "src/compiler/frame-states.h"
#include "src/compiler/machine-type.h"
-#include "src/unique.h"
+#include "src/zone-containers.h"
namespace v8 {
namespace internal {
#include "src/builtins.h"
#include "src/frames.h"
#include "src/interpreter/bytecodes.h"
-#include "src/unique.h"
namespace v8 {
namespace internal {
#include "src/compiler/js-graph.h"
#include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties.h"
+#include "src/objects-inl.h"
#include "src/types.h"
namespace v8 {
#include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties.h"
#include "src/contexts.h"
+#include "src/objects-inl.h"
namespace v8 {
namespace internal {
#include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
-#include "src/unique.h"
namespace v8 {
namespace internal {
#include "src/compiler/js-operator.h"
#include "src/compiler/machine-operator.h"
#include "src/compiler/node-properties.h"
+#include "src/isolate.h"
namespace v8 {
namespace internal {
#include "src/ast.h"
#include "src/ast-numbering.h"
+#include "src/compiler.h"
#include "src/compiler/all-nodes.h"
#include "src/compiler/ast-graph-builder.h"
#include "src/compiler/common-operator.h"
namespace v8 {
namespace internal {
+
+// Forward declarations.
+class CompilationInfo;
+
namespace compiler {
+// Forward declarations.
class JSCallFunctionAccessor;
class JSInliner final : public AdvancedReducer {
#include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/operator-properties.h"
+#include "src/counters.h"
+#include "src/objects-inl.h"
namespace v8 {
namespace internal {
#include "src/base/lazy-instance.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator.h"
+#include "src/objects-inl.h" // TODO(mstarzinger): Temporary cycle breaker!
+#include "src/type-feedback-vector-inl.h"
namespace v8 {
namespace internal {
namespace compiler {
+VectorSlotPair::VectorSlotPair() : slot_(FeedbackVectorICSlot::Invalid()) {}
+
+
+int VectorSlotPair::index() const {
+ return vector_.is_null() ? -1 : vector_->GetIndex(slot_);
+}
+
+
bool operator==(VectorSlotPair const& lhs, VectorSlotPair const& rhs) {
return lhs.slot() == rhs.slot() &&
lhs.vector().location() == rhs.vector().location();
#define V8_COMPILER_JS_OPERATOR_H_
#include "src/runtime/runtime.h"
-#include "src/unique.h"
namespace v8 {
namespace internal {
// is used to access the type feedback for a certain {Node}.
class VectorSlotPair {
public:
- VectorSlotPair() : slot_(FeedbackVectorICSlot::Invalid()) {}
+ VectorSlotPair();
VectorSlotPair(Handle<TypeFeedbackVector> vector, FeedbackVectorICSlot slot)
: vector_(vector), slot_(slot) {}
Handle<TypeFeedbackVector> vector() const { return vector_; }
FeedbackVectorICSlot slot() const { return slot_; }
- int index() const {
- return vector_.is_null() ? -1 : vector_->GetIndex(slot_);
- }
+ int index() const;
private:
const Handle<TypeFeedbackVector> vector_;
#include "src/compiler/access-builder.h"
#include "src/compiler/js-graph.h"
#include "src/compiler/node-properties.h"
+#include "src/objects-inl.h" // TODO(mstarzinger): Temporary cycle breaker!
+#include "src/type-feedback-vector.h"
namespace v8 {
namespace internal {
#include "src/assembler.h"
#include "src/compiler/node.h"
#include "src/compiler/operator.h"
-#include "src/unique.h"
namespace v8 {
namespace internal {
#include "src/compiler/machine-operator.h"
#include "src/compiler/node.h"
#include "src/compiler/operator.h"
+#include "src/factory.h"
namespace v8 {
namespace internal {
#include "src/compiler/machine-operator.h"
#include "src/compiler/node-matchers.h"
#include "src/compiler/operator-properties.h"
+#include "src/conversions-inl.h"
namespace v8 {
namespace internal {
#include "src/compiler/node.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h"
+#include "src/objects-inl.h"
#include "src/zone-type-cache.h"
namespace v8 {
#include "src/compiler/schedule.h"
#include "src/compiler/simplified-operator.h"
#include "src/ostreams.h"
+#include "src/types-inl.h"
namespace v8 {
namespace internal {
#include "src/frames.h"
#include "src/isolate.h"
+#include "src/objects-inl.h"
#include "src/v8memory.h"
#if V8_TARGET_ARCH_IA32
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef V8_HYDROGEN_UNIQUE_H_
-#define V8_HYDROGEN_UNIQUE_H_
+#ifndef V8_UNIQUE_H_
+#define V8_UNIQUE_H_
#include <ostream> // NOLINT(readability/streams)
#include "src/base/functional.h"
#include "src/handles.h"
-#include "src/objects-inl.h" // TODO(everyone): Fix our inl.h crap
#include "src/utils.h"
#include "src/zone.h"
} } // namespace v8::internal
-#endif // V8_HYDROGEN_UNIQUE_H_
+#endif // V8_UNIQUE_H_
#include "test/unittests/compiler/graph-unittest.h"
#include "src/compiler/node-properties.h"
+#include "src/factory.h"
+#include "src/objects-inl.h" // TODO(everyone): Make typer.h IWYU compliant.
#include "test/unittests/compiler/node-test-utils.h"
namespace v8 {
#include "src/compiler/graph.h"
#include "src/compiler/node.h"
-#include "src/unique.h"
+#include "src/isolate.h"
#include "test/unittests/compiler/compiler-test-utils.h"
#include "test/unittests/compiler/node-test-utils.h"
#include "src/compiler/js-graph.h"
#include "src/compiler/machine-operator-reducer.h"
#include "src/compiler/typer.h"
+#include "src/conversions-inl.h"
#include "test/unittests/compiler/graph-unittest.h"
#include "test/unittests/compiler/node-test-utils.h"
#include "testing/gmock-support.h"
#include "src/compiler/js-operator.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h"
-#include "src/unique.h"
+#include "src/handles-inl.h"
using testing::_;
using testing::MakeMatcher;
#include "src/compiler/node-properties.h"
#include "src/compiler/simplified-operator.h"
#include "src/compiler/simplified-operator-reducer.h"
-#include "src/conversions.h"
+#include "src/conversions-inl.h"
#include "src/types.h"
#include "test/unittests/compiler/graph-unittest.h"
#include "test/unittests/compiler/node-test-utils.h"