- 08 Jan, 2019 1 commit
-
-
Mike Stanton authored
Change-Id: Ifc71ae885b2a08b898ace7f75a8df0ca2b9c3a3d Reviewed-on: https://chromium-review.googlesource.com/c/1275820 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#58643}
-
- 07 Jan, 2019 1 commit
-
-
peterwmwong authored
- Removes the last `CORE` JS native script: `prologue.js`. - Removes build step and bootstrapping associated with building/loading `CORE` JS natives. - Removes `natives_utils_object` from context. - Deprecates `--expose-natives-as` flag. - Ports extra utils functions to C++ (`uncurryThis`) or Torque (`createPrivateSymbol`, `markPromiseAsHandled`, and `promiseState`). - Move extra utils constants initialization into bootstrapper (`kPROMISE_PENDING`, `kPROMISE_FULFILLED`, `kPROMISE_REJECTED`). - Removes unused extra utils functions `log` and `logStackTrace`. Drive-by: Added test coverage for Array#includes being an unscopeable. Bug: v8:7624 Change-Id: I5d983f8d11b76cb4dd3c2c67592ce1dc88364cd9 Reviewed-on: https://chromium-review.googlesource.com/c/1381672Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#58577}
-
- 18 Dec, 2018 1 commit
-
-
Frank Tang authored
Sync with https://github.com/tc39/proposal-intl-segmenter/pull/55 and https://github.com/tc39/test262/pull/1994 Bug: v8:8588 Change-Id: Ifc46779f156ea986e3dbe6a632a781bb7134112b Reviewed-on: https://chromium-review.googlesource.com/c/1374997Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#58301}
-
- 17 Dec, 2018 1 commit
-
-
Marja Hölttä authored
New API is here: https://github.com/tc39/proposal-weakrefs/issues/55 The WeakCell parts stay in the old API, resulting in temporary code duplication in some parts. Those parts will go away once the WeakCell-related parts are migrated to the new API (but the spec needs some work first). BUG=v8:8179 Change-Id: I81ca824a14d830e3c5fa515d5ad7e5f78c10e19d Reviewed-on: https://chromium-review.googlesource.com/c/1378171 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#58264}
-
- 13 Dec, 2018 1 commit
-
-
Jakob Gruber authored
Post-stub-to-builtin migration, all explicit connection between descriptors and their associated ASM code has been lost. This restores the connection where possible. Builtins without an associated descriptor are marked with the DummyDescriptor. Drive-by: alpha-sort the descriptor list. Drive-by: use Builtins::CallableFor in code factory. Bug: v8:8562, v8:8553 Change-Id: If1f13bbaf7e42453b3235cc97c58ada91b5fa7b8 Reviewed-on: https://chromium-review.googlesource.com/c/1373552Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58212}
-
- 12 Dec, 2018 2 commits
-
-
Ben Smith authored
`memory.init` copies bytes from a passive data segment to linear memory. `memory.drop` is an instruction that informs the wasm VM that the instance no longer needs access to the passive data segment. Information about the passive data segments, including their contents, length, and whether they are dropped, is stored in the `WasmInstanceObject` as primitive arrays. Bug: v8:7747 Change-Id: I1515c8868c9be227743456a539126c15280b5365 Reviewed-on: https://chromium-review.googlesource.com/c/1370691Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#58196}
-
peterwmwong authored
InternalPackedArray now only has one constructor variant that expects no arguments (Chrome's only usage of InternalPackedArray). As such, these TFC builtins are no longer used and were removed: - InternalArrayNoArgumentConstructor_Holey - InternalArraySingleArgumentConstructor_Packed - InternalArraySingleArgumentConstructor_Holey On x64.release, this reduces builtins size by ~1.2KB. Bug: v8:7624 Change-Id: I7316608dc02b1e09e9e414ee1aeb1fb08410c6f6 Reviewed-on: https://chromium-review.googlesource.com/c/1372772 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58193}
-
- 11 Dec, 2018 1 commit
-
-
Sven Sauleau authored
Uses the JavaScript BigInt Object to represent Wasm's 64bits integers. Attention, 32 bits architectures are not supported yet. Bug: v8:7741 Change-Id: I28b718fa567bca5103b2f38a879049cd20a46f12 Reviewed-on: https://chromium-review.googlesource.com/c/1355144 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58152}
-
- 07 Dec, 2018 1 commit
-
-
Jakob Gruber authored
This migrates the JSEntryStub to three dedicated builtins: JSEntry JSConstructEntry JSRunMicrotasksEntry Drive-by: Tweaks to make the code isolate-independent (e.g. using the correct macro assembler method to load and store external references through the kRootRegister). Drive-by: The context slot on x64/ia32 must be set up after kRootRegister is initialized, so we first reserve the slot and later load its value. Drive-by: Update all remaining comments referencing JSEntryStub. Bug: v8:7777 Change-Id: Ie3ba17ffb3bde6f18ec1d26d778b258719b2d4ef Reviewed-on: https://chromium-review.googlesource.com/c/1365275Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58088}
-
- 05 Dec, 2018 2 commits
-
-
Jakob Gruber authored
Drive-by: Replace uses in CallApi* with a direct call now that they've been converted to builtins themselves and are thus immovable. Bug: v8:7777 Change-Id: I660b5788bdac4f5e45cc5c5677b86be17474cd83 Reviewed-on: https://chromium-review.googlesource.com/c/1361161 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#58037}
-
Jakob Gruber authored
Bug: v8:7777 Change-Id: Iee3e03b0a3fea245408de4d675caa634a74aa188 Reviewed-on: https://chromium-review.googlesource.com/c/1357053Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#58036}
-
- 30 Nov, 2018 1 commit
-
-
Aseem Garg authored
This is a reland of 9436e8a8 This CL simplifies the wasm/futex.js test so that it doesn't push the limits of d8. Original change's description: > [wasm] Add I64AtomicWait implementation > > Bug=v8:8075 > R=adamk@chromium.org,binji@chromium.org > > Change-Id: I11ef5daccd043123b23e60c93ee0df79cabe9ccd > Reviewed-on: https://chromium-review.googlesource.com/c/1342948 > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Ben Smith <binji@chromium.org> > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57917} Change-Id: Ifd26f1ecdb9fe24a1896162bb4d4285f9188a9ba Reviewed-on: https://chromium-review.googlesource.com/c/1351304 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#57953}
-
- 29 Nov, 2018 1 commit
-
-
Aseem Garg authored
This reverts commit 9436e8a8. Reason for revert: Breaks TSAN. Original change's description: > [wasm] Add I64AtomicWait implementation > > Bug=v8:8075 > R=adamk@chromium.org,binji@chromium.org > > Change-Id: I11ef5daccd043123b23e60c93ee0df79cabe9ccd > Reviewed-on: https://chromium-review.googlesource.com/c/1342948 > Reviewed-by: Adam Klein <adamk@chromium.org> > Reviewed-by: Ben Smith <binji@chromium.org> > Commit-Queue: Aseem Garg <aseemgarg@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57917} TBR=binji@chromium.org,adamk@chromium.org,aseemgarg@chromium.org Change-Id: Ic82ce8794410a0d4d19de07abd9bb8a7aaff1c1c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/1351303Reviewed-by:
Aseem Garg <aseemgarg@chromium.org> Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#57919}
-
- 28 Nov, 2018 1 commit
-
-
Aseem Garg authored
Bug=v8:8075 R=adamk@chromium.org,binji@chromium.org Change-Id: I11ef5daccd043123b23e60c93ee0df79cabe9ccd Reviewed-on: https://chromium-review.googlesource.com/c/1342948Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#57917}
-
- 26 Nov, 2018 1 commit
-
-
Daniel Clifford authored
In the process, use the correct ArrayPrototype* naming convention for the slice and splice builtins. Change-Id: I1f85e5512dbde8f92e7c764aef9f137d0a6693e0 Reviewed-on: https://chromium-review.googlesource.com/c/1350869Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#57840}
-
- 22 Nov, 2018 1 commit
-
-
Jakob Gruber authored
This CL moves the two remaining IC stubs to builtins, generating a dedicated builtin for each KeyedAccessStoreMode variant. Bug: v8:7777 Change-Id: I540b3c3437adb94094771a19713e71ec8a349553 Reviewed-on: https://chromium-review.googlesource.com/c/1346095Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57719}
-
- 20 Nov, 2018 1 commit
-
-
Aseem Garg authored
Bug=v8:8075 R=adamk@chromium.org,binji@chromium.org Change-Id: I2367e24888a268ce93b1730195cb4767896861cc Reviewed-on: https://chromium-review.googlesource.com/c/1341126Reviewed-by:
Ben Smith <binji@chromium.org> Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Cr-Commit-Position: refs/heads/master@{#57624}
-
- 19 Nov, 2018 2 commits
-
-
Aseem Garg authored
Bug=v8:8075 R=adamk@chromium.org Change-Id: Ib7b18448d59e1f54f664e24908fbd3a8b4607a9f Reviewed-on: https://chromium-review.googlesource.com/c/1332153 Commit-Queue: Aseem Garg <aseemgarg@chromium.org> Reviewed-by:
Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#57623}
-
Jakob Gruber authored
KeyedLoadSloppyArguments -> KeyedLoadIC_SloppyArguments KeyedStoreSloppyArguments -> KeyedStoreIC_SloppyArguments LoadIndexedIntercepter -> LoadIndexedInterceptorIC StoreInArrayLiteralSlowStub -> StoreInArrayLiteralIC_Slow StoreInterceptor -> StoreInterceptorIC StoreSlowElementStub -> KeyedStoreIC_Slow A few Store stubs were parameterized for the sole purpose of determining the KeyedAccessStoreMode later on. These are now implemented as a dedicated builtin for each store mode. Bug: v8:7777 Change-Id: I743474b0e6c5d6ec2513bb9f8f3a93c5c0535927 Reviewed-on: https://chromium-review.googlesource.com/c/1339859Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57592}
-
- 13 Nov, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:8179 Change-Id: I7dc024fe4880a787cadac8b79bca6da87e2d36de Reviewed-on: https://chromium-review.googlesource.com/c/1328926 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#57476}
-
- 05 Nov, 2018 1 commit
-
-
Marja Hölttä authored
- Add the WeakRef class and its deref() function. - Add WeakFactory.prototype.makeRef - Implement the "keep during job" behavior for WeakRef constructor and deref(). - Here we keep the targets alive longer than until the end of the job (microtask), contradicting the spec. However, this is probably the indended behavior, see https://github.com/tc39/proposal-weakrefs/issues/39 . BUG=v8:8179 Change-Id: I41990d41ac1799e34f675d8431b9a7aa7ed3d48d Reviewed-on: https://chromium-review.googlesource.com/c/1306435 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57242}
-
- 29 Oct, 2018 3 commits
-
-
Clemens Hammacher authored
The "grow_memory" opcode was renamed to "memory.grow", and the spec repo was updated to use kExprMemoryGrow internally instead of kExprGrowMemory (https://github.com/WebAssembly/spec/pull/720). This CL does the same change for v8. Drive-by: Rename "current_size" to "memory.size", and a minor cleanup in wasm-graph-builder.js to bring it in line with the version in the js-api tests in the spec repo. R=titzer@chromium.org Change-Id: If525dba898b2c248890a616d3392c22b45f698ef Reviewed-on: https://chromium-review.googlesource.com/c/1302057Reviewed-by:
Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57089}
-
Jakob Gruber authored
Now that embedded builtins are enabled everywhere*, lazy deserialization can be turned off and removed. * Except nosnap builds, on aix and in msvc builds. Bug: v8:6666, v8:6624, v8:7990 Change-Id: Ib5fefe10e7ff35b13a1eb803fbc3736b8851b22b Reviewed-on: https://chromium-review.googlesource.com/c/1288638Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#57064}
-
Benedikt Meurer authored
In order for Error.prepareStackTrace() to be able to reconstruct the same stack frame that the internal mechanism can, we need to also expose the index for the Promise.all() builtin. The newly added CallSite#getPromiseIndex() does exactly that. Bug: v8:7522 Change-Id: I904a4c1005f539536a71926ea1da38b31e2a2e8a Reviewed-on: https://chromium-review.googlesource.com/c/1304293Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57055}
-
- 26 Oct, 2018 1 commit
-
-
Benedikt Meurer authored
This adds support for Promise.all() to --async-stack-traces (also at zero cost, since we can derive the relevant information from the resolve element closure and context). In case of `Promise.all(a)` the stack trace even tells you which element of `a` is responsible, for example ```js async function fine() {} async function thrower() { await fine(); throw new Error(); } async function test() { await Promise.all([fine(), thrower()]); } ``` will generate the following stack trace ``` Error at thrower (something.js:1:9) at async Promise.all (index 1) at async test (something.js:3:3) ``` so it not only shows the async Promise.all() frames, but even tells the user exactly that the second element of `[fine(), thrower()]` is the relevant one. Bug: v8:7522 Change-Id: I279a845888e06053cf0e3c9338ab71caabaabf45 Reviewed-on: https://chromium-review.googlesource.com/c/1299248Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#57023}
-
- 25 Oct, 2018 1 commit
-
-
Michael Starzinger authored
This adds support for having reference type values (i.e. anyref) stored in an exception. It is the natural combination of the reference type proposal and the exception handling proposal. Note that this also introduces support for having write barriers in generated WasmCode, as this is the first time we are storing references within generated code. Such write barriers will be needed for other uses of reference types (e.g. mutable global) regardless. R=clemensh@chromium.org TEST=mjsunit/wasm/exceptions-anyref BUG=v8:8341 Change-Id: I1211d4a850954622cb873eede0b4024fecc3dd8b Reviewed-on: https://chromium-review.googlesource.com/c/1296484 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#56995}
-
- 24 Oct, 2018 2 commits
-
-
Caitlin Potter authored
There are several core changes in this stub: 1) add a version of KeyedStoreGenericGenerator::SetPropertyInLiteral() which supports indexed properties directly, witthout KeyedStore 2) add a code stub for SetPropertyInLiteral which uses the version supporting indexed properties 3) Use the code stub in CloneObjectIC, rather than using the smaller special-cased version which does not handle Names. Item 1) involves a refactoring which adds a nice way to reuse code in KeyedStoreGenericAssembler, which allows deleting a bunch of copy/pasted code. This makes it easy to reuse the index handling in KeyedStoreGeneric() without adding adding a bunch more duplicated handling. Because of this, I consider this to be somewhat of a cleanup, though if the copied code is preferred, I'm happy to revert to that. Item 2) is needed for Object.fromEntries(), as it's better to not require falling back to the slow path if a key happens to be an Smi --- but this is also optional. Item 3) benefits the codebase by allowing Object.fromEntries() to use this fast path without calling into the runtime, and without duplicating code which is also used by CloneObjectIC. I am skeptical that this should affect performance significantly. I've run ObjectLiteralSpread tests, and the mean of scores over 100 runs is somewhat surprising: CloneObjectIC --- the only user of this code, has an increased average score, while the polyfill cases score slightly worse --- However, the overall changes are small and likely flukes. The complete processed test output is below: ``` // Mean of 100 runs of each benchmark Babel-ObjectLiteralSpread: -----+---------------------------+---------------------------+------- | With patch | Without patch | diff Mean | 11530.87 | 12142.92 | -5.04% -----+---------------------------+---------------------------+------- BabelAndOverwrite-ObjectLiteralSpread: -----+---------------------------+---------------------------+------- | With patch | Without patch | diff Mean | 10881.41 | 11260.81 | -3.37% -----+---------------------------+---------------------------+------- ObjectAssign-ObjectLiteralSpread: -----+---------------------------+---------------------------+------- | With patch | Without patch | diff Mean | 6188.92 | 6358.55 | -2.67% -----+---------------------------+---------------------------+------- ObjectAssignAndOverwrite-ObjectLiteralSpread: -----+---------------------------+---------------------------+------- | With patch | Without patch | diff Mean | 6112.80 | 6275.54 | -1.61% -----+---------------------------+---------------------------+------- ObjectSpread-ObjectLiteralSpread: -----+---------------------------+---------------------------+------- | With patch | Without patch | diff Mean | 51942.93 | 50713.17 | +3.46% -----+---------------------------+---------------------------+------- ObjectSpreadAndOverwrite-ObjectLiteralSpread: -----+---------------------------+---------------------------+------- | With patch | Without patch | diff Mean | 51375.23 | 50833.29 | +2.09% -----+---------------------------+---------------------------+------- ``` BUG=v8:8238, v8:8021 R=ishell@chromium.org, jkummerow@chromium.org Change-Id: I43e102fc461ffd389b5d6810a73f86e5012d7dee Reviewed-on: https://chromium-review.googlesource.com/c/1277751 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#56957}
-
Mathias Bynens authored
Spec: https://tc39.github.io/ecma262/#sec-array.of Note that the `IsConstructor` abstract operation [1] is implemented as a `typeswitch`. [1] https://tc39.github.io/ecma262/#sec-isconstructor Bug: v8:8321 Change-Id: I17af918c1d928faf8a630b35432876baa96da217 Reviewed-on: https://chromium-review.googlesource.com/c/1296464Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#56935}
-
- 23 Oct, 2018 2 commits
-
-
Marja Hölttä authored
Previous version: https://chromium-review.googlesource.com/c/v8/v8/+/1292058 BUG=v8:8179 TBR=hpayer@chromium.org, gsathya@chromium.org Change-Id: Ia79b75a0630c5926e59206c29053addc88bfb6fe Reviewed-on: https://chromium-review.googlesource.com/c/1296210Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56886}
-
Benedikt Meurer authored
This builtin was initially used to create the promise for an async function, but that is now done by the AsyncFunctionEnter intrinsic. Bug: v8:7253 Change-Id: I90d0bb31c1548bbfdb53833a5c06161db368f4f0 Reviewed-on: https://chromium-review.googlesource.com/c/1296129Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56878}
-
- 22 Oct, 2018 2 commits
-
-
Marja Hölttä authored
This reverts commit 49bd7f50. Reason for revert: breaks nonintl build since the added string is inside wrong ifdefs Original change's description: > [js weak refs] Add WeakCell.clear() > > BUG=v8:8179 > > Change-Id: Ic0d9af273a8a92177bf60e4be0dd5bddaf31868c > Reviewed-on: https://chromium-review.googlesource.com/c/1292058 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Commit-Queue: Marja Hölttä <marja@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56853} TBR=marja@chromium.org,hpayer@chromium.org,gsathya@chromium.org Change-Id: I7d6831cfd8a5263ee327c2a80274d1cd10dd65cc No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8179 Reviewed-on: https://chromium-review.googlesource.com/c/1293573Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56855}
-
Marja Hölttä authored
BUG=v8:8179 Change-Id: Ic0d9af273a8a92177bf60e4be0dd5bddaf31868c Reviewed-on: https://chromium-review.googlesource.com/c/1292058Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56853}
-
- 18 Oct, 2018 2 commits
-
-
Frank Tang authored
This is a reland of 30729e82 Also change the intl.js to remove the ", utils" Original change's description: > [Intl] Move Intl.getCanonicalLocales to C++ > > Bug: v8:5751 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I20dc0e7eda58f2d9211d0e569d553dd6fcc14fd3 > Reviewed-on: https://chromium-review.googlesource.com/c/1275807 > Commit-Queue: Frank Tang <ftang@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56747} Bug: v8:5751 Change-Id: I0bbd5392234d23790e8c405a55e97b764d42507e Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1286956 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Frank Tang <ftang@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#56792}
-
Frank Tang authored
Design doc https://goo.gl/fgc2Cp Bug: v8:6891 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I8bc5ea3137fd1b66213403ae9ea3461f40efc977 Reviewed-on: https://chromium-review.googlesource.com/c/1257923 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#56757}
-
- 17 Oct, 2018 3 commits
-
-
Frank Tang authored
This reverts commit 30729e82. Reason for revert: <INSERT REASONING HERE> Original change's description: > [Intl] Move Intl.getCanonicalLocales to C++ > > Bug: v8:5751 > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: I20dc0e7eda58f2d9211d0e569d553dd6fcc14fd3 > Reviewed-on: https://chromium-review.googlesource.com/c/1275807 > Commit-Queue: Frank Tang <ftang@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56747} TBR=jshin@chromium.org,gsathya@chromium.org,ftang@chromium.org Change-Id: I236e183288f0546b8bbdca4804a1d02421c8c714 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5751 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/c/1286955Reviewed-by:
Frank Tang <ftang@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#56749}
-
Frank Tang authored
Bug: v8:5751 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I20dc0e7eda58f2d9211d0e569d553dd6fcc14fd3 Reviewed-on: https://chromium-review.googlesource.com/c/1275807 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#56747}
-
Hai Dang authored
This CL extends IterableToListWithSymbolLookup with fast paths for spreading keys/values iterators of JSMap, and values iterator of JSSet (which is also the iterator of Set.prototype.keys() and Set.prototype[Symbol.iterator]()). The fast paths are only taken if the target still has original iteration behavior. For iterators it is also required that the iterator is not partially consumed. After spreading, to be spec-compliant, the iterator is exhausted. Tests are added. Bug: v8:7980 Change-Id: Ida74e5ecbbc5ba5488d13a40f2c4bda14c781cbf Reviewed-on: https://chromium-review.googlesource.com/c/1276632Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Hai Dang <dhai@google.com> Cr-Commit-Position: refs/heads/master@{#56716}
-
- 16 Oct, 2018 2 commits
-
-
peterwmwong authored
This also includes ports of Array.p.toString and Array.p.toLocaleString. Many parts of the old JS implementation are preserved, because TypedArray.p.join still relies on it. These will be removed once TypedArray.p.join is ported to Torque. To simplify implementation, special handling of extremely sparse arrays has been removed. Performance improvements vary by array size, elements, and sparse-ness. Some quick numbers and graphs are here: https://docs.google.com/spreadsheets/d/125VLmRMudk8XaomLCsZQ1ewc94WCqht-8GQwU3s9BW8/edit#gid=2087673710 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.v8.try:v8_linux_noi18n_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ia4069a068403ce36676c37401d349aefc976b045 Reviewed-on: https://chromium-review.googlesource.com/c/1196693 Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#56699}
-
Marja Hölttä authored
BUG=v8:8179 Change-Id: I528e64fafff2dc00808c48107799d39603f0ca48 Reviewed-on: https://chromium-review.googlesource.com/c/1275823 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#56697}
-
- 11 Oct, 2018 1 commit
-
-
Benedikt Meurer authored
This JSAsyncFunctionObject represents the implicit generator object inside of async functions, and also holds the outer promise for the async functions. This in turn allows us to get rid of the .promise in the Parser / BytecodeGenerator completely, and will make it possible to build zero-cost async stack traces independent of the concrete synchronous part of the stack frame (which currently breaks in Node.js). In the bytecode all the async function operations now take this new JSAsyncFunctionObject instead of passing both the .generator_object and the .promise, which further simplifies and shrinks the bytecode. It also reduces the size of async function frames, potentially making the suspend/resume cheaper. This also changes `await` to use intrinsics instead of calling to special JSFunctions on the native context, and thus reduces the size of the native contexts. Drive-by-fix: Introduce a dedicated JSCreateAsyncFunctionObject operator to TurboFan. Bug: v8:7253, v8:7522 Change-Id: I2305302285156aa1f71328ecac70377abdd92c80 Ref: nodejs/node#11865 Design-Document: http://bit.ly/v8-zero-cost-async-stack-traces Reviewed-on: https://chromium-review.googlesource.com/c/1273049 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56554}
-