DescriptionPPC: Correctify instanceof and make it optimizable.
Port 5d875a57fa2e65c1a4a6b50aeb23c38299c3cfbc
Original commit message:
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.
R=bmeurer@chromium.org, jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com
BUG=v8:4376
LOG=n
Committed: https://crrev.com/448a3c0fe0f0d7b412bec455153b6b30e9aa803c
Cr-Commit-Position: refs/heads/master@{#30419}
Patch Set 1 #Patch Set 2 : Rebase #
Messages
Total messages: 15 (6 generated)
|