Bug 174935 - [WTF] Introduce Private Symbols
Summary: [WTF] Introduce Private Symbols
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords: InRadar
: 167574 (view as bug list)
Depends on:
Blocks: 174971
  Show dependency treegraph
 
Reported: 2017-07-28 03:07 PDT by Yusuke Suzuki
Modified: 2017-08-10 17:03 PDT (History)
14 users (show)

See Also:


Attachments
Patch (28.09 KB, patch)
2017-07-28 08:41 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (31.63 KB, patch)
2017-07-28 09:43 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2017-07-28 03:07:27 PDT
Upcoming proposal of class fields[1] requires private fields.
The easiest way to implement it is adding a property with specially marked symbols.
Currently, we have private symbols, which is used for internal use cases, and managed in the hash table.
But this proposal will encourage users to create such private symbols more and more.

So, I think introducing notion of Private and Internal into WTF SymbolImpl is simpler.
We do not need to look up value from private symbol hash table no longer. SymbolImpl knows that it is a private/internal/public symbol.

[1]: https://github.com/tc39/proposal-class-fields
Comment 1 Yusuke Suzuki 2017-07-28 03:08:25 PDT
(In reply to Yusuke Suzuki from comment #0)
> Upcoming proposal of class fields[1] requires private fields.
> The easiest way to implement it is adding a property with specially marked
> symbols.
> Currently, we have private symbols, which is used for internal use cases,
> and managed in the hash table.
> But this proposal will encourage users to create such private symbols more
> and more.
> 
> So, I think introducing notion of Private and Internal into WTF SymbolImpl
> is simpler.
> We do not need to look up value from private symbol hash table no longer.
> SymbolImpl knows that it is a private/internal/public symbol.
> 
> [1]: https://github.com/tc39/proposal-class-fields

Note that class field proposal is now stage 3.
Comment 2 Yusuke Suzuki 2017-07-28 08:41:22 PDT
Created attachment 316640 [details]
Patch
Comment 3 Yusuke Suzuki 2017-07-28 09:43:29 PDT
Created attachment 316645 [details]
Patch
Comment 4 WebKit Commit Bot 2017-07-30 21:57:19 PDT
Comment on attachment 316645 [details]
Patch

Clearing flags on attachment: 316645

Committed r220053: <http://trac.webkit.org/changeset/220053>
Comment 5 WebKit Commit Bot 2017-07-30 21:57:21 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Radar WebKit Bug Importer 2017-07-30 21:58:50 PDT
<rdar://problem/33618567>
Comment 7 Yusuke Suzuki 2017-08-10 17:03:06 PDT
*** Bug 167574 has been marked as a duplicate of this bug. ***