- 29 Mar, 2017 30 commits
-
-
sampsong authored
R=bjaideep@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/2775413002 Cr-Commit-Position: refs/heads/master@{#44241}
-
Caitlin Potter authored
- Introduce new struct AsyncGeneratorRequest, which holds information pertinent to resuming execution of an AsyncGenerator, such as the Promise associated with the async generator request. It is intended to be used as a singly linked list, and holds a pointer to the next item in te queue. - Introduce JSAsyncGeneratorObject (subclass of JSGeneratorObject), which includes several new internal fields (`queue` which contains a singly linked list of AsyncGeneratorRequest objects, and `await_input` which contains the sent value from an Await expression (This is necessary to prevent function.sent (used by yield*) from having the sent value observably overwritten during execution). - Modify SuspendGenerator to accept a set of Flags, which indicate whether the suspend is for a Yield or Await, and whether it takes place on an async generator or ES6 generator. - Introduce interpreter intrinsics and TF intrinsic lowering for accessing the await input of an async generator - Modify the JSGeneratorStore operator to understand whether or not it's suspending for a normal yield, or an AsyncGenerator Await. This ensures appropriate registers are stored. - Add versions of ResumeGeneratorTrampoline which store the input value in a different field depending on wether it's an AsyncGenerator Await resume, or an ordinary resume. Also modifies whether debug code will assert that the generator object is a JSGeneratorObject or a JSAsyncGeneratorObject depending on the resume type. BUG=v8:5855 R=bmeurer@chromium.org, rmcilroy@chromium.org, jgruber@chromium.org, littledan@chromium.org, neis@chromium.org TBR=marja@chromium.org Change-Id: I9d58df1d344465fc937fe7eed322424204497187 Reviewed-on: https://chromium-review.googlesource.com/446961 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#44240}
-
gdeepti authored
- Fix opcode names to be consistent with opcodes as in wasm-opcodes.h - Fix Ordering of Ops, inconsistencies BUG=v8:6020 Review-Url: https://codereview.chromium.org/2776753004 Cr-Commit-Position: refs/heads/master@{#44239}
-
kozyatinskiy authored
With this CL we don't need to store reference to InspectedContext inside of JavaScript console object and able to get all required information from callback data. It allows us to implement console methods without taking in account how and where we create and store these methods: - later we can move console object implementation to builtins.. - ..and install command line API methods smarter. BUG=chromium:588893 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2784713002 Cr-Original-Commit-Position: refs/heads/master@{#44212} Committed: https://chromium.googlesource.com/v8/v8/+/908cd38123df33ce293e4c8d25e407f7ca915f4c Review-Url: https://codereview.chromium.org/2784713002 Cr-Commit-Position: refs/heads/master@{#44238}
-
ulan authored
Apart from that this patch adds kVisitJSObjectFast for JSObjects that do not have any unboxed double fields and can be visited without run-time layout check. BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2763413007 Cr-Commit-Position: refs/heads/master@{#44237}
-
hpayer authored
BUG=chromium:694255 Review-Url: https://codereview.chromium.org/2783873002 Cr-Commit-Position: refs/heads/master@{#44236}
-
Marja Hölttä authored
There's no need to set it so early - it's only needed when the function has really been parsed. This way we don't need to produce and store it for skipped inner functions. BUG=v8:5516 Change-Id: Ida2abd44b494030771b5663a8eb326edb0a53b72 Reviewed-on: https://chromium-review.googlesource.com/461160Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44235}
-
jgruber authored
This reverts commit b606e1b6. No longer flakes since https://crrev.com/f6929084821d4f021b2c2768c9856472ffa42623 BUG=v8:5807 TBR=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2782173002 Cr-Commit-Position: refs/heads/master@{#44234}
-
Leszek Swirski authored
Previously code view was set using innerHTML. This would cause problems for html characters in the code -- in particular, '<' without a space after it would start new HTML tags, and the code following it wouldn't be visible. Now, the source text is set using textContent, which doesn't parse the value as HTML and implicitly escapes any HTML characters in the code. Change-Id: I612a18c37bbb4da6a87063bb39d7f7123a3c4c0d Reviewed-on: https://chromium-review.googlesource.com/461826Reviewed-by: Daniel Clifford <danno@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#44233}
-
Andreas Haas authored
The int64-lowering lowers return nodes which return one int64 value into a return node which returns two int32 values. For this lowering it has to adjust the input count of the return operator. The existing code assumed that if the signature of a function said that the return type is int64, then all return nodes have int64 inputs. However, with a recent CL we also introduced void returns. With this CL I check if the number of inputs of a return node changes with the DefaultLowering, and only if the number of inputs changes, then I check if I also have to change the operator of the return node. R=mstarzinger@chromium.org TEST=mjsunit/regress/wasm/regression-6164 BUG=v8:6164 Change-Id: I004ab1b4be942cc045719f306705d95b48707a1c Reviewed-on: https://chromium-review.googlesource.com/461941Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44232}
-
Andreas Haas authored
R=mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7539f3b0697f655fa93317ce8c0d842b5dc3588d Reviewed-on: https://chromium-review.googlesource.com/461881Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44231}
-
Andreas Haas authored
Up until now, the debug name of a WebAssembly function was "unknown" if no name was provided in the name section. With this CL we use the function index to generate the name "wasm#index" as the debug name. This debug name is used e.g. for --print-wasm-code or --trace-turbo-graph R=clemensh@chromium.org Change-Id: Ie9b14437fbdef8fd6602eab0d89e415599445099 Reviewed-on: https://chromium-review.googlesource.com/461923 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44230}
-
Andreas Haas authored
A recent CL enabled pipeline statistics for WebAssembly. This caused a problem with the --trace-turbo flag because in the pipeline statistics code --trace-turbo wanted to access the parse_info, which is not available for WebAssembly. With this CL I guard the trace-turbo code behind a parse_info check to avoid this problem. R=clemensh@chromium.org Change-Id: I9d628c7dec5b456e0ff9178ad989c41ac1e0237e Reviewed-on: https://chromium-review.googlesource.com/461902Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#44229}
-
Jochen Eisinger authored
BUG=v8:6163 R=verwaest@chromium.org Change-Id: Ieaec78c806cc3d459488a8491e77b7b5a8047079 Reviewed-on: https://chromium-review.googlesource.com/461903 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#44228}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:6127 Change-Id: I3b51474a6058312b4158c8cdd3eef004ee2e7d0c Reviewed-on: https://chromium-review.googlesource.com/461143Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44227}
-
bmeurer authored
Even in optimized code we can utilize the various load and store IC trampolines to save code space when it's an IC in the outermost function, as in that case the trampoline can just take the vector from the parent's frame. BUG=v8:5267 Review-Url: https://codereview.chromium.org/2776073005 Cr-Commit-Position: refs/heads/master@{#44226}
-
Peter Marshall authored
This should be the fastest case, as we can just copy the backing store directly. Adding this test so that we can monitor if upcoming changes regress this path. BUG=v8:5977 Change-Id: I021a199061ac845f265a906bda68b7ad3e8d5708 Reviewed-on: https://chromium-review.googlesource.com/461183Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#44225}
-
jarin authored
Review-Url: https://codereview.chromium.org/2775423005 Cr-Commit-Position: refs/heads/master@{#44224}
-
Michael Starzinger authored
R=clemensh@chromium.org BUG=v8:6127 Change-Id: Id77e8eef3ad909608a5d32fa7373077540e201c7 Reviewed-on: https://chromium-review.googlesource.com/461824Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44223}
-
Yang Guo authored
Change-Id: I8de170892f061a8b30d1e39d1a7d3b4e2fe9230d Reviewed-on: https://chromium-review.googlesource.com/461823 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#44222}
-
jgruber authored
Move builtin definitions (i.e. BUILTIN_LIST and family) to a separate header in preparation for auto-generation of TFS interface descriptors. BUG=v8:6116 Review-Url: https://codereview.chromium.org/2784793002 Cr-Commit-Position: refs/heads/master@{#44221}
-
bmeurer authored
Now that Ignition has the dedicated TestTypeOf operator, there's not really a point in doing the typeof with abstract/strict equal combining in TurboFan anymore. In fact it's counter-productive to do so, as it might try to cover typeof comparisons in cases where it's better to just compute the typeof once, i.e.: let x = typeof a, y = typeof b; if (x === y) { if (x === 'string') { ... } } Here we would combine the second comparison into an ObjectIsString, and still compute the typeof a. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2780953003 Cr-Commit-Position: refs/heads/master@{#44220}
-
Michael Starzinger authored
R=machenbach@chromium.org BUG=v8:6127 Change-Id: Ie828f6e0dc6fe9f9f9351aa1afaf7b9dbf536e26 Reviewed-on: https://chromium-review.googlesource.com/461181Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44219}
-
bmeurer authored
When we call from TurboFan to a CSA or C++ builtin, we can avoid the ArgumentsAdaptorFrame in case of a parameter arity mismatch by just filling up missing arguments with undefined or removing additional arguments on the call site already. This is safe for CSA/C++ builtins, since those that care about variable arguments are marked with the kDontAdaptArgumentsSentinel. R=danno@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2684963002 Cr-Commit-Position: refs/heads/master@{#44218}
-
machenbach authored
Revert of [inspector] console get all information from inspector when needed (patchset #4 id:60001 of https://codereview.chromium.org/2784713002/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/14569 Original issue's description: > [inspector] console get all information from inspector when needed > > With this CL we don't need to store reference to InspectedContext inside of JavaScript console object and able to get all required information from callback data. > It allows us to implement console methods without taking in account how and where we create and store these methods: > - later we can move console object implementation to builtins.. > - ..and install command line API methods smarter. > > BUG=chromium:588893 > R=dgozman@chromium.org > > Review-Url: https://codereview.chromium.org/2784713002 > Cr-Commit-Position: refs/heads/master@{#44212} > Committed: https://chromium.googlesource.com/v8/v8/+/908cd38123df33ce293e4c8d25e407f7ca915f4c TBR=dgozman@chromium.org,kozyatinskiy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:588893 Review-Url: https://codereview.chromium.org/2784603003 Cr-Commit-Position: refs/heads/master@{#44217}
-
Mythri authored
Compare bytecode handlers does several checks to collect feedback and repeats these checks when actually performing the operation. This cl changes it perform the actual comparison for smi / number along with collecting feedback. BUG=v8:4280 Change-Id: If0954b68dd232461e08e94a90ccc17604c235b27 Reviewed-on: https://chromium-review.googlesource.com/458420 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#44216}
-
jgruber authored
Compilation can fail e.g. on stack overflow. This ensures that we exit early from StringReplaceGlobalRegExpWithString in that case. BUG=v8:5437,chromium:705934 Review-Url: https://codereview.chromium.org/2778953004 Cr-Commit-Position: refs/heads/master@{#44215}
-
gsathya authored
Review-Url: https://codereview.chromium.org/2784653003 Cr-Commit-Position: refs/heads/master@{#44214}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/947f28d..133db8f Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/e044353..0c870c7 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/9fbab72..e9e483c TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Id56c81495145890f5436c904907cb1a75b968d8c Reviewed-on: https://chromium-review.googlesource.com/461459Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#44213}
-
kozyatinskiy authored
With this CL we don't need to store reference to InspectedContext inside of JavaScript console object and able to get all required information from callback data. It allows us to implement console methods without taking in account how and where we create and store these methods: - later we can move console object implementation to builtins.. - ..and install command line API methods smarter. BUG=chromium:588893 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2784713002 Cr-Commit-Position: refs/heads/master@{#44212}
-
- 28 Mar, 2017 10 commits
-
-
kschimpf authored
Currently, V8 uses the same size counter to measure module sizes for both asm.js and WASM. This CL separates the counter into two separate counters, and then uses the appropriate counter when decoding. BUG=chromium:704922 R=mtrofin@chromium.org,bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2777203005 Cr-Commit-Position: refs/heads/master@{#44211}
-
kschimpf authored
Currently, V* uses the same size counter to measure the maximum number of memory pages allocated by a module for both asm.js and WASM. This CL separates the counter into two separate counters, and then uses the appropriate counter when measuring. BUG=chromium:704922 R=mtrofin@chromium.org,bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2783713002 Cr-Commit-Position: refs/heads/master@{#44210}
-
kozyatinskiy authored
Should be fixed. BUG=v8:6161 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2779143002 Cr-Commit-Position: refs/heads/master@{#44209}
-
littledan authored
A couple bugs had led code in one Context to be able to lead to estimated memory usage in another Context, even in cases that should be easy to detect. - Ensure that the pointer to the next context is nulled out while recursing over the portion of the heap. It seems like there was previously some code to do this partway, but the nulling part was left out. - Skip including maps in the understanding of the Context estimated size, as the maps are shared between Contexts and may be reachable from other Contexts Review-Url: https://codereview.chromium.org/2780773002 Cr-Commit-Position: refs/heads/master@{#44208}
-
kschimpf authored
Currently, V8 uses the same counter to measue module decoding peak memory bytes for both asm.js and WASM. This CL separates the counter into two separate counters, and then uses the appropriate counter when decoding a module. BUG=chromium:704922 R=bbudge@chromium.org,bradnelson@chromium.org,mtrofin@chromium.org Review-Url: https://codereview.chromium.org/2778973003 Cr-Commit-Position: refs/heads/master@{#44207}
-
kozyatinskiy authored
Current implementation is unsafe if __proto__ getter is defined on Object.prototype. BUG=chromium:595206 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2770263003 Cr-Commit-Position: refs/heads/master@{#44206}
-
kschimpf authored
Currently, V8 uses the same size counter to measure function byte sizes for both asm.js and WASM. This CL separates the counter into two separate counters, and then uses the appropriate counter when decoding. BUG=chromium:704922 R=bbudge@google.com,bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2780783003 Cr-Commit-Position: refs/heads/master@{#44205}
-
kschimpf authored
Currently, V8 uses the same size counter to measure the minimum number of memory pages allocated by a module for both asm.js and WASM. This CL separates the counter into two separate counters, and then uses the appropriate counter when measuring. BUG=chromium:704922 R=mtrofin@chromium.org,bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2781453004 Cr-Commit-Position: refs/heads/master@{#44204}
-
bradnelson authored
Fix a few items broken during review of scanner + parser: * Make the scanner retain stale newline state on a rewind (as otherwise it must be able to correctly rewind that too, though it doesn't need it). (Probably should revisit). * Change StashCode in the builder skip to the zero case, as it crashes for some reason (added TODO). Also fix: * Drop test based on constant expression evaluation in main parser * Support constant defined based on existing constant. * Type constants as signed. * Added a check that all used functions are defined eventually. * Zone allocate strings for simplicity (TODOs to refactor better). BUG=v8:6090 BUG=v8:4203 R=mstarzinger@chromium.org,marja@chromium.org,vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2771183002 Cr-Original-Commit-Position: refs/heads/master@{#44200} Committed: https://chromium.googlesource.com/v8/v8/+/be0dbdd679b60c31d480d7635e579787a6a218df Review-Url: https://codereview.chromium.org/2771183002 Cr-Commit-Position: refs/heads/master@{#44203}
-
Jakob Kummerow authored
Change-Id: I0efbb837026908173739946353334ae7ebf62379 Reviewed-on: https://chromium-review.googlesource.com/461880Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#44202}
-