| Summary: | [32-bit JSC tests] ASSERTION FAILED: !butterfly->propertyStorage()[-I - 1].get() under JSC::ObjectInitializationScope::verifyPropertiesAreInitialized | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Ryan Haddad <ryanhaddad> | ||||
| Component: | JavaScriptCore | Assignee: | Mark Lam <mark.lam> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | ap, ews-watchlist, fpizlo, keith_miller, mark.lam, msaboff, realdawei, saam, tsavell, webkit-bug-importer | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Other | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=186692 | ||||||
| Attachments: |
|
||||||
|
Description
Ryan Haddad
2018-07-05 14:10:27 PDT
This assert was added with https://trac.webkit.org/changeset/232951/webkit Is this still happening? (In reply to Alexey Proskuryakov from comment #2) > Is this still happening? Yes. Created attachment 344717 [details]
proposed patch.
Comment on attachment 344717 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=344717&action=review > Source/JavaScriptCore/runtime/ObjectInitializationScope.cpp:91 > +#else > + return !value || !JSValue::encode(value); > +#endif Why are we even pretending this assertion does anything on 32-bit? Can't we just always return true, since we don't have a concurrentJIT/concurrentGC? (In reply to Saam Barati from comment #6) > Comment on attachment 344717 [details] > proposed patch. > > View in context: > https://bugs.webkit.org/attachment.cgi?id=344717&action=review > > > Source/JavaScriptCore/runtime/ObjectInitializationScope.cpp:91 > > +#else > > + return !value || !JSValue::encode(value); > > +#endif > > Why are we even pretending this assertion does anything on 32-bit? Can't we > just always return true, since we don't have a concurrentJIT/concurrentGC? Good point. Let me rework the patch. (In reply to Mark Lam from comment #7) > (In reply to Saam Barati from comment #6) > > Comment on attachment 344717 [details] > > proposed patch. > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=344717&action=review > > > > > Source/JavaScriptCore/runtime/ObjectInitializationScope.cpp:91 > > > +#else > > > + return !value || !JSValue::encode(value); > > > +#endif > > > > Why are we even pretending this assertion does anything on 32-bit? Can't we > > just always return true, since we don't have a concurrentJIT/concurrentGC? > > Good point. Let me rework the patch. On second thought, I'll leave it as is. Reasons: 1. This way, this code has parity with the 64-bit version (more or less). 2. While it is true that this assertion is a non-issue on 32-bit because it doesn't currently support the concurrent GC, I don't think we need to make it more difficult for anyone to implement / add support for the concurrent GC on 32-bit in the future if they wish. Thanks for the review. Landed in r233697: <http://trac.webkit.org/r233697>. |