- 18 Oct, 2019 1 commit
-
-
Michael Lippautz authored
- Move foward deprecations in EmbedderHeapTracer - Deprecate SetFinalizationCallback in v8::TraceReference Change-Id: Ic68402096ce8f5fe08521253836d3b19d73326ae Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1863941 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#64388}
-
- 04 Oct, 2019 1 commit
-
-
Michael Lippautz authored
Change-Id: I0751c1761a2d07dd89d831ca6370ae01bc569b6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841351 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#64116}
-
- 28 May, 2019 1 commit
-
-
Clemens Hammacher authored
Especially for function types, this increases readability significantly. Also the style guide recommends for 'using' over 'typedef'. R=mstarzinger@chromium.org Bug: v8:9183 Change-Id: If2d17863de39383f5a35e089298d37408791ce4b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631415 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61872}
-
- 27 May, 2019 1 commit
-
-
Clemens Hammacher authored
This replaces all typedefs that define types and not functions by the equivalent "using" declaration. This was done mostly automatically using this command: ag -l '\btypedef\b' src test | xargs -L1 \ perl -i -p0e 's/typedef ([^*;{}]+) (\w+);/using \2 = \1;/sg' Patchset 2 then adds some manual changes for typedefs for pointer types, where the regular expression did not match. R=mstarzinger@chromium.org TBR=yangguo@chromium.org, jarin@chromium.org Bug: v8:9183 Change-Id: I6f6ee28d1793b7ac34a58f980b94babc21874b78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631409 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61849}
-
- 23 May, 2019 3 commits
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
Clemens Hammacher authored
This CL was generated by an automatic clang AST rewriter using this matcher expression: callExpr( callee( cxxMethodDecl( hasName("operator->"), ofClass(isSameOrDerivedFrom("v8::internal::Object")) ) ), argumentCountIs(1) ) The "->" at the expression location was then rewritten to ".". R=jkummerow@chromium.org TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org Bug: v8:9183, v8:3770 No-Try: true No-Tree-Checks: true Change-Id: I0a7ecabdeafe51d0cf427f5280af0c7cab96869e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624209Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#61764}
-
Yang Guo authored
Bug: v8:9247 Change-Id: I0023200c54fa6499ae4e2cf5e4c89407cc35f187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624218Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61762}
-
- 22 May, 2019 1 commit
-
-
Yang Guo authored
Bug: v8:9247 Change-Id: I79e0553e8a0d6dac2aa16b94a6c0e05b6ccde4a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621934 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61725}
-
- 17 May, 2019 1 commit
-
-
Yang Guo authored
TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Bug: v8:9247 Change-Id: I7ffc2bd4a5fdf7c20cc3283bb5545cbf9ffd4e53 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1617254Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61609}
-
- 16 May, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 9ac8b200. Reason for revert: Breaks CFI bot https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20cfi/20442 Original change's description: > Move API-related files > > NOPRESUBMIT=true > TBR=verwaest@chromium.org > > Bug: v8:9247 > Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988 > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61579} TBR=rmcilroy@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org Change-Id: I28ee9174a1cbc1dae9711977bf9369253ef43058 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9247 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615463Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#61583}
-
Yang Guo authored
NOPRESUBMIT=true TBR=verwaest@chromium.org Bug: v8:9247 Change-Id: I45bfe0782ba92aa7ed27a9e308d0aab9ba1bac7f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1613988Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61579}
-
- 24 Apr, 2019 1 commit
-
-
Michael Lippautz authored
Removes APIs: - MarkIndependent - IsIndependent - MarkActive - RegisterExternalReference All weak persistent handles are now treated as independent. Users of traced handles should already use v8::EmbedderHeapTracer. This reverts commit 49954eb5. Bug: chromium:923361 Change-Id: I0b9fcd678964331f926f6b725f70eb64268ca33f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578462 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60971}
-
- 23 Apr, 2019 2 commits
-
-
Michael Lippautz authored
This reverts commit 1ebf5f72. Reason for revert: Breaks TSAN Original change's description: > [api,heap] Remove deprecated Persistent APIs > > Removes APIs: > - MarkIndependent > - IsIndependent > - MarkActive > - RegisterExternalReference > > All weak persistent handles are now treated as independent. Users of > traced handles should already use v8::EmbedderHeapTracer. > > Bug: chromium:923361 > Change-Id: Ic90a647fe2ce9db92197ad6560e4907290805592 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578459 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#60953} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I8281daf30b67c1b71ef6e65d8f13a59230ba0334 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:923361 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578900Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#60954}
-
Michael Lippautz authored
Removes APIs: - MarkIndependent - IsIndependent - MarkActive - RegisterExternalReference All weak persistent handles are now treated as independent. Users of traced handles should already use v8::EmbedderHeapTracer. Bug: chromium:923361 Change-Id: Ic90a647fe2ce9db92197ad6560e4907290805592 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578459 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#60953}
-
- 10 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
Bug: v8:8557 Change-Id: If6e70c30c0553f8742980590875c4892535e5863 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1559749Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60741}
-
- 08 Apr, 2019 1 commit
-
-
Sigurd Schneider authored
This ensures that ApiObjects in V8 are not dropped if they are currently used as WeakCollection keys. As proxy to determine key status we use the presence of the identity hash on the object. R=ulan@chromium.org Bug: v8:8557, chromium:949244 Change-Id: Ifa0e24be44431a0200fd6a1d9898cd366b940bd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1557143Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#60675}
-
- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 12 Feb, 2019 1 commit
-
-
Ulan Degenbaev authored
Most of the users of InNewSpace actually mean InYoungGeneration. Subsequent CL will remove InNewSpace to avoid confusion. Bug: chromium:852420 Tbr: mlippautz@chromium.org Change-Id: I6234d162d51c215787972e7ada1cd5b804b60fda Reviewed-on: https://chromium-review.googlesource.com/c/1463521Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59523}
-
- 30 Jan, 2019 1 commit
-
-
Michael Lippautz authored
In future, weak handles will be considered as independent and MarkActive() will not be supported anymore. Users should switch to TracedGlobal, when relying on special cases for using handles with v8::EmbedderHeapTracer. Bug: chromium:923361, v8:8562 Change-Id: Ic6e01a1ab59a25c5fb0aa2ebfb8ddb02e454d72d Reviewed-on: https://chromium-review.googlesource.com/c/1443064 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59194}
-
- 29 Jan, 2019 1 commit
-
-
Michael Lippautz authored
TracedGlobal integrates with the use case of EmbedderHeapTracer and replaces regular weak Global or Persistent nodes for such cases. This allows to simplify the case for regular weak handles in a sense that they follow regular weak semantics (if the underlying object is otherwise unreachable the weak handle will be reset). TracedGlobal requires slightly different semantics in the sense that it can be required to keep them alive on Scavenge garbage collections because there's a transitive path that is only known when using the EmbedderHeapTracer. TracedGlobal accomodates that use case. TracedGlobal follows move semantics and can thus be used in regular std containers without wrapping data structure. The internal state uses 20% less memory and allows for only iterating those nodes when necessary. The design trades the virtual call when iterating interesting persistents in the GC prologue with calling out through the EmbedderHeapTracer for each node which is also a virtual call. There is one less iteration over the set of handles required though and the design is robust against recursive GCs that mutate the embedder state during the prologue callback. Bug: chromium:923361 Change-Id: Idbacfbe4723cd12af9de21058a4792e51dc4df74 Reviewed-on: https://chromium-review.googlesource.com/c/1425523 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59183}
-
- 24 Jan, 2019 1 commit
-
-
Michael Lippautz authored
v8::Global may be used as a weak reference. In the case this reference is a simple phantom reference, we need to update the internal state to be able to clear the right slot once the object referred to is dead. This reverts commit 18f32ca8. Bug: chromium:924220 Change-Id: I3caec77448b0c5fcb461c8f8b5015de2978b3931 Reviewed-on: https://chromium-review.googlesource.com/c/1430015Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#59055}
-
- 23 Jan, 2019 2 commits
-
-
Maya Lekova authored
This reverts commit 584f0b43. Reason for revert: Breaks MSAN build - https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/24872 Original change's description: > [api, global-handles] Fix moving weak Global<T> > > v8::Global may be used as a weak reference. In the case this reference is a > simple phantom reference, we need to update the internal state to be able to > clear the right slot once the object refered to is dead. > > Bug: chromium:924220 > Change-Id: I2ab7c3afcbe22988791faef406c284db03a43caf > Reviewed-on: https://chromium-review.googlesource.com/c/1430101 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#59040} TBR=ulan@chromium.org,mlippautz@chromium.org Change-Id: I19c3e929962203df4e1f24191d054180723b1c9d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:924220 Reviewed-on: https://chromium-review.googlesource.com/c/1430833Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#59046}
-
Michael Lippautz authored
v8::Global may be used as a weak reference. In the case this reference is a simple phantom reference, we need to update the internal state to be able to clear the right slot once the object refered to is dead. Bug: chromium:924220 Change-Id: I2ab7c3afcbe22988791faef406c284db03a43caf Reviewed-on: https://chromium-review.googlesource.com/c/1430101 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#59040}
-
- 21 Jan, 2019 1 commit
-
-
Michael Lippautz authored
The change is just a refactoring without functional changes. Bug: chromium:923361 Change-Id: Ie633c56122ff72658f0238dc40db698350a7b8e7 Reviewed-on: https://chromium-review.googlesource.com/c/1421363 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#58963}
-
- 20 Dec, 2018 1 commit
-
-
Michael Lippautz authored
The DCHECK was overly restrictive when checking that a weak handle is not a finalizer when hitting it through a regular scavenge processing path. Only happened with finalizers to unmodified API wrappers or regular objects that were also marked as independent. Bug: v8:8586 Change-Id: I2c2a5b21f6e8a5ddc6671f762b508ba083c04335 Reviewed-on: https://chromium-review.googlesource.com/c/1387485Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#58414}
-
- 23 Jul, 2018 1 commit
-
-
Stephan Herhut authored
api.h had an implicit dependency on objects-inl.h. Bug: v8:7490 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I56ef7abefed7205bdbff2aa5f451f1a843bef9f9 Reviewed-on: https://chromium-review.googlesource.com/1145191Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Stephan Herhut <herhut@chromium.org> Cr-Commit-Position: refs/heads/master@{#54616}
-
- 10 Jul, 2018 1 commit
-
-
Dan Elphick authored
Heap::InNewSpace only needs to access the heap for a DCHECK and the part that uses the heap only needs it if the object is in NEW_SPACE, in which case getting it via pointer magic is fine. Bug: v8:7786 Change-Id: Iaac237a3b8bcc9d55e436e3f972475e04b97f1f8 Reviewed-on: https://chromium-review.googlesource.com/1127798 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54345}
-
- 02 Jul, 2018 1 commit
-
-
Ulan Degenbaev authored
Currently we rely on tasks to invoke the second pass phantom callbacks. This may accumulate phantom callbacks and make GCs ineffective if we do not enter the message loop to run the tasks between the GCs. Bug: v8:7912 Change-Id: I799c97ff99ed6967480bda24ea0bf1c6a7dd69be Reviewed-on: https://chromium-review.googlesource.com/1122621 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54144}
-
- 09 Apr, 2018 1 commit
-
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Original review: https://chromium-review.googlesource.com/c/v8/v8/+/959533 Originally landed as r52416 / f9a2e24b Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Id072cbe6b3ed30afd339c7e502844b99ca12a647 Reviewed-on: https://chromium-review.googlesource.com/1000540 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#52492}
-
- 06 Apr, 2018 2 commits
-
-
Michael Achenbach authored
This reverts commit f9a2e24b. Reason for revert: gc stress failures not all fixed by follow up. Original change's description: > [cleanup] Refactor the Factory > > There is no good reason to have the meat of most objects' initialization > logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, > this CL changes the protocol between Heap and Factory to be AllocateRaw, > and all object initialization work after (possibly retried) successful > raw allocation happens in the Factory. > > This saves about 20KB of binary size on x64. > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca > Reviewed-on: https://chromium-review.googlesource.com/959533 > Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> > Reviewed-by: Hannes Payer <hpayer@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Cr-Commit-Position: refs/heads/master@{#52416} TBR=jkummerow@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org,hpayer@chromium.org Change-Id: Idbbc53478742f3e9525eee83342afc6aedae122f No-Presubmit: true No-Tree-Checks: true No-Try: true Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/999414Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#52420}
-
Jakob Kummerow authored
There is no good reason to have the meat of most objects' initialization logic in heap.cc, all wrapped by the CALL_HEAP_FUNCTION macro. Instead, this CL changes the protocol between Heap and Factory to be AllocateRaw, and all object initialization work after (possibly retried) successful raw allocation happens in the Factory. This saves about 20KB of binary size on x64. Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Icbfdc4266d7be8b48d2fe085f03411743dc6a0ca Reviewed-on: https://chromium-review.googlesource.com/959533 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52416}
-
- 20 Nov, 2017 1 commit
-
-
Michael Lippautz authored
Bug: Change-Id: Ia3e42c8bfc8773fbd160f4200337617afd54d445 Reviewed-on: https://chromium-review.googlesource.com/779196Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49497}
-
- 17 Nov, 2017 1 commit
-
-
Michael Lippautz authored
Persistent handles are always independent these days. Users should mark weak handles as active using MarkActive if they want to keep weak handles that are otherwise unreachable alive across scavenges. Bug: chromium:780749 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I116e984ce14a035d1cef491d49f11a388fa8169d Reviewed-on: https://chromium-review.googlesource.com/759794 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49456}
-
- 09 Nov, 2017 1 commit
-
-
Michael Lippautz authored
Removes the handling of the flag independent. The flag will be removed in a followup. The patch changes handling of V8::PersistentBase that are set to Weak: - The Scavenger ignores the flag independent. - The Scavenger keeps alive anything that is marked as Active. - The Scavenger is free to drop weak handles of non-Active object if they are otherwise dead. Active: - Any JSObject will always be marked Active. - Any JSApiObject will be marked Active if it has been modified (=has elements, properties, etc.) CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Bug: chromium:780749 Change-Id: If1f547f2419930ad9400bd3b11bdbf609cb57649 Reviewed-on: https://chromium-review.googlesource.com/741801 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49277}
-
- 06 Nov, 2017 1 commit
-
-
Michael Lippautz authored
Resetting phantom handles while keeping finalizers alive leads to the problem of eagerly resetting a handle although another finalizer keeps it (transitively) alive. This becomes a problem with internal pointers to Blink as without global handle a Blink GC is free to collect wrappables. This CL untangles finalizers handling from phantom handle resets by introducing a separate path for resetting. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Bug: chromium:781728 Change-Id: Ica138b72942698fd996c6e9fe0bdc19cc432c010 Reviewed-on: https://chromium-review.googlesource.com/753724 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49162}
-
- 02 Nov, 2017 1 commit
-
-
Michael Lippautz authored
Phantom handles were processed at the same time as finalizers. This meant that if a finalizer kept an object alive the phantom handle was still destroyed. This becomes a problem in the context of Blink GCs where internal fields are roots for Blink. Prematurely destroying a phantom handle can lead to stale pointers. Bug: chromium:772299 Change-Id: If02365c457be8ce48379ad357cce36baa9617cfb Reviewed-on: https://chromium-review.googlesource.com/750625Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#49086}
-
- 14 Aug, 2017 1 commit
-
-
Mostyn Bramley-Moore authored
* Avoid "using namespace" statements, which trigger clang's -Wheader-hygiene warnings in jumbo builds. * Undefine created macros at the end of source files. BUG=chromium:746958 Change-Id: I5d25432c314437f607b0e1be22765a6764267ba6 Reviewed-on: https://chromium-review.googlesource.com/610962Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com> Cr-Commit-Position: refs/heads/master@{#47347}
-
- 06 Mar, 2017 1 commit
-
-
addaleax authored
It's unused since March 2 2017 (https://chromium-review.googlesource.com/448539). This removes it assuming that leaving it in the header was an oversight. BUG=v8:5828 Review-Url: https://codereview.chromium.org/2732803002 Cr-Commit-Position: refs/heads/master@{#43605}
-
- 02 Mar, 2017 1 commit
-
-
Michael Lippautz authored
Enbedders should switch to EmbedderHeapTracer API. BUG=v8:5828 Change-Id: I82f2bc583d246617865a17f5904e02cd35f92fec Reviewed-on: https://chromium-review.googlesource.com/448539Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#43551}
-
- 09 Jan, 2017 1 commit
-
-
marja authored
Downside: this adds all kinds of weird includes in the .cc files. (See design doc linked in the bug.) BUG=v8:5402 Review-Url: https://codereview.chromium.org/2622503002 Cr-Commit-Position: refs/heads/master@{#42140}
-