- 24 Nov, 2017 1 commit
-
-
Igor Sheludko authored
... and use it for allocation of FixedArray-based objects with custom maps. Change-Id: Id31d05cf506e3607210fe7fdaf05f55053de5e2a Reviewed-on: https://chromium-review.googlesource.com/789113Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49622}
-
- 21 Nov, 2017 2 commits
-
-
Michael Starzinger authored
This makes sure the {CodeSpaceMemoryModificationScope} for the common allocation path is inside the {Heap} component. This will in turn enable finer-grained control of the modification scope in the future. R=hpayer@chromium.org BUG=v8:6792 Change-Id: I6c3bc457bac641e79b2786cf78557b26aa2027e7 Reviewed-on: https://chromium-review.googlesource.com/779399 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49532}
-
Michael Starzinger authored
R=jarin@chromium.org BUG=v8:6792 Change-Id: Id97c7a9911eb2c0606f8ea25d0a2c8ebcb4c8ccd Reviewed-on: https://chromium-review.googlesource.com/753729Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49517}
-
- 17 Nov, 2017 3 commits
-
-
Jakob Kummerow authored
This CL creates the invariant that the BigInt class treats BigInt objects as immutable. Writing to new BigInt objects as part of their construction is done by the MutableBigInt helper class, which in turn is hidden as an implementation detail in bigint.cc. As a side effect, this refactoring enforces right-trimming checks for all newly created BigInts, and ensures that all BigInt allocations possibly exceeding kMaxLength check for this case and throw a RangeError instead of crashing. Bug: v8:6791 Tbr: mlippautz@chromium.org Change-Id: Id239746108e6b076b47a03ba37462001eb501507 Reviewed-on: https://chromium-review.googlesource.com/742329 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49462}
-
Igor Sheludko authored
This CL also includes fixes for CF issues found while the previous reland was active. Bug: v8:5799, chromium:783902, chromium:783926, chromium:783822 Change-Id: I1f7d9b037d90838469c45f5d72771a77444c662e Reviewed-on: https://chromium-review.googlesource.com/764067Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#49457}
-
Leszek Swirski authored
Since we only ever have preparsed scope info data for functions that haven't been parsed yet, it never overlaps with there being other function data (such as a bytecode array). So, we can merge the two fields. This drops the SharedFunctionInfo size by one pointer. Bug: chromium:783853 Change-Id: I7166010271cf661b04d3d118ac87c65c79555f96 Reviewed-on: https://chromium-review.googlesource.com/774863Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#49445}
-
- 16 Nov, 2017 1 commit
-
-
Michael Starzinger authored
This ensures that the {Code::builtin_index} field is only set during allocation of new {Code} objects, making this field truly immutable. R=jgruber@chromium.org BUG=v8:6792 Change-Id: Ic793346976183149e2d077e92cb9da3c925ea865 Reviewed-on: https://chromium-review.googlesource.com/774439Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49414}
-
- 15 Nov, 2017 1 commit
-
-
Michael Starzinger authored
R=mlippautz@chromium.org Change-Id: Ie5ff0347d7c849e1941f8c8237a0bd56fdb68a4e Reviewed-on: https://chromium-review.googlesource.com/768672Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#49372}
-
- 14 Nov, 2017 1 commit
-
-
peterwmwong authored
Bug: v8:7016 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I5a509fb91a337eec4a58ab4a13d7104e8ba3ff23 Reviewed-on: https://chromium-review.googlesource.com/760677 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49346}
-
- 13 Nov, 2017 1 commit
-
-
Camillo Bruni authored
The only empty PropertyArray is the empty_property_array object on the isolate. Allowing empty PropertyArrays causes the turbofan to ignore the existing hash when growing the backing store again. We currently only end up with the empty PropertyArray when following back transitions. Bug: chromium:781218, chromium:783713 Change-Id: If41dd09b965cdc8d957b9ca50ba3c8a7f4254769 Reviewed-on: https://chromium-review.googlesource.com/763230 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#49318}
-
- 10 Nov, 2017 2 commits
-
-
Jakob Gruber authored
This reverts commit 22932d6b. Reason for revert: TSAN https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/18232 Original change's description: > Reland "[runtime] Slightly optimize creation of class literals." > > Bug: v8:5799 > Change-Id: I782ec131c7194aef20942a19750168a974913c3f > Reviewed-on: https://chromium-review.googlesource.com/757337 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49291} TBR=ulan@chromium.org,rmcilroy@chromium.org,jarin@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: I0742d25b0e2364efc696d19492ba20614a3821fa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5799 Reviewed-on: https://chromium-review.googlesource.com/763458Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49303}
-
Igor Sheludko authored
Bug: v8:5799 Change-Id: I782ec131c7194aef20942a19750168a974913c3f Reviewed-on: https://chromium-review.googlesource.com/757337 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#49291}
-
- 08 Nov, 2017 2 commits
-
-
jgruber authored
There's three common situations in which we need to create JSFunction objects. 1) from the compiler, 2) from tests, and 3) everything else (mostly during bootstrapping). This is an attempt to simplify case 3), which previously relied on several Factory::NewFunction overloads where it was not clear how the semantics of each overload differed. This CL removes all but one overload, and packs arguments into a new NewFunctionArgs helper class. It also removes the hacks around SFI::set_lazy_deserialization_builtin_id by explicitly passing builtin_id into Factory::NewSharedFunctionInfo. Drive-by-fix: Properly set is_constructor hint in SimpleCreateSharedFunctionInfo. Bug: v8:6624 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ica94d95e72e443055db5e7ff9e8cdf4115201ef1 Reviewed-on: https://chromium-review.googlesource.com/757094 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49224}
-
Clemens Hammacher authored
The C_WASM_ENTRY only calls wasm code, so (outgoing) parameters of this code are always untagged. R=ahaas@chromium.org Bug: v8:7049 Change-Id: I989908eea668bd56aa88f3f1744105d218584ef1 Reviewed-on: https://chromium-review.googlesource.com/758245 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#49221}
-
- 07 Nov, 2017 2 commits
-
-
Marja Hölttä authored
Valid prototype chain validity cells should have an initial value of "Map::kPrototypeChainValid", not zero (even though they're the same). Bug: Change-Id: I7d3df7d2e3382f20ed598b387612bb48428e0fa0 Reviewed-on: https://chromium-review.googlesource.com/757140Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#49196}
-
Yang Guo authored
Use (Seeded)NumberDictionary instead. Change-Id: I426cd0a33df7d47fe4fec0c108be5632ef7c0f19 Reviewed-on: https://chromium-review.googlesource.com/756697Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49179}
-
- 06 Nov, 2017 1 commit
-
-
Igor Sheludko authored
This CL ensures that elements kind transitions don't cause silent mutable-to-constant field migrations when the following options are enabled: --track_constant_fields --modify_map_inplace. Bug: v8:5495, v8:6980 Change-Id: Ie28daab84f91d424110e71504b025a2e465bfe16 Reviewed-on: https://chromium-review.googlesource.com/753087 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#49133}
-
- 02 Nov, 2017 1 commit
-
-
Benedikt Meurer authored
This partially reverts commit aaebbbaa, which removed the --string-slices flag. We reintroduce the flag as a build time flag for an experiment to gather information of how much SliceStrings help with throughput and effective memory use. Bug: v8:7025 Change-Id: I529da91bb7501fe93d83891abf560710f3ecb9d0 Reviewed-on: https://chromium-review.googlesource.com/750681Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#49068}
-
- 31 Oct, 2017 2 commits
-
-
Adam Klein authored
This reverts commit 521fa16e. Reason for revert: fails tests under code-serializer: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/17691 Original change's description: > [runtime] Slightly optimize creation of class literals. > > TBR=bmeurer@chromium.org > > Bug: v8:5799 > Change-Id: I61de5f8b3333db174dadf76ed983950acb39742b > Reviewed-on: https://chromium-review.googlesource.com/649509 > Commit-Queue: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#49044} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mythria@chromium.org,gsathya@chromium.org,ishell@chromium.org,verwaest@chromium.org Change-Id: I994edb855a8a0aa6e7e7476b0b013a46aac6f2e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:5799 Reviewed-on: https://chromium-review.googlesource.com/745581Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#49046}
-
Igor Sheludko authored
TBR=bmeurer@chromium.org Bug: v8:5799 Change-Id: I61de5f8b3333db174dadf76ed983950acb39742b Reviewed-on: https://chromium-review.googlesource.com/649509 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49044}
-
- 27 Oct, 2017 2 commits
-
-
Igor Sheludko authored
This should avoid changes in code serializer in a follow-up class literals improvement CL. Bug: v8:5799 Change-Id: I4e4386333bcc7abb30399d4e9abba4eee80ca932 Reviewed-on: https://chromium-review.googlesource.com/733037 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48996}
-
Georg Neis authored
... and use them to complete the BigInt function. Bug: v8:6791 Change-Id: Ia36db86b92d1a0cfcb783516e04d6c0e3750f194 Reviewed-on: https://chromium-review.googlesource.com/737643 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48993}
-
- 26 Oct, 2017 4 commits
-
-
Igor Sheludko authored
Rename |property_attributes| to |initial_property_attributes| and ensure that it is used as a storage of values only for AccessorInfos installed in API Templates (i.e. ObjectTemplate and FunctionTemplate). When an AccessorInfo is installed directly into an existing JS object (via JSObject::SetAccessor) or into a DescriptorArray (when certain V8 objects' shapes are configured) it is not necessary to thread attributes being set through the AccessorInfo instance. Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ibe61026f08c42549756f694129a286635ffe5769 Reviewed-on: https://chromium-review.googlesource.com/730425 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48978}
-
Michael Starzinger authored
This moves the initialization of the {Code::stub_key} field into the allocator for {Code} objects, essentially making the field in question immutable after allocation. R=verwaest@chromium.org BUG=v8:6792 Change-Id: I8ba2ffeea792d0d566995c08e3572ae63a7c1e94 Reviewed-on: https://chromium-review.googlesource.com/739141 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48971}
-
Michael Starzinger authored
This move the {Code::next_code_link} into the data container, making it possible to mutate the field even when {Code} objects are protected. It also introduces a dedicated body descriptor for the container allowing for tagged fields to be part of the container. R=ulan@chromium.org BUG=v8:6792 Change-Id: I56a9d53e8bb35aeb0a7036e3abf3ebee1ba2928d Reviewed-on: https://chromium-review.googlesource.com/738184 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48966}
-
Toon Verwaest authored
This attaches a constructor to the bound function map so we can identify the creation context using the map, it chooses the bound-function map from the same realm as the target's creation context (additionally to avoid memory leaks and unnecessary transitions), and finally drops the loop unwrapping bound functions in GetCreationContext. Bug: Change-Id: Icb6f4c29287f9cba69f11afbd070f52c0ad1aa16 Reviewed-on: https://chromium-review.googlesource.com/738097Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#48956}
-
- 25 Oct, 2017 6 commits
-
-
Karl Schimpf authored
The motivation for this is that it greatly reduces the RelocInfo size. This also results in a small improvement in compile time. Note: This CL was based on https://codereview.chromium.org/2651833003, and basically reverts that CL (but handles code changes and some minor bugs in previous code). Bug: chromium:772780 Change-Id: I55dd48d3bddd4b3d1c8eec13791b3ee4c485c604 Reviewed-on: https://chromium-review.googlesource.com/730649Reviewed-by:
Mircea Trofin <mtrofin@chromium.org> Reviewed-by:
Eric Holk <eholk@chromium.org> Commit-Queue: Karl Schimpf <kschimpf@chromium.org> Cr-Commit-Position: refs/heads/master@{#48947}
-
Michael Starzinger authored
This makes sure flags on newly allocated {Code} objects are initialized from within the allocator itself instead of after the object has been created. It essentially makes these flags immutable. R=jarin@chromium.org BUG=v8:6792 Change-Id: I6bef183a25508faf1fec28d347956e766e65aecf Reviewed-on: https://chromium-review.googlesource.com/737633 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#48933}
-
Benedikt Meurer authored
Have JSProxy and JSGlobalProxy use the properties or hash technology like we use for all other JSReceivers. Also unify and simplify the code dealing with these hashes. Bug: v8:6344, v8:6911 Change-Id: Ic995639c74211ba6f33acd73428b8c6d95bf7919 Reviewed-on: https://chromium-review.googlesource.com/737833Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48930}
-
Michael Starzinger authored
This is a reland of eeaffa9f Original change's description: > [objects] Introduce {CodeDataContainer} object type. > > This introduces the {CodeDataContainer} as a container for all mutable > fields associated with a {Code} object. For now only the kind-specific > flags are moved, but more fields can/will be moved gradually. The goal > is to make all fields in the {Code} header be immutable eventually. > > R=jarin@chromium.org > BUG=v8:6792 > > Change-Id: I2eeba893afaba877fb6117e1f18371898c3a175e > Reviewed-on: https://chromium-review.googlesource.com/732987 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48902} Bug: v8:6792 Change-Id: I31a127df4bb8ee5fedb4d73755df4deae6e1d352 Reviewed-on: https://chromium-review.googlesource.com/738109Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48928}
-
Michael Achenbach authored
This reverts commit eeaffa9f. Reason for revert: Breaks msan compile (uninitialized value in snapshot): https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/17824 Original change's description: > [objects] Introduce {CodeDataContainer} object type. > > This introduces the {CodeDataContainer} as a container for all mutable > fields associated with a {Code} object. For now only the kind-specific > flags are moved, but more fields can/will be moved gradually. The goal > is to make all fields in the {Code} header be immutable eventually. > > R=jarin@chromium.org > BUG=v8:6792 > > Change-Id: I2eeba893afaba877fb6117e1f18371898c3a175e > Reviewed-on: https://chromium-review.googlesource.com/732987 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#48902} TBR=mstarzinger@chromium.org,jarin@chromium.org Change-Id: I74fe833b074752d640cff4aa4680f250e1bd8780 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6792 Reviewed-on: https://chromium-review.googlesource.com/738029Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#48904}
-
Michael Starzinger authored
This introduces the {CodeDataContainer} as a container for all mutable fields associated with a {Code} object. For now only the kind-specific flags are moved, but more fields can/will be moved gradually. The goal is to make all fields in the {Code} header be immutable eventually. R=jarin@chromium.org BUG=v8:6792 Change-Id: I2eeba893afaba877fb6117e1f18371898c3a175e Reviewed-on: https://chromium-review.googlesource.com/732987Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48902}
-
- 24 Oct, 2017 1 commit
-
-
Michael Starzinger authored
This moves bits that are accessed during a stack-walk out if the first kind-specific flags field. Such bits are accessed during evacuation within the GC and hence need to remain directly in the {Code} object, the other bits in the kind-specific flags are mutable and hence will be moved into a separate data container object. R=jarin@chromium.org BUG=v8:6792 Change-Id: I20b7d307110ca0c0eb6dd4df31a35fab4701c6da Reviewed-on: https://chromium-review.googlesource.com/735145Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48877}
-
- 20 Oct, 2017 3 commits
-
-
Ulan Degenbaev authored
The motivation for the new field is to provide race-free way to iterate used in-object properties of a JSObject in concurrent marker. This CL keeps the new field in sync with the unused_property_fields and subsequent CL will remove unused_property_fields. Bug: chromium:774644 Change-Id: I0971f079094d58d3a57415834c43c09427dacc77 Reviewed-on: https://chromium-review.googlesource.com/726639 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#48795}
-
Michael Starzinger authored
This allocates and populates potential source position table before the underlying {Code} objects is allocated. It essentially makes the field holding said table immutable after allocation. R=verwaest@chromium.org BUG=v8:6792 Change-Id: If35462688a1b502f28ae84f73b82b5df5005735f Reviewed-on: https://chromium-review.googlesource.com/727895Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48781}
-
Hannes Payer authored
This CL provides the basic infrastructure on the GC side for write protected code pages. The only thing missing on the GC side is the out-of-line free list implementation. In this CL sweeper threads and the mutator need to synchronize when page protection mode changes. This would not be necessary if the sweepr use and out-of-line free list. Code allocation is currently protected by a CodeSpaceMemoryModificationScope. This may go away with a unification of code space allocation and initialization that will happen later. One thing missing in this CL: freshly added pages are still read+write+executable. This also needs to change: WIP Bug: chromium:774108,v8:6792 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ib8d1ed1c09cc144791e462277bf43a4641e1490d Reviewed-on: https://chromium-review.googlesource.com/716379 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#48774}
-
- 19 Oct, 2017 2 commits
-
-
Ulan Degenbaev authored
This patch moves initialization of inobject_properties and unused_property_fields of a map to the construction time of the map. Map::AppendDescriptor now properly decrements unused_property_fields and thus maintains the invariant for property field counters. Bug: chromium:774644 Change-Id: I78e5d5c767e22148cb64e8cabe0564e7a13988f5 Reviewed-on: https://chromium-review.googlesource.com/725726Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#48751}
-
Michael Starzinger authored
This allocates and populates potential deoptimization data arrays before the underlying {Code} objects is allocated. It aims at making the field holding said data immutable after allocation. Note that we still mutate this field during deoptimization. R=verwaest@chromium.org BUG=v8:6792 Change-Id: Id0c2cfb65e782d7292d2df6bff41c54b2b8c3351 Reviewed-on: https://chromium-review.googlesource.com/725704Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48738}
-
- 18 Oct, 2017 2 commits
-
-
Michael Starzinger authored
This allocates and populates potential exception handler tables before the underlying {Code} objects is allocated. It essentially makes the field holding said table immutable after allocation. R=verwaest@chromium.org BUG=v8:6792 Change-Id: I52ca374d40e3a72a4de022aca10faead6422db79 Reviewed-on: https://chromium-review.googlesource.com/723299Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48677}
-
Clemens Hammacher authored
This CL fixes all occurences that don't require special OWNER reviews, or can be reviewed by Michi. After this one, we should be able to reenable the readability/check cpplint check. R=mstarzinger@chromium.org Bug: v8:6837, v8:6921 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: Ic81d68d5534eaa795b7197fed5c41ed158361d62 Reviewed-on: https://chromium-review.googlesource.com/721120 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#48670}
-