In r199170: <http://trac.webkit.org/changeset/199170>, GetterSetter was promoted from a JSCell to a JSObject. JSObject methods expect their structure to have a globalObject. For example, see JSObject::calculatedClassName(). GetterSetter was previously using a singleton getterSetterStructure owned by the VM. That singleton getterSetterStructure is not associated with any globalObjects. As a result, JSObject::calculatedClassName() will run into a null globalObject when it is called on a GetterSetter object. This patch removes the VM singleton getterSetterStructure, and instead, creates a getterSetterStructure for each JSGlobalObject.
<rdar://problem/25965945>
Created attachment 277595 [details] proposed patch.
Thanks for the review. Landed in r200177: <http://trac.webkit.org/r200177>.