- 11 Nov, 2016 1 commit
-
-
gsathya authored
- Creates a new promise-utils.{h, cc} which refactors out the logic to create resolving functions. This is shared between the runtime functions and builtins. - Changes PromiseResolveThenableJobInfo to store the context since we no longer create the resolving functions in JS. - Changes EnqueuPromiseResolveThenableJob to take in the promise and not the callbacks. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2487053002 Cr-Commit-Position: refs/heads/master@{#40941}
-
- 10 Nov, 2016 1 commit
-
-
gsathya authored
- A new runtime function (%create_resolving_functions) is installed to call the CreateResolvingFunctions builtin from JS. - Three new builtins are created - resolve and reject functions and a third function that creates a new JSFunctions from these resolve/reject builtins. - The promise reject function is installed on the context temporarily as internal_promise_reject. This should go away once we remove PromiseSet. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2459283004 Cr-Commit-Position: refs/heads/master@{#40903}
-
- 27 Oct, 2016 1 commit
-
-
gsathya authored
This patch refactors most of FulfillPromise runtime call out to a separate function so that we can to it from PromiseReject runtime call. This patch adds a PromiseStatus enum. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2451163003 Cr-Commit-Position: refs/heads/master@{#40615}
-
- 26 Oct, 2016 2 commits
-
-
gsathya authored
RejectPromise is always called on a pending promise making this a redundant check. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2446113007 Cr-Commit-Position: refs/heads/master@{#40591}
-
gsathya authored
This patch replaces it with calls to the runtime function and PromiseSet. This allows us to move PromiseReject to C++ without regressions. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2451133002 Cr-Commit-Position: refs/heads/master@{#40589}
-
- 25 Oct, 2016 4 commits
-
-
gsathya authored
This causes a 3.1% regression because we unconditionally call out to a runtime function. This patch refactors out most of EnqueuePromiseReactionJob runtime function into a separate function. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2449053003 Cr-Commit-Position: refs/heads/master@{#40570}
-
gsathya authored
Removes PromiseEnqueue and moves debugging code to a separate function which gets called when the debugger is active. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2450763002 Cr-Commit-Position: refs/heads/master@{#40562}
-
gsathya authored
FulfillPromise is always called when a promise is in a pending state which makes this check redundant. Review-Url: https://codereview.chromium.org/2442373002 Cr-Commit-Position: refs/heads/master@{#40556}
-
jgruber authored
This CL removes code that is now unused since the port of regexp.js has been completed. Removed functions / classes are: * regexp.js (GetSubstitution moved to string.js) * RegExpConstructResult stub * RegExpFlags intrinsic * RegExpSource intrinsic * RegExpInitializeAndCompile runtime function BUG=v8:5339 Review-Url: https://codereview.chromium.org/2448463002 Cr-Commit-Position: refs/heads/master@{#40547}
-
- 19 Oct, 2016 1 commit
-
-
gsathya authored
Moving the rest of the debugging code is blocked on making IsPromise inlinable. BUG=v8:5343 Review-Url: https://chromiumcodereview.appspot.com/2431793003 Cr-Commit-Position: refs/heads/master@{#40440}
-
- 18 Oct, 2016 3 commits
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2425553003 Cr-Commit-Position: refs/heads/master@{#40405}
-
bmeurer authored
R=epertoso@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2424403002 Cr-Commit-Position: refs/heads/master@{#40399}
-
caitp authored
Implements the variations of CreateArrayIterator() in TFJ builtins (ArrayPrototypeValues, ArrayPrototypeEntries and ArrayPrototypeKeys), and provides two new Object types with numerous maps which identify certain behaviours, which will be useful for inlining. Removes src/js/array-iterator.js entirely Also adds support for printing Symbol literals inserted by the Parser during desugaring when FLAG_print_builtin_ast is set to true. BUG=v8:5388 R=bmeurer@chromium.org, cbruni@chromium.org TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2405253006 Cr-Commit-Position: refs/heads/master@{#40373}
-
- 17 Oct, 2016 1 commit
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2415023002 Cr-Commit-Position: refs/heads/master@{#40369}
-
- 14 Oct, 2016 7 commits
-
-
gsathya authored
If the catch prediction machinery in the middle of some async op, we shouldn't send invalid events to the debugger. Instead of sending events with an undefined id, we don't send them at all. Review-Url: https://codereview.chromium.org/2417093003 Cr-Commit-Position: refs/heads/master@{#40327}
-
yangguo authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2410303009 Cr-Commit-Position: refs/heads/master@{#40311}
-
jgruber authored
Now that all accesses to the last match info are in C++ and TF code, we can finally turn the last match info into a FixedArray. Similar to the ArrayList, it uses its first field to store its length and grows dynamically in amortized O(1) time. Unlike previously, this means that the last match info pointer stored on the context can actually change (in case the FixedArray needs to grow). BUG=v8:5339 Review-Url: https://codereview.chromium.org/2415103002 Cr-Commit-Position: refs/heads/master@{#40308}
-
bmeurer authored
These accessors also always call into C++ anyways, so there's no point in having the JavaScript wrappers. R=yangguo@chromium.org BUG=v8:5049, chromium:655963 Committed: https://crrev.com/ede69cfabd790fe9f171b5d1f426ea0fc55e3c98 Review-Url: https://codereview.chromium.org/2417183002 Cr-Original-Commit-Position: refs/heads/master@{#40298} Cr-Commit-Position: refs/heads/master@{#40306}
-
machenbach authored
Revert of [builtins] Also port the Object.prototype.__proto__ accessors to C++. (patchset #1 id:1 of https://codereview.chromium.org/2417183002/ ) Reason for revert: [Sheriff] Speculative revert for webkit tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10656 Was broken before, but this one test failure started with this CL: inspector/console/console-dir.htm All other errors stopped after another revert. See also: https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > [builtins] Also port the Object.prototype.__proto__ accessors to C++. > > These accessors also always call into C++ anyways, so there's no point > in having the JavaScript wrappers. > > R=yangguo@chromium.org > BUG=v8:5049 > > Committed: https://crrev.com/ede69cfabd790fe9f171b5d1f426ea0fc55e3c98 > Cr-Commit-Position: refs/heads/master@{#40298} 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=v8:5049 Review-Url: https://codereview.chromium.org/2415173003 Cr-Commit-Position: refs/heads/master@{#40303}
-
bmeurer authored
These accessors also always call into C++ anyways, so there's no point in having the JavaScript wrappers. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2417183002 Cr-Commit-Position: refs/heads/master@{#40298}
-
bmeurer authored
This calls into C++ anyways, so no need to add the JavaScript wrapper around it. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2421803002 Cr-Commit-Position: refs/heads/master@{#40293}
-
- 13 Oct, 2016 2 commits
-
-
jgruber authored
This ports RegExpInitialize, IsRegExp, InternalMatch and InternalReplace to C++ / TurboFan. InternalMatch is in TurboFan because it calls RegExpExecStub and needs to construct a RegExpResult (which are, respectively, a PlatformStub and a CodeStubAssembler function). Except for LastMatchInfo (and GetSubstitution, which could be moved to string.js anytime), regexp.js is now completely empty. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2409513003 Cr-Commit-Position: refs/heads/master@{#40277}
-
jgruber authored
This moves the implementation of @@replace from regexp.js to builtins-regexp.cc (the TurboFan fast path) and runtime-regexp.cc (slow path). The fast path handles all cases in which the regexp itself is an unmodified JSRegExp instance, the given 'replace' argument is not callable and does not contain any '$' characters (i.e. we are doing a string replacement). BUG=v8:5339 Review-Url: https://codereview.chromium.org/2398423002 Cr-Commit-Position: refs/heads/master@{#40253}
-
- 12 Oct, 2016 3 commits
-
-
gsathya authored
Review-Url: https://codereview.chromium.org/2419713002 Cr-Commit-Position: refs/heads/master@{#40241}
-
gsathya authored
This patch results in a 11% improvement over 5 runs in the bluebird benchmark. BUG=v8:5343,v8:5046 TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2406343002 Cr-Commit-Position: refs/heads/master@{#40239}
-
jgruber authored
Our minifier (tools/jsmin.py) shortens variable names it comes across. It generally tries to avoid name conflicts caused by renamed variables, but cannot handle lambda function syntax. This is what happens here. Both lambda function parameters 'x' and 'y' are not recognized as identifiers by the minifier and it thus potentially causes naming conflicts. BUG=v8:5505 Review-Url: https://codereview.chromium.org/2412533002 Cr-Commit-Position: refs/heads/master@{#40198}
-
- 11 Oct, 2016 4 commits
-
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2407173002 Cr-Commit-Position: refs/heads/master@{#40165}
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2406873002 Cr-Commit-Position: refs/heads/master@{#40164}
-
jgruber authored
This CL ports RegExp.prototype[@@split] to C++. Performance regressions are expected due to: * Slow RegExpImpl::Exec implementation instead of RegExpExec stub. We should be able to improve this by straight-lining RegExpImpl::Exec. * Slow Factory::NewSubString instead of SubStringStub. * Slow elements access to lastMatchInfo. These points will be addressed in a follow-up CL. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2401643002 Cr-Commit-Position: refs/heads/master@{#40161}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5049, v8:5086 Review-Url: https://codereview.chromium.org/2402363002 Cr-Commit-Position: refs/heads/master@{#40149}
-
- 10 Oct, 2016 7 commits
-
-
gsathya authored
The behavior was changed in https://codereview.chromium.org/2357423002 Review-Url: https://codereview.chromium.org/2403163002 Cr-Commit-Position: refs/heads/master@{#40142}
-
gsathya authored
Review-Url: https://codereview.chromium.org/2397373004 Cr-Commit-Position: refs/heads/master@{#40130}
-
petermarshall authored
Also add a test for when the first argument is null or undefined, as there are no tests that cover this currently. BUG=v8:5364 Review-Url: https://codereview.chromium.org/2399423003 Cr-Commit-Position: refs/heads/master@{#40127}
-
jgruber authored
This CL ports RegExp.prototype.test, RegExp.prototype.match and RegExp.prototype.search to C++. Performance regressions are expected but should be improved in an upcoming CL. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2394713003 Cr-Commit-Position: refs/heads/master@{#40122}
-
jgruber authored
Again, fast paths could be added for unmodified JSRegExp instances. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2392463005 Cr-Commit-Position: refs/heads/master@{#40119}
-
petermarshall authored
Revert of [builtins] Move StringIncludes to a builtin. (patchset #4 id:60001 of https://codereview.chromium.org/2399423003/ ) Reason for revert: String.includes crashes when called with null or undefined as the first param Original issue's description: > [builtins] Move StringIncludes to a builtin. > > BUG=v8:5364 > > Committed: https://crrev.com/b374d719e79a5b32168c25c0cda30056f5e6e36c > Cr-Commit-Position: refs/heads/master@{#40110} TBR=franzih@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5364 Review-Url: https://codereview.chromium.org/2407793002 Cr-Commit-Position: refs/heads/master@{#40118}
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2399423003 Cr-Commit-Position: refs/heads/master@{#40110}
-
- 07 Oct, 2016 2 commits
-
-
petermarshall authored
BUG=v8:5364 Review-Url: https://codereview.chromium.org/2350963004 Cr-Commit-Position: refs/heads/master@{#40093}
-
bmeurer authored
This implicitly convers parseFloat on the global object as well, since it's the same function. This is mostly straight-forward, but adds another fast case for HeapNumbers as well. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2395373002 Cr-Commit-Position: refs/heads/master@{#40072}
-
- 06 Oct, 2016 1 commit
-
-
gsathya authored
This patch sets `this` to be undefined when calling resolve and reject functions attached to the deferred. BUG=v8:5476 Review-Url: https://codereview.chromium.org/2399053003 Cr-Commit-Position: refs/heads/master@{#40056}
-