Bug 142923

Summary: Merge PropertyName into Identifier
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED WONTFIX    
Severity: Normal CC: barraclough, benjamin, darin, fpizlo, ggaren
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Yusuke Suzuki
Reported 2015-03-20 14:50:06 PDT
PropertyName was introduced to treat non-indexed / indexed property. https://bugs.webkit.org/show_bug.cgi?id=86241 At that time, indexed/non-indexed abstract operations are not separated. So PropertyName is needed to treat non-indexed / indexed properties. However, now these abstract operations are separated. So there's no need to have both Identifier and PropertyName. Thus we can merge PropertyName into Identifier. And since PropertyName doesn't have onwership to its backing StringImpl*, it sometimes cause failures. Merging PropertyName into Identifier elliminates this mistakes.
Attachments
Yusuke Suzuki
Comment 1 2015-05-08 18:23:28 PDT
Currently, some JIT code assumes the PropertyName's layout. It only holds StringImpl*. (Not RefPtr<StringImpl>). So in the meantime, we just use it.
Filip Pizlo
Comment 2 2015-05-08 18:26:25 PDT
(In reply to comment #1) > Currently, some JIT code assumes the PropertyName's layout. It only holds > StringImpl*. (Not RefPtr<StringImpl>). > So in the meantime, we just use it. Right. It would be wrong to have the JITs use RefPtr<StringImpl>. One way to make this work would be to replace all JIT uses of PropertyName with just StringImpl*.
Note You need to log in before you can comment on or make changes to this bug.