Commit 00a07bc1 authored by mstarzinger's avatar mstarzinger Committed by Commit bot

Remove inline header includes from non-inline headers (1).

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}
parent c1d20f83
......@@ -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 {
......
......@@ -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"
......
......@@ -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 {
......
......@@ -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 {
......
......@@ -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
......
......@@ -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 {
......
......@@ -38,17 +38,19 @@
#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.
......
......@@ -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"
......
......@@ -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);
......
......@@ -5,6 +5,7 @@
#include "src/compiler/common-node-cache.h"
#include "src/assembler.h"
#include "src/compiler/node.h"
namespace v8 {
namespace internal {
......
......@@ -4,6 +4,7 @@
#include "src/base/functional.h"
#include "src/compiler/frame-states.h"
#include "src/handles-inl.h"
namespace v8 {
namespace internal {
......
......@@ -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
......
......@@ -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);
......
......@@ -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();
......
......@@ -15,6 +15,10 @@
#include "src/d8.h"
#ifndef V8_SHARED
#include "src/list-inl.h"
#endif
#if !V8_OS_NACL
#include <sys/select.h>
#endif
......
......@@ -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"
......
......@@ -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 {
......
......@@ -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 {
......
......@@ -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 {
......
......@@ -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 {
......
......@@ -186,5 +186,8 @@ void HeapProfiler::ClearHeapObjectMap() {
}
Heap* HeapProfiler::heap() const { return ids_->heap(); }
} // namespace internal
} // namespace v8
......@@ -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_;
......
......@@ -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"
......
......@@ -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 {
......
......@@ -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 {
......
......@@ -68,6 +68,7 @@ class MaterializedObjectStore;
class CodeAgingHelper;
class RegExpStack;
class SaveContext;
class StatsTable;
class StringTracker;
class StubCache;
class SweeperThread;
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -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 {
......
......@@ -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;
......
......@@ -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);
......
......@@ -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"
......
......@@ -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"
......
......@@ -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"
......
......@@ -4,6 +4,8 @@
#include "src/string-builder.h"
#include "src/objects-inl.h"
namespace v8 {
namespace internal {
......
......@@ -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 {
......
......@@ -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 {
......
......@@ -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"
......
......@@ -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"
......
......@@ -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 {
......
......@@ -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()
......
......@@ -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;
......
......@@ -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"
......
#!/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."
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment