Bug 185081

Summary: Make the first 64 bits of JSString look like a double JSValue
Product: WebKit Reporter: JF Bastien <jfbastien>
Component: JavaScriptCoreAssignee: JF Bastien <jfbastien>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, fpizlo, jfbastien, keith_miller, mark.lam, msaboff, rmorisset, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch
fpizlo: review+
patch none

Description JF Bastien 2018-04-27 10:30:32 PDT
We can be clever about how we lay out JSString so that, were it reinterpreted as a JSValue, it would look like a double.
Comment 1 JF Bastien 2018-04-27 10:32:24 PDT
Created attachment 339000 [details]
patch
Comment 2 JF Bastien 2018-04-27 10:32:42 PDT
I ran benchmarks with --outer 10 and this is perf-neutral.
Comment 3 Filip Pizlo 2018-04-27 11:09:04 PDT
Comment on attachment 339000 [details]
patch

r=me assuming you can get it to build.
Comment 4 JF Bastien 2018-04-27 14:08:16 PDT
Created attachment 339024 [details]
patch

ARM build fix. The WPE build ICE seems to be unrelated to my patch, I got the same thing on another patch.
Comment 5 JF Bastien 2018-04-27 20:06:24 PDT
Comment on attachment 339024 [details]
patch

Bots are happy, except Windows is crapping all over itself (even without my patch). CQ it is!
Comment 6 WebKit Commit Bot 2018-04-27 20:32:29 PDT
Comment on attachment 339024 [details]
patch

Clearing flags on attachment: 339024

Committed r231129: <https://trac.webkit.org/changeset/231129>
Comment 7 WebKit Commit Bot 2018-04-27 20:32:31 PDT
All reviewed patches have been landed.  Closing bug.
Comment 8 Radar WebKit Bug Importer 2018-04-27 20:33:31 PDT
<rdar://problem/39813101>