- 21 May, 2019 2 commits
-
-
Yang Guo authored
Bug: v8:9247 TBR=bmeurer@chromium.org,neis@chromium.org NOPRESUBMIT=true Change-Id: Ia1e49d1aac09c4ff9e05d58fab9d08dd71198878 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621931Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61682}
-
Simon Zünd authored
This CL also removes the corresponding intrinsic lowering of IsTypedArray in TurboFan and Ignition. Drive-by: Remove unused ArrayBufferViewWasDetached runtime function. Bug: v8:9183 Change-Id: I2767b22fbdfb679cba30b9fbc555c8d41c7f4345 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617930Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#61677}
-
- 20 May, 2019 1 commit
-
-
Yang Guo authored
TBR=verwaest@chromium.org,rmcilroy@chromium.org NOTREECHECKS=true NOPRESUBMIT=true Bug: v8:9247 Change-Id: I9ddfb6e56ca8e47c4ac186a8df5f442d26420a69 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617661 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61642}
-
- 17 May, 2019 2 commits
-
-
Yang Guo authored
This reverts commit 5f285395. Reason for revert: presubmit failure Original change's description: > Move logging and diagnostics related source files > > This also introduces a COMMON_OWNERS file, which is derived from the > current top-level OWNERS file. It is to be used for parts of the > codebase that is not sensitive to domain-specific expertise. > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61600} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I3827c3af4fd63b18aa48c49617f318a01746e813 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617247Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61601}
-
Yang Guo authored
This also introduces a COMMON_OWNERS file, which is derived from the current top-level OWNERS file. It is to be used for parts of the codebase that is not sensitive to domain-specific expertise. NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I34a5eaa7cb1509a80d15094a2aceedd62665b17c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613987Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61600}
-
- 14 May, 2019 1 commit
-
-
Georg Schmid authored
R=jarin@google.com, tebbi@google.com Change-Id: I23b92df275ce294d62c906a0b94dcb9b15f6be39 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609803 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61472}
-
- 06 May, 2019 1 commit
-
-
Georg Schmid authored
R=tebbi@chromium.org Change-Id: I1003a4f4a0e9227618e685a2fb56ead2083709a9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1594731 Commit-Queue: Georg Schmid <gsps@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#61251}
-
- 29 Apr, 2019 1 commit
-
-
Benedikt Meurer authored
This adds a new %_CopyDataProperties intrinsic, that reuses most of the existing machinery that we already have in place for Object.assign() and computed property names in object literals. This speeds up the general case for object spread (where the spread is not the first item in an object literal) and brings it on par with Object.assign() at least - in most cases it's significantly faster than Object.assign(). In the test case [1] referenced from the bug, the performance goes from objectSpreadLast: 3624 ms. objectAssignLast: 1938 ms. to objectSpreadLast: 646 ms. objectAssignLast: 1944 ms. which corresponds to a **5-6x performance boost**, making object spread faster than Object.assign() in general. Drive-by-fix: This refactors the Object.assign() fast-path in a way that it can be reused appropriately for object spread, and adds another new builtin SetDataProperties, which does the core of the Object.assign() work. We can teach TurboFan to inline Object.assign() based on the new SetDataProperties builtin at some later point to further optimize Object.assign(). [1]: https://gist.github.com/bmeurer/0dae4a6b0e23f43d5a22d7c91476b6c0 Bug: v8:9167 Change-Id: I57bea7a8781c4a1e8ff3d394873c3cd4c5d73834 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1587376Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61100}
-
- 24 Apr, 2019 1 commit
-
-
Jakob Gruber authored
When collecting JS block coverage, we track block execution counts on so-called CoverageInfo objects. Generated bytecode and native code contains inlined snippets of code to increment the appropriate counters. These used to be implemented as calls to the IncBlockCounter runtime function. Each call incurred the entire CEntry overhead. This CL reduces that overhead by moving logic over into a new IncBlockCounter TFS builtin. The builtin is called directly from bytecode, and lowered to the same builtin call for optimized code. Drive-by: Tweak CoverageInfo layout to generate faster code. Tbr: jarin@chromium.org Bug: v8:9149, v8:6000 Change-Id: I2d7cb0db649edf7c56b5ef5a4683d27b1c34605c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1571420Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#60981}
-
- 23 Apr, 2019 1 commit
-
-
Shiyu Zhang authored
Change-Id: I9480650b23da4f5aa38a0634c1a7662bf88189d7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1551407Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Shiyu Zhang <shiyu.zhang@intel.com> Cr-Commit-Position: refs/heads/master@{#60952}
-
- 11 Oct, 2018 1 commit
-
-
Benedikt Meurer authored
This JSAsyncFunctionObject represents the implicit generator object inside of async functions, and also holds the outer promise for the async functions. This in turn allows us to get rid of the .promise in the Parser / BytecodeGenerator completely, and will make it possible to build zero-cost async stack traces independent of the concrete synchronous part of the stack frame (which currently breaks in Node.js). In the bytecode all the async function operations now take this new JSAsyncFunctionObject instead of passing both the .generator_object and the .promise, which further simplifies and shrinks the bytecode. It also reduces the size of async function frames, potentially making the suspend/resume cheaper. This also changes `await` to use intrinsics instead of calling to special JSFunctions on the native context, and thus reduces the size of the native contexts. Drive-by-fix: Introduce a dedicated JSCreateAsyncFunctionObject operator to TurboFan. Bug: v8:7253, v8:7522 Change-Id: I2305302285156aa1f71328ecac70377abdd92c80 Ref: nodejs/node#11865 Design-Document: http://bit.ly/v8-zero-cost-async-stack-traces Reviewed-on: https://chromium-review.googlesource.com/c/1273049 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#56554}
-
- 10 Oct, 2018 1 commit
-
-
Benedikt Meurer authored
This change introduces new intrinsics used to desugar async functions in the Parser and the BytecodeGenerator, namely we introduce a new %_AsyncFunctionEnter intrinsic that constructs the generator object for the async function (and in the future will also create the outer promise for the async function). This generator object is internal and never escapes to user code, plus since async functions don't have a "prototype" property, we can just a single map here instead of tracking the prototype/initial_map on every async function. This saves one word per async function plus one initial_map per async function that was invoked at least once. We also introduce two new intrinsics %_AsyncFunctionReject, which rejects the outer promise with the caught exception, and another %_AsyncFunctionResolve, which resolves the outer promise with the right hand side of the `return` statement. These functions also perform the DevTools part of the job (aka popping from the promise stack and sending the debug event). This allows us to get rid of the implicit try-finally from async functions completely; because the finally block only called to the %AsyncFunctionPromiseRelease builtin, which was used to inform DevTools. In essence we now turn an async function like ```js async function f(x) { return await bar(x); } ``` into something like this (in Parser and BytecodeGenerator respectively): ``` function f(x) { .generator_object = %_AsyncFunctionEnter(.closure, this); .promise = %AsyncFunctionCreatePromise(); try { .tmp = await bar(x); return %_AsyncFunctionResolve(.promise, .tmp); } catch (e) { return %_AsyncFunctionReject(.promise, e); } } ``` Overall the bytecode for async functions gets significantly shorter already (and will get even shorter once we put the outer promise into the async function generator object). For example the bytecode for a simple async function ```js async function f(x) { return await x; } ``` goes from 175 bytes to 110 bytes (a ~38% reduction in size), which is in particular due to the simplification around the try-finally removal. Overall this seems to improve the doxbee-async-es2017-native test by around 2-3%. On the test case mentioned in v8:8276 we go from 1124ms to 441ms, which corresponds to a 60% reduction in total execution time! Tbr: marja@chromium.org Bug: v8:7253, v8:7522, v8:8276 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Id29dc92de7490b387ff697860c900cee44c9a7a4 Reviewed-on: https://chromium-review.googlesource.com/c/1269041 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#56502}
-
- 21 Sep, 2018 1 commit
-
-
Benedikt Meurer authored
Bug: v8:8015 Change-Id: I8c7d5fce7bdac70a96a05b469c42ac578c9426bc Reviewed-on: https://chromium-review.googlesource.com/1238177Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56128}
-
- 20 Sep, 2018 2 commits
-
-
Benedikt Meurer authored
The following runtime functions (and their intrinsic counter parts) are completely unused/obsolete by now - %ToInteger - %GeneratorGetInputOrDebugPos and in addition the intrinsics for %_ToNumber and %_IsJSProxy are also dead (according to code coverage and manual verification), so drop them as well (their runtime function counterparts are still somewhat used). Bug: v8:8015 Change-Id: I60d53762dd9717fb43de38cb490b46676c467212 Reviewed-on: https://chromium-review.googlesource.com/1235923Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56076}
-
Benedikt Meurer authored
This is not used at all anymore and can thus be removed. Bug: v8:8015 Change-Id: Ifebe576dd84cbdbd77bf9ca54d479050e3174d2b Reviewed-on: https://chromium-review.googlesource.com/1235920Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56073}
-
- 21 Aug, 2018 1 commit
-
-
Benedikt Meurer authored
This removes a couple of intrinsics/runtime functions/macros that are no longer needed at all (or not in TurboFan for performance reasons). Bug: v8:8015 Change-Id: I08ae8de7cc63019eb30d3b71dd1c824d6392076a Reviewed-on: https://chromium-review.googlesource.com/1183481Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#55277}
-
- 20 Jul, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7754,v8:5402 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I5306005e7d0fcfe188c9e0270a003c6e1098c9e9 Reviewed-on: https://chromium-review.googlesource.com/1144824Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#54578}
-
- 18 Jun, 2018 1 commit
-
-
Clemens Hammacher authored
Currently each isolate stores its own array of {CallInterfaceDescriptorData}. This array has size 173, and each entry has 40 bytes. That's already 7kB per isolate. Additionally, each {CallInterfaceDescriptorData} allocates two heap-allocated arrays, which probably add up to more than the static size of the {CallInterfaceDescriptorData}. Note that all the {CallInterfaceDescriptorData} instances are initialized eagerly on isolate creation. Since {CallInterfaceDescriptor} is totally isolate independent itself, this CL refactors the current design to avoid a copy of them per isolate, and instead shares them process-wide. Still, we need to free the allocated heap arrays when the last isolate dies to avoid leaks. This can probably be refactored later by statically initializing more and avoiding the heap allocations all together. This refactoring will also allow us to use {CallInterfaceDescriptor}s from wasm background compilation threads, which are not bound to any isolate. R=mstarzinger@chromium.org, titzer@chromium.org Bug: v8:6600 Change-Id: If8625b89951eec8fa8986b49a5c166e874a72494 Reviewed-on: https://chromium-review.googlesource.com/1100879 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53803}
-
- 03 Jun, 2018 1 commit
-
-
Alexey Kozyatinskiy authored
Removed most of mirrors.js and debug.js. Further steps: - migrate liveedit.js to native, - remove debugger context. R=yangguo@chromium.org TBR=leszeks@chromium.org Bug: v8:5530 Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I291ef20ef3c63a424d32e3e0c9d0962a6ca382d1 Reviewed-on: https://chromium-review.googlesource.com/1081176 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Cr-Commit-Position: refs/heads/master@{#53480}
-
- 14 May, 2018 1 commit
-
-
Maya Lekova authored
Revert "[async-await] Eliminate throwaway promise in async functions." This reverts commit a840f1f8. Revert "[async-generators] Also avoid throwaway promise here." This reverts commit feb545ce. Revert "[async-await] Turn await closures into intrinsics." This reverts commit d97bb317. Revert "[async-generators] Add fast-path for primitives in AsyncGeneratorYield." This reverts commit e57b500e. Revert "[async-generators] Add fast-path to skip "then" lookup in AsyncGeneratorResolve." This reverts commit c15802e1. Revert "[promises] Correctly run before/after hooks for await." This reverts commit ca763923. Bug: v8:7253, v8:7745 Change-Id: I25ad0d2df3cfbc84dbb431aa25b268bce8a39e89 Reviewed-on: https://chromium-review.googlesource.com/1049975 Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53139}
-
- 20 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
There's no need to have the AsyncFunctionAwait/AsyncGeneratorAwait operations as separate closures that are called via JavaScript calling convention, but instead we can just have them as intrinsics (with the goal to eventually turn them into IC stubs). Drive-by-fix: Tail call to the ResumeGenerator builtin when resuming an async function. The earlier restrictions no only apply with the new machinery. Bug: v8:7253 Change-Id: I0c4d04dae15b4211158fc07151adafda69d4faec Reviewed-on: https://chromium-review.googlesource.com/924703Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51382}
-
- 15 Feb, 2018 1 commit
-
-
Toon Verwaest authored
instance_class_name takes up space unnecessarily, and %_ClassOf and class_name implement [[Class]] which isn't part of ES2015+ anymore. Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I3a73f732ad83a616817fde9992f4e4d584638fa8 Reviewed-on: https://chromium-review.googlesource.com/776683Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#51309}
-
- 13 Feb, 2018 1 commit
-
-
Benedikt Meurer authored
This introduces dedicated builtins - FulfillPromise, - RejectPromise, and - ResolvePromise, which perform the corresponding operations from the language specification, and removes the redundant entry points and the excessive inlining of these operations into other builtins. We also add the same logic on the C++ side, so that we don't need to go into JavaScript land when resolving/rejecting from the API. The C++ side has a complete implementation, including full support for the debugger and the current PromiseHook machinery. This is to avoid constantly crossing the boundary for those cases, and to also simplify the CSA side (and soon the TurboFan side), where we only do the fast-path and bail out to the runtime for the general handling. On top of this we introduce %_RejectPromise and %_ResolvePromise, which are entry points used by the bytecode and parser desugarings for async functions, and also used by the V8 Extras API. Thanks to this we can uniformly optimize these in TurboFan, where we have corresponding operators JSRejectPromise and JSResolvePromise, which currently just call into the builtins, but middle-term can be further optimized, i.e. to skip the "then" lookup for JSResolvePromise when we know something about the resolution. In TurboFan we can also already inline the default PromiseCapability [[Reject]] and [[Resolve]] functions, although this is not as effective as it can be right now, until we have inlining support for the Promise constructor (being worked on by petermarshall@ right now) and/or SFI based CALL_IC feedback. Overall this change is meant as a refactoring without significant performance impact anywhere; it seems to improve performance of simple async functions a bit, but otherwise is neutral. Bug: v8:7253 Change-Id: Id0b979f9b2843560e38cd8df4b02627dad4b6d8c Reviewed-on: https://chromium-review.googlesource.com/911632Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#51260}
-
- 09 Feb, 2018 1 commit
-
-
Ben L. Titzer authored
This is a purely cosmetic change. Rename all local variables and parameters of type CallDescriptor* to "call_descriptor". For locals that are now named "call_descriptor", use auto upon initialization, following the Google style guide (https://google.github.io/styleguide/cppguide.html#auto). Note: fields in structs and classes were not renamed in this CL. R=clemensh@chromium.org,mstarzinger@chromium.org,jarin@chromium.org Change-Id: Ic6f7afdba12f7b97741b098a9d0e0f58c41c587e Reviewed-on: https://chromium-review.googlesource.com/909866 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#51223}
-
- 07 Feb, 2018 1 commit
-
-
Peter Marshall authored
We don't need these wrappers - we can just use ThrowTypeError from CSA instead. There were also a bunch of unused runtime functions which we can just delete. This CL has no behavior changes. Change-Id: I5efefd726aff4cca8e8feba6cd05fe8ff5663931 Reviewed-on: https://chromium-review.googlesource.com/906470Reviewed-by: Franziska Hinkelmann <franzih@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#51144}
-
- 24 Jan, 2018 1 commit
-
-
Leszek Swirski authored
The SwitchOnGeneratorState bytecode now also falls through if the generator object is undefined (so that we don't need that jump) and restores generator context (so that we don't need that PushContext). This saves 10 bytes per generator. Change-Id: Ie0872c827119b9f1d1e9244d3be6496a30cd9620 Reviewed-on: https://chromium-review.googlesource.com/867051 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50845}
-
- 19 Jan, 2018 1 commit
-
-
Peter Marshall authored
This is a reland of a7c91c77. Original change's description: > [typedarray] Port ConstructByTypedArray to CSA. > > This is needed to easily port the constructor dispatcher to CSA. > > Bug: v8:7102 > Change-Id: I9672416495940ca12088a2980a9ecc61364aef9d > Reviewed-on: https://chromium-review.googlesource.com/785630 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50671} Bug: v8:7102 Change-Id: I9d839343d9b95f288f806953455c2c26ca8cab06 Reviewed-on: https://chromium-review.googlesource.com/875031Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#50723}
-
- 18 Jan, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit a7c91c77. Reason for revert: changes a layout test https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/21031 Original change's description: > [typedarray] Port ConstructByTypedArray to CSA. > > This is needed to easily port the constructor dispatcher to CSA. > > Bug: v8:7102 > Change-Id: I9672416495940ca12088a2980a9ecc61364aef9d > Reviewed-on: https://chromium-review.googlesource.com/785630 > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50671} TBR=petermarshall@chromium.org,bmeurer@chromium.org,verwaest@chromium.org Change-Id: I118a1cb0d873a1d2e159619e5f327f9f6f7974c4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7102 Reviewed-on: https://chromium-review.googlesource.com/873790Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#50686}
-
Peter Marshall authored
This is needed to easily port the constructor dispatcher to CSA. Bug: v8:7102 Change-Id: I9672416495940ca12088a2980a9ecc61364aef9d Reviewed-on: https://chromium-review.googlesource.com/785630Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#50671}
-
- 09 Jan, 2018 1 commit
-
-
Georg Neis authored
- Remove unused deoptimization reasons. - Replace most uses of kNoReason with an actual reason (some are new). - Rename kNoReason to kUnknown. Bug: Change-Id: Ia8df54fca0f0f4885ef0c3523ce8f67b557a635d Reviewed-on: https://chromium-review.googlesource.com/839421Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#50440}
-
- 11 Dec, 2017 1 commit
-
-
Sigurd Schneider authored
Bug: v8:7127 Change-Id: I79be6acaa04623fe9a5d314de5cb10811724db5f Reviewed-on: https://chromium-review.googlesource.com/814401 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49996}
-
- 10 Nov, 2017 1 commit
-
-
Mike Stanton authored
We introduce nodes with control output during intrinsic IsInstanceType lowering, and must carefully connect them to subsequent control inputs. Bug: v8:7002 Change-Id: I2e3066943b8f7e36652438ae6ca560932188203e Reviewed-on: https://chromium-review.googlesource.com/763633Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#49302}
-
- 20 Oct, 2017 1 commit
-
-
Mike Stanton authored
JSClassOf may lower to a call to a builtin, and needs to be modeled in a way that the effect chain can be maintained. Bug: v8:6929 Change-Id: Ida332e6d85e2eb8b33fcad810d195ef3e897ccb0 Reviewed-on: https://chromium-review.googlesource.com/727204Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48786}
-
- 18 Oct, 2017 2 commits
-
-
Mike Stanton authored
We didn't correctly maintain the effect chain between the load of the map and the load of the instance type from the map. Bug: v8:6929 Change-Id: I970709fe74483c5cdef3d0cea36bb9e1dc98b40e Reviewed-on: https://chromium-review.googlesource.com/725424Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#48690}
-
peterwmwong authored
Bug: v8:5049 Change-Id: Ia4f5729be64794e9080eb0e644b86cd5d8c88a11 Reviewed-on: https://chromium-review.googlesource.com/722168Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48661}
-
- 15 Sep, 2017 1 commit
-
-
Peter Marshall authored
This was supposedly a runtime flag, but we baked it into the snapshot anyway. Change-Id: I09d43183c4c2d59336c1077089119d6cb65dfd87 Reviewed-on: https://chromium-review.googlesource.com/664721Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#48026}
-
- 10 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Deletes AstGraphBuilder and associated classes now that it is unreachable. The following classes are also removed: - ControlBuilders - JSFrameSpecialization - AstLoopAssignmentAnalysis Also removes flags from compilation-info which are no longer used, and removes the no-deoptimization paths from TypedOptimization, JsTypedLowering, JSIntrinsicLowering and JSBuiltinLowering. BUG=v8:6409 Change-Id: I63986e8e3497bf63c4a27ea8ae827b8a633d4a26 Reviewed-on: https://chromium-review.googlesource.com/583652 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47284}
-
- 08 Aug, 2017 1 commit
-
-
Caitlin Potter authored
A spec change (https://github.com/tc39/proposal-async-iteration/commit/a0dfeba1a8029012b6e964099929b8a157818c9f) introduced a number of Await operations to the spec. In turn, this caused generated bytecode for async generators to grow drastically. This commit moves the Await within AsyncGeneratorYield (https://tc39.github.io/proposal-async-iteration/#sec-asyncgeneratoryield step 5) into a new TFJ builtin, similar in structure to AsyncGeneratorAwait, but instead of resuming the generator on resolution of the Promise, the current generator request's Promise is fulfilled instead. This results in a reduction in generated bytecode without losing any statically available information. BUG=v8:5855 Change-Id: Ib5bcf06132d221beffdea30639a7b4437030143b Reviewed-on: https://chromium-review.googlesource.com/582487 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47224}
-
- 31 Jul, 2017 1 commit
-
-
Peter Marshall authored
Now that the maximum string length varies between platforms, the correctness fuzzer is unhappy. It will ignore crashes, so when we know we have reached platform-dependant behavior just crash if --abort_on_stack_overflow is enabled. Also rename abort_on_stack_overflow to abort_on_stack_or_string_length_overflow. Bug: chromium:748137 Change-Id: Ie4e96709b90029b5ce3c8408064d928f841b3b9f Reviewed-on: https://chromium-review.googlesource.com/589269 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47007}
-
- 25 Jul, 2017 1 commit
-
-
Adam Klein authored
TBR=yangguo@chromium.org Change-Id: Ieebc7da56d2c583b2c937b68047b35290f924ec8 Reviewed-on: https://chromium-review.googlesource.com/585554 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#46886}
-