- 30 Jun, 2017 6 commits
-
-
bmeurer authored
Similar to JSCall, we can also replace uninitialized JSConstruct nodes with SOFT deopts to ensure that we don't generate unnecessary dead code. This for example shows up in the hot parts of the Node event emitter currently where the generic code for handling events with 4 or more parameters might not have been run, but we still generate most of the code because the new Array call in the beginning is not turned into a SOFT deopt immediately. Drive-by-fix: Also refactor the BytecodeGraphBuilder's handling of Construct bytecodes a bit to reduce the amount of code duplication. BUG=v8:4551, v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2958253002 Cr-Commit-Position: refs/heads/master@{#46339}
-
Leszek Swirski authored
Change-Id: I2ee0ff9db1bbc8c17a1ad3dea1de1ad996895852 Reviewed-on: https://chromium-review.googlesource.com/474807Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46338}
-
bmeurer authored
Extend the use list check for the arguments object/rest parameters during apply/spread optimization to allow for more cases, such that even in code like function foo() { if (arguments.length === 1) return arguments[0]; return bar.apply(this, arguments); } we don't need to materialize the arguments object. This obviously comes with a phase ordering problem, which we resolve by introducing a waitlist in the JSCallReducer, which contains the nodes that we should check again after all the other reductions are done, and which might then be reducible. This is not 100% ideal, but get's us closer to where we want to be, and it's crucial to speed up Node core, especially the event emitter. BUG=v8:4551,v8:5511, v8:5726 R=petermarshall@chromium.org Review-Url: https://codereview.chromium.org/2956233002 Cr-Commit-Position: refs/heads/master@{#46337}
-
Igor Sheludko authored
This CL removes unused utils.InstallFunctions, utils.InstallGetter(), utils.SetFunctionName, utils.OverrideFunction and respective runtime functions (%FunctionSetSharedName and %FunctionRemovePrototype). This CL is one of a series of cleanup CL which are the preliminary steps for improving function closures creation. Bug: v8:6459 Change-Id: I0fb5940ed628f0c1958f585411e2fca3e2038054 Reviewed-on: https://chromium-review.googlesource.com/548037 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#46336}
-
Igor Sheludko authored
This CL replaces usages of utils.InstallFunctions and utils.InstallGetter() with the DEFINE_METHOD* macros that ensure that the native function is created in proper form from the beginning. Thus the function will not require further reconfiguring like adding a computed name or removing of 'prototype' property. This CL is one of a series of cleanup CL which are the preliminary steps for improving function closures creation. Bug: v8:6459 Change-Id: If5b1733454f10aef5da7f335273c632e7eabb728 Reviewed-on: https://chromium-review.googlesource.com/548077Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46335}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/d69be9e..259d849 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/3b76c88..6d102fd TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I1b7208580b29364e168f185249c1ba2008ced3d0 Reviewed-on: https://chromium-review.googlesource.com/557719Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46334}
-
- 29 Jun, 2017 32 commits
-
-
Sathya Gunasekaran authored
Previously V8 created a promise to return to userland, but instead we let the embedder create and track the promise. Bug: v8:5785 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I8903ffbabf3a256f1c8df844a656a873da304586 Reviewed-on: https://chromium-review.googlesource.com/492646 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46333}
-
mtrofin authored
The naming convention in v8 has trivial getters named like the field, no 'get_' prefix, and dropping the '_' suffix of the field. BUG= Review-Url: https://codereview.chromium.org/2958283003 Cr-Commit-Position: refs/heads/master@{#46332}
-
Adam Klein authored
R=marja@chromium.org Bug: v8:6509 Change-Id: If8be12e2ce6c00de0bdee38ab721ef5b7b47efe5 Reviewed-on: https://chromium-review.googlesource.com/556239Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46331}
-
Camillo Bruni authored
Change-Id: I46ac3b82a37c7044d5ce5eb3c0378e354ef13c52 Reviewed-on: https://chromium-review.googlesource.com/552538Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46330}
-
gdeepti authored
Ops Implemented: I32x4Neg, I32x4GtS, I32x4GeS, I32x4GtU, I32x4GeU, I16x8Neg, I16x8GtS, I16x8GeS, I16x8GtU, I16x8GeU I8x16Neg, I8x16GtS, I8x16GeS, I8x16GtU, I8x16GeU S128Not BUG=v8:6020 R=bbudge@chromium.org, zvi.rackover@intel.com, mtrofin@chromium.org Review-Url: https://codereview.chromium.org/2951793003 Cr-Commit-Position: refs/heads/master@{#46329}
-
Mathias Bynens authored
s/arguements_store/arguments_store/ BUG= R=cbruni@chromium.org Change-Id: Ib7b573d80521e717c65b30aff5c3b1170d3fc61a Reviewed-on: https://chromium-review.googlesource.com/555494Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#46328}
-
Michael Starzinger authored
This avoids usage of the costly {NodeProperties::IsExceptionalCall} predicate during graph building. The result of this predicate is no longer needed. R=leszeks@chromium.org Change-Id: Ief0c37b598ca51ea5d604f47d964bcbfb89a5206 Reviewed-on: https://chromium-review.googlesource.com/555517Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46327}
-
Jaideep Bajwa authored
Port 040fa06f R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:6048 LOG=N Change-Id: I842cf54de1ef33dbcaf95824db15d87e9f68eb22 Reviewed-on: https://chromium-review.googlesource.com/555330Reviewed-by: Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#46326}
-
Michael Lippautz authored
Bug: Change-Id: Ie365e73656f9807043e801b4fb74d75c64259838 Reviewed-on: https://chromium-review.googlesource.com/552552 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46325}
-
Ulan Degenbaev authored
concurrent marking is on. BUG=chromium:694255 Change-Id: I3cd74af9a3f7fb02d982d9366a6a2ebd119a92b2 Reviewed-on: https://chromium-review.googlesource.com/554627Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46324}
-
Jakob Kummerow authored
When internalization of the key fails because the string does not exist in the StringTable yet, then no regular object can possibly have a property with that name, so just returning "false" is safe. However, for objects with interceptors this is not true, as there may well be intercepted properties whose keys have not been internalized. So "special API objects" must take the slow path to query any interceptors. Bug: chromium:735990 Change-Id: Ibe6c4f8b14fef65738115f12167d3602bec3d9b7 Reviewed-on: https://chromium-review.googlesource.com/552550 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#46323}
-
Michael Lippautz authored
It was disabled by accident when removing code flushing. A future experiment should check whether we actually still need it. Bug: Change-Id: Iab8593d982289200775f30622f7a3ce93795d03e Reviewed-on: https://chromium-review.googlesource.com/555430Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46322}
-
titzer authored
R=marja@chromium.org BUG= Review-Url: https://codereview.chromium.org/2961253002 Cr-Commit-Position: refs/heads/master@{#46321}
-
Michael Lippautz authored
Bug: chromium:651354 Change-Id: Ib384ca2d386421a0a466ef318b278f8fc677cdb2 Reviewed-on: https://chromium-review.googlesource.com/555172Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46320}
-
Ulan Degenbaev authored
The race happens when inobject slack tracking is being completed on the main thread, which decrements inobject_properties. At the same time the concurrent marker is reading inobject_properties via the LayoutDescriptorHelper. BUG=chromium:694255 Change-Id: I4627d66b66c6036d357b9f619e1c602f0bb47d80 Reviewed-on: https://chromium-review.googlesource.com/555210 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#46319}
-
Michael Starzinger authored
This adds support for lowering of nodes having the {JSToObject} operator even if they have exceptional control projections (e.g. are inside of a try-block). R=bmeurer@chromium.org TEST=mjsunit/compiler/optimized-with Change-Id: I711ff4935db68c43243a971a8b21989487c86317 Reviewed-on: https://chromium-review.googlesource.com/554628Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46318}
-
Daniel Ehrenberg authored
This reverts commit 96698b55. Reason for revert: This patch was correct when it landed, but later, the spec was changed to V8's old behavior in https://github.com/tc39/ecma262/pull/885 . Original change's description: > [parser] allow ASI when "await" or "yield" follows "let" > > Per https://github.com/tc39/test262/pull/956, André believes that ASI > should be permitted in these situations. > > BUG= > R=marja@chromium.org, adamk@chromium.org, littledan@chromium.org > > Change-Id: I5602d8a507576607750ffa9e873e1bfa53dd3523 > Reviewed-on: https://chromium-review.googlesource.com/472568 > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Caitlin Potter <caitp@igalia.com> > Cr-Commit-Position: refs/heads/master@{#44585} TBR=adamk@chromium.org,marja@chromium.org,littledan@chromium.org,caitp@igalia.com # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: I2c5bf709867da539ccd4cd82f3be98c8a0301f31 Reviewed-on: https://chromium-review.googlesource.com/553617Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46317}
-
Michael Achenbach authored
TBR=mathias@chromium.org NOTRY=true Bug: v8:5918 Change-Id: Ifcc1b2dc3aa230f30893deb0209eafa31384a263 Reviewed-on: https://chromium-review.googlesource.com/554772 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46316}
-
Michael Starzinger authored
This adds support for lowering of nodes having the {JSCreateArray} operator even if they have exceptional control projections (e.g. are placed inside a try-block). R=mvstanton@chromium.org TEST=mjsunit/compiler/array-constructor Change-Id: I2fe34dbb3729b4763471f2638a960b01c531c038 Reviewed-on: https://chromium-review.googlesource.com/554732Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46315}
-
Clemens Hammacher authored
In our internal code, we should only use pending exceptions. They will be converted to scheduled exceptions on the API boundary. Hence, the ErrorThrower just sets a pending exception; it should never have to think about scheduled exceptions. The new ScheduledErrorThrower inherits from ErrorThrower and reschedules any pending exceptions in its destructor (turning them into scheduled exceptions). In some situations, there might already be a scheduled exception, e.g. when calling other API methods (v8::Value::Get). In this case, the ErrorThrower should also not set another pending exception. For the reasons mentioned above, this can only be handled in the ScheduledErrorThrower, which is used the API methods. This fixes one DCHECK failure and one TODO about scheduled exceptions if no instance can be created, because the start function throws. R=mtrofin@chromium.org, mstarzinger@chromium.org BUG=v8:6232,chromium:736256 Change-Id: I4905be04c565df9495de18fb26adbb5c05d193d2 Reviewed-on: https://chromium-review.googlesource.com/548641 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Mircea Trofin <mtrofin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46314}
-
Georg Neis authored
R=adamk@chromium.org Bug: v8:1569 Change-Id: Idf069e7c8dac4a064eacf6bd1db1df3314988e6a Reviewed-on: https://chromium-review.googlesource.com/553261Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46313}
-
Michael Achenbach authored
This drops v8_hello_world, v8_parser_shell and v8_sample_process from the official v8 archives. This also adds a new option to differentiate library and executable archives. NOTRY=true TBR=marja@chromium.org Bug: v8:5918 Change-Id: I946708f2eeb030296c5ce284541ecf719522186c Reviewed-on: https://chromium-review.googlesource.com/554753Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46312}
-
bmeurer authored
Enable the experimental support in escape analysis to deal with constant-foldable CheckMaps nodes and remove them from the effect chain w/o blocking the scalar replacement of the object. BUG=v8:4586,v8:5267 R=tebbi@chromium.org Review-Url: https://codereview.chromium.org/2964473002 Cr-Commit-Position: refs/heads/master@{#46311}
-
titzer authored
R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2957313002 Cr-Commit-Position: refs/heads/master@{#46310}
-
Adam Klein authored
Change-Id: I83bfb75dab7970ba1c13d2096c8ee9de1e13903b Reviewed-on: https://chromium-review.googlesource.com/553137Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46309}
-
Michael Achenbach authored
This reverts commit 3d8e87aa. Reason for revert: tsan errors: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/15977 Original change's description: > Switch tracing to use v8::TracingController > > BUG=v8:6511 > R=fmeawad@chromium.org > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I4961e4b61a9ddc98385ed97c3ffcbcaef2d9cba7 > Reviewed-on: https://chromium-review.googlesource.com/543144 > Commit-Queue: Jochen Eisinger <jochen@chromium.org> > Reviewed-by: Fadi Meawad <fmeawad@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46307} TBR=fmeawad@chromium.org,jochen@chromium.org Change-Id: I3f39081001104c634cc8cab9d58ec420fc7293d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6511 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/554771Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46308}
-
Jochen Eisinger authored
BUG=v8:6511 R=fmeawad@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I4961e4b61a9ddc98385ed97c3ffcbcaef2d9cba7 Reviewed-on: https://chromium-review.googlesource.com/543144 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Fadi Meawad <fmeawad@chromium.org> Cr-Commit-Position: refs/heads/master@{#46307}
-
Leszek Swirski authored
There are very few cases where OSR code can be re-used, and where the function won't be non-concurrently optimized after OSR has happened. Maintaining the OSR code cache is unnecessary complexity, and caching OSR prevents us from e.g. seeding the optimizer with the actual OSR values. So, this patch removes it. Change-Id: Ib9223de590f35ffc1dc2ab593b7cc9fe97dde4a6 Reviewed-on: https://chromium-review.googlesource.com/552637 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#46306}
-
Michael Achenbach authored
Before this CL, cctest with component build will depend on the static v8 snapshot target and omit to dump the build configuration. Now we simply write the configuration when building any v8 executable. In pure library builds, we don't need the configuration, as it's used by the test framework to auto-detect testing options. Bug: v8:5918 Change-Id: Ie85ba82a2803542f0a0c88d6044167138fdd7d4f Reviewed-on: https://chromium-review.googlesource.com/554690Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#46305}
-
Jungshik Shin authored
icu-case-mapping was shipped a few months ago. By dropping the flag, unibrow's case conversion code won't be included by default because V8_INTL_SUPPORT is on by default. BUG=v8:4477, v8:4476 TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case, intl/general/case* Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I78be9cc64b4588bc5af79ecbbadf93af6e84a1df Reviewed-on: https://chromium-review.googlesource.com/534541 Commit-Queue: Jungshik Shin <jshin@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46304}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/41581c8..d69be9e Rolling v8/buildtools: https://chromium.googlesource.com/chromium/buildtools/+log/7f2cacb..1dcd1bd Rolling v8/third_party/android_tools: https://chromium.googlesource.com/android_tools/+log/023e2f6..e9d4018 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/520dd37..3b76c88 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/ad52f33..2023fc2 Rolling v8/tools/swarming_client: https://chromium.googlesource.com/external/swarming.client/+log/af6b06c..a56c2b3 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: I10612ed0881ad23ddbe5d73256e6689213f811b6 Reviewed-on: https://chromium-review.googlesource.com/554358Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#46303}
-
Mircea Trofin authored
It appears we actually get a compile time boost, and sometimes a runtime boost, at the cost of some reloc info growth. Bug: Change-Id: I1d1dc48f364e6611f895ebd00f86451199dd8626 Reviewed-on: https://chromium-review.googlesource.com/544713 Commit-Queue: Mircea Trofin <mtrofin@chromium.org> Reviewed-by: Brad Nelson <bradnelson@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46302}
-
- 28 Jun, 2017 2 commits
-
-
sampsong authored
and clean up equal operator BUG= R=bjaideep@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com, machenbach@chromium.org, rossberg@chromium.org Review-Url: https://codereview.chromium.org/2961873002 Cr-Commit-Position: refs/heads/master@{#46301}
-
Georg Neis authored
Bug: v8:6048 Change-Id: I055f8207d0a32b7fa0fb95961f2e0f29d1c02569 Reviewed-on: https://chromium-review.googlesource.com/548078 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#46300}
-