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.

Reply via email to