From 8c70c20568eed75443a983eef984458c52a51d71 Mon Sep 17 00:00:00 2001 From: mstarzinger Date: Fri, 21 Aug 2015 03:25:10 -0700 Subject: [PATCH] Remove code.h header and move ParameterCount class. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1302293002 Cr-Commit-Position: refs/heads/master@{#30291} --- BUILD.gn | 1 - src/code.h | 52 ------------------------------------------- src/globals.h | 1 + src/macro-assembler.h | 37 +++++++++++++++++++++++------- tools/gyp/v8.gyp | 1 - 5 files changed, 30 insertions(+), 62 deletions(-) delete mode 100644 src/code.h diff --git a/BUILD.gn b/BUILD.gn index f8d042c064..03f7d545a0 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -682,7 +682,6 @@ source_set("v8_base") { "src/code-stubs.cc", "src/code-stubs.h", "src/code-stubs-hydrogen.cc", - "src/code.h", "src/codegen.cc", "src/codegen.h", "src/compilation-cache.cc", diff --git a/src/code.h b/src/code.h deleted file mode 100644 index a0639e8deb..0000000000 --- a/src/code.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2006-2008 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. - -#ifndef V8_CODE_H_ -#define V8_CODE_H_ - -#include "src/allocation.h" -#include "src/handles.h" -#include "src/objects.h" - -namespace v8 { -namespace internal { - - -// Wrapper class for passing expected and actual parameter counts as -// either registers or immediate values. Used to make sure that the -// caller provides exactly the expected number of parameters to the -// callee. -class ParameterCount BASE_EMBEDDED { - public: - explicit ParameterCount(Register reg) - : reg_(reg), immediate_(0) { } - explicit ParameterCount(int immediate) - : reg_(no_reg), immediate_(immediate) { } - explicit ParameterCount(Handle f) - : reg_(no_reg), - immediate_(f->shared()->internal_formal_parameter_count()) {} - - bool is_reg() const { return !reg_.is(no_reg); } - bool is_immediate() const { return !is_reg(); } - - Register reg() const { - DCHECK(is_reg()); - return reg_; - } - int immediate() const { - DCHECK(is_immediate()); - return immediate_; - } - - private: - const Register reg_; - const int immediate_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(ParameterCount); -}; - - -} } // namespace v8::internal - -#endif // V8_CODE_H_ diff --git a/src/globals.h b/src/globals.h index 5f1070382c..b3ece83037 100644 --- a/src/globals.h +++ b/src/globals.h @@ -431,6 +431,7 @@ class MarkCompactCollector; class NewSpace; class Object; class OldSpace; +class ParameterCount; class Foreign; class Scope; class ScopeInfo; diff --git a/src/macro-assembler.h b/src/macro-assembler.h index 5ea9657515..22728f42e0 100644 --- a/src/macro-assembler.h +++ b/src/macro-assembler.h @@ -39,20 +39,17 @@ const int kInvalidProtoDepth = -1; #include "src/assembler.h" #include "src/ia32/assembler-ia32.h" #include "src/ia32/assembler-ia32-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/ia32/macro-assembler-ia32.h" #elif V8_TARGET_ARCH_X64 #include "src/assembler.h" #include "src/x64/assembler-x64.h" #include "src/x64/assembler-x64-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/x64/macro-assembler-x64.h" #elif V8_TARGET_ARCH_ARM64 #include "src/arm64/constants-arm64.h" #include "src/assembler.h" #include "src/arm64/assembler-arm64.h" // NOLINT #include "src/arm64/assembler-arm64-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/arm64/macro-assembler-arm64.h" // NOLINT #include "src/arm64/macro-assembler-arm64-inl.h" #elif V8_TARGET_ARCH_ARM @@ -60,34 +57,29 @@ const int kInvalidProtoDepth = -1; #include "src/assembler.h" #include "src/arm/assembler-arm.h" // NOLINT #include "src/arm/assembler-arm-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/arm/macro-assembler-arm.h" // NOLINT #elif V8_TARGET_ARCH_PPC #include "src/ppc/constants-ppc.h" #include "src/assembler.h" // NOLINT #include "src/ppc/assembler-ppc.h" // NOLINT #include "src/ppc/assembler-ppc-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/ppc/macro-assembler-ppc.h" #elif V8_TARGET_ARCH_MIPS #include "src/mips/constants-mips.h" #include "src/assembler.h" // NOLINT #include "src/mips/assembler-mips.h" // NOLINT #include "src/mips/assembler-mips-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/mips/macro-assembler-mips.h" #elif V8_TARGET_ARCH_MIPS64 #include "src/mips64/constants-mips64.h" #include "src/assembler.h" // NOLINT #include "src/mips64/assembler-mips64.h" // NOLINT #include "src/mips64/assembler-mips64-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/mips64/macro-assembler-mips64.h" #elif V8_TARGET_ARCH_X87 #include "src/assembler.h" #include "src/x87/assembler-x87.h" #include "src/x87/assembler-x87-inl.h" -#include "src/code.h" // NOLINT, must be after assembler_*.h #include "src/x87/macro-assembler-x87.h" #else #error Unsupported target architecture. @@ -245,6 +237,35 @@ class Comment { #endif // DEBUG +// Wrapper class for passing expected and actual parameter counts as +// either registers or immediate values. Used to make sure that the +// caller provides exactly the expected number of parameters to the +// callee. +class ParameterCount BASE_EMBEDDED { + public: + explicit ParameterCount(Register reg) : reg_(reg), immediate_(0) {} + explicit ParameterCount(int imm) : reg_(no_reg), immediate_(imm) {} + + bool is_reg() const { return !reg_.is(no_reg); } + bool is_immediate() const { return !is_reg(); } + + Register reg() const { + DCHECK(is_reg()); + return reg_; + } + int immediate() const { + DCHECK(is_immediate()); + return immediate_; + } + + private: + const Register reg_; + const int immediate_; + + DISALLOW_IMPLICIT_CONSTRUCTORS(ParameterCount); +}; + + class AllocationUtils { public: static ExternalReference GetAllocationTopReference( diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp index bebcbe2ae3..caca437a7e 100644 --- a/tools/gyp/v8.gyp +++ b/tools/gyp/v8.gyp @@ -439,7 +439,6 @@ '../../src/code-stubs.cc', '../../src/code-stubs.h', '../../src/code-stubs-hydrogen.cc', - '../../src/code.h', '../../src/codegen.cc', '../../src/codegen.h', '../../src/compilation-cache.cc',