Remove inline header includes from non-inline headers (1).
authormstarzinger <mstarzinger@chromium.org>
Wed, 12 Aug 2015 07:32:36 +0000 (00:32 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 12 Aug 2015 07:32:54 +0000 (07:32 +0000)
This tries to remove includes of "-inl.h" headers from normal ".h"
headers, thereby reducing the chance of any cyclic dependencies and
decreasing the average size of our compilation units.

Note that this change still leaves 7 violations of that rule in the
code. However there now is the "tools/check-inline-includes.sh" tool
detecting such violations.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1283033003

Cr-Commit-Position: refs/heads/master@{#30125}

46 files changed:
src/allocation-tracker.cc
src/api.cc
src/api.h
src/arm/regexp-macro-assembler-arm.h
src/arm64/macro-assembler-arm64.h
src/arm64/regexp-macro-assembler-arm64.h
src/assembler.h
src/ast.h
src/char-predicates.h
src/compiler/common-node-cache.cc
src/compiler/frame-states.cc
src/compiler/frame-states.h
src/cpu-profiler.cc
src/cpu-profiler.h
src/d8-posix.cc
src/d8.h
src/dateparser-inl.h
src/dateparser.cc
src/dateparser.h
src/gdb-jit.cc
src/heap-profiler.cc
src/heap-profiler.h
src/heap/heap-inl.h
src/heap/heap.h
src/ia32/regexp-macro-assembler-ia32.h
src/isolate.h
src/json-parser.h
src/jsregexp.cc
src/mips/regexp-macro-assembler-mips.h
src/mips64/regexp-macro-assembler-mips64.h
src/ppc/regexp-macro-assembler-ppc.h
src/profile-generator.cc
src/profile-generator.h
src/property.h
src/runtime/runtime-json.cc
src/scanner.h
src/string-builder.cc
src/string-builder.h
src/typing.cc
src/unique.h
src/x64/regexp-macro-assembler-x64.h
src/x87/regexp-macro-assembler-x87.h
test/cctest/cctest.h
test/cctest/test-heap-profiler.cc
test/cctest/test-regexp.cc
tools/check-inline-includes.sh [new file with mode: 0755]

index f8617cfc1e66689216480425ed442d546750aab8..128d25c8d26dcde81c9e6e4ecb66a26feb74ca35 100644 (file)
@@ -6,7 +6,7 @@
 
 #include "src/allocation-tracker.h"
 #include "src/frames-inl.h"
-#include "src/heap-snapshot-generator.h"
+#include "src/heap-snapshot-generator-inl.h"
 
 namespace v8 {
 namespace internal {
index dc81900d96952b81bbcf3786a03712b6d27b71ef..40151f28c3c08b8993b612501a8f9d6db2f087d0 100644 (file)
@@ -20,6 +20,7 @@
 #include "src/base/platform/time.h"
 #include "src/base/utils/random-number-generator.h"
 #include "src/bootstrapper.h"
+#include "src/char-predicates-inl.h"
 #include "src/code-stubs.h"
 #include "src/compiler.h"
 #include "src/context-measure.h"
index 608faee80bfbb3dbc33fe007d8318a7797975fff..122927959804bb5d21ffeef0d693c252b00d31b1 100644 (file)
--- a/src/api.h
+++ b/src/api.h
@@ -9,7 +9,7 @@
 #include "src/contexts.h"
 #include "src/factory.h"
 #include "src/isolate.h"
-#include "src/list-inl.h"
+#include "src/list.h"
 #include "src/objects-inl.h"
 
 namespace v8 {
index 078d0dfa629b8b230082b0086524c9cae556019c..fbd8b829f3dd76c306123c914aefb518e3f8854e 100644 (file)
@@ -6,7 +6,6 @@
 #define V8_ARM_REGEXP_MACRO_ASSEMBLER_ARM_H_
 
 #include "src/arm/assembler-arm.h"
-#include "src/arm/assembler-arm-inl.h"
 #include "src/macro-assembler.h"
 
 namespace v8 {
index faff240e2f793df19765dd2104ddc669b3ba19f5..5e3c014163b9d827735e2cb90d9684a547d21291 100644 (file)
@@ -7,11 +7,10 @@
 
 #include <vector>
 
+#include "src/arm64/assembler-arm64.h"
 #include "src/bailout-reason.h"
-#include "src/globals.h"
-
-#include "src/arm64/assembler-arm64-inl.h"
 #include "src/base/bits.h"
+#include "src/globals.h"
 
 // Simulator specific helpers.
 #if USE_SIMULATOR
index ae4393f7ac5ce8d35258b5c91c8b88efffbe5db9..47d405991bcef186e7a13b2dc3d40912c8b302fb 100644 (file)
@@ -5,10 +5,8 @@
 #ifndef V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_
 #define V8_ARM64_REGEXP_MACRO_ASSEMBLER_ARM64_H_
 
-#include "src/macro-assembler.h"
-
 #include "src/arm64/assembler-arm64.h"
-#include "src/arm64/assembler-arm64-inl.h"
+#include "src/macro-assembler.h"
 
 namespace v8 {
 namespace internal {
index 937d7e9c4e85c0dfaa50308146d8598ab0840d28..a4c19e6b027bbfdddc97bdec2dd5ab02addce19d 100644 (file)
 #include "src/allocation.h"
 #include "src/builtins.h"
 #include "src/isolate.h"
-#include "src/objects-inl.h"
 #include "src/runtime/runtime.h"
 #include "src/token.h"
 
 namespace v8 {
 
+// Forward declarations.
 class ApiFunction;
 
 namespace internal {
 
+// Forward declarations.
 class StatsCounter;
+
 // -----------------------------------------------------------------------------
 // Platform independent assembler base class.
 
index 0df99adfa36d152c03a1a8dbe2dd501b8e1622d3..f7f713afa6cab5e1bc16a2fc917145b7449d6193 100644 (file)
--- a/src/ast.h
+++ b/src/ast.h
@@ -13,7 +13,7 @@
 #include "src/factory.h"
 #include "src/isolate.h"
 #include "src/jsregexp.h"
-#include "src/list-inl.h"
+#include "src/list.h"
 #include "src/modules.h"
 #include "src/runtime/runtime.h"
 #include "src/small-pointer-list.h"
index c68ad74b6a1246bd79d8b859cf219ecc957c5ca0..89f417196ef2577e06e7c18f38a2f382dff4047d 100644 (file)
@@ -13,6 +13,7 @@ namespace internal {
 // Unicode character predicates as defined by ECMA-262, 3rd,
 // used for lexical analysis.
 
+inline int AsciiAlphaToLower(uc32 c);
 inline bool IsCarriageReturn(uc32 c);
 inline bool IsLineFeed(uc32 c);
 inline bool IsAsciiIdentifier(uc32 c);
index ee1fa0ff24952c20f4edc021479cfbc31c72f1e6..e7f7436a0bd76624ce182e3dc4797b31b361c88a 100644 (file)
@@ -5,6 +5,7 @@
 #include "src/compiler/common-node-cache.h"
 
 #include "src/assembler.h"
+#include "src/compiler/node.h"
 
 namespace v8 {
 namespace internal {
index 76d6749d0f88788cf17e1fca67ffe8fb9d65461f..7170a845f788a3f69a704aa05bb72652c8c373b0 100644 (file)
@@ -4,6 +4,7 @@
 
 #include "src/base/functional.h"
 #include "src/compiler/frame-states.h"
+#include "src/handles-inl.h"
 
 namespace v8 {
 namespace internal {
index 328679ff74f76d0053bc975736778b2e17053a59..0684f112aa998e3d3b3421beb430786e5e920e53 100644 (file)
@@ -5,10 +5,15 @@
 #ifndef V8_COMPILER_FRAME_STATES_H_
 #define V8_COMPILER_FRAME_STATES_H_
 
-#include "src/handles-inl.h"
+#include "src/handles.h"
+#include "src/utils.h"
 
 namespace v8 {
 namespace internal {
+
+// Forward declarations.
+class SharedFunctionInfo;
+
 namespace compiler {
 
 // Flag that describes how to combine the current environment with
index f48499e5f0f62a827010335f5b78f195a98c93c2..638f9151384009644cd3ec0689464a3107f3fb0d 100644 (file)
@@ -33,6 +33,9 @@ ProfilerEventsProcessor::ProfilerEventsProcessor(ProfileGenerator* generator,
       last_processed_code_event_id_(0) {}
 
 
+ProfilerEventsProcessor::~ProfilerEventsProcessor() {}
+
+
 void ProfilerEventsProcessor::Enqueue(const CodeEventsContainer& event) {
   event.generic.order = ++last_code_event_id_;
   events_buffer_.Enqueue(event);
index 7d8669bf61f3778d340d8ee3ecb7397e69c50bda..7619a1ef6db009010dc36b325a3752f8a0c16cd0 100644 (file)
@@ -11,7 +11,7 @@
 #include "src/circular-queue.h"
 #include "src/compiler.h"
 #include "src/sampler.h"
-#include "src/unbound-queue-inl.h"
+#include "src/unbound-queue.h"
 
 namespace v8 {
 namespace internal {
@@ -129,7 +129,7 @@ class ProfilerEventsProcessor : public base::Thread {
   ProfilerEventsProcessor(ProfileGenerator* generator,
                           Sampler* sampler,
                           base::TimeDelta period);
-  virtual ~ProfilerEventsProcessor() {}
+  virtual ~ProfilerEventsProcessor();
 
   // Thread control.
   virtual void Run();
index 36d83b53cff62b84950cf649854be15e2a140225..0f37ccefbfb31ff095a3190bfc04f9683a0aae0f 100644 (file)
 
 #include "src/d8.h"
 
+#ifndef V8_SHARED
+#include "src/list-inl.h"
+#endif
+
 #if !V8_OS_NACL
 #include <sys/select.h>
 #endif
index 58107eb1df384e2e3270f0eec4474b2e01a5b651..16f612c97ad47b981fbec6b35a60ff4039d04773 100644 (file)
--- a/src/d8.h
+++ b/src/d8.h
@@ -7,9 +7,9 @@
 
 #ifndef V8_SHARED
 #include "src/allocation.h"
+#include "src/base/platform/time.h"
 #include "src/hashmap.h"
 #include "src/list.h"
-#include "src/objects-inl.h"
 #else
 #include "include/v8.h"
 #include "src/base/compiler-specific.h"
index fff14ea3aeb22bb0cc3c215994f44f7eaf93424a..8973aa0d4ff286b20a8b3c4af57981d0bfa19d69 100644 (file)
@@ -5,6 +5,7 @@
 #ifndef V8_DATEPARSER_INL_H_
 #define V8_DATEPARSER_INL_H_
 
+#include "src/char-predicates-inl.h"
 #include "src/dateparser.h"
 
 namespace v8 {
index c0dfb160534572713a2eed9501f9e6a82a37b363..09dbf1127dbf19f604ce99336f8936a4d82b4d7e 100644 (file)
@@ -2,10 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "src/v8.h"
-
 #include "src/dateparser.h"
 
+#include "src/char-predicates-inl.h"
+#include "src/objects-inl.h"
+
 namespace v8 {
 namespace internal {
 
index 15a971a8cca411e7bd97ec35e67323b6602cdc6e..a9db8685d90466d887544557cefdf1c14b8a32d5 100644 (file)
@@ -6,7 +6,8 @@
 #define V8_DATEPARSER_H_
 
 #include "src/allocation.h"
-#include "src/char-predicates-inl.h"
+#include "src/char-predicates.h"
+#include "src/scanner.h"
 
 namespace v8 {
 namespace internal {
index 44dd449106351d38cba2c84a911b19a6c942570b..efe83d243ee8258a65adaea0f0e8c3b66460106d 100644 (file)
@@ -16,6 +16,7 @@
 #include "src/objects.h"
 #include "src/ostreams.h"
 #include "src/snapshot/natives.h"
+#include "src/splay-tree-inl.h"
 
 namespace v8 {
 namespace internal {
index 3f11be4ce4bb1d920ca7a729be4239547dd81df5..68d94ccbd953183801e5cb8c58e265f35e9a785e 100644 (file)
@@ -186,5 +186,8 @@ void HeapProfiler::ClearHeapObjectMap() {
 }
 
 
+Heap* HeapProfiler::heap() const { return ids_->heap(); }
+
+
 }  // namespace internal
 }  // namespace v8
index 718c39c86e3690708450459da9b27f846356f76f..16dd08a26592fb0821a10a7af31d21e3f2694da6 100644 (file)
@@ -6,13 +6,16 @@
 #define V8_HEAP_PROFILER_H_
 
 #include "src/base/smart-pointers.h"
-#include "src/heap-snapshot-generator-inl.h"
 #include "src/isolate.h"
 
 namespace v8 {
 namespace internal {
 
+// Forward declarations.
+class AllocationTracker;
+class HeapObjectsMap;
 class HeapSnapshot;
+class StringsStorage;
 
 class HeapProfiler {
  public:
@@ -63,7 +66,7 @@ class HeapProfiler {
   void ClearHeapObjectMap();
 
  private:
-  Heap* heap() const { return ids_->heap(); }
+  Heap* heap() const;
 
   // Mapping from HeapObject addresses to objects' uids.
   base::SmartPointer<HeapObjectsMap> ids_;
index 45ba3794c46c9f61b3271a9cbc95fa973ddc60ed..fbfca6301505b27eaf7aa7c3b1fe2d213967861e 100644 (file)
@@ -8,6 +8,7 @@
 #include <cmath>
 
 #include "src/base/platform/platform.h"
+#include "src/counters.h"
 #include "src/heap/heap.h"
 #include "src/heap/incremental-marking-inl.h"
 #include "src/heap/spaces-inl.h"
index 949e40276e8602e29329c56f285ca61ad9d9a960..982eddbfb4fcab637cac31b6a82a1609dd172b44 100644 (file)
@@ -10,7 +10,6 @@
 
 #include "src/allocation.h"
 #include "src/assert-scope.h"
-#include "src/counters.h"
 #include "src/globals.h"
 #include "src/heap/gc-idle-time-handler.h"
 #include "src/heap/gc-tracer.h"
@@ -21,7 +20,6 @@
 #include "src/heap/spaces.h"
 #include "src/heap/store-buffer.h"
 #include "src/list.h"
-#include "src/splay-tree-inl.h"
 
 namespace v8 {
 namespace internal {
index 2927a260779110fa5a16d1441c1fe8e050d46625..038c1a973bf0c1d6faf40e3577b2aeee10cb1519 100644 (file)
@@ -6,7 +6,6 @@
 #define V8_IA32_REGEXP_MACRO_ASSEMBLER_IA32_H_
 
 #include "src/ia32/assembler-ia32.h"
-#include "src/ia32/assembler-ia32-inl.h"
 #include "src/macro-assembler.h"
 
 namespace v8 {
index 3eb21fcee6a1eceaa68bc86938546a7ab6dfbf76..42a568ec97e945ec3ff5773dae3360ac6d5f18c4 100644 (file)
@@ -68,6 +68,7 @@ class MaterializedObjectStore;
 class CodeAgingHelper;
 class RegExpStack;
 class SaveContext;
+class StatsTable;
 class StringTracker;
 class StubCache;
 class SweeperThread;
index 078afcbb7c44d3d9ff227b5d46e6c8a4f39aae50..99e48f1d3f1cb5a00338e23a8f36eb6aaa5d8a1f 100644 (file)
@@ -5,7 +5,7 @@
 #ifndef V8_JSON_PARSER_H_
 #define V8_JSON_PARSER_H_
 
-#include "src/char-predicates-inl.h"
+#include "src/char-predicates.h"
 #include "src/conversions.h"
 #include "src/messages.h"
 #include "src/token.h"
index 27bb690977714c3af5cb2b2a87950e7372e81331..fc95c5e0b80f8de83f5f1805ce50cb42de0dd19b 100644 (file)
@@ -20,6 +20,7 @@
 #include "src/regexp-macro-assembler-tracer.h"
 #include "src/regexp-stack.h"
 #include "src/runtime/runtime.h"
+#include "src/splay-tree-inl.h"
 #include "src/string-search.h"
 #include "src/unicode-decoder.h"
 
index 65ee173b0f31686103bda704654151fe8c409f0c..42200fcad2267d770ee4bf30ba35bad08da4f683 100644 (file)
@@ -2,12 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-
 #ifndef V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_
 #define V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_
 
 #include "src/macro-assembler.h"
-#include "src/mips/assembler-mips-inl.h"
 #include "src/mips/assembler-mips.h"
 #include "src/mips/macro-assembler-mips.h"
 
index dd02611fbeb38aa45c3839d6731ac95fdda9a2a2..8ec36a0e78c6d802f077b0646d02e7a9b11ccb52 100644 (file)
@@ -2,12 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-
 #ifndef V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_
 #define V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_
 
 #include "src/macro-assembler.h"
-#include "src/mips64/assembler-mips64-inl.h"
 #include "src/mips64/assembler-mips64.h"
 #include "src/mips64/macro-assembler-mips64.h"
 
index 0dd292b3179ccfdde4f1c079338f68c356f429f5..4cf53d1e48be6a983c67b5e902b0eaefbcb822d0 100644 (file)
@@ -7,7 +7,6 @@
 
 #include "src/macro-assembler.h"
 #include "src/ppc/assembler-ppc.h"
-#include "src/ppc/assembler-ppc-inl.h"
 
 namespace v8 {
 namespace internal {
index 006ca7f4bede98b5f7319ec878217cbe24acf931..d2e94b4758952337d36d11eb0fa1ff1ce473240e 100644 (file)
@@ -12,6 +12,7 @@
 #include "src/global-handles.h"
 #include "src/sampler.h"
 #include "src/scopeinfo.h"
+#include "src/splay-tree-inl.h"
 #include "src/unicode.h"
 
 namespace v8 {
@@ -377,6 +378,9 @@ void CpuProfile::Print() {
 }
 
 
+CodeMap::~CodeMap() {}
+
+
 const CodeMap::CodeTreeConfig::Key CodeMap::CodeTreeConfig::kNoKey = NULL;
 
 
index 1ce19409069af802a72a2bc7d6ac185b8bbcfa35..e1826f742e7ae2c55e3d5b475651a8b742c9197b 100644 (file)
@@ -266,6 +266,7 @@ class CpuProfile {
 class CodeMap {
  public:
   CodeMap() {}
+  ~CodeMap();
   void AddCode(Address addr, CodeEntry* entry, unsigned size);
   void MoveCode(Address from, Address to);
   CodeEntry* FindEntry(Address addr, Address* start = NULL);
index 5341f27037aac17bde32c5c320217ff47ddbe184..09ec5f207fb950d5e75a03e1f782eb102c5bd2ff 100644 (file)
@@ -9,7 +9,6 @@
 
 #include "src/factory.h"
 #include "src/field-index.h"
-#include "src/field-index-inl.h"
 #include "src/isolate.h"
 #include "src/types.h"
 
index 68f76c56a8b12e2b1573a7c72cb15574a41d1c40..366e6e71adc687d15b807efe409709e3ca3f0bd8 100644 (file)
@@ -5,6 +5,7 @@
 #include "src/v8.h"
 
 #include "src/arguments.h"
+#include "src/char-predicates-inl.h"
 #include "src/json-parser.h"
 #include "src/json-stringifier.h"
 #include "src/runtime/runtime-utils.h"
index 8966d015847eb019b08a472f107817797e2afd5a..92588905ad609b7ea64d8c5c7c2007d3e55d409b 100644 (file)
@@ -14,7 +14,7 @@
 #include "src/hashmap.h"
 #include "src/list.h"
 #include "src/token.h"
-#include "src/unicode-inl.h"
+#include "src/unicode.h"
 #include "src/unicode-decoder.h"
 #include "src/utils.h"
 
index 7c46e0d523e41560ae633577850c2369b93bb608..30c64b3c6da5a93fceda9b77abe39d1fabe27ccb 100644 (file)
@@ -4,6 +4,8 @@
 
 #include "src/string-builder.h"
 
+#include "src/objects-inl.h"
+
 namespace v8 {
 namespace internal {
 
index 63a5a5580a37b77ff7a322610d3c43b6c77c3536..554277dab17910ff6a479cf0d4624785a7f38474 100644 (file)
@@ -5,7 +5,11 @@
 #ifndef V8_STRING_BUILDER_H_
 #define V8_STRING_BUILDER_H_
 
-#include "src/objects-inl.h"
+#include "src/assert-scope.h"
+#include "src/factory.h"
+#include "src/handles.h"
+#include "src/isolate.h"
+#include "src/objects.h"
 #include "src/utils.h"
 
 namespace v8 {
index 3e811ca49c649035659c364ed7bb58b57ce00bed..237c79f2278f9dd9e75c29bb468affd776c9d53d 100644 (file)
@@ -9,6 +9,7 @@
 #include "src/ostreams.h"
 #include "src/parser.h"  // for CompileTimeValue; TODO(rossberg): should move
 #include "src/scopes.h"
+#include "src/splay-tree-inl.h"
 
 namespace v8 {
 namespace internal {
index 61d57d01ff53388a22efad6bbb2575c8870fe30e..68fb86956cd2f15a2030055b802a4d5d6ca82765 100644 (file)
@@ -8,7 +8,7 @@
 #include <ostream>  // NOLINT(readability/streams)
 
 #include "src/base/functional.h"
-#include "src/handles-inl.h"  // TODO(everyone): Fix our inl.h crap
+#include "src/handles.h"
 #include "src/objects-inl.h"  // TODO(everyone): Fix our inl.h crap
 #include "src/utils.h"
 #include "src/zone.h"
index 70a6709b5455ec55463a2d175f3b9f0409f4963c..b2492f101166cd614894acf0ffd526f93a00b972 100644 (file)
@@ -6,7 +6,6 @@
 #define V8_X64_REGEXP_MACRO_ASSEMBLER_X64_H_
 
 #include "src/macro-assembler.h"
-#include "src/x64/assembler-x64-inl.h"
 #include "src/x64/assembler-x64.h"
 #include "src/x64/macro-assembler-x64.h"
 
index f8932627040b36fb87858d89185001ddcf61313f..0af947995d86173749fde1012ee4872ef4e822b2 100644 (file)
@@ -6,7 +6,6 @@
 #define V8_X87_REGEXP_MACRO_ASSEMBLER_X87_H_
 
 #include "src/macro-assembler.h"
-#include "src/x87/assembler-x87-inl.h"
 #include "src/x87/assembler-x87.h"
 
 namespace v8 {
index ceb9f58157ad9bb471729ee302513c46988572bc..c712286b31ffc1d9284c4deffe3d5b3b289a16f0 100644 (file)
@@ -602,28 +602,6 @@ static inline void EmptyMessageQueues(v8::Isolate* isolate) {
 }
 
 
-// Helper class for new allocations tracking and checking.
-// To use checking of JS allocations tracking in a test,
-// just create an instance of this class.
-class HeapObjectsTracker {
- public:
-  HeapObjectsTracker() {
-    heap_profiler_ = i::Isolate::Current()->heap_profiler();
-    CHECK_NOT_NULL(heap_profiler_);
-    heap_profiler_->StartHeapObjectsTracking(true);
-  }
-
-  ~HeapObjectsTracker() {
-    i::Isolate::Current()->heap()->CollectAllAvailableGarbage();
-    CHECK_EQ(0, heap_profiler_->heap_object_map()->FindUntrackedObjects());
-    heap_profiler_->StopHeapObjectsTracking();
-  }
-
- private:
-  i::HeapProfiler* heap_profiler_;
-};
-
-
 class InitializedHandleScope {
  public:
   InitializedHandleScope()
index 1994e9bb8c697ca00dd217b14d85fbd16d0ac1a2..f4c8c1a4868e43c292b8cb8c71bbbf8023753e23 100644 (file)
@@ -36,6 +36,7 @@
 #include "src/debug/debug.h"
 #include "src/hashmap.h"
 #include "src/heap-profiler.h"
+#include "src/heap-snapshot-generator-inl.h"
 #include "test/cctest/cctest.h"
 
 using i::AllocationTraceNode;
index 13de44c9150749e562402f81cc996d1dc166071c..184553cb304b108a5307b3a561744f85410ed445 100644 (file)
@@ -37,6 +37,7 @@
 #include "src/parser.h"
 #include "src/regexp-macro-assembler.h"
 #include "src/regexp-macro-assembler-irregexp.h"
+#include "src/splay-tree-inl.h"
 #include "src/string-stream.h"
 #ifdef V8_INTERPRETED_REGEXP
 #include "src/interpreter-irregexp.h"
diff --git a/tools/check-inline-includes.sh b/tools/check-inline-includes.sh
new file mode 100755 (executable)
index 0000000..536afb1
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+# Copyright 2015 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+v8_root=$(readlink -f $(dirname $BASH_SOURCE)/../)
+headers=$(find "$v8_root/src" -name '*.h' -not -name '*-inl.h')
+
+for header in $headers; do
+  inline_header_include=$(grep '#include ".*-inl.h"' "$header")
+  if [ -n "$inline_header_include" ]; then
+    echo "The following non-inline header seems to include an inline header:"
+    echo "  Header : $header"
+    echo "  Include: $inline_header_include"
+    echo
+  fi
+done
+
+echo "Kthxbye."