- 22 Jun, 2017 23 commits
-
-
Marja Hölttä authored
let f = function g() { ... } declares "g" inside the function. This CL makes the preparser declare it too, and saves + restores the scope data for it. BUG=v8:5516 Change-Id: Id4c64f446d30f5252038cfb0f0f473b85ba24a9b Reviewed-on: https://chromium-review.googlesource.com/544816 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#46133}
-
Martyn Capewell authored
Re-enable a couple of WebAssembly tests previously disabled by mistake. Change-Id: I315b991bc1bb2a22aa5238e85e477704e3dc94df Bug: Reviewed-on: https://chromium-review.googlesource.com/543123Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Martyn Capewell <martyn.capewell@arm.com> Cr-Commit-Position: refs/heads/master@{#46132}
-
Ulan Degenbaev authored
Currently the descriptors are moved from the old map to the new map, which is unsafe for the concurrent marker. This patch removes the map mutation. Change-Id: I3f7ce455c7344148a122c7443cf32a4eef0307be Reviewed-on: https://chromium-review.googlesource.com/535480 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46131}
-
Camillo Bruni authored
Change-Id: I918bf4752c66537015cc67bd81ec68a57b4dac52 Reviewed-on: https://chromium-review.googlesource.com/544878Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46130}
-
kris.selden authored
transition, check to see if we have already done this transition. BUG=v8:6450 Review-Url: https://codereview.chromium.org/2915863004 Cr-Commit-Position: refs/heads/master@{#46129}
-
Marja Hölttä authored
The test setup was as follows: - Preparse function test() { ... }, get scope allocation data. - Apply the scope allocation data to (function test() { ... })(); - Compare against normal scope allocation for (function test() { ... })(); But the IIFE is unnecessary - we already disable lazy parsing. Cleaning this up is needed because in the next CL, I want to fix the Scopes produced by PreParser in this case: let f = function g() { // Here we should declare g! } And that fix will make the variables in function test() { // Here we don't declare test } and (function test() { // Here we do declare test })(); not match any more, so it doesn't make sense to compare them against each other. BUG=v8:5516 Change-Id: I93d154c6977bb3cbe405b6ca193cf6283df297bc Reviewed-on: https://chromium-review.googlesource.com/543341Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#46128}
-
Toon Verwaest authored
Bug: Change-Id: Iafd8174f567365ece3b124685bf50a10b57fbd09 Reviewed-on: https://chromium-review.googlesource.com/543499 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46127}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: I1e8104831a9d31177bfaffc2a99300e2022edfd3 Reviewed-on: https://chromium-review.googlesource.com/544918Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46126}
-
Toon Verwaest authored
Bug: Change-Id: Iab8fc855808b22a2786476ddc4568f3f474c73d8 Reviewed-on: https://chromium-review.googlesource.com/543079 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46125}
-
Toon Verwaest authored
SeededNumberDictionaries are used to implement element backing stores of JSObjects, not internally used dictionaries. This saves space for the anyway unused PropertyDetails entry (1/3 fields). Bug: Change-Id: I6fe9fae6de500dd0bcb722f51a7543952c7813e9 Reviewed-on: https://chromium-review.googlesource.com/543343 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46124}
-
Toon Verwaest authored
Bug: Change-Id: I252a293cfb6c7cce41d4c585078d78609f4419b7 Reviewed-on: https://chromium-review.googlesource.com/543035 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46123}
-
Michael Starzinger authored
This switches all uses of the patching {BinaryOpICStub} over to the respective existing and non-patching CSA-builtins, and removes some supporting code. It also removes the inlined SMI handling. R=verwaest@chromium.org BUG=v8:6408 Change-Id: If547c0127bfcafbd01ccb33b702b1868006ebcb1 Reviewed-on: https://chromium-review.googlesource.com/541398 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46122}
-
Toon Verwaest authored
Bug: Change-Id: I335dc1259f2468e91f8fb6d5a3b13a601c807a79 Reviewed-on: https://chromium-review.googlesource.com/544875Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46121}
-
Andreas Haas authored
This CL does same changes as https://chromium-review.googlesource.com/c/540763/, but for async compilation instead of for parallel compilation. The biggest difference is that for async compilation I start background tasks again when half of the memory is free again and not when all the memory is free again. Original description: It is possible that the foreground task is unable to clear the scheduled unfinished work, eventually leading to an OOM. We use either code_range on 64 bit, or the capacity of the code space, as a heuristic for how much memory to use for compilation. The change avoids blocking the background threads while we're over the memory threshold. This is to avoid starving the GC. R=mtrofin@chromium.org Change-Id: I7399e2474f72f6727e6e50176dd7ba95cdcd3238 Reviewed-on: https://chromium-review.googlesource.com/543477 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46120}
-
Michael Lippautz authored
Bug: chromium:651354 Change-Id: I8aa122f48986f494146d4e896b254846de7ce295 Reviewed-on: https://chromium-review.googlesource.com/543500 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46119}
-
Jochen Eisinger authored
This will allow for embedders to easily implement their own Platform without duplicating the tracing controller code. BUG=v8:6511 R=fmeawad@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I7c64933d12b2cf53f0636fbc87f6ad5d22019f5c Reviewed-on: https://chromium-review.googlesource.com/543015 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Fadi Meawad <fmeawad@chromium.org> Cr-Commit-Position: refs/heads/master@{#46118}
-
Toon Verwaest authored
Bug: Change-Id: Id05ac179899cfa802575c90ea1745375e2833825 Reviewed-on: https://chromium-review.googlesource.com/542617 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46117}
-
Daniel Ehrenberg authored
In edge cases such as the following, sloppy-mode block-scoped function hoisting is expected to occur: eval(` with({a: 1}) { function a() {} } `) In this case, there should be the equivalent of a var declaration outside of the eval, which gets set to the value of the local function a when the body of the with is executed. Previously, the way that var declarations are hoisted out of eval meant that the assignment to that var was an ordinary DYNAMIC_GLOBAL assignment. However, such a lookup mode meant that the object in the with scope received the assignment! This patch fixes that error by marking the assignments produced by the sloppy mode block scoped function hoisting desugaring so as to generate a different runtime call which skips with scopes. Bug: chromium:720247, v8:5135 Change-Id: Ie36322ddc9ca848bf680163e8c016f50d4597748 Reviewed-on: https://chromium-review.googlesource.com/529230 Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46116}
-
Michael Starzinger authored
R=marja@chromium.org Change-Id: I8a1ad2e64f5ec755fe5ce5949bf9b455696bd3f4 Reviewed-on: https://chromium-review.googlesource.com/543056Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46115}
-
Andreas Haas authored
This CL addresses some post-commit comments on https://chromium-review.googlesource.com/c/532993/. R=mtrofin@chromium.org Change-Id: I1e078faf5e3fdb3bb4cbe6d6e1434fbd253f77df Reviewed-on: https://chromium-review.googlesource.com/543236Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#46114}
-
Michael Starzinger authored
R=marja@chromium.org Change-Id: I34ace4425d091e7104b37079a455176af08c250d Reviewed-on: https://chromium-review.googlesource.com/543498Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46113}
-
Jochen Eisinger authored
BUG=chromium:732736 R=marja@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I3b3dfdd0c55a7ec267ae26765901497611d39d29 Reviewed-on: https://chromium-review.googlesource.com/543158Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#46112}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/9ffcabd..68d4fc6 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/a64c010..76def89 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I6ecd01bde7a297b42539fcc5a31a367b2406e606 Reviewed-on: https://chromium-review.googlesource.com/544595Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46111}
-
- 21 Jun, 2017 17 commits
-
-
Mircea Trofin authored
Collect code coverage by compiling for one or more target architectures and then running tests, in the same directory. This way, gcov aggregates results. Bug: Change-Id: I3bf05416c535c0c566e48d4e73adc4eb49ba2793 Reviewed-on: https://chromium-review.googlesource.com/527522 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46110}
-
jyan authored
Port 24b7026d Original Commit Message: For interpreted functions, use the optimized code slot in the feedback vector to store an optimization marker (optimize/in optimization queue) rather than changing the JSFunction's code object. Then, adapt the self-healing mechanism to also dispatch based on this optimization marker. Similarly, replace SFI marking with optimization marker checks in CompileLazy. This allows JSFunctions to share optimization information (replacing shared function marking) without leaking this information across native contexts. Non I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which generalises the old CompileOptimized/InOptimizationQueue builtins and also checks the same optimization marker as CompileLazy and InterpreterEntryTrampoline. This is a reland of https://chromium-review.googlesource.com/c/509716 R=leszeks@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2947903002 Cr-Commit-Position: refs/heads/master@{#46109}
-
gdeepti authored
This was left over from the previous CL to change S128LoadMem/S128StoreMem to use prefixed opcodes. Decoding prefixed opcodes already checks for the prototype flag. BUG=V8:6020 R=bbudge@chromium.org Review-Url: https://codereview.chromium.org/2946303002 Cr-Commit-Position: refs/heads/master@{#46108}
-
Adam Klein authored
This will make it easier if we want to split it into two intrinsics, one for creating an object with `done == true` and one with `done == false`. Also remove apparently-dead method FullCodegen::EmitCreateIteratorResult. Bug: v8:6408, v8:6409 Change-Id: I3d6022a9eff517dd8b664d65950502c22447b364 Reviewed-on: https://chromium-review.googlesource.com/543567Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46107}
-
bakkot authored
(Reland: NeedsManualRebaseline'd newly-fixed layout test in Chromium.) This was never legal; the spec only allows '\0' in strict-mode strings or templates when not followed by a decimal digit. Previously we were only enforcing that it not be followed by an _octal_ digit. This was already fixed for numeric literals, but not for escape sequences in strings. BUG=v8:6504 Review-Url: https://codereview.chromium.org/2948903002 Cr-Commit-Position: refs/heads/master@{#46106}
-
Alexey Kozyatinskiy authored
This method returns position of importing stmt in module source. R=neis@chromium.org Bug: chromium:721589 Change-Id: I8639796a001fdfec7cf5aa1bf1a27493f7a757a9 Reviewed-on: https://chromium-review.googlesource.com/541322Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46105}
-
Toon Verwaest authored
UpdateMaxNumberKey calls are moved to clients, who do have the dictionary-holder. ::Add should basically always UpdateMaxNumberKey. I'm reducing the number of entry points before looking into how to guarantee this. Bug: Change-Id: Iefe8a7fdf7c1e0a6d731bfd948d22849714498a9 Reviewed-on: https://chromium-review.googlesource.com/542895 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46104}
-
Jaideep Bajwa authored
R=marja@chromium.org, mstarzinger@chromium.org BUG= LOG=N Change-Id: Ida5496ac957343c63177697c39e502d952881a26 Reviewed-on: https://chromium-review.googlesource.com/535755Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46103}
-
Michael Starzinger authored
R=marja@chromium.org Change-Id: I3986d7a5627849ac09ff563fc57aac9bbaeaefa7 Reviewed-on: https://chromium-review.googlesource.com/543497 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#46102}
-
Leszek Swirski authored
Allows BitVector to resize, updating its own data and data length to match the new length. We can fast-path resizes which fit into the same data length (since high bits are already zero), and replace the pattern where a BitVector is cloned using CopyFrom. Change-Id: If79ca782c516e93b2a27c5e335e263554d522e88 Reviewed-on: https://chromium-review.googlesource.com/539522Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46101}
-
Georg Neis authored
R=littledan@chromium.org Bug: v8:1569 Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I9c598afca288c68a64bf15c39e1043c6c37b6add Reviewed-on: https://chromium-review.googlesource.com/543139Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46100}
-
Toon Verwaest authored
Bug: Change-Id: Ica3ebd998ad44d24c401cfb74cf5cbe3a6164c47 Reviewed-on: https://chromium-review.googlesource.com/541344 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46099}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: I52237650b2e80428d21acfa2c4993a07d224b8c5 Reviewed-on: https://chromium-review.googlesource.com/542819 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46098}
-
Mythri authored
Currently, the number of ticks to wait before optimizing is a constant (if sufficient feedback is available). This cl changes it so that, larger functions would have to wait longer for optimizing. The number of ticks required scales linearly with the function size. Bug: Change-Id: Id27bea715cf15960667cf63381b1cbe8dac94428 Reviewed-on: https://chromium-review.googlesource.com/538614 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46097}
-
Peter Marshall authored
I can't reproduce any issues with an lsan build, so we will remove this for now and keep an eye out. Bug: v8:6315 Change-Id: Iad2a1b23f3614ec9a09a83bb01e235969c3f9fcc Reviewed-on: https://chromium-review.googlesource.com/542835Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#46096}
-
jgruber authored
This CL improves reported source range precision in a couple of ways: Source ranges are now standardized to consist of an inclusive start index and an exclusive end index (similar to what's reported for functions). For example: 0123456789 // Offset. { f(); } // Block represented as range {0,8}. Duplicate singleton ranges (i.e. same start and end offsets) are now merged (this only becomes relevant once jump statement coverage is added). For example: for (.) break; // Break- and loop continuation have same positions. SourceRangeScope incorrectly collected starting position (unconditionally) and end position (when no semi-colon was present). 01234567890123 // Offset. for (.) break // Loop body range is {8,13}, was {6,9}. Bug: v8:6000 Change-Id: I62e7c70cc894a20f318330a2fbbcedc47da2b5db Reviewed-on: https://chromium-review.googlesource.com/541358 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#46095}
-
Ulan Degenbaev authored
BUG=chromium:694255 Change-Id: Icd949cb6cd3c7405dbdf1933f6239851443f87a8 Reviewed-on: https://chromium-review.googlesource.com/542616Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46094}
-