- 29 Nov, 2017 14 commits
-
-
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 26 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}
-
Bill Budge authored
- Use madvise when setting no permissions on memory. - Move platform specific mmap flag calculations to a helper fn. Bug: chromium:756050,chromium:788341 Change-Id: I7d420a0abee9656a57fb0317301322da2fd7d7b5 Reviewed-on: https://chromium-review.googlesource.com/790932 Commit-Queue: Bill Budge <bbudge@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49681}
-
Michael Achenbach authored
This reverts commit 90405027. Reason for revert: Flaky msan: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/18432 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: I2f58530f184c03667ab3a170a1f6309929645c7c > Reviewed-on: https://chromium-review.googlesource.com/735859 > Commit-Queue: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49671} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: Ic10ee9bae51b2b4b78d87c83c67b1307d0c36012 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:694255 Reviewed-on: https://chromium-review.googlesource.com/794190Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#49680}
-
Michael Lippautz authored
This way it can already be used during deserialization. Bug: v8:7133 Change-Id: I6d6ddb6c6e5326384d014d653b163f3d917089e9 Reviewed-on: https://chromium-review.googlesource.com/793393Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49679}
-
peterwmwong authored
Use memmove if source and target are either Uint8Array or Uint8ClampedArray. Bug: v8:7123,chromium:759236 Change-Id: If82bf10165cfc67274f36bb772ce9676a768dcc8 Reviewed-on: https://chromium-review.googlesource.com/790756 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49678}
-
Michael Lippautz authored
- Use integer log2 - Fix lower bucket index - Introduce upper bucket index Bug: v8:7133 Change-Id: I1f1209a13d69ed6e27eeb18254fccb8263f62954 Reviewed-on: https://chromium-review.googlesource.com/793450Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49677}
-
Tobias Tebbi authored
Bug: Change-Id: Idca921bde6f10d8e9809c0b3a83cc3a8d3f135af Reviewed-on: https://chromium-review.googlesource.com/779424 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49676}
-
Michael Starzinger authored
R=hpayer@chromium.org BUG=v8:6792,chromium:774108 Change-Id: I202993ddf5bb11d238ed173197657c6546dd4a37 Reviewed-on: https://chromium-review.googlesource.com/789865Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49675}
-
Ross McIlroy authored
AggregatableHistogramTimer will always add a sample when it is destroyed, even if there were no AggregatedHistogramTimerScope called within it. This makes the V8.CompileLazyMicroSeconds histogram not particularly useful since it is 90% filled with zero entries where v8 execute didn't require any lazy function compilation Change-Id: Ia75c8596237b22528cbba3e8ae2b67e28ea54097 Reviewed-on: https://chromium-review.googlesource.com/793452Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49674}
-
jgruber authored
These fields relied on the assumption that 64-bit big-endian architectures had sizeof(int) == 4. Any architecture violating this assumption would result in an OOB access. Bug: Change-Id: I682ecb6a2da2cf84e8b24f1c1e608d7fc23f5bdc Reviewed-on: https://chromium-review.googlesource.com/793431Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49673}
-
Sathya Gunasekaran authored
See https://tc39.github.io/proposal-class-fields/#sec-static-semantics-early-errors Bug: v8:5367 Change-Id: I0329d1b41c4658b733df47397fbcc2c16bad117e Reviewed-on: https://chromium-review.googlesource.com/792946 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49672}
-
Ulan Degenbaev authored
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: I2f58530f184c03667ab3a170a1f6309929645c7c Reviewed-on: https://chromium-review.googlesource.com/735859 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49671}
-
Clemens Hammacher authored
Many methods which currently receive a {ValueType} really just need to know the register class. Thus introduce a {RegClass} enum with values {kGpReg} and {kFpReg}, and change some methods to use it. For most methods, only the {kGpReg} case is implemented for now. Support for {kFpReg} will be added later. R=titzer@chromium.org Bug: v8:6600 Change-Id: I1db793c59270862c4e1b877e6e4bd81020a650f8 Reviewed-on: https://chromium-review.googlesource.com/793159Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49670}
-
Clemens Hammacher authored
This CL adds the --trace-wasm-lazy-compilation flag, to track which function is being compiled, and how many locations in the caller and in function tables are actually being patched. It seems that we currently don't patch the caller correctly when calling through wasm-to-wasm stubs, and this tracing helps to find the issue. Drive-by: Fix order and location of macro undefs. R=titzer@chromium.org Bug: chromium:788441 Change-Id: I6091c0d490a729f8e3cb759cd661cf52129d2211 Reviewed-on: https://chromium-review.googlesource.com/793157Reviewed-by: Ben Titzer <titzer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#49669}
-
Junliang Yan authored
On 64-bit architectures, an IntPtr-sized write of Name::kEmptyHashField will properly initialize the relevant Int32-sized payload of Name::kHashFieldOffset, as well as zero out the unused portion of the slot. Bug: v8:7065 Change-Id: I93113c9744377e76cd0d264568c49b31a1e822a1 Reviewed-on: https://chromium-review.googlesource.com/788530Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49668}
-