- 10 Mar, 2016 5 commits
-
-
verwaest authored
Use internal handles as API, and move boilerplate code into the call wrappers. BUG= Review URL: https://codereview.chromium.org/1776913005 Cr-Commit-Position: refs/heads/master@{#34684}
-
rossberg authored
R=mstarzinger@chromium.org,bmeurer@chromium.org,adamk@chromium.org BUG=v8:3956 LOG=Y Review URL: https://codereview.chromium.org/1773653002 Cr-Commit-Position: refs/heads/master@{#34669}
-
Toon Verwaest authored
TBR=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/1777483011 . Cr-Commit-Position: refs/heads/master@{#34667}
-
verwaest authored
NOPRESUBMIT=true BUG= Review URL: https://codereview.chromium.org/1776353002 Cr-Commit-Position: refs/heads/master@{#34664}
-
verwaest authored
Inline calling into the interceptor into the IC callbacks rather than going through the LookupIterator. This is highly performance sensitive as there is no faster path; it's used directly by the IC. BUG=chromium:592305 LOG=n Review URL: https://codereview.chromium.org/1778493005 Cr-Commit-Position: refs/heads/master@{#34660}
-
- 09 Mar, 2016 3 commits
-
-
titzer authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1778863002 Cr-Commit-Position: refs/heads/master@{#34617}
-
ishell authored
In case when F was called with incompatible number of arguments (and therefore the arguments adator frame was created), F inlines a tail call of G which then deopts the deoptimizer should also remove the arguments adaptor frame for F. This CL adds required machinery to the deoptimizer. BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1768263004 Cr-Commit-Position: refs/heads/master@{#34610}
-
bmeurer authored
According to https://www.w3.org/TR/html5/obsolete.html#dom-document-all, comparisons of document.all to other values such as strings or objects, are unaffected. In fact document.all only gets special treatment in comparisons with null or undefined according to HTML. Especially setting the undetectable doesn't make two distinct JSReceivers equal. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1774273002 Cr-Commit-Position: refs/heads/master@{#34608}
-
- 08 Mar, 2016 6 commits
-
-
littledan authored
The initial species protector hooked into property declaration in an incomplete place, and missed definitions of accessors. This patch repairs them by calling out to update the protector from an additional location. R=adamk CC=verwaest,cbruni BUG=v8:4093 LOG=Y Review URL: https://codereview.chromium.org/1746323002 Cr-Commit-Position: refs/heads/master@{#34599}
-
verwaest authored
Also move GetProperty with string-name to JSReceiver BUG= Review URL: https://codereview.chromium.org/1775973002 Cr-Commit-Position: refs/heads/master@{#34596}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1774943002 Cr-Commit-Position: refs/heads/master@{#34585}
-
verwaest authored
BUG=chromium:592707 LOG=n Review URL: https://codereview.chromium.org/1775913002 Cr-Commit-Position: refs/heads/master@{#34584}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1773593002 Cr-Commit-Position: refs/heads/master@{#34572}
-
caitpotter88 authored
When possible (non-Proxy receiver, expecting only String-names), walk the instance_descriptors() array rather than performing [[OwnPropertyKeys]]. If the map changes during a call to an accessor property, resort to a slower property lookup. For now, the fast path is not taken if the object contains any element keys. Offers a measurable improvement over the existing version, in select situations. BUG=v8:4663 LOG=N R=cbruni@chromium.org, verwaest@chromium.org, adamk@chromium.org Review URL: https://codereview.chromium.org/1751643003 Cr-Commit-Position: refs/heads/master@{#34567}
-
- 07 Mar, 2016 7 commits
-
-
verwaest authored
This avoids a minor unnecessary inefficiency (GetRoot) in setting up the LookupIterator. BUG= Review URL: https://codereview.chromium.org/1767123002 Cr-Commit-Position: refs/heads/master@{#34560}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a Cr-Commit-Position: refs/heads/master@{#34548} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34558}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #15 id:280001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole again Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} > > Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a > Cr-Commit-Position: refs/heads/master@{#34548} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1769043003 Cr-Commit-Position: refs/heads/master@{#34551}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34548}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #14 id:260001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole failure https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8598 Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1773593003 Cr-Commit-Position: refs/heads/master@{#34537}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34532}
-
mstarzinger authored
The enum in question is (and should) no longer be used outside of the compiler API and hence is being moved back into the Compiler class. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1762323002 Cr-Commit-Position: refs/heads/master@{#34526}
-
- 04 Mar, 2016 7 commits
-
-
machenbach authored
Revert of Reland "[api] Don't go to javascript to construct API functions" (patchset #1 id:1 of https://codereview.chromium.org/1756973002/ ) Reason for revert: [Sheriff] Breaks blink tests. Please fix upstream first. https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5125 Original issue's description: > Reland "[api] Don't go to javascript to construct API functions" > > BUG= > R=verwaest@chromium.org > > Committed: https://crrev.com/d5d4f0b80f585878130bffb40ff8e960646823d8 > Cr-Commit-Position: refs/heads/master@{#34496} TBR=verwaest@chromium.org,bmeurer@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1767663002 Cr-Commit-Position: refs/heads/master@{#34502}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765633004 Cr-Commit-Position: refs/heads/master@{#34500}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1768553002 Cr-Commit-Position: refs/heads/master@{#34497}
-
jochen authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1756973002 Cr-Commit-Position: refs/heads/master@{#34496}
-
verwaest authored
BUG=588893, 325923 LOG=n Review URL: https://codereview.chromium.org/1762273002 Cr-Commit-Position: refs/heads/master@{#34493}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765713003 Cr-Commit-Position: refs/heads/master@{#34492}
-
bmeurer authored
According to https://www.w3.org/TR/html5/obsolete.html#dom-document-all the undetectable bit (for document.all) only affects comparisons with undefined and null. In particular comparisons with other values are not affected, so we can actually simplify the handling of undetectable a lot by only checking it when null or undefined might be involved (this is actually in line with what the CompareIC does). CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1764613004 Cr-Commit-Position: refs/heads/master@{#34483}
-
- 03 Mar, 2016 2 commits
-
-
bmeurer authored
This is more consistent with the current naming scheme (i.e. IsCallable for callable bit on map, IsConstructor for constructor bit on map, and now IsUndetectable for undetectable bit on map). Also simplify the fallthrough case for Object::Equals, because we don't need to check for Null or Undefined or Undetectable, as both Null and Undefined already have the undetectable bit set on their maps. R=machenbach@chromium.org Review URL: https://codereview.chromium.org/1756413003 Cr-Commit-Position: refs/heads/master@{#34458}
-
machenbach authored
This reverts commit 2608ecc7. Revert "Specialize helper methods in the LookupIterator by is_element." This reverts commit 6eb483f8. Revert "Avoid SetPropertyInternal if the LookupIterator is NotFound" This reverts commit ca5bd8d4. Revert "Inline fast-bailout-checks for LookupIterator::UpdateProtector" This reverts commit d98570a1. This breaks layout tests with timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5060 It also seems to break jsfunfuzz: https://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/7930 The other three CLs are reverted to be able to revert the first. BUG=v8:4798 LOG=n TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/1761593003 Cr-Commit-Position: refs/heads/master@{#34457}
-
- 02 Mar, 2016 7 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1756883002 Cr-Commit-Position: refs/heads/master@{#34437}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1752383002 Cr-Commit-Position: refs/heads/master@{#34436}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1758733002 Cr-Commit-Position: refs/heads/master@{#34433}
-
verwaest authored
Otherwise e.g., "use strict"; class C { static f() { super.location = "http://bla.com" }} C.f.call(this); will mask location on the hidden prototype of the JSGlobalObject. BUG= Review URL: https://codereview.chromium.org/1757933002 Cr-Commit-Position: refs/heads/master@{#34432}
-
verwaest authored
This introduces a new instance type and reorders the JSObject types so any type requiring special LookupIterator support can be identified with a single range check. In addition, it restructures the Next for better performance, avoiding unnecessary calls. BUG= Review URL: https://codereview.chromium.org/1751043002 Cr-Commit-Position: refs/heads/master@{#34429}
-
mstarzinger authored
This relaxes the constraints of the optimized code map in order to be able to update existing entries. It also simplifies the interface a little bit. We can now insert an entry for a newly allocated literals array together with previously cached context-independent code. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1753213002 Cr-Commit-Position: refs/heads/master@{#34427}
-
machenbach authored
Revert of [api] Don't go to javascript to construct API functions (patchset #3 id:40001 of https://codereview.chromium.org/1756433002/ ) Reason for revert: [Sheriff] Breaks webkit unittests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5043 Original issue's description: > [api] Don't go to javascript to construct API functions > > BUG= > R=bmeurer@chromium.org,verwaest@chromium.org > > Committed: https://crrev.com/21a5bfbd2ced6e4a3545bbde712630c0d8734c0b > Cr-Commit-Position: refs/heads/master@{#34411} TBR=bmeurer@chromium.org,verwaest@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1758623002 Cr-Commit-Position: refs/heads/master@{#34419}
-
- 01 Mar, 2016 3 commits
-
-
jochen authored
BUG= R=bmeurer@chromium.org,verwaest@chromium.org Review URL: https://codereview.chromium.org/1756433002 Cr-Commit-Position: refs/heads/master@{#34411}
-
jochen authored
This means we can't cache templates that have object properties. Disable caching for those. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1753643002 Cr-Commit-Position: refs/heads/master@{#34402}
-
mstarzinger authored
R=bmeurer@chromium.org BUG=v8:3956 LOG=n Review URL: https://codereview.chromium.org/1731063007 Cr-Commit-Position: refs/heads/master@{#34398}
-