Type information for singleton object properties is lazily instantiated, and currently if we access a property during IonBuilder which hasn't been instantiated we won't treat it as a constant property. This led to a regression in sunspider-date-format-xparb, where an inlined function which never executed in baseline was not optimized by IonBuilder, then the property was instantiated, the function recompiled and optimized, changing type information and causing the earlier compilation to be invalidated. The attached patch reworks this stuff so that IonBuilder can inline constant properties even when those properties haven't been instantiated yet.
Attachment #8485031 - Flags: review?(jdemooij)
Attachment #8485031 - Flags: review?(jdemooij) → review+
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/8f3ce3b40944 for isNative() assertion failures like https://tbpl.mozilla.org/php/getParsedLog.php?id=47562297&tree=Mozilla-Inbound in pretty much every test suite.
Assignee: nobody → bhackett1024
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Comment on attachment 8485031 [details] [diff] [review] patch Approval Request Comment [Feature/regressing bug #]: bug 894596 [User impact if declined]: see bug 1060276 [Describe test coverage new/current, TBPL]: none [Risks and why]: none
Attachment #8485031 - Flags: approval-mozilla-aurora?
Comment on attachment 8485031 [details] [diff] [review] patch Approved for Aurora.
Attachment #8485031 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.