What is the difference between a stable and unstable map?Context: I'm trying to understand this line of code https://cs.chromium.org/chromium/src/v8/src/compiler/js-native-context-specialization.cc?l=3227&rcl=4c53f9a51444393133ff303952f1296603d44ab7 but can't seem to find any documentation about stable maps. Comments and diffs are sparse on the subject as well.
--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/d8383180-787c-4bac-8ac3-d9295d400b2c%40googlegroups.com.
Hi,A stable map is one from which a transition has never been observed, i.e. it's the leaf of the transition tree and objects with that map can be assumed to be "stable". Perhaps "is_leaf" or "never_transitioned_away_from" could be alternative names but it's a subtle concept to name and naming is hard anyway :)In the code you linked, I'm not 100% familiar with the reasoning but I assume that the compiler assumes that inferred stable maps are a "safe bet" as far as speculation is concerned, since they're a reliable end state, and can be assumed to be a correct inference even if the data is unreliable. That's mostly just a guess from the context though.
- Leszek
On Tue, 31 Dec 2019, 05:46 , <janngo...@gmail.com> wrote:
What is the difference between a stable and unstable map?--Context: I'm trying to understand this line of code https://cs.chromium.org/chromium/src/v8/src/compiler/js-native-context-specialization.cc?l=3227&rcl=4c53f9a51444393133ff303952f1296603d44ab7 but can't seem to find any documentation about stable maps. Comments and diffs are sparse on the subject as well.
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/b2064f2a-93ea-4354-ac53-150a8eb56f68%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/b2064f2a-93ea-4354-ac53-150a8eb56f68%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/21da254d-b2f4-4021-8933-bbeadf97b73e%40googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/d5ee1c81-0e5f-494b-94ce-97bb35bcf685%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGRskv_NyUZBLMfC6bv%3DiL0XAC-R%2BXkd0L-1KeGXFHouHy%3DUZg%40mail.gmail.com.