[Webkit-unassigned] [Bug 93080] 64-bit JSValues can be hold in an XMM register on X86

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 3 09:36:03 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=93080





--- Comment #4 from Filip Pizlo <fpizlo at apple.com>  2012-08-03 09:36:03 PST ---
Have you considered the following, related, optimization: if a node is known to only be used in contexts that are non-numerical, non-boolean, and the node is never used as the base of a memory access, then we can store the value of the node in an XMM register without every doing pack/unpack, and it may even be profitable to do so on 64-bit.

Example:

a: GetLocal(r42)
b: GetLocal(r43)
c: PutByOffset(@a, @a, @b)
... // no other uses of @b

In this case, @b can be stored in an XMM register since the only thing that PutByOffset is doing is storing it back to memory.

This is likely to also work on any platform that has 64-bit float registers.  It's likely to be most profitable if at the point of the GetLocal we are under register pressure.  But, it will require some changes to how we implement the code for things like PutByOffset - it'll have to be somehow agnostic to the source of the value being either in a GPR or in an XMM.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list