- 26 Sep, 2018 23 commits
-
-
Alexei Filippov authored
This reverts commit 69a502ce. Reason for revert: Broke the build https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20gcc%204.8/22123 Original change's description: > [heap profiler] Refactor: Replace indices with HeapEntry* > > Change-Id: I0c176f66711d45e2f59d527f3133a1afbf825ec3 > Reviewed-on: https://chromium-review.googlesource.com/1229613 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56245} TBR=ulan@chromium.org,alph@chromium.org,mlippautz@chromium.org Change-Id: Ib4495f17a653a95f8d5af634da74905c63048f8e No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1246235Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#56248}
-
Alexei Filippov authored
This reverts commit 0352ea97. Reason for revert: A dependent patch broke the build https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20gcc%204.8/22123 Original change's description: > [heap profiler] Refactor: remove SnapshotFiller proxy > > Long time ago there were two passes over heap. One was counting > objects and edge and another was filling them. Since then we have > just a single pass, but the filler object is still there. > > Remove it for the sake of layering simplicity. > > Change-Id: Ic873eb5ca616b9dcae17fe388197dde8f539026f > Reviewed-on: https://chromium-review.googlesource.com/1244380 > Commit-Queue: Alexei Filippov <alph@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56246} TBR=ulan@chromium.org,alph@chromium.org,mlippautz@chromium.org Change-Id: If71ddcc0008d138054074fc4cca3f38e032763e0 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1246234Reviewed-by: Alexei Filippov <alph@chromium.org> Commit-Queue: Alexei Filippov <alph@chromium.org> Cr-Commit-Position: refs/heads/master@{#56247}
-
Alexei Filippov authored
Long time ago there were two passes over heap. One was counting objects and edge and another was filling them. Since then we have just a single pass, but the filler object is still there. Remove it for the sake of layering simplicity. Change-Id: Ic873eb5ca616b9dcae17fe388197dde8f539026f Reviewed-on: https://chromium-review.googlesource.com/1244380 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#56246}
-
Alexei Filippov authored
Change-Id: I0c176f66711d45e2f59d527f3133a1afbf825ec3 Reviewed-on: https://chromium-review.googlesource.com/1229613 Commit-Queue: Alexei Filippov <alph@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#56245}
-
Maya Lekova authored
That change is attempting to surface the root cause of a recent flake, see the related bug. Bug: v8:8228 Change-Id: Iebed5b8f46db3fd47154031856dc7ea173cf3d7f Reviewed-on: https://chromium-review.googlesource.com/1245771Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#56244}
-
Toon Verwaest authored
Before I gave the preparser its own zone this was the case. I somewhat accidentally dropped it when I used set_zone instead; causing large regressions for certain types of pages. Bug: chromium:889086 Change-Id: Ib3cf1f926b5c65506c66a97981c4544dccb372aa Reviewed-on: https://chromium-review.googlesource.com/1245767Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56243}
-
Jaroslav Sevcik authored
Bug: v8:8230 Change-Id: Ibf93300cd54c6d5053ebed0cb897b4068f2bc160 Reviewed-on: https://chromium-review.googlesource.com/1245768 Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#56242}
-
Peter Marshall authored
Deprecate GetCodeRange(void** start, size_t* length_in_bytes) in favor of a new signature MemoryRange GetCodeRange() which is consistent with that of GetEmbeddedCodeRange. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic5e244981422a2c75485c851ca768e54914cc539 Reviewed-on: https://chromium-review.googlesource.com/1245741Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#56241}
-
Clemens Hammacher authored
R=ahaas@chromium.org Bug: v8:8015 Change-Id: Ic449b76ab3957bb989bbb1fc9cc1fb4782db7acf Reviewed-on: https://chromium-review.googlesource.com/1240119Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56240}
-
Clemens Hammacher authored
This method only has a single user, and can be implemented in a few lines, so just inline it. R=ahaas@chromium.org Bug: v8:8015 Change-Id: I26247d97ebb939274fa72cc5441e8c2e0c6bc869 Reviewed-on: https://chromium-review.googlesource.com/1245743Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56239}
-
Clemens Hammacher authored
The idea of movable data structures is to pass them by value. This is also preferred by the style guide. R=ahaas@chromium.org CC=sattlerf@google.com Bug: v8:8015 Change-Id: Ica016425d624f4497e374b25b363c1f2eb49b4c0 Reviewed-on: https://chromium-review.googlesource.com/1245762Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56238}
-
Hannes Payer authored
Surviving large objects are directly promoted to the old generation. Bug: chromium:852420 Change-Id: I460649714544d4338e01085f487d4b70065ecfb5 Reviewed-on: https://chromium-review.googlesource.com/1238173 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#56237}
-
Jaroslav Sevcik authored
Bug: chromium:888923 Change-Id: Ifb22cd9b34f53de3cf6e47cd92f3c0abeb10ac79 Reviewed-on: https://chromium-review.googlesource.com/1245763Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#56236}
-
Toon Verwaest authored
Bug: chromium:889086 Change-Id: Ie5a6a9e27260545469ea62d35b9571c0524f0f92 Reviewed-on: https://chromium-review.googlesource.com/1245427Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56235}
-
Igor Sheludko authored
In particular: MapForFixedTypedArray() and EmptyFixedTypedArrayForMap(). And make ReadOnlyRoots object independent of the Heap. Bug: v8:8015 Change-Id: Ifd17294661fac21c8e7545145280c8a2dedfe8c3 Reviewed-on: https://chromium-review.googlesource.com/1243131Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#56234}
-
Igor Sheludko authored
Bug: v8:8015 Change-Id: I2f407c5ffaed96b90b9ead452a98a19ef1700b75 Reviewed-on: https://chromium-review.googlesource.com/1240336 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56233}
-
Maya Lekova authored
This reverts commit eccf1867. Reason for revert: Speculative revert because it seems to introduce a pretty stable flake on gc stress tests, see https://bugs.chromium.org/p/v8/issues/detail?id=8229 Original change's description: > [interpreter] Separate bytecodes for one-shot property loads and stores > > Create LdaNamedPropertyNoFeedback and StaNamedPropertyNoFeedback > for one-shot property loads and stores. This CL replaces the runtime > calls with new bytecodes for named property load stores in one-shot code. > the runtime calls needed extra set of consecutive registers and > additional move instructions. This increased the size of > bytecode-array and possibly extended the life time of objects. > By replacing them with NoFeedback bytecodes we avoid these issues. > > Bug: v8:8072 > Change-Id: I20a38a5ce9940026171d870d354787fe0b7c5a6f > Reviewed-on: https://chromium-review.googlesource.com/1196725 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Chandan Reddy <chandanreddy@google.com> > Cr-Commit-Position: refs/heads/master@{#56211} TBR=rmcilroy@chromium.org,yangguo@chromium.org,jarin@chromium.org,neis@chromium.org,cbruni@chromium.org,chandanreddy@google.com Change-Id: I445db58e6d4c275b434fabad5fad775bf259033f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:8072 Reviewed-on: https://chromium-review.googlesource.com/1245421Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#56232}
-
Ivica Bogosavljevic authored
Change-Id: I88db66ef1bea03dee365679487814563250c4bba Reviewed-on: https://chromium-review.googlesource.com/1243127Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com> Cr-Commit-Position: refs/heads/master@{#56231}
-
Marja Hölttä authored
BUG=v8:5402,v8:8015 Change-Id: I2fce46c944e3057cb05aa53c3030916334ffbc3e Reviewed-on: https://chromium-review.googlesource.com/1243044Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56230}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4325c99..6f889c3 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/c51eb62..846ae9b Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/64b6133..c4a7356 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I0a47e67e23a980b6fd8b95c97172f86d4c303bd0 Reviewed-on: https://chromium-review.googlesource.com/1244957 Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#56229}
-
Jakob Kummerow authored
Atomics.{load,store,add,sub,and,or,xor,exchange,compareExchange} are updated to support BigInt and BigInt64Array/BigUint64Array inputs. Atomics.{wait,wake,isLockFree} are left unchanged for now. Bug: v8:8100 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I8862d7e18c58ae08784535e9c010ba94f067a0ee Reviewed-on: https://chromium-review.googlesource.com/1237294 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#56228}
-
Frank Tang authored
Bug: v8:8066 Change-Id: I931de0472941fca8f68739a05fa38dee308d59f4 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1212467Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#56227}
-
Frank Tang authored
The CHECK was introduced in d7ae63e6. The first time the property got read by ToDateTimeOptions and the test will cause the needsDefault in ToDateTimeOptions be false. Then in step 22 of InitializeDateTimeFormat, it will get all undefined and cause the skeleton to be empty string. If we only pass in empty options, the defaults will be filled by ToDateTimeOptions and won't cause any CHECK failure. Bug: chromium:888299 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I3ee14434f0708eaaea78cc8857591152d1bdef8a Reviewed-on: https://chromium-review.googlesource.com/1241316 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#56226}
-
- 25 Sep, 2018 17 commits
-
-
Vasili Skurydzin authored
src/compiler/ppc/instruction-selector-ppc.cc: ensure that input register does not alias any temporary registers in VisitWord64ReverseBytes method. Change-Id: I18ddfc5cbe37ba7551ca25efa59d4973f77ffb02 Reviewed-on: https://chromium-review.googlesource.com/1244617Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#56225}
-
Yang Guo authored
This is a reland of bcb8d49b TBR=petermarshall@chromium.org Original change's description: > [snapshot] add checksum to startup snapshot > > We already had checksumming for code cache data. We now extend > checksumming to the startup snapshot to catch data corruption early. > > The performance impact for deserialization is a regression of 1-2%, > which should be acceptable. > > Sample output for the included test with --profile-deserialization: > > [Verifying snapshot checksum took 0.023 ms] > [Deserializing isolate (134348 bytes) took 1.891 ms] > [Verifying snapshot checksum took 0.024 ms] > [Deserializing isolate (134348 bytes) took 1.654 ms] > [Deserializing context #0 (47208 bytes) took 0.331 ms] > Deserialization will reserve: > 208168 bytes per isolate > 123368 bytes per context #0 > Snapshot blob consists of: > 134492 bytes in 6 chunks for startup > 115272 bytes for builtins > 47152 bytes in 31 chunks for context #0 > [Verifying snapshot checksum took 0.048 ms] > [Verifying snapshot checksum took 0.043 ms] > > R=peria@chromium.org, petermarshall@chromium.org > > Bug: chromium:881417 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7 > Reviewed-on: https://chromium-review.googlesource.com/1241874 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56217} Bug: chromium:881417 Change-Id: I037f378fc2d45c3e0fa670bf538df68cbba5c53c Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1243191Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56224}
-
Frank Tang authored
Bug: v8:7869 Change-Id: If87ab5126a41513d0c69acc849d483159f1a2fde Reviewed-on: https://chromium-review.googlesource.com/1241317Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#56223}
-
Clemens Hammacher authored
Maybe (defined in include/v8.h) is an API object, not meant to be used in internal code. Instead of failing, it will call a callback on the isolate. It also adds one word to the size of each WasmCode object. This CL avoids its use WasmCode. Instead, we use a sentinel value as the function index of anonymous functions and add proper DCHECKs. R=mstarzinger@chromium.org Bug: v8:8015 Change-Id: I4bb155e814d8d0cc9e40b33202b4431718ac79b1 Reviewed-on: https://chromium-review.googlesource.com/1242096 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56222}
-
Clemens Hammacher authored
This reverts commit bcb8d49b. Reason for revert: MSan compile error: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/23025 Original change's description: > [snapshot] add checksum to startup snapshot > > We already had checksumming for code cache data. We now extend > checksumming to the startup snapshot to catch data corruption early. > > The performance impact for deserialization is a regression of 1-2%, > which should be acceptable. > > Sample output for the included test with --profile-deserialization: > > [Verifying snapshot checksum took 0.023 ms] > [Deserializing isolate (134348 bytes) took 1.891 ms] > [Verifying snapshot checksum took 0.024 ms] > [Deserializing isolate (134348 bytes) took 1.654 ms] > [Deserializing context #0 (47208 bytes) took 0.331 ms] > Deserialization will reserve: > 208168 bytes per isolate > 123368 bytes per context #0 > Snapshot blob consists of: > 134492 bytes in 6 chunks for startup > 115272 bytes for builtins > 47152 bytes in 31 chunks for context #0 > [Verifying snapshot checksum took 0.048 ms] > [Verifying snapshot checksum took 0.043 ms] > > R=peria@chromium.org, petermarshall@chromium.org > > Bug: chromium:881417 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7 > Reviewed-on: https://chromium-review.googlesource.com/1241874 > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#56217} TBR=peria@chromium.org,yangguo@chromium.org,petermarshall@chromium.org Change-Id: Iccb82092858ab68a5d6ae9552fa716108eda354b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:881417 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1243190Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56221}
-
Ben L. Titzer authored
For WASM import calls to JSFunctions where the arity is mismatched, we currently generate code that inlines the formal parameter count of the target function as a constant in a call to the arguments adapter. This CL changes this to generate code that loads the formal parameter count from the function at runtime in order to permit more sharing later. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: I5cce97fc338f6468f9d42d48f5bc860b25fb7d73 Reviewed-on: https://chromium-review.googlesource.com/1243108 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56220}
-
Daniel Clifford authored
Change-Id: I69a4db1d8be47bad56df74447a29526e9623cb80 Reviewed-on: https://chromium-review.googlesource.com/1243107 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#56219}
-
Toon Verwaest authored
I moved AnalyzePartially from ParseFunctionLiteral to SkipFunction, but arrow functions only used the ResetAfterPreparsing part. Bug: chromium:888825 Change-Id: I08de99af128b28031df6ed86a725e4dc918078f8 Reviewed-on: https://chromium-review.googlesource.com/1243383Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56218}
-
Yang Guo authored
We already had checksumming for code cache data. We now extend checksumming to the startup snapshot to catch data corruption early. The performance impact for deserialization is a regression of 1-2%, which should be acceptable. Sample output for the included test with --profile-deserialization: [Verifying snapshot checksum took 0.023 ms] [Deserializing isolate (134348 bytes) took 1.891 ms] [Verifying snapshot checksum took 0.024 ms] [Deserializing isolate (134348 bytes) took 1.654 ms] [Deserializing context #0 (47208 bytes) took 0.331 ms] Deserialization will reserve: 208168 bytes per isolate 123368 bytes per context #0 Snapshot blob consists of: 134492 bytes in 6 chunks for startup 115272 bytes for builtins 47152 bytes in 31 chunks for context #0 [Verifying snapshot checksum took 0.048 ms] [Verifying snapshot checksum took 0.043 ms] R=peria@chromium.org, petermarshall@chromium.org Bug: chromium:881417 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ibc57520d459c86be8972f731aa35045b5e3751d7 Reviewed-on: https://chromium-review.googlesource.com/1241874Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56217}
-
Alexey Kozyatinskiy authored
.. otherwise V8 crashes on attempt to use imported function as part of expression passed to Debugger.evaluateOnCallFrame. R=neis@chromium.org Bug: chromium:878029 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I61b837f5c7b84a80d91a9cdaaac0422a24aa1620 Reviewed-on: https://chromium-review.googlesource.com/1241475Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56216}
-
Michael Starzinger authored
This reduces the size a "Throw" or "Rethrow" takes in generated code by switching from runtime calls to using WebAssembly runtime stubs. It also removes a specialized runtime function and instead uses {Runtime_Throw} which is generic and used by all code (including JavaScript code). R=clemensh@chromium.org BUG=v8:8091 Change-Id: Id4f637525f2ea9d81227931b1290d90ca5f376d1 Reviewed-on: https://chromium-review.googlesource.com/1243106 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56215}
-
Clemens Hammacher authored
Whenever we insert new code in the module, we call {set_code} and {PatchJumpTable}. This CL refactors these two calls into a new {InstallCode} method. This method will be extended in a future CL to maintain a counter of potentially dead code and trigger GC. R=mstarzinger@chromium.org Bug: v8:8217 Change-Id: I1a1421806c8518cf7b6b78fe4aa2e969d4e4dde6 Reviewed-on: https://chromium-review.googlesource.com/1243003 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56214}
-
Andreas Haas authored
The lifetime of the AsyncCompileJob does not depend on the lifetime of the stream which feeds data into it. Multiple checks guarantee that the AsyncCompileJob still exists when the stream wants to call it. With this CL we add an additional level of defense to make sure that streaming does not continue after the AsyncCompileJob got destructed. It is not clear if this CL fixes the bug referenced below. However, the crashes there could be caused when streaming accesses the AsyncCompileJob after it got destructed already. I was not able though to find a scenario where this is possible. R=clemensh@chromium.org Bug: chromium:888170 Change-Id: Id5c6cc34842735a3adaf3e09c57cbe923cfc2630 Reviewed-on: https://chromium-review.googlesource.com/1241961 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#56213}
-
Ross McIlroy authored
This CL makes UnoptimizedCompilationJob a simple proxy for BackgroundCompilerTask. A follow-up CL will remove UnoptimizedCompilationJob entirely and have CompilerDispatcher deal directly with BackgroundCompilerTasks BUG=v8:8041, v8:8015 Change-Id: Ia53d05c015c4ca2ee32a4d1c5d0c65edb3caeda8 Reviewed-on: https://chromium-review.googlesource.com/1236257 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#56212}
-
Creddy authored
Create LdaNamedPropertyNoFeedback and StaNamedPropertyNoFeedback for one-shot property loads and stores. This CL replaces the runtime calls with new bytecodes for named property load stores in one-shot code. the runtime calls needed extra set of consecutive registers and additional move instructions. This increased the size of bytecode-array and possibly extended the life time of objects. By replacing them with NoFeedback bytecodes we avoid these issues. Bug: v8:8072 Change-Id: I20a38a5ce9940026171d870d354787fe0b7c5a6f Reviewed-on: https://chromium-review.googlesource.com/1196725Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Chandan Reddy <chandanreddy@google.com> Cr-Commit-Position: refs/heads/master@{#56211}
-
Ben L. Titzer authored
The WASM engine compiles per-import wrappers for callables imported into a WASM instance that have one of a number of different shapes, depending on the type of the imported function and whether there is a signature match. This CL introduces an enum with a value for each case in preparation for introducing a per-kind cache. R=mstarzinger@chromium.org CC=clemensh@chromium.org Change-Id: If9b7355ff7c57a329c096f93f3624bc3d6c74e3f Reviewed-on: https://chromium-review.googlesource.com/1243045 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#56210}
-
Hai Dang authored
This fast path copies the backing store and replaces holes with undefined. In the case where the array is holey but there is no actual holes, the resulting array is of the same elements kind as the source array. If a hole does appear, the resulting array will be of PACKED_ELEMENTS kind so that it can contain undefined. The builtin CloneFastJSArrayFillingHoles includes this fast path, but CloneFastJSArray does not (it still behaves as before). In case of fast packed arrays, CloneFastJSArrayFillingHoles behaves the same as CloneFastJSArray. Bug: chromium:881273, v8:7980 Change-Id: I49c641c1a673313f06aeed93077031ab6b017b6d Reviewed-on: https://chromium-review.googlesource.com/1236573 Commit-Queue: Hai Dang <dhai@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#56209}
-