Summary: | Allocate the RegExpObject's data with the Cell | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Benjamin Poulain <benjamin> | ||||
Component: | JavaScriptCore | Assignee: | Benjamin Poulain <benjamin> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | barraclough, oliver | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Benjamin Poulain
2012-03-08 16:26:17 PST
Created attachment 130938 [details]
Patch
I also tried Sunspider but there is no change. While trying this, I also noticed JSNonFinalObject has some spare memory: WriteBarrierBase<Unknown> m_inlineStorage[JSFinalObject_inlineStorageCapacity]; Since I am not familiar with that, I did not abuse it to store anything from RegExp. I don't know if anything could be done there? (In reply to comment #2) > I also tried Sunspider but there is no change. > > While trying this, I also noticed JSNonFinalObject has some spare memory: > WriteBarrierBase<Unknown> m_inlineStorage[JSFinalObject_inlineStorageCapacity]; > Since I am not familiar with that, I did not abuse it to store anything from RegExp. I don't know if anything could be done there? We used to have a concept of 'anonymous slots', to allocate storage within the object's property storage, but I think that has been removed. ES6 will require support for 'private names', we may be able to use these to store internal values (e.g. the regexp) – once we have a mechanism to support this implemented! Right now, no obvious clean way to use the internal property storage springs to mind. Committed r110266: <http://trac.webkit.org/changeset/110266> |