- 16 Jun, 2017 15 commits
-
-
Camillo Bruni authored
With the introduction of the fast-cloning double fields in the CSA stub for literals we forgot to check for deprecated maps. As a result every subsequent IC-miss would have to migrate the objects from such boilerplates. This CL makes sure we don't use the deprecated map when copying boilerplates, thus restoring the original behavior. Bug: v8:6211 chromium:728682 Change-Id: If9ea1e0c5c6fb4236cb7a82ea33306a600925ac3 Reviewed-on: https://chromium-review.googlesource.com/538677Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45981}
-
Camillo Bruni authored
Change-Id: I224ea998eccf8fa18766b71962d487bb02768c78 Reviewed-on: https://chromium-review.googlesource.com/518146Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45980}
-
Camillo Bruni authored
Change-Id: If9debcecd714494e24adf895eb077d5ba51528d2 Reviewed-on: https://chromium-review.googlesource.com/535619 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45979}
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:6408 Change-Id: I1bc4f8f5ba37cf8a3632939356f56231ccc3226f Reviewed-on: https://chromium-review.googlesource.com/535458 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#45978}
-
Tobias Tebbi authored
Bug: chromium:733181 Change-Id: If5b0bc8592ba71962237814ad521499afda22edf Reviewed-on: https://chromium-review.googlesource.com/538653Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#45977}
-
Michael Lippautz authored
Remove dead code on the way. Bug: v8:6474 Change-Id: I7edb4277bc53ee92edf9523b943492782ec6efac Reviewed-on: https://chromium-review.googlesource.com/538652Reviewed-by: Hannes Payer <hpayer@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#45976}
-
Camillo Bruni authored
Storing the boilerplate on the first run leads to memory ovehead for code that is run only once. Hence we directly return the creating literal on the first run and only start creating copies from the second run on. Bug: v8:6211 Change-Id: I69b96d124a5b594b991fdbcc76dbf935d973ffad Reviewed-on: https://chromium-review.googlesource.com/530688 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45975}
-
Mythri authored
Profiler ticks are reset when the type feedback changes for Load / Store ICs. This cl extends this to other operations as well. This allows us to tier up functions when the feedback vectors are stable. This is the first step for a set of follow up cls that will change the heuristics used in runtime-profiler. Bug: Change-Id: I875209712c6161e425a03475c14890a49155c0e1 Reviewed-on: https://chromium-review.googlesource.com/529165Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#45974}
-
jarin authored
This is in preparation for lowering monomorphic loads during graph building. This essentially moves the parts that will be shared to a separate class/file (proparty-access-builder.(cc|h)). I should say that we will not want to do accessor inlining during graph building because that would require us to create frame states (which is the thing we would like to avoid doing). Review-Url: https://codereview.chromium.org/2936673005 Cr-Commit-Position: refs/heads/master@{#45973}
-
Michael Starzinger authored
This removes the heuristic from {JSStackFrame::IsConstructor} that tried to infer whether a frame was called as a constructor or not from the receiver value. We are now carrying along the appropriate bit derived from the frame type instead. R=jgruber@chromium.org TEST=message/regress/regress-5727 BUG=v8:5727 Change-Id: I0e2f1d0f95485c84c4ebcd3cbfe0123c6afd2e01 Reviewed-on: https://chromium-review.googlesource.com/500313 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45972}
-
Ulan Degenbaev authored
This patch makes the SlotSet bucket type non-atomic by default and explicitly converts buckets to Atomic32/AtomicWord for each operation. Change-Id: Ifaa60a53eb68ca579185be23e379995aeeabe343 Reviewed-on: https://chromium-review.googlesource.com/535481 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#45971}
-
Michael Lippautz authored
Affects the Windows case where we over reserve for alignment reasons but actually already get aligned memory. Implemented on allocator level to potentially cover other platforms as well. Bug: Change-Id: I4859451f157e1e363db27413a43345fdd1990a06 Reviewed-on: https://chromium-review.googlesource.com/535454 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45970}
-
Camillo Bruni authored
Change-Id: Ia209def2faef1f765f74dc153fd8b4800c25be17 Reviewed-on: https://chromium-review.googlesource.com/521063 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#45969}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/3ab6155..c6f78e9 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/b53a03d..ee9c3a7 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/b7068ad..a248bd9 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I3b501ec3151ba17a417a6e0876437b49e6a8435a Reviewed-on: https://chromium-review.googlesource.com/538234Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45968}
-
gdeepti authored
BUG=v8:6478, chromium:729768 R=bradnelson@chromium.org, eholk@chromium.org Review-Url: https://codereview.chromium.org/2903153002 Cr-Original-Commit-Position: refs/heads/master@{#45931} Committed: https://chromium.googlesource.com/v8/v8/+/7e6ed62071d2756688a23bd6dac096b0d4660b5d Review-Url: https://codereview.chromium.org/2903153002 Cr-Commit-Position: refs/heads/master@{#45967}
-
- 15 Jun, 2017 9 commits
-
-
Adam Klein authored
This reverts commit 8196e102. Reason for revert: Performance regression due to hashcode lookup. Original change's description: > [builtins] Move most WeakMap/WeakSet code from JS to C++ builtins > > They were already implemented mostly in C++ (only error/negative > cases were handled in script), so this is mostly just a cleanup. > Only the constructors remain in script after this CL. > > Bug: v8:6354 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I5b3579337a8e33dc30d49c2da5cfd42baec697bb > Reviewed-on: https://chromium-review.googlesource.com/531670 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Adam Klein <adamk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45924} TBR=adamk@chromium.org,cbruni@chromium.org,gsathya@chromium.org Bug: v8:6354, chromium:733238 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia5a741b9587886298f3ca057f6a6adeba556b8e0 Reviewed-on: https://chromium-review.googlesource.com/537207Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45966}
-
Sathya Gunasekaran authored
Previously, when destructuring against null or undefined we would print: d8> var { x } = null (d8):1: TypeError: Cannot match against 'undefined' or 'null'. var { x } = null ^ TypeError: Cannot match against 'undefined' or 'null'. at (d8):1:1 The above message uses the term "match" which isn't a common term in JavaScript to describe destructuring. This message also doesn't provide the name of the property that fails destructuring. This patch changes the error message to be: d8> var { x } = null; (d8):1: TypeError: Cannot destructure property `x` of 'undefined' or 'null'. var { x } = null; ^ TypeError: Cannot destructure property `x` of 'undefined' or 'null'. at (d8):1:1 This patch changes the message to say "destructure" instead of "match". This patch adds support for printing property names that are string literals. We iterate through every property and pick the first string literal property name if it exists. This provides at least some feedback to the developer. This patch also makes the pointer point to the position of the property name that fails destructuring. For computed and numeric property names, we print a generic error: d8> var { 1: x } = null (d8):1: TypeError: Cannot destructure against 'undefined' or 'null'. var { 1: x } = null ^ TypeError: Cannot destructure against 'undefined' or 'null'. at (d8):1:1 Bug: v8:6499 Change-Id: I35b1ac749489828686f042975294b9926e2dfc53 Reviewed-on: https://chromium-review.googlesource.com/537341Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#45965}
-
Adam Klein authored
The Atomics object is a normal object, just like Math, JSON, etc., so we should be able to set it up in the same way those are set up since cff5470a. Change-Id: I46a9ba990707c0659f1a62f628b2c69204e536f8 Reviewed-on: https://chromium-review.googlesource.com/537076Reviewed-by: Ben Smith <binji@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45964}
-
Adam Klein authored
Before this patch, those builtin objects all used a strange-looking pattern for creation that involved creating a new constructor function (likely in order to get their ES5 [[Class]] set appropriately). But in modern times, with @@toStringTag as the mechanism of returning the correct toString value, there should be no need for those extra hoops, so simply use the Object constructor instead. Change-Id: Id841dace26bf71f73ec25a71f1297d502438b27c Reviewed-on: https://chromium-review.googlesource.com/533922 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45963}
-
Adam Klein authored
Change-Id: Ie4d21d2fc10db40efb42d66c9438ce3f3f01ce79 Reviewed-on: https://chromium-review.googlesource.com/533804Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45962}
-
Georg Neis authored
I incorrectly assumed that ScopeIterator::SetModuleVariableValue gets called when the frame is the module function. R=jgruber@chromium.org, kozyatinskiy@chromium.org Bug: v8:1569, v8:6484 Change-Id: I1fbad8ccde57280149547c78e679527f7a0c89dd Reviewed-on: https://chromium-review.googlesource.com/535620Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#45961}
-
Leszek Swirski authored
This reverts commit b7a036a6. Reason for revert: We don't want to ever access the heap when walking the stack Original change's description: > [frames] Make interpreted frame detection stricter (reland) > > When iterating over stack frames, make the interpreted frame detection > require that the frame header contains the bytecode array. > > Currently, the stack frame iterator supports bytecode handlers that > don't create stack frames by checking if the top of the stack (i.e. the > return address) is the interpreter entry trampoline. However, optimized > code tail called from the interpreter entry trampoline can move the > stack pointer without clearing the stack, which means it can end up with > a pointer into the interpreter entry trampoline on the top of its stack > (in an uninitialized value), and be interpreted as an interpreted frame. > > To avoid such optimized code frames being interpreted as interpreted > frames, we now additionally test the frame header, to see if it contains > a valid pointer to a BytecodeArray. > > Reland of https://chromium-review.googlesource.com/c/535646/ > > Change-Id: Iefbf305c9e4b43bebd2fc111663671d2b675e64a > Reviewed-on: https://chromium-review.googlesource.com/536935 > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45959} TBR=kozyatinskiy@chromium.org,leszeks@chromium.org Change-Id: I52a62c8e11af4d1565af92f10113b955f8c2c2f2 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/536938Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45960}
-
Leszek Swirski authored
When iterating over stack frames, make the interpreted frame detection require that the frame header contains the bytecode array. Currently, the stack frame iterator supports bytecode handlers that don't create stack frames by checking if the top of the stack (i.e. the return address) is the interpreter entry trampoline. However, optimized code tail called from the interpreter entry trampoline can move the stack pointer without clearing the stack, which means it can end up with a pointer into the interpreter entry trampoline on the top of its stack (in an uninitialized value), and be interpreted as an interpreted frame. To avoid such optimized code frames being interpreted as interpreted frames, we now additionally test the frame header, to see if it contains a valid pointer to a BytecodeArray. Reland of https://chromium-review.googlesource.com/c/535646/ Change-Id: Iefbf305c9e4b43bebd2fc111663671d2b675e64a Reviewed-on: https://chromium-review.googlesource.com/536935Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45959}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/4280b28..3ab6155 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/597f96e..59a182b TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Idaf4f74956b999fe846a21efb85850e50e619bbb Reviewed-on: https://chromium-review.googlesource.com/536514Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#45958}
-
- 14 Jun, 2017 16 commits
-
-
jshin authored
Use ICU to check ID_Start, ID_Continue and WhiteSpace even for BMP when V8_INTL_SUPPORT is on (which is default). Change LineTerminator::Is() to check 4 code points from ES#sec-line-terminators instead of using tables and Lookup function. Remove Lowercase::Is(). It's not used anywhere. Update webkit/{ToNumber,parseFloat}.js to have the correct expectation for U+180E and the corresponding expected files. This is a follow-up to an earlier change ( https://codereview.chromium.org/2720953003 ). CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng BUG=v8:5370,v8:5155 TEST=unittests --gtest_filter=CharP* TEST=webkit: ToNumber, parseFloat TEST=test262: built-ins/Number/S9.3*, built-ins/parse{Int,Float}/S15* TEST=test262: language/white-space/mong* TEST=test262: built-ins/String/prototype/trim/u180e TEST=mjsunit: whitespaces Review-Url: https://codereview.chromium.org/2331303002 Cr-Commit-Position: refs/heads/master@{#45957}
-
Jaideep Bajwa authored
Port bd3d091d Original Commit Message: With concurrent marking the write barrier should trigger even if the object is black because the concurrent marker could have fetched object field before marking the object black. R=ulan@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:694255 LOG=N Change-Id: I3e3b5b467ab3c2eca45ac8d85523c8af4f5f5d4b Reviewed-on: https://chromium-review.googlesource.com/535736Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#45956}
-
Ulan Degenbaev authored
This patch also changes the visitor of BytecodeArray to use BytecodeArray::BodyDescriptor. BUG=chromium:733159 Change-Id: I2ac72c97ec51996b5b100c447b543895180f4f78 Reviewed-on: https://chromium-review.googlesource.com/535674Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45955}
-
Leszek Swirski authored
This reverts commit f577b2bb. Reason for revert: Failure on https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20verify%20csa/builds/1978 Original change's description: > [frames] Make interpreted frame detection stricter > > When iterating over stack frames, make the interpreted frame detection > require that the frame header contains the bytecode array. > > Currently, the stack frame iterator supports bytecode handlers that > don't create stack frames by checking if the top of the stack (i.e. the > return address) is the interpreter entry trampoline. However, optimized > code tail called from the interpreter entry trampoline can move the > stack pointer without clearing the stack, which means it can end up with > a pointer into the interpreter entry trampoline on the top of its stack > (in an uninitialized value), and be interpreted as an interpreted frame. > > To avoid such optimized code frames being interpreted as interpreted > frames, we now additionally test the frame header, to see if it contains > a BytecodeArray. > > Change-Id: I4bafcf0f7ce3c973a2e5a312f054d72312bb8a70 > Reviewed-on: https://chromium-review.googlesource.com/535646 > Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45951} TBR=kozyatinskiy@chromium.org,leszeks@chromium.org Change-Id: Icc009cf97b816f6c33574782ed9ab473387886c9 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/535478Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45954}
-
Toon Verwaest authored
Bug: chromiume:733118 Change-Id: Ic144342d86fc84bf5c4700cec357ac8f3c6b2cb3 Reviewed-on: https://chromium-review.googlesource.com/535522Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45953}
-
Michael Lippautz authored
Bug: chromium:733059, chromium:724947 Change-Id: Id7abc22ee0975cd609cc06a02552f68e9e0077e8 Reviewed-on: https://chromium-review.googlesource.com/535596 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45952}
-
Leszek Swirski authored
When iterating over stack frames, make the interpreted frame detection require that the frame header contains the bytecode array. Currently, the stack frame iterator supports bytecode handlers that don't create stack frames by checking if the top of the stack (i.e. the return address) is the interpreter entry trampoline. However, optimized code tail called from the interpreter entry trampoline can move the stack pointer without clearing the stack, which means it can end up with a pointer into the interpreter entry trampoline on the top of its stack (in an uninitialized value), and be interpreted as an interpreted frame. To avoid such optimized code frames being interpreted as interpreted frames, we now additionally test the frame header, to see if it contains a BytecodeArray. Change-Id: I4bafcf0f7ce3c973a2e5a312f054d72312bb8a70 Reviewed-on: https://chromium-review.googlesource.com/535646Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45951}
-
Alexey Kozyatinskiy authored
Context::Lookup method should support Module variables. Bug: chromium:717670 Change-Id: I58d3448b9048c7f9dd7ab8b720803b3503cf91ae Reviewed-on: https://chromium-review.googlesource.com/519389 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45950}
-
Pierre Langlois authored
This cleanup is the result of trying to modify the `Assembler::addrmod1` method and realising it's very easy to break it. It handles three groups of instructions with different operands and uses `r0` when a register is not used: - General case: rd, rn, (rm|rm shift #imm|rm shift rs) - Comparison instructions: rn, (rm|rm shift #imm|rm shift rs) - Move instructions rd, (rm|rm shift #imm|rm shift rs) Let's use `no_reg` instead of `r0` with explicit checks and assertions so that it's clear this method is used with multiple types of instructions. Additionaly, keep the order of operands as "rd", "rn", "rm". As drive-by fixes, I've taken the opportunity to add a few helper methods to the `Operand` class. Bug: Change-Id: If8140d804bc90dea1d3c186b3cee54297f91462a Reviewed-on: https://chromium-review.googlesource.com/531284 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#45949}
-
georgia.kouveli authored
BUG= Review-Url: https://codereview.chromium.org/2922983002 Cr-Commit-Position: refs/heads/master@{#45948}
-
jgruber authored
Until now, ATOM regexps (i.e. simple patterns don't require regexp matching logic but can use generic string matching algorithms instead) have always gone through the slow runtime. This CL implements a fast path in CSA which simply calls StringIndexOf internally and then sets up the last-match-info as required. Local microbenchmarks show a 30% improvement for RE.p.exec on ATOM regexps, and a 5% improvement on Octane/RegExp. Bug: v8:6462 Change-Id: I35b4c5caf416fa35fe388dd58e34dea55b098d09 Reviewed-on: https://chromium-review.googlesource.com/535455 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45947}
-
Caitlin Potter authored
Simplifies the implementation of IteratorClose in IteratorBuiltinsAssembler, and makes clear that it is only invoked when an exception occurs. Adds exception handling support to GetIterator, IteratorStep, and IteratorCloseOnException. Moves the Promise.all resolveElement closure and it's caller to builtins-promise-gen.cc. Instead of creating an internal array (and copying its elements into a result array), a single JSArray is allocated, and appended with BuildAppendJSArray(), falling back to %CreateDataProperty(), and elements are updated in the resolve closure the same way. This should always be unobservable. This CL increases the size of snapshot_blob.bin on an x64.release build by 8.51kb BUG=v8:5343 R=cbruni@chromium.org, gsathysa@chromium.org, jgruber@chromium.org, hpayer@chromium.org, tebbi@chromium.org Change-Id: I29c4a529154ef49ad65555ce6ddc2c5b7c9de6b3 Reviewed-on: https://chromium-review.googlesource.com/508473 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45946}
-
jarin authored
Review-Url: https://codereview.chromium.org/2937943002 Cr-Commit-Position: refs/heads/master@{#45945}
-
Jakob Kummerow authored
Bug: v8:6474 Change-Id: I24d067ac77c2cb557d0b3f6e2c8c512761c160f1 Reviewed-on: https://chromium-review.googlesource.com/531384 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45944}
-
Michael Starzinger authored
This removes support for reconstructing stack frames for full-codegen from the deoptimizer. We no longer deoptimize to such code. This also allows us to remove the {DeoptimizationOutputData} data structure. R=jarin@chromium.org BUG=v8:6409 Change-Id: Id28ef05aa985b6877b5c91926a7d7d0d6d6e661d Reviewed-on: https://chromium-review.googlesource.com/535537Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45943}
-
Marja Hölttä authored
These were too aggressively de-inlined as part of https://chromium-review.googlesource.com/c/528102 . BUG=chromium:733161 Change-Id: I88e9f969dcd6142cbbbb2662edd8108ad687c522 Reviewed-on: https://chromium-review.googlesource.com/535640Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#45942}
-