- 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}
-
- 08 Feb, 2018 1 commit
-
-
Taketoshi Aono authored
Original CL is https://chromium-review.googlesource.com/c/v8/v8/+/810504 Reverted issue is https://bugs.chromium.org/p/chromium/issues/detail?id=804159 Fix Object.entries descriptor array value index. This reverts commit e5ecb248. Bug: v8:6804, chromium:804159 Change-Id: I73a5a5f670c5b36e0c5cc7984d5979ecec43d969 Reviewed-on: https://chromium-review.googlesource.com/892684 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#51170}
-
- 07 Feb, 2018 1 commit
-
-
Peter Marshall authored
Cleanup CL that removes unnecessary builtins that were just wrapping the throwing of errors. Use the ThrowTypeError and ThrowRangeError helpers more consistently from CSA. Change-Id: I2d0c3647340c88c457b27e16c0a81567869b7ec7 Reviewed-on: https://chromium-review.googlesource.com/906769 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Franziska Hinkelmann <franzih@chromium.org> Cr-Commit-Position: refs/heads/master@{#51150}
-
- 30 Jan, 2018 1 commit
-
-
jgruber authored
Some tests need to ensure all builtins are deserialized. This adds a helper to make that easier. Drive-by-refactoring: Centralize lazy-deserialization tracing. TBR=rmcilroy@chromium.org Bug: v8:6624 Change-Id: I1f7caa6c539b12aabcba5b7b28c50ad40355848b Reviewed-on: https://chromium-review.googlesource.com/891822 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50959}
-
- 22 Jan, 2018 1 commit
-
-
Jakob Gruber authored
This reverts commit 03e9d415. Reason for revert: Correctness issues, see https://crbug.com/804159. Bug: chromium:804159 Original change's description: > Reland: Reimplement Object.entries/values as CSA to optimize performance. > > Add Object.entries/values builtins to debug-evaluate.cc whitelist macro. > This fix revert commit of https://chromium-review.googlesource.com/c/v8/v8/+/859937 > Original is https://chromium-review.googlesource.com/c/v8/v8/+/810504 > >> Reimplements Object.entries/values as CSA to optimize performance. See more detail about https://bugs.chromium.org/p/v8/issues/ Issue 6804. > > This reverts commit 1b49f725. > > Bug: v8:6804 > Change-Id: I57e8b66e1c4ece2abb52e1630a97fbfd4070d810 > Reviewed-on: https://chromium-review.googlesource.com/860679 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50492} TBR=yangguo@chromium.org,cbruni@chromium.org,jgruber@chromium.org,ishell@chromium.org,brn@b6n.ch # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:6804 Change-Id: I39b1854ca7c2f57819ba377f84560356d3756bfb Reviewed-on: https://chromium-review.googlesource.com/877886Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#50746}
-
- 19 Jan, 2018 1 commit
-
-
Mathias Bynens authored
Until now, String.prototype.{trimLeft,trimRight} were non-standard language extensions, required for Web compatibility. The proposal at https://github.com/tc39/proposal-string-left-right-trim standardizes this functionality as String.prototype.{trimStart,trimEnd}, and defines String.prototype.{trimLeft,trimRight} as aliases for backwards compatibility. This patch implements that proposal behind the --harmony-string-trimming flag. Bug: v8:6530 Change-Id: Id21e624c12a79e6b782efb049a48901b9da7db71 Reviewed-on: https://chromium-review.googlesource.com/867044 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50717}
-
- 17 Jan, 2018 2 commits
-
-
peterwmwong authored
Bug: v8:7239 Change-Id: I25d2926a974bdb99a45fe4df79c6a62a363f67cf Reviewed-on: https://chromium-review.googlesource.com/867237Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Wong <peter.wm.wong@gmail.com> Cr-Commit-Position: refs/heads/master@{#50651}
-
Benedikt Meurer authored
This adds a new simplified operator NumberToString, which just lowers to a call to the NumberToString builtin, and hooks that up to the typed lowering (addressing a long-standing TODO). Drive-by-fix: Also remove the %NumberToString runtime entry, and just always use the %NumberToStringSkipCache entry from CSA, since we only go there if the cache lookup already failed. Bug: v8:5267, v8:7109 Change-Id: I5ca698c98679653813088a404f1fd38903a73c0e Reviewed-on: https://chromium-review.googlesource.com/779099 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#50636}
-
- 12 Jan, 2018 1 commit
-
-
Jakob Gruber authored
Instead of bailing out and assuming everything will be fine if a builtin hasn't been deserialized yet, deserialize eagerly and perform the full check. Change-Id: I60b0d33786a266e124358e2eebe926d8f785881d Reviewed-on: https://chromium-review.googlesource.com/859998 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50529}
-
- 11 Jan, 2018 1 commit
-
-
Taketoshi Aono authored
Add Object.entries/values builtins to debug-evaluate.cc whitelist macro. This fix revert commit of https://chromium-review.googlesource.com/c/v8/v8/+/859937 Original is https://chromium-review.googlesource.com/c/v8/v8/+/810504 >> Reimplements Object.entries/values as CSA to optimize performance. See more detail about https://bugs.chromium.org/p/v8/issues/ Issue 6804. This reverts commit 1b49f725. Bug: v8:6804 Change-Id: I57e8b66e1c4ece2abb52e1630a97fbfd4070d810 Reviewed-on: https://chromium-review.googlesource.com/860679 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#50492}
-
- 02 Jan, 2018 3 commits
-
-
Bill Budge authored
This reverts commit 2a8e1e4a. Reason for revert: Time outs were caused by infra issues. Original change's description: > Revert "[debugger] do not try to find saved context before DebugEvaluate::Local" > > This reverts commit ea7499df. > > Reason for revert: Speculative, but this CL seems correlated with a bunch of timeouts on Linux: > > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/19540 > > Original change's description: > > [debugger] do not try to find saved context before DebugEvaluate::Local > > > > Current implementation produces crashes since sometimes saved context > > is empty. It looks like we do not need to restore saved context since > > we do not set debug context as current, at least all tests are passed. > > > > R=yangguo@chromium.org > > > > Bug: chromium:797573,chromium:792838 > > Change-Id: I1271640f6a18cbaaecfa1e99ed9ac28e0dbbb1da > > Reviewed-on: https://chromium-review.googlesource.com/844979 > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#50327} > > TBR=yangguo@chromium.org,kozyatinskiy@chromium.org > > Change-Id: I543201698c96c9762c481c1f6012cc13cb712842 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:797573, chromium:792838 > Reviewed-on: https://chromium-review.googlesource.com/846205 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50331} TBR=bbudge@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org Change-Id: I44e916c796b935c372ce418a3fad44aa25d6f863 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:797573, chromium:792838 Reviewed-on: https://chromium-review.googlesource.com/848132Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50332}
-
Bill Budge authored
This reverts commit ea7499df. Reason for revert: Speculative, but this CL seems correlated with a bunch of timeouts on Linux: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/19540 Original change's description: > [debugger] do not try to find saved context before DebugEvaluate::Local > > Current implementation produces crashes since sometimes saved context > is empty. It looks like we do not need to restore saved context since > we do not set debug context as current, at least all tests are passed. > > R=yangguo@chromium.org > > Bug: chromium:797573,chromium:792838 > Change-Id: I1271640f6a18cbaaecfa1e99ed9ac28e0dbbb1da > Reviewed-on: https://chromium-review.googlesource.com/844979 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> > Cr-Commit-Position: refs/heads/master@{#50327} TBR=yangguo@chromium.org,kozyatinskiy@chromium.org Change-Id: I543201698c96c9762c481c1f6012cc13cb712842 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:797573, chromium:792838 Reviewed-on: https://chromium-review.googlesource.com/846205Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#50331}
-
Alexey Kozyatinskiy authored
Current implementation produces crashes since sometimes saved context is empty. It looks like we do not need to restore saved context since we do not set debug context as current, at least all tests are passed. R=yangguo@chromium.org Bug: chromium:797573,chromium:792838 Change-Id: I1271640f6a18cbaaecfa1e99ed9ac28e0dbbb1da Reviewed-on: https://chromium-review.googlesource.com/844979Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#50327}
-
- 05 Dec, 2017 1 commit
-
-
peterwmwong authored
- Removes JS implementation and InnerArrayFind/InnerArrayFindIndex - Adds TFJ, with TFS for slow continuation path Some quick benchmarks show ~2x improvement for unoptimized code and up to 16% improvement against optimized code (diminishes with larger arrays as iterating dominates). https://github.com/peterwmwong/v8-perf/blob/master/array-find-findIndex/README.md Bug: chromium:791045, v8:1956, v8:5049, v8:7165 Change-Id: Ie16252ed495bbd91fe548b16d5ef6764de791a50 Reviewed-on: https://chromium-review.googlesource.com/804704Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49851}
-
- 29 Nov, 2017 2 commits
-
-
Michael Starzinger authored
This fixes debug-evaluate in the presence of a de-materialized function object. The creation of an arguments object is now requested based on a given frame (potentially inlined) instead of a target function. It makes sure that multiple calls to {StandardFrame::Summarize} don't cause any confusion when they give back non-identical function objects. R=jgruber@chromium.org TEST=debugger/debug/debug-evaluate-arguments BUG=chromium:788647 Change-Id: I575bb6cb20b4657dc09019e631b5d6e36c1b5189 Reviewed-on: https://chromium-review.googlesource.com/796474Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49721}
-
Georg Neis authored
Prior to this change, the exponentiation operator was rewritten by the parser to a call of the Math.pow builtin. However, Math.pow does not accept BigInt arguments, while the exponentiation operator must accept them. This CL - removes the parser's special treatment of ** and **=, treating them like any other binary op instead. - adds a TFC builtin Exponentiate that does the right thing for all inputs. - adds interpreter bytecodes Exp and ExpSmi whose handlers call the Exponentiate builtin. For simplicity, they currently always collect kAny feedback. - adds a Turbofan operator JSExponentiate with a typed-lowering to the existing NumberPow and a generic-lowering to the Exponentiate builtin. There is currently no speculative lowering. Note that exponentiation for BigInts is actually not implemented yet, so we can't yet test it. Bug: v8:6791 Change-Id: Id90914c9c3fce310ce01e715c09eaa9f294f4f8a Reviewed-on: https://chromium-review.googlesource.com/785694Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49696}
-
- 15 Nov, 2017 1 commit
-
-
Jakob Gruber authored
The backing store fixed array for collections needs to be allocated in LOS if it exceeds the maximum regular heap object size. Drive-by-fix: Only store fixed array map once as per TODO. Bug: chromium:784862 Change-Id: I6b4dd2e45153ae107171e21bc7448e0d9b54b0ed Reviewed-on: https://chromium-review.googlesource.com/771150Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49378}
-
- 13 Nov, 2017 1 commit
-
-
Camillo Bruni authored
This CL fixes uses of HandleSlackTracking which previously would write fields twice. Additional checks ensure that only proper initial maps are used with slack tracking. Change-Id: Ifb03297635ed6b873eb8b27fec9794c9d36b71b6 Reviewed-on: https://chromium-review.googlesource.com/664810Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#49331}
-
- 28 Oct, 2017 1 commit
-
-
Jakob Kummerow authored
Bug: v8:6791 Change-Id: Id85bd701eaa574eea1335cdc916323810616cef9 Reviewed-on: https://chromium-review.googlesource.com/738936 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49014}
-
- 25 Oct, 2017 1 commit
-
-
Georg Neis authored
R=jkummerow@chromium.org Bug: v8:6791 Change-Id: I55c11c1328c92983286a8173795ce38f0b1e9e8e TBR: yangguo@chromium.org Reviewed-on: https://chromium-review.googlesource.com/735322Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#48897}
-
- 24 Oct, 2017 1 commit
-
-
Daniel Clifford authored
Previously, V8's slice was implemented in a combination of C++ and a Javascript fallback. The disadvantage of this approach was that the fast-path required a call through the CEntryStub, which introduced considerable overhead for small arrays with fast elements kinds. Now the implementation primarily uses the CSA to generate both the full spec-complaint implementation as well as fast paths for argument objects and arrays with fast elements kinds. The CSA implementation uses a C++ implementation fallback in select situations where the the complexity of a CSA implementation would be too great and the CEntryStub overhead is not decisive (e.g. slices of dictionary elements arrays). Performance results on semi-random arrays with small number of elements (old vs. new): smi copy: 48.7 ms vs. 12 ms smi slice: 43.5 ms 14.8 ms object copy: 35.5 ms 7.7 ms object slice: 38.7 ms 8.8 ms dictionary slice: 2398.3 ms vs. 5.4 ms fast sloppy arguments slice: 9.6 ms vs. 7.2 ms slow sloppy arguments slice: 28.9 ms vs. 8.5 ms As a bonus, the new implementation is fully spec-compliant and fixes at least one existing bug. The design document for Array.prototype builtin rework can be found at https://goo.gl/wFHe2n Bug: v8:1956,v8:6601,v8:6710,v8:6978 Change-Id: Ia0155bedcf39b4577605ff754f416c2af938efb7 Reviewed-on: https://chromium-review.googlesource.com/574710 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48853}
-
- 18 Oct, 2017 1 commit
-
-
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}
-
- 16 Oct, 2017 2 commits
-
-
peterwmwong authored
- Extract core StringPrototypeRepeat code into a TFS builtin (StringRepeat) - Assumes arguments are a string and smi (no range checks) - Add StringPrototypePadStart and StringPrototypePadEnd TFJ builtins - Added StringPadAssembler to ensure common behavior - Removed functionality from string.js A quick benchmark shows significant performance gains for unoptimized code (2.1x to 2.46x) and optimized code (1.03x - 1.56x). https: //github.com/peterwmwong/v8-perf/blob/master/string-pad/README.md Bug: v8:5049 Change-Id: I6e4fe99fb62a3edb3d6906fd4f78b3576b5b0d13 Reviewed-on: https://chromium-review.googlesource.com/720067 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48595}
-
Leszek Swirski authored
Bug: v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3294568a550b829b0ec90147a4cdaefe169bb7cb Reviewed-on: https://chromium-review.googlesource.com/718206Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#48587}
-
- 13 Oct, 2017 1 commit
-
-
Mathias Bynens authored
New code should use nullptr instead of NULL. This patch updates existing use of NULL to nullptr where applicable, making the code base more consistent. BUG=v8:6928,v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I4687f5b96fcfd88b41fa970a2b937b4f6538777c Reviewed-on: https://chromium-review.googlesource.com/718338 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#48557}
-
- 09 Oct, 2017 1 commit
-
-
Benedikt Meurer authored
We use the naming convention <Constructor>Prototype<Method> for builtins that implement methods on a certain builtin constructors prototype. Fix the collection builtins (Map and Set) to match this naming convention. Bug: v8:5049 Change-Id: I8ced50c2ac9ebc8f4390bcbbc6aec426a0026813 Reviewed-on: https://chromium-review.googlesource.com/707318Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48403}
-
- 25 Sep, 2017 1 commit
-
-
Maya Lekova authored
Bug: Change-Id: I7cb8ace4183c0dcf34d71d1b378204383c17ba56 Reviewed-on: https://chromium-review.googlesource.com/678718Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Maya Lekova <mslekova@google.com> Cr-Commit-Position: refs/heads/master@{#48133}
-
- 16 Sep, 2017 1 commit
-
-
peterwmwong authored
- Added TFJ builtins for S.p.{anchor, big, blink, bold, fontcolor, fontsize, fixed, italics, link, small, strike, sub, sup} - Removed functionality from string.js Bug: v8:5049 Change-Id: I3a91b52eaceef5c47bb55ed62780d72ef1e802e9 Reviewed-on: https://chromium-review.googlesource.com/666487 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48056}
-
- 15 Sep, 2017 1 commit
-
-
peterwmwong authored
- Removes S.p.repeat from string.js - Adds StringPrototypeRepeat TFJ Bug: v8:5049 Change-Id: I0b2d512bffd97dfc2c3ba6783e2e41c4db6c8faa Reviewed-on: https://chromium-review.googlesource.com/659097 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#48023}
-
- 14 Sep, 2017 1 commit
-
-
Sigurdur Asgeirsson authored
Bug: chromium:763010 Change-Id: Iafed5a0e8087f415cd2c11a0b1326c04bd01ef80 Reviewed-on: https://chromium-review.googlesource.com/665351Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48018}
-
- 13 Sep, 2017 1 commit
-
-
Michael Starzinger authored
R=clemensh@chromium.org Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I3df5d50f81909188ee0cb31d0f479aadeeabe20f Reviewed-on: https://chromium-review.googlesource.com/662780Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47991}
-
- 12 Sep, 2017 1 commit
-
-
Adam Klein authored
This continues to move the "desugaring" of unary operators further down the pipeline, in this case into the bytecode handlers for new bytecodes `Negate` and `BitwiseNot` and the corresponding TF code in BytecodeGraphBuilder. Bug: v8:6971 Tbr: yangguo@chromium.org Change-Id: If6b5d6b239a09ef8b4dbde49321614503c0f5beb Reviewed-on: https://chromium-review.googlesource.com/661146 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47980}
-
- 11 Sep, 2017 2 commits
-
-
Georg Neis authored
BigInt is a new primitive type of arbitrary precision integers, proposed in https://tc39.github.io/proposal-bigint. This CL introduces a corresponding instance type, map, and C++ class to V8 and adds BigInt support to a few operations (see the test file). Much more is to come. Also, the concrete representation of BigInts is not yet fixed, currently a BigInt is simply a wrapped Smi. Bug: v8:6791 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia2901948efd7808f17cfc945f0d56e23e8ae0b45 Reviewed-on: https://chromium-review.googlesource.com/657022Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#47956}
-
Toon Verwaest authored
Bug: v8:5269 Change-Id: Ie649a83435f74b6dd705991c264085f28b12736c Reviewed-on: https://chromium-review.googlesource.com/655438 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#47948}
-
- 08 Sep, 2017 1 commit
-
-
Benedikt Meurer authored
The previous %StringCharCodeAt runtime entry (and the inlined intrinsic) are obsolete and not used anymore (except in dedicated tests for this runtime function), so remove it. And rename the %StringCharCodeAtRT function, which is actually used to %StringCharCodeAt instead to have a consistent naming scheme for runtime fallbacks. Bug: v8:5049 Change-Id: I619429ef54f6efea61fc51ab9ed1d5cfe4417f99 Reviewed-on: https://chromium-review.googlesource.com/657719 Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47928}
-
- 07 Sep, 2017 3 commits
-
-
Peter Marshall authored
Bug: v8:6333 Change-Id: Ibc704172ebc796977b8d8cfae6976666d186f12c Reviewed-on: https://chromium-review.googlesource.com/652450 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47890}
-
Toon Verwaest authored
This speeds up the baseline performance of Object by 20%. With this change, the callViaObject when run with --noopt goes from 10718ms to 8577ms on the benchmark from: http://benediktmeurer.de/2017/08/31/object-constructor-calls-in-webpack-bundles Bug: v8:6772 Change-Id: Id0e54ba44204a1700885185ec360e1c56834fb73 Reviewed-on: https://chromium-review.googlesource.com/654900Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#47888}
-
jgruber authored
With lazy deserialization, the target code object may have been replaced by DeserializeLazy. In that case, we can get the target builtin id from the shared function info, and we need to skip RelocInfo iteration (it doesn't exist yet). Bug: v8:6624 Change-Id: I765b74de313e65bfdf0122f13535029994fc0de1 Reviewed-on: https://chromium-review.googlesource.com/655159Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47878}
-
- 06 Sep, 2017 1 commit
-
-
peterwmwong authored
- Convert S.p.{trim, trimLeft, trimRight} to TFJ - Fast paths for one/two byte strings - Added StringTrimAssembler - Added helper kStringTrim runtime to handle slow paths Quick measurements show >2.7x improvement: https://github.com/peterwmwong/v8-perf/tree/master/string-trim Bug: v8:6680 Change-Id: I79929129aa3d5dea20f094d648afe46adbf61a49 Reviewed-on: https://chromium-review.googlesource.com/647647Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#47853}
-
- 01 Sep, 2017 1 commit
-
-
Benedikt Meurer authored
This CL adds support to optimize for..in in fast enum-cache mode to the same degree that it was optimized in Crankshaft, without adding the same deoptimization loop that Crankshaft had with missing enum cache indices. That means code like for (var k in o) { var v = o[k]; // ... } and code like for (var k in o) { if (Object.prototype.hasOwnProperty.call(o, k)) { var v = o[k]; // ... } } which follows the https://eslint.org/docs/rules/guard-for-in linter rule, can now utilize the enum cache indices if o has only fast properties on the receiver, which speeds up the access o[k] significantly and reduces the pollution of the global megamorphic stub cache. For example the micro-benchmark in the tracking bug v8:6702 now runs faster than ever before: forIn: 1516 ms. forInHasOwnProperty: 1674 ms. forInHasOwnPropertySafe: 1595 ms. forInSum: 2051 ms. forInSumSafe: 2215 ms. Compared to numbers from V8 5.8 which is the last version running with Crankshaft forIn: 1641 ms. forInHasOwnProperty: 1719 ms. forInHasOwnPropertySafe: 1802 ms. forInSum: 2226 ms. forInSumSafe: 2409 ms. and V8 6.0 which is the current stable version with TurboFan: forIn: 1713 ms. forInHasOwnProperty: 5417 ms. forInHasOwnPropertySafe: 5324 ms. forInSum: 7556 ms. forInSumSafe: 11067 ms. It also improves the throughput on the string-fasta benchmark by around 7-10%, and there seems to be a ~5% improvement on the Speedometer/React benchmark locally. For this to work, the ForInPrepare bytecode was split into ForInEnumerate and ForInPrepare, which is very similar to how it was handled in Fullcodegen initially. In TurboFan we introduce a new operator LoadFieldByIndex that does the dynamic property load. This also removes the CheckMapValue operator again in favor of just using LoadField, ReferenceEqual and CheckIf, which work automatically with the EscapeAnalysis and the BranchConditionElimination. Bug: v8:6702 Change-Id: I91235413eea478ba77ace7bd14bb2f62e155dd9a Reviewed-on: https://chromium-review.googlesource.com/645949 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47768}
-