Summary: | Make typeinfo flags default to false | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Oliver Hunt <oliver> | ||||||||||
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | ossy | ||||||||||
Priority: | P2 | ||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||
Hardware: | PC | ||||||||||||
OS: | OS X 10.5 | ||||||||||||
Attachments: |
|
Description
Oliver Hunt
2009-10-14 20:06:16 PDT
Created attachment 41202 [details]
Reverse the meaning of HasDefaultGetPropertySlot
Comment on attachment 41202 [details]
Reverse the meaning of HasDefaultGetPropertySlot
r=me w/ChangeLog
Created attachment 41237 [details]
HasDefaultMark to OverridesMarkChildren
Comment on attachment 41237 [details] HasDefaultMark to OverridesMarkChildren > - return Structure::create(prototype, TypeInfo(ObjectType)); > + return Structure::create(prototype, TypeInfo(ObjectType, JSC::OverridesGetOwnPropertySlot | JSC::HasNonDefaultMark)); Extra space here, and "JSC::" is not needed. I guess the assertion we have will catch if we got this wrong anywhere at runtime. Please be sure to run all the regression tests before landing since that will be caught at runtime, not compile time. r=me Created attachment 41304 [details]
HasDefaultGetPropertyNames -> OverridesGetPropertyNames
Landed r 49694 Created attachment 41491 [details]
Move OverridesMarkChildren flag from DatePrototype to its parent class
The following simple JS fails on ARM JIT (JSValue32):
---
[new Date()]
gc()
---
It looks like JSWrapperObject::markChildren was called for DateInstance in JSArray, but the m_internalValue was already on anonymous slots.
The attached patch fixes this issue by moving OverridesMarkChildren flag from DatePrototype to DateInstance.
BTW, is there any delivered class which should still use JSWrapperObject::markChildren?
(In reply to comment #8) > Created an attachment (id=41491) [details] Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/runtime/DateInstance.h Sending JavaScriptCore/runtime/DatePrototype.h Transmitting file data ... Committed revision 49845. |