Unify "runtime-style" IC functions with Runtime intrinsics
authordanno <danno@chromium.org>
Thu, 23 Jul 2015 13:32:11 +0000 (06:32 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 23 Jul 2015 13:32:26 +0000 (13:32 +0000)
commitbc8041dc2b4c8431c5c2476496acd3b7b8b3f61e
tree72b1d7ebe99f71c266d2e1019c57bd18fa258375
parent8e027195b48a7e510ba48d67af68b880ab9cd6a9
Unify "runtime-style" IC functions with Runtime intrinsics

Previous to this CL, ICs used a slightly different code idiom
to get to C++ code from generated code than runtime intrinsics,
using an IC_Utility class that in essence provided exactly
the same functionality as Runtime::FunctionForId, but in its
own quirky way.

This CL unifies the two mechanisms, folding IC_Utility
away by making all IC entry points in C++ code, e.g. IC
miss handlers, full-fledged runtime intrinsics. This makes
it possible to eliminate a bunch of ad-hoc declarations and
adapters that the IC system had to needlessly re-invent.

As a bonus and the original reason for this yak-shave:
IC-related C++ runtime functions are now callable from
TurboFan.

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

Cr-Commit-Position: refs/heads/master@{#29811}
47 files changed:
src/arguments.h
src/arm/code-stubs-arm.cc
src/arm/debug-arm.cc
src/arm/macro-assembler-arm.cc
src/arm64/code-stubs-arm64.cc
src/arm64/debug-arm64.cc
src/arm64/macro-assembler-arm64.cc
src/assembler.cc
src/assembler.h
src/code-stubs.cc
src/compiler/ast-graph-builder.cc
src/debug.cc
src/debug.h
src/ia32/code-stubs-ia32.cc
src/ia32/debug-ia32.cc
src/ia32/macro-assembler-ia32.cc
src/ic/arm/handler-compiler-arm.cc
src/ic/arm/ic-arm.cc
src/ic/arm64/handler-compiler-arm64.cc
src/ic/arm64/ic-arm64.cc
src/ic/ia32/handler-compiler-ia32.cc
src/ic/ia32/ic-ia32.cc
src/ic/ic.cc
src/ic/ic.h
src/ic/mips/handler-compiler-mips.cc
src/ic/mips/ic-mips.cc
src/ic/mips64/handler-compiler-mips64.cc
src/ic/mips64/ic-mips64.cc
src/ic/x64/handler-compiler-x64.cc
src/ic/x64/ic-x64.cc
src/mips/code-stubs-mips.cc
src/mips/debug-mips.cc
src/mips/macro-assembler-mips.cc
src/mips/macro-assembler-mips.h
src/mips64/code-stubs-mips64.cc
src/mips64/debug-mips64.cc
src/mips64/macro-assembler-mips64.cc
src/mips64/macro-assembler-mips64.h
src/ppc/macro-assembler-ppc.cc
src/runtime/runtime-debug.cc
src/runtime/runtime.h
src/snapshot/serialize.cc
src/x64/code-stubs-x64.cc
src/x64/debug-x64.cc
src/x64/macro-assembler-x64.cc
src/x87/macro-assembler-x87.cc
test/mjsunit/regress/regress-119429.js