- 13 Jun, 2018 2 commits
-
-
Clemens Hammacher authored
The {WasmSharedModuleData} struct was introduced to hold data common to all wasm instances belonging to the same module. The idea was to keep "internal state" separate from the JS-facing {WasmModuleObject}. Since this objective has no real value, and we already store some internal data on the {WasmModuleObject}, this CL merges these two objects. R=titzer@chromium.org, mstarzinger@chromium.org Bug: v8:7754 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I04f6d07bf5d812bc4717af26f0f64231345861f9 Reviewed-on: https://chromium-review.googlesource.com/1097491 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#53698}
-
Creddy authored
Use DEFINE_FIELD_OFFSET_CONSTANTS to describe AllocationSite fields Change-Id: I03ae84e1f4720da9da7e2a8a784f56fe6f155e18 Reviewed-on: https://chromium-review.googlesource.com/1095308Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#53696}
-
- 07 Jun, 2018 4 commits
-
-
Dominik Inführ authored
This is a reland of 3b93e695 Original change's description: > Add InstanceType for EphemeronHashTable > > This will allow the GC to differentiate between regular HashTables and EphemeronHashTables. > > Bug: chromium:844008 > Change-Id: I2f9009ac25eb117de03786b110dd362b829c5e9e > Reviewed-on: https://chromium-review.googlesource.com/1089066 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Cr-Commit-Position: refs/heads/master@{#53577} TBR=tebbi@chromium.org Bug: chromium:844008 Change-Id: Ia5da3d15e28ace94063f9db4fdd4997d88696501 Reviewed-on: https://chromium-review.googlesource.com/1091090 Commit-Queue: Dominik Inführ <dinfuehr@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53594}
-
Joyee Cheung authored
Proposal repo: https://github.com/tc39/proposal-symbol-description Add new Builtin SymbolPrototypeDescriptionGetter. Bug: v8:7807 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I7353bd00b172e91d8624e3373d2a4b55aced8b5c Reviewed-on: https://chromium-review.googlesource.com/1088871 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#53592}
-
Bill Budge authored
This reverts commit 3b93e695. Reason for revert: Breaks Linux nosnap: https://ci.chromium.org/buildbot/client.v8/V8%20Linux%20-%20nosnap%20-%20debug/19064 Original change's description: > Add InstanceType for EphemeronHashTable > > This will allow the GC to differentiate between regular HashTables and EphemeronHashTables. > > Bug: chromium:844008 > Change-Id: I2f9009ac25eb117de03786b110dd362b829c5e9e > Reviewed-on: https://chromium-review.googlesource.com/1089066 > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Cr-Commit-Position: refs/heads/master@{#53577} TBR=ulan@chromium.org,tebbi@chromium.org,dinfuehr@google.com Change-Id: I8f92d76e35ae419af937add9a0e70a288c604781 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:844008 Reviewed-on: https://chromium-review.googlesource.com/1090973Reviewed-by:
Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#53589}
-
Dominik Inführ authored
This will allow the GC to differentiate between regular HashTables and EphemeronHashTables. Bug: chromium:844008 Change-Id: I2f9009ac25eb117de03786b110dd362b829c5e9e Reviewed-on: https://chromium-review.googlesource.com/1089066Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#53577}
-
- 06 Jun, 2018 2 commits
-
-
Théotime Grohens authored
This CL fully implements the DataView getters for the Uint8, Int8, Uint16, Int16, Uint32 and Int32 types in Torque, and removes the runtime implementation that is not needed anymore. There should be a light but visible performance increase compared to the former runtime implementation. Change-Id: I7d85097fd5953b9629f3ac6bed93b068889712b2 Reviewed-on: https://chromium-review.googlesource.com/1078349 Commit-Queue: Théotime Grohens <theotime@google.com> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#53553}
-
jgruber authored
Enabling once again post-branch point. This CL is expected to come with major memory improvements and slight performance regressions. Recent work on performance improvements has focused on x64, hence only enabling there for now. Bug: v8:6666 Change-Id: I29dc55eb4e592465073559647e280f74253b73e1 Reviewed-on: https://chromium-review.googlesource.com/1076247 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53544}
-
- 05 Jun, 2018 1 commit
-
-
jgruber authored
This is a reland of 515cc07d Original change's description: > [csa] Ensure the requested allocation size fits in a Smi > > In CSA::AllocateRaw, ensure that the given allocation size fits into a > Smi. > > Bug: chromium:848672 > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng > Change-Id: I4e74791296163188b1ca77cae8226a9833fba8ef > Reviewed-on: https://chromium-review.googlesource.com/1084930 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53495} TBR=yangguo@chromium.org,ishell@chromium.org Bug: chromium:848672 Change-Id: I135868390784a0ee95ff42224dd00f66f3bf2d80 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1086828 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#53512}
-
- 04 Jun, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 TBR=ishell@chromium.org, tebbi@chromium.org Change-Id: I0f7de13967d3e109b40d7158ee29775754c3d108 Reviewed-on: https://chromium-review.googlesource.com/1082475 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#53483}
-
- 01 Jun, 2018 2 commits
-
-
Marja Hölttä authored
This reverts commit 0f23cedd. Reason for revert: buildbot failures Original change's description: > [in-place weak refs] Replace WeakCells in DescriptorArray. > > BUG=v8:7308 > > Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 > Reviewed-on: https://chromium-review.googlesource.com/1075053 > Commit-Queue: Marja Hölttä <marja@chromium.org> > Reviewed-by: Tobias Tebbi <tebbi@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53473} TBR=ulan@chromium.org,marja@chromium.org,tebbi@chromium.org,ishell@chromium.org Change-Id: I713ab10650f933a8218a61521868d6cd16cb821e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7308 Reviewed-on: https://chromium-review.googlesource.com/1082218Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#53474}
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: Ib0ad52916d6f5b65e7612981b467b491d832f505 Reviewed-on: https://chromium-review.googlesource.com/1075053 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#53473}
-
- 29 May, 2018 1 commit
-
-
Michael Starzinger authored
This makes the WasmCompileLazy builtin push a new WASM_COMPILE_LAZY frame type. We can thereby remove the workaround to return a relocated instance from the underlying runtime function. It also removes the last remaining embedded code objects from {WasmCode} objects. R=titzer@chromium.org Change-Id: Ic9c3f59339e8d7bed53ea0ed70ef50dfe640f1c6 Reviewed-on: https://chromium-review.googlesource.com/1073455 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53405}
-
- 15 May, 2018 1 commit
-
-
Nebojsa Ciric authored
https://github.com/tc39/proposal-intl-locale Rename locale property to baseName to better reflect the intented use case and the change in spec. TBR: bmeurer@chromium.org Bug: v8:7684 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I91b630b49ce73abcebd6040ec968c91d75cff879 Reviewed-on: https://chromium-review.googlesource.com/1014411 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#53193}
-
- 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}
-
- 09 May, 2018 1 commit
-
-
Dan Elphick authored
Moves all Oddballs, empty_feedback_metadata, lots of symbols and immortal heap numbers and several other empty collection objects. RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 31800 0 241976 24032 176 0 new 35080 0 238680 24032 176 0 diff +3280 -3296 Reland of https://chromium-review.googlesource.com/c/v8/v8/+/1025996, without the empty_property_dictionary which is not read-only. Bug: v8:7464 Change-Id: I84840d86eb3e5906ddb8b4c4e9e70bfec0cf78bc Reviewed-on: https://chromium-review.googlesource.com/1049611 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53096}
-
- 08 May, 2018 3 commits
-
-
jgruber authored
Embedded builtins have been regressing benchmarks incrementally as more and more builtins were moved to the embedded blob. This has made recognition and analysis of other possible performance issues more difficult. Let's disable embedded builtins until their performance is at an acceptable level. Bug: v8:6666 Change-Id: I21a1274f3d5a65063127b0a8604df6dd0d3c0c95 Reviewed-on: https://chromium-review.googlesource.com/1049550 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#53062}
-
Dan Elphick authored
This reverts commit b19d123f. Reason for revert: It breaks the more important change: https://chromium-review.googlesource.com/c/v8/v8/+/1042145 (Because it adds mutable objects to RO_SPACE). Original change's description: > [heap] Move even more objects into RO_SPACE > > Moves all Oddballs, empty_feedback_metadata, lots of symbols and > immortal heap numbers and several other empty collection objects. > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 31592 0 221160 33280 176 0 > new 35016 0 217736 33280 176 0 > diff +3424 -3424 > > Bug: v8:7464 > Change-Id: Ic99411bcbcb9c9a48b33c59dddb68359278fb0b3 > Reviewed-on: https://chromium-review.googlesource.com/1025996 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#53053} TBR=hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org Change-Id: Ieb81f88fe348fcffb67c153c0b116670318814f5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:7464 Reviewed-on: https://chromium-review.googlesource.com/1049555Reviewed-by:
Dan Elphick <delphick@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#53056}
-
Dan Elphick authored
Moves all Oddballs, empty_feedback_metadata, lots of symbols and immortal heap numbers and several other empty collection objects. RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 31592 0 221160 33280 176 0 new 35016 0 217736 33280 176 0 diff +3424 -3424 Bug: v8:7464 Change-Id: Ic99411bcbcb9c9a48b33c59dddb68359278fb0b3 Reviewed-on: https://chromium-review.googlesource.com/1025996 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53053}
-
- 07 May, 2018 1 commit
-
-
Michael Starzinger authored
This moves the internal fields on {WasmExportedFunction} objects from being properties with private symbols to a separate structure instead. The new {WasmExportedFunctionData} structure can hang off the underlying shared function info which is created for each exported function. This reduces the number of transitions, speeds up instantiation, and makes it easier to reach them from generated code (in the future). R=titzer@chromium.org BUG=v8:7424 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Iaa733b6c9f7bea96246d6680756aa7101669a1a9 Reviewed-on: https://chromium-review.googlesource.com/1047025 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53040}
-
- 04 May, 2018 2 commits
-
-
Erik Luo authored
Creating a new instance from a v8::Function will invoke its constructor. If it is an API callback that has not been marked as kHasNoSideEffect, this CL introduces a way to invoke it without throwing. Calls within the constructor are still checked for side effects. Bug: chromium:829571 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ia4e410d487e2847bc511cb96f0be30a3563991f6 Reviewed-on: https://chromium-review.googlesource.com/1034116 Commit-Queue: Erik Luo <luoe@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53003}
-
Toon Verwaest authored
Bug: v8:7066 Change-Id: Icfcb40b2048997c158fba5f3e250145bed4ca1e3 Reviewed-on: https://chromium-review.googlesource.com/1042386 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52981}
-
- 02 May, 2018 2 commits
-
-
Leszek Swirski authored
This reverts commit 2df5e7a7. Reason for revert: Mystery crashes https://bugs.chromium.org/p/chromium/issues/detail?id=838805 Original change's description: > [parser] Slice the source string where possible > > When internalizing string literals (for quoted strings or property names), > try to create a sliced string of the source string rather than allocating > a copy of the bytes. > > This will not work for string literals that contain escapes (e.g. unicode > escapes), and currently does not support two-byte strings. > > Bug: chromium:818642 > Change-Id: I686e5ad36baecd1a84ce5e124118431249b6c980 > Reviewed-on: https://chromium-review.googlesource.com/1010282 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52898} TBR=marja@chromium.org,yangguo@chromium.org,jarin@chromium.org,mlippautz@chromium.org,leszeks@chromium.org,verwaest@chromium.org Change-Id: I598b6668c43a3e843e2dd8e60852b2b2f3461954 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:818642 Reviewed-on: https://chromium-review.googlesource.com/1039885 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52919}
-
jgruber authored
Original CL: https://crrev.com/c/1018468 During code generation, we generate self-references (i.e. references to the Code object currently being generated) as references to a temporary handle. When the final Code object has been allocated, the handle's location is fixed up and RelocInfo iteration fixes up all references embedded in the generated code. This adds support for this mechanism to the builtins constants table builder. CodeObject() is now a new handle pointing to a dedicated self-reference marker in order to distinguish between self-references and references to undefined. In Factory::NewCode, we patch up the constants table. TBR=yangguo@chromium.org,mlippautz@chromium.org Bug: v8:6666 Change-Id: I3fa422c57de99c9851dc7a86394a8387c7c2b397 Reviewed-on: https://chromium-review.googlesource.com/1039366 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52916}
-
- 01 May, 2018 1 commit
-
-
Leszek Swirski authored
When internalizing string literals (for quoted strings or property names), try to create a sliced string of the source string rather than allocating a copy of the bytes. This will not work for string literals that contain escapes (e.g. unicode escapes), and currently does not support two-byte strings. Bug: chromium:818642 Change-Id: I686e5ad36baecd1a84ce5e124118431249b6c980 Reviewed-on: https://chromium-review.googlesource.com/1010282Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#52898}
-
- 27 Apr, 2018 3 commits
-
-
Michael Achenbach authored
This reverts commit 6379e2a4. Reason for revert: https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8%2FV8_Win64%2F23855%2F%2B%2Frecipes%2Fsteps%2FCheck%2F0%2Flogs%2Fmkgrokdump%2F0 Original change's description: > [builtins] Patch self-references in constants table > > During code generation, we generate self-references (i.e. references to > the Code object currently being generated) as references to a temporary > handle. When the final Code object has been allocated, the handle's > location is fixed up and RelocInfo iteration fixes up all references > embedded in the generated code. > > This adds support for this mechanism to the builtins constants table > builder. CodeObject() is now a new handle pointing to a dedicated > self-reference marker in order to distinguish between self-references > and references to undefined. In Factory::NewCode, we patch up > the constants table. > > Bug: v8:6666 > Change-Id: If74ed91bb1c3b8abb20ff2f0a87d1bcd9a1b0511 > Reviewed-on: https://chromium-review.googlesource.com/1018468 > Commit-Queue: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52854} TBR=yangguo@chromium.org,mlippautz@chromium.org,jgruber@chromium.org Change-Id: I8cf8c4b43f51285ea913c6c8fdd339bd9ea645df No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Reviewed-on: https://chromium-review.googlesource.com/1033092Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52856}
-
jgruber authored
During code generation, we generate self-references (i.e. references to the Code object currently being generated) as references to a temporary handle. When the final Code object has been allocated, the handle's location is fixed up and RelocInfo iteration fixes up all references embedded in the generated code. This adds support for this mechanism to the builtins constants table builder. CodeObject() is now a new handle pointing to a dedicated self-reference marker in order to distinguish between self-references and references to undefined. In Factory::NewCode, we patch up the constants table. Bug: v8:6666 Change-Id: If74ed91bb1c3b8abb20ff2f0a87d1bcd9a1b0511 Reviewed-on: https://chromium-review.googlesource.com/1018468 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52854}
-
Dan Elphick authored
Allocates almost all maps found in the start up snapshot into RO_SPACE. There are 2 JSObject maps that are excluded as they contain a mutable cell. Also updates VerifyReadOnlyPointers to check that RO_SPACE objects' maps are also in RO_SPACE. Previously the invariant did not hold for Strings which still had their maps in MAP_SPACE. Also moves invalid_prototype_validity_cell to RO_SPACE. RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE old 22024 0 229184 32928 8184 0 new 31488 0 229184 32928 176 0 Bug: v8:7464 Change-Id: I870d22cc5234ba60b3ef8a2ada590ee6ae426c9f Reviewed-on: https://chromium-review.googlesource.com/1013494Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52848}
-
- 25 Apr, 2018 1 commit
-
-
Simon Zünd authored
This CL implements TypedArray.p.sort in Torque. The Torque version works basically the same as the existing JS builtin: When no comparison function is provided, the C++ fast path builtin is used. Otherwise a quicksort written in Torque is used, with a InsertionSort fallback for smaller arrays. The JS quicksort implementation also containes a more elaborate third pivot calculation for larger arrays. This is currently not done. Reported benchmark results are only for those, where a custom comparison function is provided. The numbers for the C++ path stayed the same. Benchmark Current (JS) Torque Speedup IntTypes 83.9 263.7 3.1 BigIntTypes 32.1 54.6 1.7 FloatTypes 99.3 138.7 1.4 R=danno@chromium.org, jgruber@chromium.org Bug: v8:7382 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I7abe7ceff525bab24f302d2f06b5961cca770d24 Reviewed-on: https://chromium-review.googlesource.com/1021691 Commit-Queue: Simon Zünd <szuend@google.com> Reviewed-by:
Daniel Clifford <danno@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52776}
-
- 23 Apr, 2018 3 commits
-
-
Sigurd Schneider authored
This is a reland of 5728b3fb Original change's description: > [builtins] Separate species protectors for Array, TypedArray, Promise > > Previously, there was one species protector for Array, TypedArray and > Promise. This CL splits the protector in three separate ones. This means > that invalidating one of them does not have negative performance > implications for the other ones. > > Bug: chromium:835347, v8:7340 > Change-Id: Id84aa0071f17096192965264eb60ddadd1e8e73f > Reviewed-on: https://chromium-review.googlesource.com/1023408 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52733} Bug: chromium:835347, v8:7340 Change-Id: I0c0188a0723e206ddb362834bcf872b23cd7666d Reviewed-on: https://chromium-review.googlesource.com/1023811 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52742}
-
Sigurd Schneider authored
This reverts commit 5728b3fb. Reason for revert: Breaks noi18n build Original change's description: > [builtins] Separate species protectors for Array, TypedArray, Promise > > Previously, there was one species protector for Array, TypedArray and > Promise. This CL splits the protector in three separate ones. This means > that invalidating one of them does not have negative performance > implications for the other ones. > > Bug: chromium:835347, v8:7340 > Change-Id: Id84aa0071f17096192965264eb60ddadd1e8e73f > Reviewed-on: https://chromium-review.googlesource.com/1023408 > Commit-Queue: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52733} TBR=sigurds@chromium.org,bmeurer@chromium.org Change-Id: Ied8b436e7991c759eb3b98702c142aa127a7e63c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:835347, v8:7340 Reviewed-on: https://chromium-review.googlesource.com/1024151Reviewed-by:
Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#52736}
-
Sigurd Schneider authored
Previously, there was one species protector for Array, TypedArray and Promise. This CL splits the protector in three separate ones. This means that invalidating one of them does not have negative performance implications for the other ones. Bug: chromium:835347, v8:7340 Change-Id: Id84aa0071f17096192965264eb60ddadd1e8e73f Reviewed-on: https://chromium-review.googlesource.com/1023408 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52733}
-
- 19 Apr, 2018 1 commit
-
-
Dan Elphick authored
This is a reland of 6c68efac Updated Heap::CommittedMemory and related functions to iterate over all spaces rather than including them manually which can lead to a space being overlooked. Also adds a test to ensure this the case. Original change's description: > Revert "Reland "[heap] Move initial objects into RO_SPACE"" > > This reverts commit 6c68efac. > > Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7668 > > Original change's description: > > Reland "[heap] Move initial objects into RO_SPACE" > > > > This is a reland of f8ae62fe > > > > Original change's description: > > > [heap] Move initial objects into RO_SPACE > > > > > > This moves: > > > * the main oddballs (null, undefined, hole, true, false) as well as > > > their supporting maps (also adds hole as an internalized string to make > > > this work). > > > * most of the internalized strings > > > * the struct maps > > > * empty array > > > * empty enum cache > > > * the contents of the initial string table > > > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > > > value avoid writing to it during run-time) > > > > > > The StartupSerializer stats change as follows: > > > > > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > > > old 0 0 270264 32608 12144 0 > > > new 21776 0 253168 32608 8184 0 > > > Overall memory usage has increased by 720 bytes due to the eager > > > initialization of the Map weak cell caches. > > > > > > Also extends --serialization-statistics to print out separate instance > > > type stats for objects in RO_SPACE as shown here: > > > > > > Read Only Instance types (count and bytes): > > > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > > > 2 32 HEAP_NUMBER_TYPE > > > 5 240 ODDBALL_TYPE > > > 45 3960 MAP_TYPE > > > 1 16 BYTE_ARRAY_TYPE > > > 1 24 TUPLE2_TYPE > > > 1 16 FIXED_ARRAY_TYPE > > > 1 32 DESCRIPTOR_ARRAY_TYPE > > > 45 720 WEAK_CELL_TYPE > > > > > > Bug: v8:7464 > > > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > > > Reviewed-on: https://chromium-review.googlesource.com/973722 > > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#52435} > > > > Bug: v8:7464 > > Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b > > Reviewed-on: https://chromium-review.googlesource.com/999654 > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#52638} > > TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: v8:7464,v8:7668 > Change-Id: I10aa03623b51e997f95a3715ea9f0bf5d29d2cdb > Reviewed-on: https://chromium-review.googlesource.com/1016600 > Commit-Queue: Peter Marshall <petermarshall@chromium.org> > Reviewed-by: Peter Marshall <petermarshall@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52667} Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: If4b7490c8c4d31612de8ec132de334955a319b11 Bug: v8:7464, v8:7668 Reviewed-on: https://chromium-review.googlesource.com/1019020Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dan Elphick <delphick@chromium.org> Cr-Commit-Position: refs/heads/master@{#52689}
-
- 18 Apr, 2018 2 commits
-
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I1976cd7e542a0304f6e14744e634c62dd06a83f5 Reviewed-on: https://chromium-review.googlesource.com/1014090 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52672}
-
Peter Marshall authored
This reverts commit 6c68efac. Reason for revert: https://bugs.chromium.org/p/v8/issues/detail?id=7668 Original change's description: > Reland "[heap] Move initial objects into RO_SPACE" > > This is a reland of f8ae62fe > > Original change's description: > > [heap] Move initial objects into RO_SPACE > > > > This moves: > > * the main oddballs (null, undefined, hole, true, false) as well as > > their supporting maps (also adds hole as an internalized string to make > > this work). > > * most of the internalized strings > > * the struct maps > > * empty array > > * empty enum cache > > * the contents of the initial string table > > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > > value avoid writing to it during run-time) > > > > The StartupSerializer stats change as follows: > > > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > > old 0 0 270264 32608 12144 0 > > new 21776 0 253168 32608 8184 0 > > Overall memory usage has increased by 720 bytes due to the eager > > initialization of the Map weak cell caches. > > > > Also extends --serialization-statistics to print out separate instance > > type stats for objects in RO_SPACE as shown here: > > > > Read Only Instance types (count and bytes): > > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > > 2 32 HEAP_NUMBER_TYPE > > 5 240 ODDBALL_TYPE > > 45 3960 MAP_TYPE > > 1 16 BYTE_ARRAY_TYPE > > 1 24 TUPLE2_TYPE > > 1 16 FIXED_ARRAY_TYPE > > 1 32 DESCRIPTOR_ARRAY_TYPE > > 45 720 WEAK_CELL_TYPE > > > > Bug: v8:7464 > > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > > Reviewed-on: https://chromium-review.googlesource.com/973722 > > Commit-Queue: Dan Elphick <delphick@chromium.org> > > Reviewed-by: Hannes Payer <hpayer@chromium.org> > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > > Reviewed-by: Yang Guo <yangguo@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#52435} > > Bug: v8:7464 > Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b > Reviewed-on: https://chromium-review.googlesource.com/999654 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52638} TBR=rmcilroy@chromium.org,yangguo@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,delphick@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: v8:7464,v8:7668 Change-Id: I10aa03623b51e997f95a3715ea9f0bf5d29d2cdb Reviewed-on: https://chromium-review.googlesource.com/1016600 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#52667}
-
- 17 Apr, 2018 2 commits
-
-
jgruber authored
TBR=yangguo@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6666 Change-Id: I051dd5a1578d2e611f4b6351aa9cff9451494a5c Reviewed-on: https://chromium-review.googlesource.com/1013711 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#52640}
-
Dan Elphick authored
This is a reland of f8ae62fe Original change's description: > [heap] Move initial objects into RO_SPACE > > This moves: > * the main oddballs (null, undefined, hole, true, false) as well as > their supporting maps (also adds hole as an internalized string to make > this work). > * most of the internalized strings > * the struct maps > * empty array > * empty enum cache > * the contents of the initial string table > * the weak_cell_cache for any map in RO_SPACE (and eagerly creates the > value avoid writing to it during run-time) > > The StartupSerializer stats change as follows: > > RO_SPACE NEW_SPACE OLD_SPACE CODE_SPACE MAP_SPACE LO_SPACE > old 0 0 270264 32608 12144 0 > new 21776 0 253168 32608 8184 0 > Overall memory usage has increased by 720 bytes due to the eager > initialization of the Map weak cell caches. > > Also extends --serialization-statistics to print out separate instance > type stats for objects in RO_SPACE as shown here: > > Read Only Instance types (count and bytes): > 404 16736 ONE_BYTE_INTERNALIZED_STRING_TYPE > 2 32 HEAP_NUMBER_TYPE > 5 240 ODDBALL_TYPE > 45 3960 MAP_TYPE > 1 16 BYTE_ARRAY_TYPE > 1 24 TUPLE2_TYPE > 1 16 FIXED_ARRAY_TYPE > 1 32 DESCRIPTOR_ARRAY_TYPE > 45 720 WEAK_CELL_TYPE > > Bug: v8:7464 > Change-Id: I12981c39c82a7057f68bbbe03f89fb57b0b4c6a6 > Reviewed-on: https://chromium-review.googlesource.com/973722 > Commit-Queue: Dan Elphick <delphick@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52435} Bug: v8:7464 Change-Id: I50427edfeb53ca80ec4cf46566368fb2213ccf7b Reviewed-on: https://chromium-review.googlesource.com/999654 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#52638}
-
- 16 Apr, 2018 1 commit
-
-
Marja Hölttä authored
BUG=v8:7308 Change-Id: I5e9f371b1db5515b723d9a2864bf2038706e2015 Reviewed-on: https://chromium-review.googlesource.com/960032 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#52613}
-
- 12 Apr, 2018 1 commit
-
-
Toon Verwaest authored
Bug: chromium:831981 Change-Id: Ie0e4bb6ca585f76829e0100202e01d02c521ac51 Reviewed-on: https://chromium-review.googlesource.com/1009902Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#52566}
-
- 10 Apr, 2018 1 commit
-
-
Matheus Marchini authored
Before Turbofan/Ignition it was possible to use external profilers to sample running V8/Node.js processes and generate reports/FlameGraphs from that. It's still possible to do so, but non-optimized JavaScript functions appear in the stack as InterpreterEntryTrampoline. This commit adds a runtime flag which makes interpreted frames visible on the process' native stack as distinguishable functions, making the sampled data gathered by external profilers such as Linux perf and DTrace more useful. R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com Bug: v8:7155 Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415 Reviewed-on: https://chromium-review.googlesource.com/959081 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52533}
-