- 03 Jan, 2017 1 commit
-
-
gsathya authored
-- Removes remaning debug from promise.js and moves it to c++ -- Changes debug_id to be a smi in PromiseReactionJobInfo and PromiseResolveThenableJobInfo. -- Changes debug_name to be a smi in PromiseReactionJobInfo and PromiseResolveThenableJobInfo. -- Adds PromiseDebugActionName and PromiseDebugActionType enums -- Adds PromiseDebugActionNameToString and PromiseDebugActionTypeToString helper methods -- Changes variable `status` to be int in runtime functions. -- Changes debug_id to start from 1, not 0 for easier bookkeeping. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2606093002 Cr-Commit-Position: refs/heads/master@{#42052}
-
- 02 Jan, 2017 1 commit
-
-
caitp authored
- Adds CodeAssembler::ConstructJS() to simplify calling JS functions as constructors, used by NewPromiseCapability() - Defines PromiseCapability as a special JSObject subclass, with a non-exensible Map, and read-only non-configurable DataDescriptors which point to its in-object fields. This allows its fields to be used by JS builtins until there is no longer any need. Currently, the performance benefit comes from https://codereview.chromium.org/2567033003/, but does not appear to regress performance in any significant way. BUG=v8:5343 TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2567333002 Cr-Commit-Position: refs/heads/master@{#42014}
-
- 30 Dec, 2016 1 commit
-
-
gsathya authored
R=adamk@chromium.org BUG=v8:5343 Review-Url: https://codereview.chromium.org/2608843002 Cr-Commit-Position: refs/heads/master@{#41997}
-
- 29 Dec, 2016 1 commit
-
-
gsathya authored
This patch stores the promise, resolve, reject properties of the deferred object created by CreateInternalPromiseCapability and NewPromiseCapability directly on the promise (if the promise hasn't been fulfilled), otherwise they are stored on the PromiseReactionJobInfo. This patch removes the currently unused CreateInternalPromiseCapability and inlines the call to create the deferred promise object. NewPromiseCapability is the only function that works with a deferred. This patch results in a 8.5% improvement in benchmarks over 5 runs. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2590563003 Cr-Commit-Position: refs/heads/master@{#41991}
-
- 16 Dec, 2016 2 commits
-
-
mstarzinger authored
This introduces an explicit struct for the communication channel between the {ArrayLiteral} AST node and the corresponding runtime methods. Those methods take a pair of {ElementsKind} as well as an array (can either be a FixedArray or a FixedDoubleArray) of constant values. For bonus points it also reduces the size of the involved heap object by one word (i.e. length field of FixedArray not needed anymore). R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2581683003 Cr-Commit-Position: refs/heads/master@{#41752}
-
neis authored
TC39 decided at their last meeting to remove this feature. R=adamk@chromium.org TBR=ulan@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2578053003 Cr-Commit-Position: refs/heads/master@{#41745}
-
- 15 Dec, 2016 1 commit
-
-
gsathya authored
This will be used in PromiseHook. BUG=v8:4643 Review-Url: https://codereview.chromium.org/2581503003 Cr-Commit-Position: refs/heads/master@{#41730}
-
- 06 Dec, 2016 2 commits
-
-
https://codereview.chromium.org/2536463002/gsathya authored
This reverts commit 4c7cccf9. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2554943002 Cr-Commit-Position: refs/heads/master@{#41534}
-
https://codereview.chromium.org/2536463002/machenbach authored
Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11861 See: https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > Object > -- New JSObject for promises: JSPromise > > Builtins > -- PromiseThen TFJ > -- PromiseCreateAndSet TFJ for internal use > -- PerformPromiseThen TFJ for internal use > -- PromiseInit for initial promise setup > -- SpeciesConstructor for use in PromiseThen > -- ThrowIfNotJSReceiver for use in SpeciesConstructor > -- AppendPromiseCallback to update FixedArray with new callback > -- InternalPerformPromiseThen > > Promises.js > -- Cleanup unused symbols > -- Remove PerformPromiseThen > -- Remove PromiseThen > -- Remove PromiseSet > -- Remove PromiseAttachCallbacks > > Runtime > -- PromiseSet to set promise inobject values > -- Refactor functions to use FixedArrays for callbacks instead of > JSArray > -- Runtime_PromiseStatus to return promise status > -- Runtime_PromiseResult to return promise result > -- Runtime_PromiseDeferred to return deferred attached to promise > -- Runtime_PromiseRejectReactions to return reject reactions attached > to promise > > This CL results in a 13.07% improvement in the promises benchmark > (over 5 runs). > > BUG=v8:5343 > > Committed: https://crrev.com/30b564c76f490f8f6b311a74b25b26cf0a96be2d > Cr-Commit-Position: refs/heads/master@{#41503} TBR=bmeurer@chromium.org,jgruber@chromium.org,caitp@igalia.com,gsathya@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5343 Review-Url: https://codereview.chromium.org/2554013002 Cr-Commit-Position: refs/heads/master@{#41512}
-
- 05 Dec, 2016 1 commit
-
-
gsathya authored
-- New JSObject for promises: JSPromise Builtins -- PromiseThen TFJ -- PromiseCreateAndSet TFJ for internal use -- PerformPromiseThen TFJ for internal use -- PromiseInit for initial promise setup -- SpeciesConstructor for use in PromiseThen -- ThrowIfNotJSReceiver for use in SpeciesConstructor -- AppendPromiseCallback to update FixedArray with new callback -- InternalPerformPromiseThen Promises.js -- Cleanup unused symbols -- Remove PerformPromiseThen -- Remove PromiseThen -- Remove PromiseSet -- Remove PromiseAttachCallbacks Runtime -- PromiseSet to set promise inobject values -- Refactor functions to use FixedArrays for callbacks instead of JSArray -- Runtime_PromiseStatus to return promise status -- Runtime_PromiseResult to return promise result -- Runtime_PromiseDeferred to return deferred attached to promise -- Runtime_PromiseRejectReactions to return reject reactions attached to promise This CL results in a 13.07% improvement in the promises benchmark (over 5 runs). BUG=v8:5343 Review-Url: https://codereview.chromium.org/2536463002 Cr-Commit-Position: refs/heads/master@{#41503}
-
- 02 Dec, 2016 1 commit
-
-
ishell authored
[ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. ... instead of clearing of all the KeyedStoreICs which didn't always work. BUG=chromium:662907, chromium:669411, v8:5561 TBR=verwaest@chromium.org, bmeurer@chromium.org Committed: https://crrev.com/a39522f44f7e0be4686831688917e9675255dcaf Review-Url: https://codereview.chromium.org/2534613002 Cr-Original-Commit-Position: refs/heads/master@{#41332} Cr-Commit-Position: refs/heads/master@{#41449}
-
- 30 Nov, 2016 1 commit
-
-
neis authored
This adds consistency checks for function kind and scope type to SharedFunctionInfoVerify. It also fixes an inconsistency in the creation of a ScopeInfo. R=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2537093002 Cr-Commit-Position: refs/heads/master@{#41375}
-
- 29 Nov, 2016 1 commit
-
-
machenbach authored
Revert of [ic] Use validity cells to protect keyed element stores against object's prototype chain modificati… (patchset #2 id:40001 of https://codereview.chromium.org/2534613002/ ) Reason for revert: Layout test crashes: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11691 Original issue's description: > [ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. > > ... instead of clearing of all the KeyedStoreICs which didn't always work. > > BUG=chromium:662907, v8:5561 > TBR=verwaest@chromium.org, bmeurer@chromium.org > > Committed: https://crrev.com/a39522f44f7e0be4686831688917e9675255dcaf > Cr-Commit-Position: refs/heads/master@{#41332} TBR=jkummerow@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:662907, v8:5561 Review-Url: https://codereview.chromium.org/2538693002 Cr-Commit-Position: refs/heads/master@{#41337}
-
- 28 Nov, 2016 1 commit
-
-
ishell authored
[ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. ... instead of clearing of all the KeyedStoreICs which didn't always work. BUG=chromium:662907, v8:5561 TBR=verwaest@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2534613002 Cr-Commit-Position: refs/heads/master@{#41332}
-
- 21 Nov, 2016 1 commit
-
-
mstarzinger authored
This renames the {operand_stack} field to {register_file}, to refelct how said field is used on all {JSGeneratorObject} instances by now. This is a pure refactoring CL, not changes in semantics. R=neis@chromium.org Review-Url: https://codereview.chromium.org/2520913002 Cr-Commit-Position: refs/heads/master@{#41140}
-
- 15 Nov, 2016 1 commit
-
-
cbruni authored
R=jkummerow@chromium.org BUG=chromium:665112 Review-Url: https://codereview.chromium.org/2501303002 Cr-Commit-Position: refs/heads/master@{#41002}
-
- 14 Nov, 2016 2 commits
-
-
ulan authored
BUG=chromium:652721 Review-Url: https://codereview.chromium.org/2490523003 Cr-Commit-Position: refs/heads/master@{#40972}
-
cbruni authored
BUG= Review-Url: https://codereview.chromium.org/2431133003 Cr-Commit-Position: refs/heads/master@{#40969}
-
- 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}
-
- 04 Nov, 2016 2 commits
-
-
vogelheim authored
Some accessors requires little to no computation at all, its result can be cached in a private property, avoiding the call overhead. Calls to the getter are translated into a cheap property load. Follow-on to crrev.com/2347523003, from peterssen@google.com BUG=chromium:634276, v8:5548 Review-Url: https://codereview.chromium.org/2405213002 Cr-Commit-Position: refs/heads/master@{#40765}
-
neis authored
It always has the same number of slots. R=adamk@chromium.org TBR=bmeurer@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2460353002 Cr-Commit-Position: refs/heads/master@{#40754}
-
- 21 Oct, 2016 1 commit
-
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://chromiumcodereview.appspot.com/2442723002 Cr-Commit-Position: refs/heads/master@{#40508}
-
- 18 Oct, 2016 1 commit
-
-
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 3 commits
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2415023002 Cr-Commit-Position: refs/heads/master@{#40369}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2428473002 Cr-Commit-Position: refs/heads/master@{#40358}
-
neis authored
Also hide some implementation details behind abstract predicates and clean up the heap verifier functions. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2407183002 Cr-Commit-Position: refs/heads/master@{#40336}
-
- 13 Oct, 2016 2 commits
-
-
ishell authored
This CL also adds separate runtime call stats buckets for data handlers. BUG= Review-Url: https://codereview.chromium.org/2419513002 Cr-Commit-Position: refs/heads/master@{#40281}
-
neis authored
As part of this, introduce a new JSObject for iterating over the elements of a FixedArray. R=adamk@chromium.org,bmeurer@chromium.org TBR=ulan@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2407423002 Cr-Commit-Position: refs/heads/master@{#40265}
-
- 12 Oct, 2016 2 commits
-
-
gsathya authored
This is a much more descriptive name. BUG=v8:5343 TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2412263002 Cr-Commit-Position: refs/heads/master@{#40240}
-
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}
-
- 11 Oct, 2016 2 commits
-
-
adamk authored
This is a re-land of https://codereview.chromium.org/2393303002/ with an additional call to DisposeModuleEmbedderData() added to fix lsan failures. Unifies the approaches used for storing the specifier -> module mapping and the module -> directory mapping, using std::unordered_maps for both and storing them per-Context. This requires adding a method to the v8::Module API to get a hash code for a Module, but allows slimming down the API in return: gone are SetEmbedderData/GetEmbedderData, along with the fourth argument to ResolveModuleCallback. Besides a simpler API, this allows d8 to get closer to the HTML loader, which requires each Realm to have a persistent module map (though this capability is not yet exercised by any tests). BUG=v8:1569 TBR=neis@chromium.org,jochen@chromium.org Review-Url: https://codereview.chromium.org/2405313002 Cr-Commit-Position: refs/heads/master@{#40186}
-
adamk authored
Revert of [modules] Store Module metadata in per-Context EmbedderData (patchset #7 id:120001 of https://codereview.chromium.org/2393303002/ ) Reason for revert: Fails under LeakSanitizer on auto-roll fyi bot: https://build.chromium.org/p/client.v8.fyi/builders/Auto-roll%20-%20release%20process/builds/49447 Original issue's description: > [modules] Store Module metadata in per-Context EmbedderData > > Unifies the approaches used for storing the specifier -> module mapping > and the module -> directory mapping, using std::unordered_maps for both > and storing them per-Context. > > This requires adding a method to the v8::Module API to get a hash code > for a Module, but allows slimming down the API in return: gone are > SetEmbedderData/GetEmbedderData, along with the fourth argument > to ResolveModuleCallback. > > Besides a simpler API, this allows d8 to get closer to the HTML loader, > which requires each Realm to have a persistent module map (though this > capability is not yet exercised by any tests). > > BUG=v8:1569 > > Committed: https://crrev.com/9cf8fce74cf6e7afd6aea3f3545f6bb61572f277 > Cr-Commit-Position: refs/heads/master@{#40133} TBR=jochen@chromium.org,neis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:1569 Review-Url: https://codereview.chromium.org/2406973003 Cr-Commit-Position: refs/heads/master@{#40145}
-
- 10 Oct, 2016 1 commit
-
-
adamk authored
Unifies the approaches used for storing the specifier -> module mapping and the module -> directory mapping, using std::unordered_maps for both and storing them per-Context. This requires adding a method to the v8::Module API to get a hash code for a Module, but allows slimming down the API in return: gone are SetEmbedderData/GetEmbedderData, along with the fourth argument to ResolveModuleCallback. Besides a simpler API, this allows d8 to get closer to the HTML loader, which requires each Realm to have a persistent module map (though this capability is not yet exercised by any tests). BUG=v8:1569 Review-Url: https://codereview.chromium.org/2393303002 Cr-Commit-Position: refs/heads/master@{#40133}
-
- 07 Oct, 2016 5 commits
-
-
adamk authored
This allows us to stop using a Symbol, set as the name of the Module's SharedFunctionInfo, as our storage for a hash. As part of this, centralize the code for generating a random, non-zero hash code in one place (there were previously two copies of this code, and I needed to call it from a third file). BUG=v8:5483 TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2395233003 Cr-Commit-Position: refs/heads/master@{#40102}
-
neis authored
This implements namespace imports (import * as foo from "bar"), except for the @@iterator property on namespace objects (to be done later). R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2388153003 Cr-Commit-Position: refs/heads/master@{#40096}
-
jgruber authored
BUG= Committed: https://crrev.com/7db0ecdec3cf330766575cb7973b983f3f1e3020 Review-Url: https://codereview.chromium.org/2381843002 Cr-Original-Commit-Position: refs/heads/master@{#40080} Cr-Commit-Position: refs/heads/master@{#40087}
-
jgruber authored
This reverts commit 7db0ecde. Manual revert since automatic revert is too large for the web interface. BUG= TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,ahaas@chromium.org NOPRESUBMIT=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2396353002 Cr-Commit-Position: refs/heads/master@{#40082}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2381843002 Cr-Commit-Position: refs/heads/master@{#40080}
-
- 30 Sep, 2016 1 commit
-
-
caitp authored
Seems to be pretty perf-neutral (for the benchmarks we have in the tree) against the pre-flattened version. BUG=v8:5388 R=bmeurer@chromium.org, adamk@chromium.org, littledan@chromium.org Review-Url: https://codereview.chromium.org/2382013002 Cr-Commit-Position: refs/heads/master@{#39907}
-
- 29 Sep, 2016 1 commit
-
-
caitp authored
Migrate newly added C++ String Iterator builtins to TFJ builtins, per step 4. of the String Iterator Baseline Implementation section of the design doc BUG=v8:5388 R=bmeurer@chromium.org, mstarzinger@chromium.org, jkummerow@chromium.org Committed: https://crrev.com/f9a2c8b1112c4e915df8bc5f7ea1fccdf7a33ff8 Cr-Commit-Position: refs/heads/master@{#39765} patch from issue 2358263002 at patchset 260001 (http://crrev.com/2358263002#ps260001) Review-Url: https://codereview.chromium.org/2381053002 Cr-Commit-Position: refs/heads/master@{#39879}
-