Reviewers: mvstanton, Yang,
Message:
Hey Michael, Yang,
This is the CL I was referring to. It's basically the initial cleanup step,
so
performance should be mostly neutral (we might see some improvements in
TurboFan).
Yang: Please take a look at the builtins and fullcode.
Michael: Please check the rest, esp. the code stub.
Thanks,
Benedikt
Description:
[stubs] Unify (and optimize) implementation of ToObject.
This is the initial (big) step towards a more uniform implementation of
the ToObject abstract operation (ES6 7.1.13), where we have a fallback
implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub
to deal with the fast case (we should be able to do more cleanup on this
in a followup CL). For natives we expose the abstract operation via a
%_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies
the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT,
$toObject and %$toObject. Now the whole implementation of the abstract
operation is context independent, meaning we don't need any magic in the
builtins object nor the native context.
Please review this at https://codereview.chromium.org/1266013006/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+548, -198 lines):
M include/v8.h
M src/arm/builtins-arm.cc
M src/arm/code-stubs-arm.cc
M src/arm/interface-descriptors-arm.cc
M src/arm64/builtins-arm64.cc
M src/arm64/code-stubs-arm64.cc
M src/arm64/interface-descriptors-arm64.cc
M src/array.js
M src/array-iterator.js
M src/bootstrapper.cc
M src/builtins.h
M src/code-factory.h
M src/code-factory.cc
M src/code-stubs.h
M src/code-stubs.cc
M src/code-stubs-hydrogen.cc
M src/collection.js
M src/compiler/js-generic-lowering.cc
M src/compiler/linkage.cc
M src/contexts.h
M src/date.js
M src/deoptimizer.h
M src/execution.cc
M src/full-codegen/arm/full-codegen-arm.cc
M src/full-codegen/arm64/full-codegen-arm64.cc
M src/full-codegen/full-codegen.h
M src/full-codegen/ia32/full-codegen-ia32.cc
M src/full-codegen/mips/full-codegen-mips.cc
M src/full-codegen/mips64/full-codegen-mips64.cc
M src/full-codegen/ppc/full-codegen-ppc.cc
M src/full-codegen/x64/full-codegen-x64.cc
M src/full-codegen/x87/full-codegen-x87.cc
M src/harmony-array.js
M src/harmony-array-includes.js
M src/harmony-object.js
M src/i18n.js
M src/ia32/builtins-ia32.cc
M src/ia32/code-stubs-ia32.cc
M src/ia32/interface-descriptors-ia32.cc
M src/interface-descriptors.h
M src/macros.py
M src/messages.js
M src/mips/builtins-mips.cc
M src/mips/code-stubs-mips.cc
M src/mips/interface-descriptors-mips.cc
M src/mips64/builtins-mips64.cc
M src/mips64/code-stubs-mips64.cc
M src/mips64/interface-descriptors-mips64.cc
M src/ppc/builtins-ppc.cc
M src/ppc/code-stubs-ppc.cc
M src/ppc/interface-descriptors-ppc.cc
M src/runtime.js
M src/runtime/runtime.h
M src/runtime/runtime-object.cc
M src/runtime/runtime-simd.cc
M src/runtime/runtime-symbol.cc
M src/string.js
M src/string-iterator.js
M src/symbol.js
M src/v8natives.js
M src/x64/builtins-x64.cc
M src/x64/code-stubs-x64.cc
M src/x64/interface-descriptors-x64.cc
M src/x87/builtins-x87.cc
M src/x87/code-stubs-x87.cc
M src/x87/interface-descriptors-x87.cc
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.