mozilla :: #ionmonkey

8 Sep 2017
10:49evilpiejandem: can I get your thoughts on bug 1341265?
10:49jandemlooking
10:50evilpieI don't necessarily want to implement the hashing + lookup in assembly, that stuff looks complicated ..
10:51jandemwhere do we spend the time in profiles?
10:51jandemis there rooting or barrier overhead or just the actual hashing?
10:52evilpieok let me check
10:52evilpieI think it's that HashableValue thing, but I am not sure
10:52jandemmight be worth checking what jsc/v8 do
10:53evilpiewe have that whole hash scrambling thing going on
10:53evilpieI think jsc at least has inline code for this
10:53evilpiethey even split out the hash calculation in a separate Op to make it hoistable and constant folding it etc
10:54jandemthe scrambling applies only to objects though?
10:54jandemmaybe we could use a callWithABI for parts of this
10:58evilpiedammit can't find the JSC code anymore
11:00jandemit's definitely possible our Map/Set code is doing slow things
11:01evilpiefound it
11:01evilpiehttps://github.com/WebKit/webkit/commit/21fc86e6f5f6495425eedf5defd025a60e8218f5
11:01evilpieone year ago
11:02evilpiethey split it into MapHash, GetMapBucket, LoadFromJSMapBucket and IsNonEmptyMapBucket operations
11:12jandemevilpie: i looked at this a while ago.. isn't bucket a gc thing for them?
11:13evilpieoh no idea, I didn't look to deeply into it
11:14evilpiebut looks like you are right https://github.com/WebKit/webkit/blob/376f6b7787e52ea15bc9218c4786bfa3ddc4a2d6/Source/JavaScriptCore/runtime/HashMapImpl.h#L55
9 Sep 2017
No messages
   
Last message: 12 days and 16 hours ago