Drastically reduce the transitive dependencies of jsregexp.h, making it (almost)

architecture-independent.

jsregexp.h is itself included transitively quite a lot, and by getting rid of 19
of its dependencies (which even included things like src/cpu.h, the various
assemblers, etc.), the recompilation behaviour is a bit less funny than it was.
Review URL: http://codereview.chromium.org/7331014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
svenpanne@chromium.org 2011-07-11 09:12:17 +00:00
parent 8330176f3f
commit c71cf782e8
7 changed files with 40 additions and 2 deletions

View File

@ -28,6 +28,9 @@
#ifndef V8_ARM_REGEXP_MACRO_ASSEMBLER_ARM_H_
#define V8_ARM_REGEXP_MACRO_ASSEMBLER_ARM_H_
#include "arm/assembler-arm.h"
#include "arm/assembler-arm-inl.h"
namespace v8 {
namespace internal {

View File

@ -28,6 +28,9 @@
#ifndef V8_IA32_REGEXP_MACRO_ASSEMBLER_IA32_H_
#define V8_IA32_REGEXP_MACRO_ASSEMBLER_IA32_H_
#include "ia32/assembler-ia32.h"
#include "ia32/assembler-ia32-inl.h"
namespace v8 {
namespace internal {

View File

@ -29,7 +29,6 @@
#define V8_JSREGEXP_H_
#include "allocation.h"
#include "macro-assembler.h"
#include "zone-inl.h"
namespace v8 {

View File

@ -29,6 +29,12 @@
#ifndef V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_
#define V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_
#include "mips/assembler-mips.h"
#include "mips/assembler-mips-inl.h"
#include "macro-assembler.h"
#include "code.h"
#include "mips/macro-assembler-mips.h"
namespace v8 {
namespace internal {
@ -249,4 +255,3 @@ class RegExpMacroAssemblerMIPS: public NativeRegExpMacroAssembler {
}} // namespace v8::internal
#endif // V8_MIPS_REGEXP_MACRO_ASSEMBLER_MIPS_H_

View File

@ -30,6 +30,22 @@
#include "allocation.h"
#if V8_TARGET_ARCH_IA32
#include "ia32/assembler-ia32.h"
#include "ia32/assembler-ia32-inl.h"
#elif V8_TARGET_ARCH_X64
#include "x64/assembler-x64.h"
#include "x64/assembler-x64-inl.h"
#elif V8_TARGET_ARCH_ARM
#include "arm/assembler-arm.h"
#include "arm/assembler-arm-inl.h"
#elif V8_TARGET_ARCH_MIPS
#include "mips/assembler-mips.h"
#include "mips/assembler-mips-inl.h"
#else
#error Unsupported target architecture.
#endif
// This file provides base classes and auxiliary methods for defining
// static object visitors used during GC.
// Visiting HeapObject body with a normal ObjectVisitor requires performing

View File

@ -28,6 +28,12 @@
#ifndef V8_X64_REGEXP_MACRO_ASSEMBLER_X64_H_
#define V8_X64_REGEXP_MACRO_ASSEMBLER_X64_H_
#include "x64/assembler-x64.h"
#include "x64/assembler-x64-inl.h"
#include "macro-assembler.h"
#include "code.h"
#include "x64/macro-assembler-x64.h"
namespace v8 {
namespace internal {

View File

@ -41,19 +41,25 @@
#ifdef V8_INTERPRETED_REGEXP
#include "interpreter-irregexp.h"
#else // V8_INTERPRETED_REGEXP
#include "macro-assembler.h"
#include "code.h"
#ifdef V8_TARGET_ARCH_ARM
#include "arm/assembler-arm.h"
#include "arm/macro-assembler-arm.h"
#include "arm/regexp-macro-assembler-arm.h"
#endif
#ifdef V8_TARGET_ARCH_MIPS
#include "mips/assembler-mips.h"
#include "mips/macro-assembler-mips.h"
#include "mips/regexp-macro-assembler-mips.h"
#endif
#ifdef V8_TARGET_ARCH_X64
#include "x64/assembler-x64.h"
#include "x64/macro-assembler-x64.h"
#include "x64/regexp-macro-assembler-x64.h"
#endif
#ifdef V8_TARGET_ARCH_IA32
#include "ia32/assembler-ia32.h"
#include "ia32/macro-assembler-ia32.h"
#include "ia32/regexp-macro-assembler-ia32.h"
#endif