- 26 Sep, 2017 12 commits
-
-
Tobias Tebbi authored
On big endian 64 bit architectures, kHashFieldOffset is not word-aligned. This breaks the assumption in escape analysis that all fields are word-aligned. Fix this by not dematerializing such objects. Alternative fix for https://chromium-review.googlesource.com/c/v8/v8/+/681335 Change-Id: I7d8e4c7934d9306cc06a614ae110e7cf7235394f Reviewed-on: https://chromium-review.googlesource.com/681714 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48163}
-
Yang Guo authored
This reverts commit 629406d1. Reason for revert: cross platform builds break. Original change's description: > [snapshot] include version string in the startup snapshot. > > This is to easier diagnose build issues involving the snapshot. > Sample error message for mismatching snapshot: > > # > # Fatal error in ../../src/snapshot/snapshot-common.cc, line 286 > # Version mismatch between V8 binary and snapshot. > # V8 binary version: 6.3.1 (candidate) > # Snapshot version: 6.3.0 (candidate) > # The snapshot consists of 2820444 bytes and contains 1 contexts. > # > > > R=machenbach@chromium.org > > Bug: chromium:764327 > Change-Id: Icdc7aeac77819b113985b424feda814a072d5406 > Reviewed-on: https://chromium-review.googlesource.com/684295 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48161} TBR=machenbach@chromium.org,yangguo@chromium.org Change-Id: I35a9b575e4f7fe5c45c9dc6f9e774c3e6d30049c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:764327 Reviewed-on: https://chromium-review.googlesource.com/684315Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48162}
-
Yang Guo authored
This is to easier diagnose build issues involving the snapshot. Sample error message for mismatching snapshot: # # Fatal error in ../../src/snapshot/snapshot-common.cc, line 286 # Version mismatch between V8 binary and snapshot. # V8 binary version: 6.3.1 (candidate) # Snapshot version: 6.3.0 (candidate) # The snapshot consists of 2820444 bytes and contains 1 contexts. # R=machenbach@chromium.org Bug: chromium:764327 Change-Id: Icdc7aeac77819b113985b424feda814a072d5406 Reviewed-on: https://chromium-review.googlesource.com/684295Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48161}
-
Yang Guo authored
- Add kProduceExhaustiveCodeCache to v8::ScriptCompiler::CompileOptions to request eager compilation to add as much as possible to the code cache for the script. - Repurpose ParseInfo::kLazy flag. - Remove ParseInfo::kDebug flag. - Remove --serialize-toplevel as it has become obsolete. R=marja@chromium.org Bug: chromium:768705 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ife14f7a1d1c02e525f0b9dbfd2452013d67c7167 Reviewed-on: https://chromium-review.googlesource.com/684019 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#48160}
-
Andreas Haas authored
NOTRY=true R=clemensh@chromium.org Change-Id: I1d4d2eee771103a91f0b4878056b8cd72e06337c Reviewed-on: https://chromium-review.googlesource.com/684077Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48159}
-
Andreas Haas authored
In the test-run-wasm and test-run-wasm-64 cctests it is not possible to call runtime functions. To test traps in these cctests we therefore replace the runtime call with a call to a c-callback, followed by a return. This CL fixes the problem that the return did not clean up stack parameters. This CL unblocks https://chromium-review.googlesource.com/c/v8/v8/+/671008. Originally I wanted to mitigate the problem in that CL by defining an additional parameter register for arm. However, adding additional parameter registers lets other tests fail. R=titzer@chromium.org, rodolph.perfetta@arm.com CC=enricobacis@google.com Bug: v8:6858 Change-Id: Ia8de73b70a0677ca4d379ed5b16272faee92a78d Reviewed-on: https://chromium-review.googlesource.com/684017Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#48158}
-
Michael Achenbach authored
This reverts commit 2f88c9b2. Reason for revert: Specualtive, seems to break win clang compilation: https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20clang/builds/8318 Original change's description: > [bigint] Implement Divide and Remainder > > Bug: v8:6791 > Change-Id: I5ab97feeb25da29bc76cd28088836b4f12d1d916 > Reviewed-on: https://chromium-review.googlesource.com/678037 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48152} TBR=jkummerow@chromium.org,jarin@chromium.org,littledan@chromium.org Change-Id: I400beee84782d0ff7fa972e4188a6d2b6d39bb96 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6791 Reviewed-on: https://chromium-review.googlesource.com/684075Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48157}
-
Michael Achenbach authored
This reverts commit daca9078. Reason for revert: https://crbug.com/v8/6857 Original change's description: > Update V8 DEPS. > > Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/898597f..57716b3 > > Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/cbc33b9..f6d165d > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/e3fe21f..9a255f5 > > Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/cf5e2ed..66be66d > > TBR=machenbach@chromium.org,hablich@chromium.org > > Change-Id: I8c7a9604d7ed71f9580cc17e7c4236348983e0a9 > Reviewed-on: https://chromium-review.googlesource.com/681848 > Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> > Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48150} TBR=v8-autoroll@chromium.org,machenbach@chromium.org,hablich@chromium.org Bug: v8:6857 Change-Id: I5fc28fb81c5b60fecefbd3324d6b1f1af85f85e2 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/684215Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48156}
-
Michael Achenbach authored
This reverts commit 5a5783e3. Reason for revert: https://crbug.com/v8/6857 Original change's description: > Update V8 DEPS. > > Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/57716b3..e7d7f78 > > Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/9a255f5..852ba76 > > TBR=machenbach@chromium.org,hablich@chromium.org > > Change-Id: I43c0f1d7286ca8ea959f2de4b78337cac9fe3f7d > Reviewed-on: https://chromium-review.googlesource.com/683735 > Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> > Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48153} TBR=v8-autoroll@chromium.org,machenbach@chromium.org,hablich@chromium.org Bug: v8:6857 Change-Id: I52bc977eacce90247fcf25f1c641402daa940024 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/684214Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48155}
-
Ulan Degenbaev authored
After 52e8d0ab incremental marking observer is invoked ~8 times more often than before. This patch increases the allocation observer threshold for incremental marking and scales the step size based on the number of concurrent marking tasks. Bug: chromium:768664 TBR: mlippautz@chromium.org Change-Id: I0afd5dccd55f32c7f545d9c3a47edc20c6fd83db Reviewed-on: https://chromium-review.googlesource.com/683955Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48154}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/57716b3..e7d7f78 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/9a255f5..852ba76 TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I43c0f1d7286ca8ea959f2de4b78337cac9fe3f7d Reviewed-on: https://chromium-review.googlesource.com/683735Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#48153}
-
Jakob Kummerow authored
Bug: v8:6791 Change-Id: I5ab97feeb25da29bc76cd28088836b4f12d1d916 Reviewed-on: https://chromium-review.googlesource.com/678037 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48152}
-
- 25 Sep, 2017 24 commits
-
-
Mostyn Bramley-Moore authored
This caused trouble for my downstream CI tests, even though it builds successfully in the canonical v8 tree. To be investigated properly later. Bug: chromium:746958 Change-Id: I180a5ecc51051e4eb6617180ccba787ff80bcf45 Reviewed-on: https://chromium-review.googlesource.com/682695Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#48151}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/898597f..57716b3 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/cbc33b9..f6d165d Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/e3fe21f..9a255f5 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/cf5e2ed..66be66d TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I8c7a9604d7ed71f9580cc17e7c4236348983e0a9 Reviewed-on: https://chromium-review.googlesource.com/681848Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#48150}
-
Eric Holk authored
Bug: v8:5277 Change-Id: I5887e2ac3742350c6cb4e5780e2c1c5d02baa34d Reviewed-on: https://chromium-review.googlesource.com/673548 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48149}
-
Karl Schimpf authored
This is a second attempt at landing CL 644866 which was reverted by CL 667019. Extends the current implementation of WASM exceptions to be able to throw exceptions with values (not just tags). A JS typed (uint_16) array is used to hold the thrown values. This allows all WASM types to be stored (i32, i64, f32, and f64) as well as be inspected in JS. The previous CL was reverted because the WASM compiler made calls to run time functions with tagged objects, which must not be done. To fix this, all run time calls use the thread-level isolate to hold the exception being processed. Bug: v8:6577 Change-Id: I4b1ef7e2847b71a2fab8e9934a0531057db9de63 Reviewed-on: https://chromium-review.googlesource.com/677056 Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48148}
-
Mostyn Bramley-Moore authored
There is no jumbo_executable target atm, so split the cctest v8_executable target into cctest and cctest_sources. Bug: chromium:746958 Change-Id: Iec0956234d026039c4d29921170dd2f0955222ca Reviewed-on: https://chromium-review.googlesource.com/680575Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#48147}
-
Hans Wennborg authored
To unbreak the component build of unittests on Mac after #48124. Bug: chromium:768094 Change-Id: I0e0f4ade0e19a71554f68e7050c525376f125ae5 Reviewed-on: https://chromium-review.googlesource.com/682094Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Cr-Commit-Position: refs/heads/master@{#48146}
-
Mostyn Bramley-Moore authored
Bug: chromium:746958 Change-Id: Ia251d99ffe142fadb99fc83082683aa87676c47d Reviewed-on: https://chromium-review.googlesource.com/680574Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#48145}
-
Eric Holk authored
Previously, we would blindly register new handler data, leading to us leaking the old handler data. This meant we could then end up with overlapping handler data where the instruction offset and landing pads didn't line up right. Bug: v8:6841 Change-Id: Iedcd75925b8d9d59c8f9accf288cae954fdc568f Reviewed-on: https://chromium-review.googlesource.com/677632 Commit-Queue: Eric Holk <eholk@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48144}
-
Mostyn Bramley-Moore authored
Bug: chromium:746958 Change-Id: I81ad56e3bfbdc458c3e318927191f6c5e137c448 Reviewed-on: https://chromium-review.googlesource.com/680554Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#48143}
-
Michael Starzinger authored
This fixes the signatures of "Math.ceil", "Math.floor" and "Math.sqrt" from "(float?) -> float" to "(float?) -> floatish" which avoids using a resulting float value without coercing the value via explicit "fround" annotations. This ensures proper ECMAScript semantics are maintained. R=clemensh@chromium.org TEST=mjsunit/regress/regress-6838-2 BUG=v8:6838 Change-Id: Ib5821641265bc862184adb270e8dbf8c703fdfb0 Reviewed-on: https://chromium-review.googlesource.com/681694Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48142}
-
Ali Ijaz Sheikh authored
This is a reland of ec952aaa. Included is a fix that ensures that top_on_previous_step_ is cleared when we release a page. Original change's description: > Reland "[profiler] proper observation of old space inline allocations" > > This is a reland of 672a41c3 > Original change's description: > > [profiler] proper observation of old space inline allocations > > > > Bug: chromium:633920 > > Change-Id: I9a2f4a89f6b9c0f63cb3b166b06a88a12f0a203c > > Reviewed-on: https://chromium-review.googlesource.com/631696 > > Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#48043} > > Bug: chromium:633920 > Change-Id: I6fe743d31b8ff26f3858488d4c014c62d3c85add > Reviewed-on: https://chromium-review.googlesource.com/671127 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> > Cr-Commit-Position: refs/heads/master@{#48085} Bug: chromium:633920 Change-Id: I8a0dcc4eaffc1f1d3ac5b3f8d344001cdae36606 Reviewed-on: https://chromium-review.googlesource.com/677407Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#48141}
-
Benedikt Meurer authored
When inlining based on SharedFunctionInfo rather than based on concrete JSFunction, we weren't able to properly optimize array, object and regexp literals inside the inlinee, because we didn't know the concrete FeedbackVector for the inlinee inside JSCreateLowering. This was because JSCreateLowering wasn't properly updated after the literals moved to the FeedbackVector. Now with this CL we also have the VectorSlotPair on the literal creation operators, just like we do for property accesses and calls, and are thus able to always access the appropriate FeedbackVector and optimize the literal creation. The impact is illustrated by the micro-benchmark on the tracking bug, which goes from createEmptyArrayLiteral: 1846 ms. createShallowArrayLiteral: 1868 ms. createShallowObjectLiteral: 2246 ms. to createEmptyArrayLiteral: 1175 ms. createShallowArrayLiteral: 1187 ms. createShallowObjectLiteral: 1195 ms. with this CL, so up to 2x faster now. Drive-by-fix: Also remove the unused CreateEmptyObjectLiteral builtin and cleanup the names of the other builtins to be consistent with the names of the TurboFan operators and Ignition bytecodes. Bug: v8:6856 Change-Id: I453828d019b27c9aa1344edac0dd84e91a457097 Reviewed-on: https://chromium-review.googlesource.com/680656 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48140}
-
Michael Starzinger authored
This fixes the signature of "Math.min" and "Math.max" for integer values from "(int, int...) -> signed" to "(signed, signed..) -> signed" which properly distinguishes signed from unsigned values now. This is in sync with the spec errata (and ECMAScript semantics). R=clemensh@chromium.org TEST=mjsunit/regress/regress-6838-1 BUG=v8:6838 Change-Id: Id72836513dd86e93472a22cf1ac2e2d382ed4f23 Reviewed-on: https://chromium-review.googlesource.com/681357 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48139}
-
Clemens Hammacher authored
Use the (D)CHECK_{EQ,NE,GT,...} macros instead of (D)CHECK with an embedded comparison. This gives better error messages and also does the right comparison for signed/unsigned mismatches. This will allow us to reenable the readability/check cpplint check. R=yangguo@chromium.org Bug: v8:6837 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I88e5afea1ad0fdf23a81b380e64ff356bbc20112 Reviewed-on: https://chromium-review.googlesource.com/681374Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48138}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/48a2b7b..898597f Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/5af0a3a..cbc33b9 Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/e9d4018..aadb2fe Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/7149cbf..e3fe21f Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/40f6966..cf5e2ed Rolling v8/tools/swarming_client: https://chromium.googlesource.com/infra/luci/client-py/+log/42721e1..5e8001d TBR=machenbach@chromium.org,hablich@chromium.org Change-Id: I5881bcaa603d721167d1ed3e893d0171de617c04 Reviewed-on: https://chromium-review.googlesource.com/657634Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48137}
-
Clemens Hammacher authored
Use the (D)CHECK_{EQ,NE,GT,...} macros instead of (D)CHECK with an embedded comparison. This gives better error messages and also does the right comparison for signed/unsigned mismatches. This will allow us to reenable the readability/check cpplint check. R=ulan@chromium.org Bug: v8:6837 Change-Id: I8d900f3c703dea6ee3bcc225a1d2754e91666b9d Reviewed-on: https://chromium-review.googlesource.com/671047 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48136}
-
Clemens Hammacher authored
Use the (D)CHECK_{EQ,NE,GT,...} macros instead of (D)CHECK with an embedded comparison. This gives better error messages and also does the right comparison for signed/unsigned mismatches. This will allow us to reenable the readability/check cpplint check. R=jarin@chromium.org Bug: v8:6837 Change-Id: I712580c2a4326e06ee3d6d0eb4ff8c7d24f5fdb9 Reviewed-on: https://chromium-review.googlesource.com/671227 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48135}
-
Michael Achenbach authored
This ports: https://chromium-review.googlesource.com/c/544798/ This is needed to unblock rolling build into v8 at: https://chromium-review.googlesource.com/c/v8/v8/+/657634 Bug: chromium:593874, chromium:742655 Change-Id: Ie00f2d13cfd052881a84b6e0cb95c336b7d2581c Reviewed-on: https://chromium-review.googlesource.com/680815 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48134}
-
Maya Lekova authored
Bug: Change-Id: I7cb8ace4183c0dcf34d71d1b378204383c17ba56 Reviewed-on: https://chromium-review.googlesource.com/678718Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#48133}
-
Marja Hölttä authored
Track whether the async arrow func parameter list was simple or not; the information is already there, we just didn't pipe it through correctly. It's needed by PreParser so that it can create the correct Scope structure. Implementation notes: - I could've used async_classifier for transmitting the "is_simple" bit, but I made it explicit (it would be unnecessary to use ExpressionClassifier for this, as we're not classifying any expressions) instead. - I'm also moving work (setting parameter_list.is_simple) from Parser to ParserBase, and adding a DCHECK in Parser to assert that the work was indeed already done. BUG=v8:5516,chromium:765532 Change-Id: Iacf91b150d1b57996544b5e64baa7d91ac134445 Reviewed-on: https://chromium-review.googlesource.com/674695 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#48132}
-
Benedikt Meurer authored
We can constant-fold JSLoadProperty(o, i) when o is a known object (i.e. TurboFan's context specialization provides a known non-null/-undefined constant value for it), i is a known array index and o["i"] is an element on the receiver, that is non-configurable and non-writable (i.e. o was frozen using Object.freeze earlier, or o is a String object). This significantly reduces execution time of the tagged templates micro-benchmarks (ES6 and Babel transpiled), when combined with the CL https://chromium-review.googlesource.com/c/v8/v8/+/677462, it goes from templateStringTagES5: 4552 ms. templateStringTagES6: 14185 ms. templateStringTagBabel: 7626 ms. to templateStringTagES5: 4550 ms. templateStringTagES6: 616 ms. templateStringTagBabel: 589 ms. so overall a solid 23x improvement on the ES6 benchmark. This is representative of the six-speed-templatestringtag-es6 benchmark. Bug: v8:6819, v8:6820, v8:6831 Change-Id: Ia45fbdf92977bfbe7400cfa60bd362b78086dc26 Reviewed-on: https://chromium-review.googlesource.com/677603Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48131}
-
Ulan Degenbaev authored
This patch ensures that the concurrent marking tasks do not use more than the half of the available background threads. Bug: chromium:694255 Change-Id: I67d6eb3e717945f777d0711bd094630573c78661 Reviewed-on: https://chromium-review.googlesource.com/678636 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48130}
-
Michael Lippautz authored
Spaces sizes will be replaced with absolute values. Bug: Change-Id: I3d9f32b723ad8872a088f436bd279a0a3f66401e Reviewed-on: https://chromium-review.googlesource.com/680769Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48129}
-
Michael Lippautz authored
Casting to HeapObject before checking whether the object actually is a HeapObject is undefined behavior. Bug: chromium:738743 Change-Id: I7be8dfbc18203c6be008af73549a915f9b6bd3de Reviewed-on: https://chromium-review.googlesource.com/680768Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48128}
-
- 23 Sep, 2017 1 commit
-
-
Deepti Gandluri authored
Bug=v8:6842,v8:6532 Change-Id: I6ae1064e1e9a54c189311d6f34fc5fad85f13b7f Reviewed-on: https://chromium-review.googlesource.com/678594 Commit-Queue: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Reviewed-by: Ben Smith <binji@chromium.org> Cr-Commit-Position: refs/heads/master@{#48127}
-
- 22 Sep, 2017 3 commits
-
-
Benedikt Meurer authored
Tagged templates were previously desugared during parsing using some combination of runtime support written in JavaScript and C++, which prevented some optimizations from happening, namely the constant folding of the template object in TurboFan optimized code. This CL adds a new bytecode GetTemplateObject (with a corresponding GetTemplateObject AST node), which represents the abstract operation in the ES6 specification and allows TurboFan to simply constant-fold template objects at compile time (which is explicitly supported by the specification). This also pays down some technical debt by removing the template.js runtime support and therefore should reduce the size of the native context (snapshot) a bit. With this change in-place the ES6 version microbenchmark in the referenced tracking bug is now faster than the transpiled Babel code, it goes from templateStringTagES5: 4552 ms. templateStringTagES6: 14185 ms. templateStringTagBabel: 7626 ms. to templateStringTagES5: 4515 ms. templateStringTagES6: 7491 ms. templateStringTagBabel: 7639 ms. which corresponds to a solid 45% reduction in execution time. With some further optimizations the ES6 version should be able to outperform the ES5 version. This micro-benchmark should be fairly representative of the six-speed-templatestringtag-es6 benchmark, and as such that benchmark should also improve by around 50%. Bug: v8:6819,v8:6820 Tbr: mlippautz@chromium.org Change-Id: I821085e3794717fc7f52b5c306fcb93ba03345dc Reviewed-on: https://chromium-review.googlesource.com/677462Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Caitlin Potter <caitp@igalia.com> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48126}
-
Karl Schimpf authored
Fixes the collection of V8.WasmFuncctionSizeBytes.wasm for UMA stats. Bug: v8:6852 Change-Id: Ib25d249dd2856ffb8a3205e54ba052c1bc9a09cf Reviewed-on: https://chromium-review.googlesource.com/678448Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Cr-Commit-Position: refs/heads/master@{#48125}
-
Bill Budge authored
- Moves GetRandomMmapAddr from platform to v8::internal allocation primitives, in preparation for delegating this to the embedder. - Adds hint parameters to OS functions that used to use this function. Bug: chromium:756050 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Iad72e6eac9c08a3e22c2cd2b2905623b8e514ae0 Reviewed-on: https://chromium-review.googlesource.com/677777Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#48124}
-