- 13 Jan, 2017 2 commits
-
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2633553002 Cr-Commit-Position: refs/heads/master@{#42329}
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2622413004 Cr-Commit-Position: refs/heads/master@{#42328}
-
- 12 Jan, 2017 6 commits
-
-
gsathya authored
Before, in `var p1 = p.then(() => {}) we would trigger the before/after callbacks with p as the associated promise, but we must call it with p1. Also removes promise from PromiseReactionJobInfo. Review-Url: https://codereview.chromium.org/2633443002 Cr-Commit-Position: refs/heads/master@{#42295}
-
ishell authored
The constant field tracking implies data constants to be stored in fields instead of descriptor arrays. This CL does necessary modifications to the JSModuleNamespace map setup. BUG=v8:1569, v8:5495 Review-Url: https://codereview.chromium.org/2625093005 Cr-Commit-Position: refs/heads/master@{#42294}
-
rossberg authored
R=titzer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2620263003 Cr-Commit-Position: refs/heads/master@{#42288}
-
adamk authored
This function was only needed for extrasUtils. Since it was simply calling a builtin function, just expose that builtin instead. This requires an arguments adapter frame for the builtin. As a drive-by fix, also added an arguments adapter for the extrasUtils.resolvePromise (and a regression test). Other cleanup: removed unused native context slot for PROMISE_SET_AND_CREATE. R=gsathya@chromium.org BUG=v8:5343 Review-Url: https://codereview.chromium.org/2626793003 Cr-Commit-Position: refs/heads/master@{#42284}
-
littledan authored
With the new initialization semantics, the V8 ECMA 402 (Intl) implementation does not need to indirect through a symbol to get at the underlying object. This patch removes that indirection, simplifying the implementation. R=yangguo@chromium.org BUG=v8:5751 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/2601833002 Cr-Commit-Position: refs/heads/master@{#42281}
-
ishell authored
This is a necessary cleanup before introducing PropertyConstness bit. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2624903003 Cr-Commit-Position: refs/heads/master@{#42277}
-
- 10 Jan, 2017 1 commit
-
-
adamk authored
It shipped with Chrome 55 stable. R=littledan@chromium.org Review-Url: https://codereview.chromium.org/2621173002 Cr-Commit-Position: refs/heads/master@{#42203}
-
- 09 Jan, 2017 2 commits
-
-
cbruni authored
The pattern IsNull(isolate) || IsUndefined(isolate) is used in many places all over the code base. Review-Url: https://codereview.chromium.org/2601503002 Cr-Commit-Position: refs/heads/master@{#42138}
-
yangguo authored
Background to this is that blink needs to be able to pass different internal fields deserialization callbacks for individual to-be-deserialized contexts. R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2619203002 Cr-Commit-Position: refs/heads/master@{#42132}
-
- 06 Jan, 2017 2 commits
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2616673003 Cr-Commit-Position: refs/heads/master@{#42113}
-
adamk authored
The attached chromium bug suggests that turning this on via a flag regressed a perf test. Having previously run into slowdowns due to experimental JS natives, my suspicion is that this regression can be fixed by including the new builtins in the snapshot. My intention is to land this patch to see if the regression goes away on the bots. Given the nature of this feature, it seems low-risk to remove the runtime flag. If need be, it would be trivial to craft a patch to remove these two methods from String.prototype if we run into web compat issues during the release (note that no release branch has yet picked up this feature). BUG=v8:4954, chromium:677444 Review-Url: https://codereview.chromium.org/2610853010 Cr-Commit-Position: refs/heads/master@{#42111}
-
- 05 Jan, 2017 1 commit
-
-
gsathya authored
This patch adds parsing of spread object property. -- Changes ParsePropertyName to parse Token::ELLIPSIS. -- Throws if rest is encountered by setting a pattern error. -- Adds a new PropertyKind enum (SPREAD) -- Adds a new ObjectLiteralProperty::kind (SPREAD) -- Adds a new harmony-object-spread flag and protects the parser code with it. -- Adds a new runtime function called CopyDataProperties -- Does not add any support for this feature in fullcodegen. -- Ignition calls out to a runtime function CopyDataProperties to perform spread operation. -- Move FastAssign from builtins-objects.cc to objects.cc -- Refactor Builtin_ObjectAssign to use SetOrCopyDataProperties Object rest will be implemented in a follow on patch. BUG=v8:5549 Review-Url: https://codereview.chromium.org/2606833002 Cr-Commit-Position: refs/heads/master@{#42102}
-
- 04 Jan, 2017 3 commits
-
-
adamk authored
This lets us share Builtins::kReturnReceiver, so should every-so-slightly reduce the size of the context snapshot. R=gsathya@chromium.org Review-Url: https://codereview.chromium.org/2614623003 Cr-Commit-Position: refs/heads/master@{#42076}
-
gsathya authored
Add a more low level BranchIfFastPath to take the native_context and promise_fun as args and change the existing one to use this. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2592933004 Cr-Commit-Position: refs/heads/master@{#42075}
-
neis authored
See https://github.com/tc39/ecma262/pull/747. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2603193002 Cr-Commit-Position: refs/heads/master@{#42057}
-
- 03 Jan, 2017 2 commits
-
-
caitp authored
These maps contain exactly the same information as the strict maps, so this frees up a few pointers of native context space, gets rid of some branches in FastNewClosure, and adds missing poisoned properties tests for async functions. BUG=v8:2355, v8:4483 R=adamk@chromium.org, bmeurer@chromium.org, littledan@chromium.org Review-Url: https://codereview.chromium.org/2608333002 Cr-Commit-Position: refs/heads/master@{#42051}
-
bmeurer authored
Migrate Date.prototype.valueOf and Date.prototype[ @@toPrimitive ] to use the CodeStubAssembler, to avoid going through C++ always when comparing or subtracting two dates. R=epertoso@chromium.org Review-Url: https://codereview.chromium.org/2608143003 Cr-Commit-Position: refs/heads/master@{#42030}
-
- 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}
-
- 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}
-
- 27 Dec, 2016 1 commit
-
-
littledan authored
This patch moves the creation of the Intl constructors from JavaScript to C++ in bootstrapper.cc, to match all of the other builtins exposed to the web. BUG=v8:5751 Review-Url: https://codereview.chromium.org/2586763002 Cr-Commit-Position: refs/heads/master@{#41959}
-
- 21 Dec, 2016 3 commits
-
-
gsathya authored
This patch also refactors most of PromiseThen into InternalPromiseThen to be reused with PromiseCatch and also changes InternalResolvePromise to return and not branch. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2596553002 Cr-Commit-Position: refs/heads/master@{#41902}
-
ishell authored
This is a preliminary step for constant tracking. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2595893002 Cr-Commit-Position: refs/heads/master@{#41899}
-
gsathya authored
This removes RegExpPrototypeSpeciesGetter and IteratorPrototypeIterator and uses ReturnReceiver builtin instead. This patch also ports the PromiseSpecies to TF by reusing this builtin. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2590373002 Cr-Commit-Position: refs/heads/master@{#41879}
-
- 20 Dec, 2016 1 commit
-
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5530 Review-Url: https://codereview.chromium.org/2589083002 Cr-Commit-Position: refs/heads/master@{#41832}
-
- 19 Dec, 2016 1 commit
-
-
littledan authored
Previously, the Intl.DateTimeFormat constructor and other related paths had a bug where the options bag passed in would be modified in place. This patch makes V8's Intl implementation follow the specification's logic to avoid such a modification. BUG=v8:4219 Review-Url: https://codereview.chromium.org/2587703002 Cr-Commit-Position: refs/heads/master@{#41826}
-
- 16 Dec, 2016 4 commits
-
-
gsathya authored
This adds kInit, kResolve, kBefore and kAfter lifecycle hooks to promises. This also exposes an API to set the PromiseHook. BUG=v8:4643 Review-Url: https://codereview.chromium.org/2575313002 Cr-Commit-Position: refs/heads/master@{#41775}
-
rossberg authored
- Implement new WebAssembly.LinkError exception - Implement stricter checks for glboal imports - Add tests - Refactor handling of import names - Add TODOs for empty import names R=titzer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2584843002 Cr-Commit-Position: refs/heads/master@{#41764}
-
yangguo authored
If a context snapshot includes the global proxy constructor function, we expect the incoming global proxy to have the correct instance size so that we can reinitialize it with said constructor. However, when the bootstrapper allocates a new global proxy, we need to know the expected size. We solve this by storing the size on the to-be-serialized isolate. R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2585693002 Cr-Commit-Position: refs/heads/master@{#41756}
-
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 2 commits
-
-
jochen authored
Original CL description: > Store SharedFunctionInfos of a Script in a FixedArray indexed by their ID > > Now that SharedFunctionInfos have a unique ID (and the IDs are dense), > we can use them as an index into an array, instead of using a > WeakFixedArray where we have to do a linear scan. > > Hooking up liveedit is a bit more involved, see > https://docs.google.com/presentation/d/1FtNa3U7WsF5bPhY9uGoJG5Y9hnz5VBDabfOWpb4unWI/edit > for an overview > > BUG=v8:5589 > R=verwaest@chromium.org,jgruber@chromium.org > > Review-Url: https://codereview.chromium.org/2547483002 BUG=v8:5589 TBR=verwaest@chromium.org,jgruber@chromium.org Review-Url: https://codereview.chromium.org/2577063002 Cr-Commit-Position: refs/heads/master@{#41734}
-
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}
-
- 14 Dec, 2016 1 commit
-
-
kozyatinskiy authored
Revert of Store SharedFunctionInfos of a Script in a FixedArray indexed by their ID (patchset #11 id:190001 of https://codereview.chromium.org/2547483002/ ) Reason for revert: LiveEdit is broken in some cases. Original issue's description: > Store SharedFunctionInfos of a Script in a FixedArray indexed by their ID > > Now that SharedFunctionInfos have a unique ID (and the IDs are dense), > we can use them as an index into an array, instead of using a > WeakFixedArray where we have to do a linear scan. > > Hooking up liveedit is a bit more involved, see > https://docs.google.com/presentation/d/1FtNa3U7WsF5bPhY9uGoJG5Y9hnz5VBDabfOWpb4unWI/edit > for an overview > > BUG=v8:5589 > R=verwaest@chromium.org,jgruber@chromium.org > > Committed: https://crrev.com/6595e7405769dc9d49e9568d61485efc6d468baf > Cr-Commit-Position: refs/heads/master@{#41600} TBR=jgruber@chromium.org,verwaest@chromium.org,yangguo@chromium.org,jochen@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5589,chromium:673950 NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2578433002 Cr-Commit-Position: refs/heads/master@{#41684}
-
- 13 Dec, 2016 2 commits
-
-
gsathya authored
Splits PromiseHandle into two TF builtins to account for catch prediction. An exception in PromiseHandleReject builtin results in a "caught" prediction whereas an expception in PromiseHandle results in a "promise rejection" prediction. An extra is_exception_caught bit is added to Code to mark this catch prediction behavior. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2572623002 Cr-Commit-Position: refs/heads/master@{#41683}
-
yangguo authored
R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2571743002 Cr-Commit-Position: refs/heads/master@{#41668}
-
- 08 Dec, 2016 4 commits
-
-
jochen authored
Now that SharedFunctionInfos have a unique ID (and the IDs are dense), we can use them as an index into an array, instead of using a WeakFixedArray where we have to do a linear scan. Hooking up liveedit is a bit more involved, see https://docs.google.com/presentation/d/1FtNa3U7WsF5bPhY9uGoJG5Y9hnz5VBDabfOWpb4unWI/edit for an overview BUG=v8:5589 R=verwaest@chromium.org,jgruber@chromium.org Review-Url: https://codereview.chromium.org/2547483002 Cr-Commit-Position: refs/heads/master@{#41600}
-
yangguo authored
Aside from the default snapshot, there is no need for additional context snapshots to have the ability to replace the global proxy and global object after deserialization. Changes include: - Changes to the API to better distinguish default context snapshot from additional context snapshots. - Disallow global handles when creating snapshots. - Allow extensions when creating snapshots. This solves the issue of not being able to having accessors and interceptors on the global object of contexts to be serialized. R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2557743003 Cr-Commit-Position: refs/heads/master@{#41588}
-
mvstanton authored
The patch was reverted due to a bug - we failed to evict OSR-optimized code in the case where the SharedFunctionInfo OptimizedCodeMap was empty/cleared. Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. Review-Url: https://codereview.chromium.org/2561083002 Cr-Commit-Position: refs/heads/master@{#41584}
-
bmeurer authored
Revert of Store OSR'd optimized code on the native context. (patchset #8 id:140001 of https://codereview.chromium.org/2549753002/ ) Reason for revert: Speculative revert WebGL breakage reported in https://bugs.chromium.org/p/chromium/issues/detail?id=672367 Original issue's description: > Store OSR'd optimized code on the native context. > > Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. > > BUG= > > Committed: https://crrev.com/378b6b22fb7925ac5b672335a54599f5739e7758 > Cr-Commit-Position: refs/heads/master@{#41554} TBR=mstarzinger@chromium.org, mvstanton@chromium.org, ulan@chromium.org BUG= Review-Url: https://codereview.chromium.org/2562623003 Cr-Commit-Position: refs/heads/master@{#41571}
-