Decouple CpuFeatures from serializer state.
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 16 May 2014 15:18:24 +0000 (15:18 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 16 May 2014 15:18:24 +0000 (15:18 +0000)
commitfe243379f8800884a0aee338da76f47ac279ba3b
treef30c3b381ae9a49728e796aaeda2f6c4bef0be1a
parent2d1a75d6080dba0a37eb56e680165793d82bfa77
Decouple CpuFeatures from serializer state.

Traditionally, we cross compile a snapshot iff the serializer is enabled.
This will change in the future.

Changes:
 - CpuFeatures probing is done once per process, depending on whether we
   cross compile.
 - CpuFeatures are consolidated into the platform-independent assembler.h
   as much as possible.
 - FLAG_enable_<feature> will only be checked at probing time (already the
   case for ARM).
 - The serializer state is cached by the MacroAssembler.
 - PlatformFeatureScope is no longer necessary.
 - CPUFeature enum values no longer map to CPUID bit fields.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
44 files changed:
src/arm/assembler-arm-inl.h
src/arm/assembler-arm.cc
src/arm/assembler-arm.h
src/arm/full-codegen-arm.cc
src/arm/macro-assembler-arm.cc
src/arm64/assembler-arm64-inl.h
src/arm64/assembler-arm64.cc
src/arm64/assembler-arm64.h
src/arm64/cpu-arm64.cc
src/arm64/cpu-arm64.h [deleted file]
src/arm64/full-codegen-arm64.cc
src/arm64/macro-assembler-arm64.cc
src/assembler.cc
src/assembler.h
src/code-stubs.cc
src/code-stubs.h
src/flags.cc
src/flags.h
src/full-codegen.cc
src/ia32/assembler-ia32-inl.h
src/ia32/assembler-ia32.cc
src/ia32/assembler-ia32.h
src/ia32/code-stubs-ia32.cc
src/ia32/full-codegen-ia32.cc
src/ia32/macro-assembler-ia32.cc
src/ia32/stub-cache-ia32.cc
src/mips/assembler-mips-inl.h
src/mips/assembler-mips.cc
src/mips/assembler-mips.h
src/mips/full-codegen-mips.cc
src/mksnapshot.cc
src/platform-posix.cc
src/platform-win32.cc
src/platform.h
src/runtime.cc
src/v8.cc
src/v8globals.h
src/x64/assembler-x64-inl.h
src/x64/assembler-x64.cc
src/x64/assembler-x64.h
src/x64/full-codegen-x64.cc
src/x64/macro-assembler-x64.cc
test/cctest/test-assembler-x64.cc
tools/gyp/v8.gyp