DOMJIT::Patchpoint for CallDOM takes JSGlobalObject to use it when creating wrapper object. Currently, DOMJIT::Patchpoint always receives it as GPRReg. However, sometimes, we can get a constant value for that (I'm now assuming `document.getElementById("...")`) In that case, we can emit more efficient code since we can drop some of checks ("World is normal" check).
Currently, I'm considering the design like, DOMJIT::Value = DOMJIT::Reg | JSValue (constant) DOMJIT::Reg = GPRReg | FPRReg | JSValueRegs And DOMJIT::PatchpointParams stores DOMJIT::Value instead of DOMJIT::Reg.
Created attachment 291297 [details] Patch
In the final design, DOMJIT::Value becomes, DOMJIT::Value = DOMJIT::Reg x JSValue (constant)
LGTM too
Committed r207166: <http://trac.webkit.org/changeset/207166>