- 26 Mar, 2019 20 commits
-
-
Clemens Hammacher authored
Reorder fields such that often-accessed fields are first. This minimized generated code size on x86 and x64. R=titzer@chromium.org Bug: chromium:839919 Change-Id: Ia2ef9bd2f9a1aa735ed9b1de93cb78aa5d77467b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538120 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60471}
-
Sigurd Schneider authored
Together with the previous CL, this is a 10x improvement. Bug: v8:8834 Change-Id: I89b86ee88c82479997c08b725571369b1bf9d190 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539592 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60470}
-
Simon Zünd authored
R=sigurds@chromium.org Bug: v8:8952 Change-Id: I93a9a136e83510a92cd38b2bb16d0965be95110a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538483 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60469}
-
Clemens Hammacher authored
In WasmInstanceObject we want to reorder the fields such that fields that are often accessed from generated code have a small offset (<128 bytes). This requires mixing tagged and untagged fields. This CL prepares the existing GC support for WasmInstanceObject to only visit the listed tagged fields. R=titzer@chromium.org Bug: chromium:839919 Change-Id: Ia85d7bcfff54af35785b6d573e7e682a26c39ae6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538119Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60468}
-
Nico Weber authored
The snapshot requires building host code in target bitness, and chromium's base doesn't build in 32-bit on mac hosts due to some 64-bit-only assembly code. Bug: chromium:794838 Change-Id: I89887fe63c88c435bc4743c3d99f22ffe79a5bd6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1534635 Auto-Submit: Nico Weber <thakis@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60467}
-
Leszek Swirski authored
Moves the string instance type tag definitions around to be in order, makes their definitions slightly clearer (in terms of shifted 1 rather than hex values), and unifies/fixes the descriptions of the bits in the comments. Bug: v8:8834 Change-Id: I632b93053734445264f6c607c541e4171aae8038 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539583Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#60466}
-
Jaroslav Sevcik authored
Run memory optimizer after all the other graph phases. This is a step towards enabling allocation folding for arrays with >16 elements because constant additions will be properly constant-folded. Bug: v8:8984 Change-Id: Ia3c78a3bd32264f4f83d3e20bd78abf240d9292b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539496Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60465}
-
Jaroslav Sevcik authored
Bug: chromium:945187 Change-Id: If6f36a4767ffda5f23873c79775116514dd0a2b6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539582 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60464}
-
Milad Farazmand authored
This reverts commit dd07cbcf. Change-Id: I3397af6d5c5cf2349b35c940eb46f4f9d2440a50 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538904 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60463}
-
Georg Neis authored
TBR=jarin@chromium.org Bug: v8:7790 Change-Id: I8aeced2c149ef1a97d6e9df4f21afcf6a4145be0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539636Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60462}
-
Sigurd Schneider authored
..ordered-hash-table.h. Bug: v8:8834 Change-Id: Ibb79006beb020d06bc516d9a2dac81015a403728 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538518Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60461}
-
Georg Neis authored
Drive-by: also add support for trivial bytecodes such as LdaFalse. Bug: v8:7790 Change-Id: I72626500096310899d37d57e3d0dd3bd54fddff4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532066 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60460}
-
Mike Stanton authored
The bottlenecks to prevent storing signalling NaNs in backing stores were not perfect. This change makes it harder by ensuring that all the Torque-side "[]=" operator overloads for FixedDoubleArray stores have signalling NaNs silenced. Bug: chromium:944435 Change-Id: I295d9b34f4c896db30989bb9db1a2b452daa03ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538517Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#60459}
-
Georg Neis authored
... in the case of unreliable receiver maps in JSCallReducer. Change-Id: I68aea1f74fe98f3ac9bc7251f1af789f2cf9bc56 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532332Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#60458}
-
Georg Neis authored
We don't normally generate code for that. R=jarin@chromium.org Bug: v8:7790 Change-Id: Icd8b61e894b721ac44fd1d79d2460def9c8c5af3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1535824 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60457}
-
Sigurd Schneider authored
Bug: v8:9020 Change-Id: Ieeec2b237b0531a84ea71dc53d24444c3425dda7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538130Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60456}
-
Benedikt Meurer authored
The details of the TurboFan pipeline stages are probably not relevant to most users of the "disabled-by-default-v8.compile" category, so we now log them to "disabled-by-default-v8.turbofan" category instead. Bug: v8:8598, v8:9039 Change-Id: Ib451f163f74eb11ffbeb0dc6f2ee590208bd296b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538135 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60455}
-
Michael Lippautz authored
The flag has been replaced by v8_enable_raw_heap_snapshots. Bug: chromium:936797 Change-Id: I2466c6636c462fe49a090dc3c262c80fc40d783f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1532329 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60454}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/625ee00..aee5bb4 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/347c5e4..85ead57 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/ba35c7f..e17d1ed Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/ad70d89..23688af TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I291cce7855a51614bde1d858e3705db03235cbed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1539276Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#60453}
-
Frank Tang authored
Force to use locale with extension if the created NumberFormat is not a DecimalFormat. Check the dynamic class id. Guard DecimalFormat casting code Bug: v8:9035 Change-Id: Id32a3f652b93ddfca82f95f30ad2107b364ee7fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536571Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#60452}
-
- 25 Mar, 2019 20 commits
-
-
Cliff Smolinsky authored
The only use of shlwapi is for a single method which can be easily replaced by simple wstring calls. This change makes that swap and removes the reference to shlwapi completely. Bug: v8:9031 Change-Id: Ia8f2c44e8166d93e309016896b26a84bdb90d720 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1534960Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Cliff Smolinsky <cliffsmo@microsoft.com> Cr-Commit-Position: refs/heads/master@{#60451}
-
Mythri authored
Allocate feedback vectors lazily when the function's interrupt budget has reached a specified threshold. This cl introduces a new field in the ClosureFeedbackCellArray to track the interrupt budget for allocating feedback vectors. Using the interrupt budget on the bytecode array could cause problems when there are closures across native contexts and we may delay allocating feedback vectors in one of them causing unexpected performance cliffs. In the long term we may want to remove interrupt budget from bytecode array and use context specific budget for tiering up decisions as well. Bug: v8:8394 Change-Id: Ia8fbb71f5e8543a92f14c44aa762973da82d445c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520719 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#60450}
-
Igor Sheludko authored
Bug: chromium:913943 Change-Id: I2f7774ca1ea0a7855620a99d7e26cd764260129b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538124 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#60449}
-
Benedikt Meurer authored
This adds OBJECT/SNAPSHOT trace events for Script and SharedFunctionInfo objects, logging their creation with appropriate information to make sense of them. Based on that we introduces five flow events to model the optimized compilation via tracing in the "disabled-by-default-v8.compile" category: - "v8.optimizingCompile.start" logs the creation of the PipelineCompilationJob (for TurboFan JavaScript optimization) with the "function" argument referring to the trace event object created for the SharedFunctionInfo. - "v8.optimzingCompile.prepare" logs the preparation of the PipelineCompilationJob on the main thread, also carrying the "function" argument. This connects the flow event to the actual tracing duration event associated with the preparation phases. - "v8.optimizingCompile.execute" logs the (usually concurrent) optimization of the TurboFan graph (again with "function"). - "v8.optimizingCompile.finalize" logs the main thread phase which finalizes the optimized code and eventually installs it (in case of success). - "v8.optimizingCompile.end" signals the end of the PipelineCompilationJob, which carries the "compilationInfo", that contains the interesting bits of the OptimizedCompilationInfo, specifically whether the compile was successfull and which functions were inlined for example. This also adds two instant events "V8.AbortOptimization" and "V8.RetryOptimization" in "disabled-by-default-v8.compile" category that are emitted when TurboFan cannot optimize a certain function. In case of "V8.RetryOptimization", TurboFan might be able to optimize it later, whereas "V8.AbortOptimization" permanently disables the optimization of a given function. The JSON representation of this is ```js { "pid": 256639, "tid": 256639, "ts": 6935411377801, "tts": 159116, "ph": "I", "cat": "disabled-by-default-v8.compile", "name": "V8.AbortOptimization", "dur": 0, "tdur": 0, "args": { "reason": "Function is too big to be optimized", "function": { "id_ref": "0x600000001", "scope": "v8::internal::SharedFunctionInfo" } } }, ``` where the "function" refers to a previously emitted SNAPSHOT for the function in question. In the trace viewer it will show up as instant event under "v8.optimizingCompile.prepare" in case of the relevant example where optimization is disabled due to reaching the bytecode limit (as in the JSON above), i.e. it'll look something like this https://i.paste.pics/aafc2de9df10ea8f5acc1a761d80f07b.png for the example highlighted in the recent blog post https://ponyfoo.com/articles/javascript-performance-pitfalls-v8 that describes the optimization limit. The "v8.optimizingCompile.end" duration event will also carry this information as part of the "compilationInfo" object, but specifically for CI tools, etc. it might be a whole lot easier to just look for the "V8.AbortOptimization" instant event. Bug: v8:8598, v8:9039 Tbr: ulan@chromium.org Doc: bit.ly/v8-tracing-signals Change-Id: Ic87ac336004690c65b6b15ad73bc6fbd4b5f12c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1511483 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60448}
-
Sigurd Schneider authored
This reverts commit 6604f182. Bug: chromium:945341 Original change's description: > [heap] Clean-up keys of oldspace weakmaps during scavenge > > This CL adds handling for cleaning up weakmap (EphemeronHashTable) > keys during scavenge, even if the weakmap resides in oldspace. > > Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60432} TBR=ulan@chromium.org,jarin@chromium.org,sigurds@chromium.org,leszeks@chromium.org Change-Id: I9dd9b11990a262a457fd1bedc2b45b4a786a81f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538133Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60447}
-
Milad Farazmand authored
Port 6604f182 Original Commit Message: This CL adds handling for cleaning up weakmap (EphemeronHashTable) keys during scavenge, even if the weakmap resides in oldspace. Change-Id: Idf8b6115e57b1229864afefe6ffee85acb5e7547 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538320Reviewed-by: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#60446}
-
Michael Starzinger authored
The target of a 'break' statement without a provided label must be a regular block belonging to a surrounding loop or switch statement, named blocks (i.e. the one that just define a label) on the other hand must be targeted specifically with the provided label (and not implicitly). This fixes the behavior by introducing a dedicated {BlockKind::kNamed} for this purpose. R=clemensh@chromium.org TEST=mjsunit/regress/regress-9022 BUG=v8:9022 Change-Id: I94c3d5b1196ed94b8b1b31f6eb3b68070cf324e8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538126 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60445}
-
Sigurd Schneider authored
This reverts commit 660d8287. Reason for revert: breaks no-i18n build: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20noi18n%20-%20debug/25919 Original change's description: > [debug] Mark toLocaleString and TA#join builtins as side-effect free. > > Bug: chromium:940373 > Change-Id: If5f90ff5f873f0687c6a6a4063e0d09d6bbbd556 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533157 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> > Cr-Commit-Position: refs/heads/master@{#60440} TBR=yangguo@chromium.org,peter.wm.wong@gmail.com,petermarshall@chromium.org,szuend@chromium.org Change-Id: I5ee52f8f37bea83e80c53838d232332cb3486640 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:940373 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538132Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60444}
-
Peter Marshall authored
The macros take implicit local arguments and make the tests harder to read. Remove the macros and add a helper to get size directly given this is the only use of the helper that returns the whole list. Remove the typedef of vector of trace events, because it is only used in two places now and is also called 'list' not vector. Use unique pointers for the ownership of MockTraceObject. Change-Id: Iec495c436cf7326224137321a84035c817622eaa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538131Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#60443}
-
Benedikt Meurer authored
The --type_info_threshold is no longer supported for a long time and doesn't do anything useful nowadays, so no point in having that around. Drive-by-fix: Remove the FeedbackVector::ComputeCounts() logic, since it's dead code anyways by now. Bug: v8:8834 Change-Id: I05f7517b3b82e34c0a83357337a456ab9c9f1f42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538128 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60442}
-
Clemens Hammacher authored
{FrameArray} needs a way to keep {WasmCode} alive from a JS container. This CL instruces {GlobalWasmCodeRef}, which is the equivalent to a global handle: It increments the {WasmCode} reference counter on construction and decrements it on destruction. The {GlobalWasmCodeRef} is held in a {Managed} from JS. R=titzer@chromium.org Bug: v8:8217 Change-Id: I5604a666840c27078db63c8618412ca412525be1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533862 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60441}
-
peterwmwong authored
Bug: chromium:940373 Change-Id: If5f90ff5f873f0687c6a6a4063e0d09d6bbbd556 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533157Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#60440}
-
Joyee Cheung authored
It otherwise does not compile on macOS when V8_TRACE_FEEDBACK_UPDATES is enabled. Change-Id: Ie3abaf901a9e28a02aaebd1de96448ce097bd0d2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1537295Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#60439}
-
Clemens Hammacher authored
This adds support to ref-count uses of WasmCode, and introduces a {WasmCodeRefScope} to be used whereever WasmCode objects need to be kept alive, e.g. because a pointer is passed around. Future CLs will introduce proper scopes in the whole code base and enable the DCHECK that's currently commented out. R=titzer@chromium.org Bug: v8:8217 Change-Id: I1659a0e9d57cd22fe70e6f2661d0d8af9f0906c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526005 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60438}
-
Jaroslav Sevcik authored
Bug: chromium:945187 Change-Id: I564a4495f13651ea9fdf1b95c25658b92ff9de49 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538125Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60437}
-
Benedikt Meurer authored
Before this change we had essentially two optimization limits, one hard limit in the TurboFan pipeline (128KiB), and a soft limit in the runtime profiler (60KiB). The hard limit was only relevant to --always-opt and other internal test infrastructure, and the soft limit was always enforced on regular JavaScript, but didn't properly disable further optimization for the function (so for example --trace-opt would continuesly report attempts to optimize the function). Now with this change we only have the hard limit, set to 60KiB, in the TurboFan pipeline and use that consistently. Bug: v8:8598 Change-Id: I9e2ae7cb67de4a2256d3a7b9c3aee3dab60c2ec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538127 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#60436}
-
Sigurd Schneider authored
Change-Id: Ie09953d0b9453a1f22312ad1782e2c41b8230679 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1533858Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60435}
-
Clemens Hammacher authored
Use the existing macros to load MemoryStart and MemorySize from the instance. R=titzer@chromium.org Change-Id: Iaa597fedcfc4581503d7cdf2fb94da6e285cc545 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538122Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60434}
-
Benedikt Meurer authored
This extends the existing PipelineStatistics in the TurboFan pipeline (also used for Wasm) to emit trace events for the various phases of the (optimized) compilation. This works for "disabled-by-default-v8.compile" and "disabled-by-default-v8.wasm" categories. We also rename the existing phase names to match the naming convention for the V8 trace events (starting with either "V8.TF" or "V8.Wasm") to make it easy to spot and categorize them in the trace viewer. This can be seen in action here https://i.paste.pics/a33c0e3942ff707af44f67ed4bac46b0.png taken from a run of Octane/TypeScript. Bug: v8:8598 Change-Id: Id40092ee8afc8d998532f8641780052769cad320 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1538121Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60433}
-
Sigurd Schneider authored
This CL adds handling for cleaning up weakmap (EphemeronHashTable) keys during scavenge, even if the weakmap resides in oldspace. Change-Id: If8d711c050ddbcae4dd6e8da549e0c0d08ba47b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1523787 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60432}
-