- 22 Jun, 2017 12 commits
-
-
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 28 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}
-
Ross McIlroy authored
Adds typed lowering of JSStringConcat to ConsString allocation if the following conditions hold: - All concatinations will result in a ConsString of >= ConString::kMinLength - No concatinations will result in a empty string in the RHS unless there is a sequential string in the LHS. This also means JSStringConcat needs an eager checkpoint since it can deopt if throwing a RangeError when the string length protector is valid. BUG=v8:6243 Change-Id: I01ca79f884df467c10f2c032c72d51b5199c1a3c Reviewed-on: https://chromium-review.googlesource.com/526636 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46093}
-
Michael Lippautz authored
The iterator already provides the size. Bug: chromium:651354 Change-Id: I683bfe5c82441bf39c21b18daa58eba91b798c64 Reviewed-on: https://chromium-review.googlesource.com/543495 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46092}
-
Michael Achenbach authored
NOTRY=true Bug: chromium:645890,chromium:726584 Change-Id: Ie16650d7e8912233407a7f5b2dcb98f917869bdc Reviewed-on: https://chromium-review.googlesource.com/541319Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46091}
-
Toon Verwaest authored
Bug: Change-Id: Idf5673ef3262c64d1c214362accc42554dbc2e69 Reviewed-on: https://chromium-review.googlesource.com/541340Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46090}
-
Michael Starzinger authored
This switches all uses of the patching {ToBooleanICStub} over to the existing and non-patching {ToBoolean} CSA-builtin, and removes some supporting code. R=verwaest@chromium.org BUG=v8:6408 Change-Id: Iab60c95e6b54e426408390e056b679f6227e7ce0 Reviewed-on: https://chromium-review.googlesource.com/539576Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46089}
-
Michael Starzinger authored
R=jarin@chromium.org Change-Id: I0cf5eb57b0f1528f08bc47b3bfddced5cff1abf2 Reviewed-on: https://chromium-review.googlesource.com/543118Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46088}
-
bmeurer authored
Add a new JSConstructWithArrayLike operator that is backed by the ConstructWithArrayLike builtin (similar to what was done before for the JSCallWithArrayLike operator), and use that operator to optimize Reflect.construct inlining in TurboFan. This is handled uniformly with JSConstructWithSpread in the JSCallReducer. Also add missing test coverage for Reflect.construct in optimized code, especially for some interesting corner cases. R=petermarshall@chromium.org BUG=v8:4587,v8:5269 Review-Url: https://codereview.chromium.org/2949813002 Cr-Commit-Position: refs/heads/master@{#46087}
-
Michael Starzinger authored
This addresses a TODO about the correct location of the helper function in question, it is now internal to TurboFan instead of being shared. R=jarin@chromium.org Change-Id: I7e6112e9bc9759255a416fa2e2a9f92a8e4248c8 Reviewed-on: https://chromium-review.googlesource.com/542840Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46086}
-
Michael Lippautz authored
- Iterator advancing is kept mainly unchanged. - The iterator stores the size of the object which is to be used by the caller in follow ups. This way we might be able to avoid further out of line loads. - The iteartor follows the regular std conventions allowing range based loops. Bug: chromium:651354 Change-Id: I8928224a62d3a48a48145a2d00279a28608bc634 Reviewed-on: https://chromium-review.googlesource.com/543335 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46085}
-
Michael Lippautz authored
Bug: Change-Id: I0e49aec183cfb5cd71f82862718cdbc62add0247 Reviewed-on: https://chromium-review.googlesource.com/543038Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46084}
-
Michael Starzinger authored
R=verwaest@chromium.org Change-Id: I39921052ddf0934f1a626f3e1e458280475ae265 Reviewed-on: https://chromium-review.googlesource.com/539515Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46083}
-