Bug 142923 - Merge PropertyName into Identifier
Summary: Merge PropertyName into Identifier
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-20 14:50 PDT by Yusuke Suzuki
Modified: 2015-05-08 18:26 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 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.
Comment 1 Yusuke Suzuki 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.
Comment 2 Filip Pizlo 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*.