Reviewers: akos.palfi.imgtec, balazs.kilvady,

Message:
l-g-t-m except for one typo. I will also delete a couple (now) unused functions
from the macro-assemblers.


https://codereview.chromium.org/1316543002/diff/1/src/objects.h
File src/objects.h (right):

https://codereview.chromium.org/1316543002/diff/1/src/objects.h#newcode6729
src/objects.h:6729: ((kBound + kCompilerHintsSmiTagSize) /
kBitsPerByte);
Typo: this must be kBoundFunction

Description:
MIPS: Correctify instanceof and make it optimizable.

The previous hack with HInstanceOfKnownGlobal was not only slower,
but also very brittle and required a lot of weird hacks to support it. And
what's even more important it wasn't even correct (because a map check
on the lhs is never enough for instanceof).

The new implementation provides a sane runtime implementation
for InstanceOf plus a fast case in the InstanceOfStub, combined with
a proper specialization in the case of a known global in CrankShaft,
which does only the prototype chain walk (coupled with a code
dependency on the known global).

As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf
implementation.

BUG=v8:4376
LOG=y

Please review this at https://codereview.chromium.org/1316543002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+354, -856 lines):
  M src/full-codegen/mips/full-codegen-mips.cc
  M src/full-codegen/mips64/full-codegen-mips64.cc
  M src/mips/code-stubs-mips.cc
  M src/mips/interface-descriptors-mips.cc
  M src/mips/lithium-codegen-mips.h
  M src/mips/lithium-codegen-mips.cc
  M src/mips/lithium-mips.h
  M src/mips/lithium-mips.cc
  M src/mips/macro-assembler-mips.h
  M src/mips/macro-assembler-mips.cc
  M src/mips64/code-stubs-mips64.cc
  M src/mips64/interface-descriptors-mips64.cc
  M src/mips64/lithium-codegen-mips64.h
  M src/mips64/lithium-codegen-mips64.cc
  M src/mips64/lithium-mips64.h
  M src/mips64/lithium-mips64.cc
  M src/mips64/macro-assembler-mips64.h
  M src/mips64/macro-assembler-mips64.cc
  M src/objects.h


--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to