- 26 Aug, 2016 1 commit
-
-
littledan authored
As part of the work to implement catch prediction for async functions, the resulting Promise that is the output of the function needs to be available earlier for a couple reasons: - To be able to do %DebugPushPromise/%DebugPopPromise over the body of the async function - To be able to pass the resulting promise into AsyncFunctionAwait in order to set up the dependency chains This patch creates the Promise earlier and pushes it onto the debug stack; a later patch will set up the dependency chain. Although the debug stack is set up, it's not anticipated that this will change the catch prediction helpfully yet, as everything will still likely be predicted as 'caught' for now, as before. R=caitp@igalia.com,yangguo@chromium.org CC=neis@chromium.org,gsathya@chromium.org BUG=v8:5167 Review-Url: https://codereview.chromium.org/2233923003 Cr-Commit-Position: refs/heads/master@{#38957}
-
- 24 Aug, 2016 2 commits
-
-
littledan authored
This patch fixes up one last case of redundant ExceptionEvents being triggered in the debugger for Promises--it makes the default reject handler for Promises (e.g., if the second argument for Promise.prototype.then is missing) appear to the debugger as a rethrow. R=adamk@chromium.org,jgruber@chromium.org BUG=v8:5167 Review-Url: https://codereview.chromium.org/2278643002 Cr-Commit-Position: refs/heads/master@{#38876}
-
littledan authored
To make async/await catch prediction work well, this patch regularizes the exception events sent to DevTools from various places in the Promise lifecycle. The core is that there should be an exception event when the rejection first starts, rather than when it is propagated. - Several cases within Promise code which propagate errors are modified to not trigger a new ExceptionEvent in that case, such as .then on a rejected Promise and returning a rejected Promise from .then, as well as Promise.race and Promise.all. - Make Promise.reject() create an ExceptionEvent, subject to catch prediction based on the Promise stack. This is important so that, e.g., if "await Promise.reject()" will trigger a new throw (rather than a silent rethrow of something that never triggered an event in the first place). BUG=v8:5167 Review-Url: https://codereview.chromium.org/2244003003 Cr-Commit-Position: refs/heads/master@{#38847}
-
- 22 Aug, 2016 2 commits
-
-
littledan authored
This flag was shipped on in 52, so it's due for removal. The patch includes removing the deprecated and unused-in-Blink API Promise::Chain, and many test updates. R=adamk@chromium.org BUG=v8:4633 Review-Url: https://codereview.chromium.org/2267033002 Cr-Commit-Position: refs/heads/master@{#38804}
-
mattloring authored
Includes fast paths in the runtime for DictionaryElementsAccessor, FastSmiOrObjectElementsAccessor, FastDoubleElementsAccessor, TypedElementsAccessor, and SloppyArgumentsElementsAccessor. BUG= Review-Url: https://codereview.chromium.org/2232063002 Cr-Commit-Position: refs/heads/master@{#38800}
-
- 18 Aug, 2016 1 commit
-
-
jshin authored
Also add a test for the return object of getCanonicalLocaleList(). See https://github.com/tc39/test262/issues/745 for more details. BUG=v8:5012 TEST=test262/intl402/Intl/getCanonicalLocales/* TEST=intl/general/getCanonicalLocales Review-Url: https://codereview.chromium.org/2239523002 Cr-Commit-Position: refs/heads/master@{#38733}
-
- 17 Aug, 2016 3 commits
-
-
jshin authored
Language tags with Unicode extensions can have multiple subtags for a key (e.g. -ca-ismalic-civil has 'islamic-civi' for 'ca'). BUG=v8:4749 TEST=intl/date-format/calendar-with-multiple-type-subtags.js Review-Url: https://codereview.chromium.org/2248563003 Cr-Commit-Position: refs/heads/master@{#38692}
-
bakkot authored
Reland of Amends the TypedArray constructor to use the path for primitives for all (patchset #1 id:1 of https://codereview.chromium.org/2120763002/ ) Reason for revert: WebGL tests have been updated and rolled (at https://codereview.chromium.org/2227023002), so this should no longer fail outdated tests. Original issue's description: > Revert of Amends the TypedArray constructor to use the path for primitives for all (patchset #4 id:60001 of https://codereview.chromium.org/2096873002/ ) > > Reason for revert: > Speculative revert to unblock roll https://codereview.chromium.org/2114113002/ > > Original issue's description: > > Amends the TypedArray constructor to use the path for primitives for all > > types of primitives, not just undefined, booleans, numbers, and strings. > > (The missing cases were null and Symbol.) This is required by the > > specification, and there are test262 tests which we were failing due to > > this bug. > > > > BUG=v8:5124 > > > > Committed: https://crrev.com/f788bd9cce19815cba746e47bb65abfe25c16208 > > Committed: https://crrev.com/f772c22cd1c492aa0235a8e6012d0386146d2eb2 > > Cr-Original-Commit-Position: refs/heads/master@{#37234} > > Cr-Commit-Position: refs/heads/master@{#37407} > > TBR=littledan@chromium.org,bakkot@google.com > NOTREECHECKS=true > BUG=v8:5124 > > Committed: https://crrev.com/9c0aef52fa672db856ebfac7f4bdcd7d7b103663 > Cr-Commit-Position: refs/heads/master@{#37487} TBR=littledan@chromium.org,hablich@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5124 Review-Url: https://codereview.chromium.org/2255543002 Cr-Commit-Position: refs/heads/master@{#38691}
-
bakkot authored
Reland of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #2 id:170001 of https://codereview.chromium.org/2113593002/ ) Reason for revert: WebGL tests have been updated and rolled (at https://codereview.chromium.org/2227023002), so this should no longer fail outdated tests. Original issue's description: > Revert of Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. (patchset #8 id:140001 of https://codereview.chromium.org/2090353003/ ) > > Reason for revert: > Speculative revert to unblock roll: https://codereview.chromium.org/2107223003/ > > Original issue's description: > > Amend DataView, ArrayBuffer, and TypedArray methods to use ToIndex. > > > > The spec was modified to relax some requirements which implementors had not been > > enforcing. Part of this process involved introducing a new abstract operation > > ToIndex, which had partial overlap with our existing semantics as well as some > > differences (most notably treating undefined as 0). Test262 tests were introduced to > > check for the new semantics, some of which we were failing. This patch amends the > > parts of our implementation corresponding to specification algorithms which use > > ToIndex to follow its semantics precisely. > > > > BUG=v8:4784,v8:5120 > > > > Committed: https://crrev.com/09720349ea058d178521ec58d0a5676443a5a132 > > Cr-Commit-Position: refs/heads/master@{#37406} > > TBR=littledan@chromium.org,adamk@chromium.org,bakkot@google.com > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4784,v8:5120 > > Committed: https://crrev.com/b1f7f1f4e41a723d5f997738a07e35a031713b8f > Cr-Commit-Position: refs/heads/master@{#37417} TBR=littledan@chromium.org,adamk@chromium.org,hablich@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:4784,v8:5120 Review-Url: https://codereview.chromium.org/2247073004 Cr-Commit-Position: refs/heads/master@{#38689}
-
- 15 Aug, 2016 1 commit
-
-
mattloring authored
Removes dependence on InnerArrayIndexOf/InnerArrayLastIndexOf and reduces type polution caused by sharing these functions between standard and typed arrays. BUG= Review-Url: https://codereview.chromium.org/2243523002 Cr-Commit-Position: refs/heads/master@{#38637}
-
- 12 Aug, 2016 1 commit
-
-
jkummerow authored
The hand-written KeyedLoadIC_Megamorphic stub didn't care about JSArray lengths, which made it lenient towards said lengths being wrong, but it will soon fix that bug and thereby become more strict. LiveEdit: factory->NewJSArray(capacity) doesn't set a length, so set it manually. RegExp: to avoid having to take care of array length updating in the RegExpExecStub, just use a JSObject instead. Review-Url: https://codereview.chromium.org/2244673002 Cr-Commit-Position: refs/heads/master@{#38624}
-
- 10 Aug, 2016 1 commit
-
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2224973002 Cr-Commit-Position: refs/heads/master@{#38529}
-
- 09 Aug, 2016 1 commit
-
-
jgruber authored
These were the final remnants of error code written in JavaScript. BUG= Review-Url: https://codereview.chromium.org/2222893002 Cr-Commit-Position: refs/heads/master@{#38475}
-
- 06 Aug, 2016 1 commit
-
-
littledan authored
- Don't read .constructor when returning a Promise from an async function. Instead, call out to the internals of Promise.resolve directly. This is done by adding back in an "optimization" from an earlier form of the async/await code written by Caitlin Potter. - Async functions always return a new Promise with a distinct identity, even if they simply return another Promise. R=caitp@igalia.com BUG=v8:4483 Review-Url: https://codereview.chromium.org/2219623002 Cr-Commit-Position: refs/heads/master@{#38404}
-
- 04 Aug, 2016 1 commit
-
-
caitp authored
The `PerformPromiseThen` spec-internal operation is used by the async functions proposal, in order to ensure that AwaitExpressions are not observable via usual mechanisms/hooks, such as Symbol.species. BUG=v8:5253 R=littledan@chromium.org, adamk@chromium.org, gsathya@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2209433003 Cr-Commit-Position: refs/heads/master@{#38353}
-
- 03 Aug, 2016 5 commits
-
-
gsathya authored
Promise.resolve Instead of creating resolve and reject closures, directly call ResolvePromise after creating the promise. Using the following as a microbenchmark -- ``` var b = 0; var start = performance.now(); for (var i = 0; i < 1000000; i++) { Promise.resolve(1).then((val) => { b += val; if (b == 1000000) print(performance.now() - start) }); } ``` I see a 16.01% improvement over 5 runs with this patch. BUG=v8:5046 Review-Url: https://codereview.chromium.org/2143553002 Cr-Commit-Position: refs/heads/master@{#38318}
-
gsathya authored
BUG=v8:5046 Review-Url: https://codereview.chromium.org/2209773003 Cr-Commit-Position: refs/heads/master@{#38316}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206183002 Cr-Commit-Position: refs/heads/master@{#38295}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206573002 Cr-Commit-Position: refs/heads/master@{#38289}
-
caitp authored
BUG=v8:5162 R=bmeurer@chromium.org, cbruni@chromium.org Review-Url: https://codereview.chromium.org/2205883003 Cr-Commit-Position: refs/heads/master@{#38266}
-
- 02 Aug, 2016 1 commit
-
-
machenbach authored
Revert of [builtins] implement Array.prototype.includes in TurboFan (patchset #20 id:380001 of https://codereview.chromium.org/2146293003/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2592 Original issue's description: > [builtins] implement Array.prototype.includes in TurboFan > > BUG=v8:5162 > R=bmeurer@chromium.org, ishell@chromium.org > > Committed: https://crrev.com/a488b5d8eb111a4883dc400bd826d079420edd68 > Cr-Commit-Position: refs/heads/master@{#38223} TBR=adamk@chromium.org,bmeurer@chromium.org,cbruni@chromium.org,danno@chromium.org,ishell@chromium.org,littledan@chromium.org,caitp@igalia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5162 Review-Url: https://codereview.chromium.org/2202163002 Cr-Commit-Position: refs/heads/master@{#38226}
-
- 01 Aug, 2016 3 commits
-
-
caitp authored
BUG=v8:5162 R=bmeurer@chromium.org, ishell@chromium.org Review-Url: https://codereview.chromium.org/2146293003 Cr-Commit-Position: refs/heads/master@{#38223}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2194883002 Cr-Commit-Position: refs/heads/master@{#38215}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2191293002 Cr-Commit-Position: refs/heads/master@{#38212}
-
- 28 Jul, 2016 2 commits
-
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2174723002 Cr-Commit-Position: refs/heads/master@{#38136}
-
neis authored
R=adamk@chromium.org BUG=v8:5237 Review-Url: https://codereview.chromium.org/2188753002 Cr-Commit-Position: refs/heads/master@{#38116}
-
- 22 Jul, 2016 2 commits
-
-
jgruber authored
Review-Url: https://codereview.chromium.org/2158303002 Cr-Commit-Position: refs/heads/master@{#37975}
-
yangguo authored
This is in preparation to implementing exception prediction for async functions. Each handler table entry can now predict "caught", "uncaught", or "promise". The latter indicates that the exception will lead to a promise rejection. To mark the relevant try-catch blocks, we add a new native syntax. try { } %catch (e) { } indicates a TryCatchStatement with the "promise" prediction. The previous implementation of using the function to tell the relevant try-catch apart from inner try-catch blocks will not work for async functions since these can have inner try-catch blocks inside the same function. BUG=v8:5167 Review-Url: https://codereview.chromium.org/2161263003 Cr-Commit-Position: refs/heads/master@{#37966}
-
- 21 Jul, 2016 3 commits
-
-
jgruber authored
We no longer need to prepare the stack overflow error in advance now that Errors are constructed in C++. R=yangguo@chromium.org BUG= Committed: https://crrev.com/ba95d10ccbe13e2fca427228483b045576f2dc4c Review-Url: https://codereview.chromium.org/2161953003 Cr-Original-Commit-Position: refs/heads/master@{#37923} Cr-Commit-Position: refs/heads/master@{#37949}
-
jgruber authored
Revert of Remove stack overflow boilerplate (patchset #3 id:40001 of https://codereview.chromium.org/2161953003/ ) Reason for revert: Clusterfuzz failures in parent CL https://codereview.chromium.org/2142933003/ Original issue's description: > Remove stack overflow boilerplate > > We no longer need to prepare the stack overflow error in advance now that > Errors are constructed in C++. > > R=yangguo@chromium.org > BUG= > > Committed: https://crrev.com/ba95d10ccbe13e2fca427228483b045576f2dc4c > Cr-Commit-Position: refs/heads/master@{#37923} TBR=yangguo@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/2169563003 Cr-Commit-Position: refs/heads/master@{#37927}
-
jgruber authored
We no longer need to prepare the stack overflow error in advance now that Errors are constructed in C++. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2161953003 Cr-Commit-Position: refs/heads/master@{#37923}
-
- 20 Jul, 2016 3 commits
-
-
jgruber authored
This ports a large portion of Error methods to C++, including the constructor, stack setter and getter, and Error.prototype.toString. BUG= Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31 Review-Url: https://codereview.chromium.org/2142933003 Cr-Original-Commit-Position: refs/heads/master@{#37870} Cr-Commit-Position: refs/heads/master@{#37908}
-
neis authored
As required by the spec. This is a variant of what I reverted in f47e7224. It will probably still cause a regression but now it's easier to migrate (parts of) the current implementation to C++, which is expected to make things faster again. BUG=chromium:627729,v8:5113 Review-Url: https://codereview.chromium.org/2164923002 Cr-Commit-Position: refs/heads/master@{#37897}
-
jgruber authored
Revert of Move Error methods to C++ (patchset #11 id:200001 of https://codereview.chromium.org/2142933003/ ) Reason for revert: Clusterfuzz failures: https://bugs.chromium.org/p/chromium/issues/detail?id=629749 Original issue's description: > Move Error methods to C++ > > This ports a large portion of Error methods to C++, > including the constructor, stack setter and getter, > and Error.prototype.toString. > > BUG= > > Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31 > Cr-Commit-Position: refs/heads/master@{#37870} TBR=yangguo@chromium.org,bmeurer@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/2159223004 Cr-Commit-Position: refs/heads/master@{#37881}
-
- 19 Jul, 2016 1 commit
-
-
jgruber authored
This ports a large portion of Error methods to C++, including the constructor, stack setter and getter, and Error.prototype.toString. BUG= Review-Url: https://codereview.chromium.org/2142933003 Cr-Commit-Position: refs/heads/master@{#37870}
-
- 18 Jul, 2016 1 commit
-
-
jgruber authored
Calling into JS from stack trace generation becomes an issue during stack overflows: we'd detect a stack overflow, attempt to create an exception, call into JS, detect a stack overflow, and repeat. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2147193002 Cr-Commit-Position: refs/heads/master@{#37837}
-
- 15 Jul, 2016 1 commit
-
-
neis authored
This reverts commit 457c0257 because it caused a regression in SunSpider/string-fasta and possibly AreWeFastYet/Life. Need to implement this in a smarter way. TBR=littledan@chromium.org BUG=chromium:627729,v8:5113 Review-Url: https://codereview.chromium.org/2149303003 Cr-Commit-Position: refs/heads/master@{#37793}
-
- 14 Jul, 2016 1 commit
-
-
mstarzinger authored
This adds a missing conversion of time zone names to string primitives before case conversion and regular expression matching are applied. This is in sync with ECMA-402, section 12.1.1.1, step 16(a). R=jochen@chromium.org TEST=mjsunit/regress/regress-crbug-627935 BUG=chromium:627935 Review-Url: https://codereview.chromium.org/2143003005 Cr-Commit-Position: refs/heads/master@{#37757}
-
- 13 Jul, 2016 1 commit
-
-
binji authored
* Rename Atomics.futexWait -> Atomics.wait * Rename Atomics.futexWake -> Atomics.wake * Remove Atomics.futexWakeOrRequeue * Return value of Atomics.wait is now a string: "ok", "not-equal" or "timed-out" * Update comments that reference URL for ecmascript_sharedmem to https://github.com/tc39/ecmascript_sharedmem Review-Url: https://codereview.chromium.org/2143443002 Cr-Commit-Position: refs/heads/master@{#37727}
-
- 12 Jul, 2016 1 commit
-
-
neis authored
As required by the spec. BUG=v8:5113 Review-Url: https://codereview.chromium.org/2141603002 Cr-Commit-Position: refs/heads/master@{#37689}
-