- 29 Nov, 2017 28 commits
-
-
Michael Starzinger authored
This fixes debug-evaluate in the presence of a de-materialized function object. The creation of an arguments object is now requested based on a given frame (potentially inlined) instead of a target function. It makes sure that multiple calls to {StandardFrame::Summarize} don't cause any confusion when they give back non-identical function objects. R=jgruber@chromium.org TEST=debugger/debug/debug-evaluate-arguments BUG=chromium:788647 Change-Id: I575bb6cb20b4657dc09019e631b5d6e36c1b5189 Reviewed-on: https://chromium-review.googlesource.com/796474Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49721}
-
peterwmwong authored
This reduces the overhead of calling the builtin. Quick measurements show >5x improvement. As the typed array's size grows, iterating dominates and the performance gap closes. https://github.com/peterwmwong/v8-perf/blob/master/typedarray-findIndex/README.md Bug: v8:5929 Change-Id: I27d67776c83cbe28f4f9f5ef479a7eeabf594654 Reviewed-on: https://chromium-review.googlesource.com/792394 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49720}
-
jgruber authored
Ensure that bound-checking CHECKs do not overflow and properly access the JSTypedArray's length value. This addresses remaining comments from https://crrev.com/c/788857/9/src/runtime/runtime-typedarray.cc#233 Bug: v8:3590 Change-Id: Ic06ff2ecd64a23ab9724c25d7b6cb689b9e7932b Reviewed-on: https://chromium-review.googlesource.com/796611Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49719}
-
Yang Guo authored
R=jgruber@chromium.org Bug: chromium:789472 Change-Id: I578c0fb13abaeaedcecf862c4e5aa7680b4067e8 Reviewed-on: https://chromium-review.googlesource.com/795972 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49718}
-
Mythri authored
Adds new API function to request code cache. Earlier code cache was produced along with compile requests. This new API allows us to request code cache after executing. Also adds support in the code serializer to serialize after executing the script. Bug: chromium:783124 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Id7b972a2b4c8dcf7a6d9f5ea210890ae968320bd Reviewed-on: https://chromium-review.googlesource.com/781767Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#49717}
-
Michael Lippautz authored
R=ulan@chromium.org Bug: Change-Id: Ifba0b1bb649f0ee90fc76f738b7912d300c77447 Reviewed-on: https://chromium-review.googlesource.com/796470Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49716}
-
Clemens Hammacher authored
When exporting an imported wasm function, we generate a js-to-wasm wrapper which calls the wasm-to-wasm wrapper (which then tail-calls the WasmCompileLazy stub). This wasm-to-wasm wrapper also needs to be patched. R=titzer@chromium.org Bug: chromium:788441, v8:5991 Change-Id: Ibf27618a0511851cb55714b720fe7299a21c2959 Reviewed-on: https://chromium-review.googlesource.com/795990 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49715}
-
Martyn Capewell authored
The stlxr (store-release exclusive register) instructions in Arm64 have similar restrictions to Arm's strex instructions - the status register must not alias the source or address registers. Enforce this in the assembler and simulator, and modify Turbofan and cctest to conform to this. Also, make a small improvement to the code generated for compare and exchange. This is a port of 44c52f7b. Bug: Change-Id: Ia3a8c39b09c5cb579357a5f61c3d88f13d61b724 Reviewed-on: https://chromium-review.googlesource.com/793037Reviewed-by: Ben Smith <binji@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#49714}
-
Michael Achenbach authored
This also updates the README with guidelines. Bug: chromium:788104 Change-Id: I0ca0ea78c5990204b0242be9c7fe6368439a5dd1 Reviewed-on: https://chromium-review.googlesource.com/796311Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49713}
-
Benedikt Meurer authored
This addresses two TODOs in Ignition where the Construct and the ConstructWithSpread bytecodes didn't collect JSBoundFunction new.target feedback. This is fairly trivial to add now with the existing machinery and the TurboFan side of this was already fixed before, so we can leverage the new feedback. Bug: v8:5267, v8:7109 Change-Id: Iae257836716c14f05f5d301326cbe8b2acaeb38b Reviewed-on: https://chromium-review.googlesource.com/793048Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49712}
-
Sathya Gunasekaran authored
Bug: v8:5367 Change-Id: If10539597c07a497d0e9c89af9529ae90f92ddf3 Reviewed-on: https://chromium-review.googlesource.com/794470 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49711}
-
Michael Starzinger authored
R=jarin@chromium.org Change-Id: I07bde35a44734b49e143a6dafa17dd7c20587412 Reviewed-on: https://chromium-review.googlesource.com/795950Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49710}
-
Clemens Hammacher authored
Cross-instance calls call through a wasm-to-wasm stub, which tail-calls and hence does not show up on the stack. It was not being patched so far, leading to repeatedly calling through the WasmCompileLazy stub. Even though this did not crash, it resulted in significant overhead. This CL fixes this and also adds checks to ensure that we patch at least one call site whenever we execute the WasmCompileLazy stub. R=titzer@chromium.org Bug: chromium:788441, v8:5991 Change-Id: I1c2cd52497c577252a64dbf1cfa92d2f2e60b06c Reviewed-on: https://chromium-review.googlesource.com/794132Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49709}
-
Michael Starzinger authored
R=jarin@chromium.org Change-Id: I2b2d5095e7c5c06c509a0e1b1b1121e78a80735a Reviewed-on: https://chromium-review.googlesource.com/796031Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49708}
-
Michael Achenbach authored
This reverts commit 0269965b. Reason for revert: Successfully got some stack traces: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5274 Original change's description: > V8: Temporary run wasm_traps on native arm debug > > This will break the bot. This is for getting a stack trace and then > revert. > > TBR=mtrofin@chromium.org > > Bug: v8:7138 > Change-Id: I244492ca81f817d64ef7c12e291a6ed9b97e68de > Reviewed-on: https://chromium-review.googlesource.com/795718 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49698} TBR=machenbach@chromium.org,mtrofin@chromium.org Change-Id: Id81736508fd7eb2b9220bf41188f7687c4046960 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7138 Reviewed-on: https://chromium-review.googlesource.com/796290Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49707}
-
peterwmwong authored
This reduces the overhead of calling the builtin. Quick measurements show >5x improvement. As the typed array's size grows, iterating dominates and the performance gap closes. https://github.com/peterwmwong/v8-perf/blob/master/typedarray-find/README.md Bug: v8:5929 Change-Id: Ia74546bb46d446c6161c8956e350d4b5cdc1b328 Reviewed-on: https://chromium-review.googlesource.com/792454 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49706}
-
Michael Achenbach authored
This reverts commit d3104923. Reason for revert: Breaks win debug, causes lots of timeouts. https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/20387 Original change's description: > Implement and use VectorSegment to avoid repeated allocation of ZoneVector properties. > > The parser holds a single vector whose backing storage is reused in calls > to ParseJsonObject, so that once we reach the peak number of unstored > properties no more allocations are required. > > This improves performance of parsing inputs like those in Speedometer VanillaJS > by about 2% in my local measurement, and would presumably do better on more > pathological inputs. > > This should also have the side effect of reducing peak memory usage at this time > slightly, since we do fewer zone allocations which cannot be freed until the > parse finishes. > > Bug: chromium:771227 > Change-Id: I8aa1514b37a74f82539f95f94292c8fa1582d66a > Reviewed-on: https://chromium-review.googlesource.com/789511 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Jeremy Roman <jbroman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49693} TBR=jbroman@chromium.org,marja@chromium.org,cbruni@chromium.org Change-Id: I5b198aeffed6f1543f6110709dc74b311d4ba144 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:771227 Reviewed-on: https://chromium-review.googlesource.com/796151Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49705}
-
Benedikt Meurer authored
In TurboFan we can easily recognize calls to String.prototype.slice where the start parameter is -1 and the end parameter is either undefined or not present. These calls either return an empty string if the input string is empty, or the last character of the input string as a single character string. So we can just make use of the existing StringCharAt operator. This reduces the overhead of the String.prototype.slice calls from optimized code in the chai test of the web-tooling-benchmark significantly. We observe a 2-3% improvement on the test. Bug: v8:6936, v8:7137 Change-Id: Iebe02667446880f5760e3e8c80f8b7cc712df663 Reviewed-on: https://chromium-review.googlesource.com/795726 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49704}
-
Michael Achenbach authored
This reverts commit 99cb4d35. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/16445 Original change's description: > [cleanup] Harden the SubString CSA/Runtime implementations. > > Remove the self-healing for invalid parameters in the > CodeStubAssembler::SubString helper and the %SubString runtime function, > which is used as a fallback for the CodeStubAssembler implementation. > All call sites must do appropriate parameter validation anyways now that > the self-hosted JavaScript builtins using these helpers are gone, and we > have proper contracts with the uses. > > Also remove the context parameter from the CodeStubAssembler::SubString > method, which is unnecessary, since this can no longer throw an > exception. > > Bug: v8:5269, v8:6936, v8:7109, v8:7137 > Change-Id: I19d93bad5f41faa0561c4561a48f78fcba99a549 > Reviewed-on: https://chromium-review.googlesource.com/795720 > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49702} TBR=jgruber@chromium.org,bmeurer@chromium.org Change-Id: I2900b5f087e78f1d321724f03bd063a5ff094183 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5269, v8:6936, v8:7109, v8:7137 Reviewed-on: https://chromium-review.googlesource.com/796150Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49703}
-
Benedikt Meurer authored
Remove the self-healing for invalid parameters in the CodeStubAssembler::SubString helper and the %SubString runtime function, which is used as a fallback for the CodeStubAssembler implementation. All call sites must do appropriate parameter validation anyways now that the self-hosted JavaScript builtins using these helpers are gone, and we have proper contracts with the uses. Also remove the context parameter from the CodeStubAssembler::SubString method, which is unnecessary, since this can no longer throw an exception. Bug: v8:5269, v8:6936, v8:7109, v8:7137 Change-Id: I19d93bad5f41faa0561c4561a48f78fcba99a549 Reviewed-on: https://chromium-review.googlesource.com/795720Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49702}
-
Georg Neis authored
This updates various typing and verification rules to take bigints into account. R=jarin@chromium.org Bug: v8:6791 Change-Id: I38fc4c6551bba878623373c69013da8ce2b50c7d Reviewed-on: https://chromium-review.googlesource.com/788910 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49701}
-
Michael Starzinger authored
R=jkummerow@chromium.org Change-Id: Idc29d9cfe1900554c6ecac5f170e9dea001430ca Reviewed-on: https://chromium-review.googlesource.com/793191Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49700}
-
Camillo Bruni authored
This is a reland of acfef3ec Original change's description: > [log] Properly log all maps creating during bootstrapping > > Logger::LogMaps will print all maps currently present on the heap. > > Note that currently this does not properly log the detailed transitions > for these maps. > > Change-Id: Ia3218d371549d7634fe3eda9e8e59b0b0bd8bebb > Reviewed-on: https://chromium-review.googlesource.com/753885 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49444} Change-Id: I57830f1e22c09981761bb92b9d28c96fbcc1ee80 Reviewed-on: https://chromium-review.googlesource.com/775958 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49699}
-
Michael Achenbach authored
This will break the bot. This is for getting a stack trace and then revert. TBR=mtrofin@chromium.org Bug: v8:7138 Change-Id: I244492ca81f817d64ef7c12e291a6ed9b97e68de Reviewed-on: https://chromium-review.googlesource.com/795718Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49698}
-
Michael Achenbach authored
TBR=mtrofin@chromium.org NOTRY=true Bug: v8:7138 Change-Id: I164cc637953f1a8aaf50d5d0d734a5bb768e1e82 Reviewed-on: https://chromium-review.googlesource.com/795713Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49697}
-
Georg Neis authored
Prior to this change, the exponentiation operator was rewritten by the parser to a call of the Math.pow builtin. However, Math.pow does not accept BigInt arguments, while the exponentiation operator must accept them. This CL - removes the parser's special treatment of ** and **=, treating them like any other binary op instead. - adds a TFC builtin Exponentiate that does the right thing for all inputs. - adds interpreter bytecodes Exp and ExpSmi whose handlers call the Exponentiate builtin. For simplicity, they currently always collect kAny feedback. - adds a Turbofan operator JSExponentiate with a typed-lowering to the existing NumberPow and a generic-lowering to the Exponentiate builtin. There is currently no speculative lowering. Note that exponentiation for BigInts is actually not implemented yet, so we can't yet test it. Bug: v8:6791 Change-Id: Id90914c9c3fce310ce01e715c09eaa9f294f4f8a Reviewed-on: https://chromium-review.googlesource.com/785694Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49696}
-
Benedikt Meurer authored
The two helper functions CanBePrimitive and NeedsConvertReceiver did essentially the same, just in a slightly different way, and both weren't really robust wrt. to the list of JSConstruct* and JSCreate* operators that they were handling. There's now a single helper in the NodeProperties and a couple of extra macro lists to keep this list up to date more easily. Drive-by-fix: Also moved the CanBeNullOrUndefined helper to the NodeProperties class. Bug: v8:5267, v8:7109 Change-Id: Ibbf387040e3f424ee224c53fac15c2b3207b1926 Reviewed-on: https://chromium-review.googlesource.com/793734Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49695}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/cc674b0..9338ce5 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/884db23..11d7efb TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: Ic02409f5ddd02fcbee6c4bf1beb425915ea344c2 Reviewed-on: https://chromium-review.googlesource.com/795434Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#49694}
-
- 28 Nov, 2017 12 commits
-
-
Jeremy Roman authored
The parser holds a single vector whose backing storage is reused in calls to ParseJsonObject, so that once we reach the peak number of unstored properties no more allocations are required. This improves performance of parsing inputs like those in Speedometer VanillaJS by about 2% in my local measurement, and would presumably do better on more pathological inputs. This should also have the side effect of reducing peak memory usage at this time slightly, since we do fewer zone allocations which cannot be freed until the parse finishes. Bug: chromium:771227 Change-Id: I8aa1514b37a74f82539f95f94292c8fa1582d66a Reviewed-on: https://chromium-review.googlesource.com/789511Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Jeremy Roman <jbroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#49693}
-
Mircea Trofin authored
This reverts commit b301203e. Reason for revert: Fixed issues on arm. Original change's description: > Revert "[wasm] JIT using WasmCodeManager" > > This reverts commit d4c8393c. > > Reason for revert: Breaks ARM hardware: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268 > > Original change's description: > > [wasm] JIT using WasmCodeManager > > > > This is the first step towards wasm code sharing. This CL moves wasm > > code generation outside the JavaScript GC heap using the previously - > > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native > > flag). > > > > See design document: go/wasm-on-native-heap-stage-1 > > > > This CL doesn't change other wasm architectural invariants. We still > > have per-Isolate wasm code generation, and per-wasm module instance > > code specialization. > > > > Bug:v8:6876 > > > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3 > > Reviewed-on: https://chromium-review.googlesource.com/674086 > > Reviewed-by: Ben Titzer <titzer@chromium.org> > > Reviewed-by: Eric Holk <eholk@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#49689} > > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org > > Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: v8:6876 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Reviewed-on: https://chromium-review.googlesource.com/794690 > Reviewed-by: Michael Achenbach <machenbach@chromium.org> > Commit-Queue: Michael Achenbach <machenbach@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49691} TBR=bradnelson@chromium.org,machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org Change-Id: I1b07638d1bb2ba0664305b4b2dcfc1342dc8444f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6876 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/794434 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49692}
-
Michael Achenbach authored
This reverts commit d4c8393c. Reason for revert: Breaks ARM hardware: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268 Original change's description: > [wasm] JIT using WasmCodeManager > > This is the first step towards wasm code sharing. This CL moves wasm > code generation outside the JavaScript GC heap using the previously - > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native > flag). > > See design document: go/wasm-on-native-heap-stage-1 > > This CL doesn't change other wasm architectural invariants. We still > have per-Isolate wasm code generation, and per-wasm module instance > code specialization. > > Bug:v8:6876 > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3 > Reviewed-on: https://chromium-review.googlesource.com/674086 > Reviewed-by: Ben Titzer <titzer@chromium.org> > Reviewed-by: Eric Holk <eholk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49689} TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6876 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/794690Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49691}
-
Mike Stanton authored
While investigating loop peeling, I found that relatively simple code like "if (x) { throw new Error('oh hai'); }" in a loop would fail to peel. The reason is that the call (new Error(...)) was recorded by loop analysis as being inside the loop but the only usage was in the throw, which we currently model as being outside of the loop. We have a regime that inserts LoopExit nodes to mark control exits from the loops, and LoopExitValues that are meant to mark exiting values. This wasn't done because of a bug in the bytecode graph builder VisitThrow() method -- it used the *out* liveness to construct the appropriate loop exit nodes, and it's more appropriate to use the *in* liveness. This addressed the concern. It doesn't fix bug 7099, but is a step on the way. Bug: v8:7099 Change-Id: Iaeea794843166063a55c6917e7b0ad4341581261 Reviewed-on: https://chromium-review.googlesource.com/793834Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#49690}
-
Mircea Trofin authored
This is the first step towards wasm code sharing. This CL moves wasm code generation outside the JavaScript GC heap using the previously - introduced WasmCodeManager (all this, behind the --wasm-jit-to-native flag). See design document: go/wasm-on-native-heap-stage-1 This CL doesn't change other wasm architectural invariants. We still have per-Isolate wasm code generation, and per-wasm module instance code specialization. Bug:v8:6876 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3 Reviewed-on: https://chromium-review.googlesource.com/674086Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Eric Holk <eholk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49689}
-
Sathya Gunasekaran authored
Bug: v8:5367 Change-Id: I53fa815175bd0890756373cdcb3793201e4d4acb Reviewed-on: https://chromium-review.googlesource.com/793193Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#49688}
-
Adam Klein authored
It was shipped in Chrome 62. Bug: v8:5546, v8:4829 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3ac318639f1f7483d4d4f4fe5606387a856be98a Reviewed-on: https://chromium-review.googlesource.com/777940Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49687}
-
Ulan Degenbaev authored
These tests are failing with OOM. Bug: v8:6924 Change-Id: I988814350c6199ca5c1976e3f09d3b96e42ec0ff Reviewed-on: https://chromium-review.googlesource.com/793044 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49686}
-
Ulan Degenbaev authored
This reverts commit adf0fc8c. Original change's description: > [heap] Tune incremental marking step size. > > The main thread now can reduce marking step size if concurrent marking > tasks are making progress and the bailout worklist is empty. > > Bug: chromium:694255 Change-Id: Ib2f04be258e14887059d88da301ddf17f6b453b4 Reviewed-on: https://chromium-review.googlesource.com/794135Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49685}
-
Michael Achenbach authored
Bug: chromium:788104 Change-Id: I1d778292548642661c81ec62bc1f23a0ea4c0762 Reviewed-on: https://chromium-review.googlesource.com/793530Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49684}
-
Jakob Kummerow authored
And also ensure that it doesn't allocate when that's avoidable. Bug: v8:6791 Change-Id: Ied2d2c9c5718aed9839f17739d743353cbadee88 Reviewed-on: https://chromium-review.googlesource.com/786170Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49683}
-
Clemens Hammacher authored
There are several places where we extract function information (instance and function index) from the deoptimization data. Add a central method to do this. Drive-by: Move {AttachWasmFunctionInfo} from wasm-compiler.h to wasm-objects.h. R=titzer@chromium.org Change-Id: I768d2c9aa8049f75a6be02242b1fe524ff42e3e4 Reviewed-on: https://chromium-review.googlesource.com/793046Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49682}
-