EXPORT JSObjectRef JSObjectMake(JSContextRef ctx, JSClassRef jsClass, void* data) { JSLock lock; ExecState* exec = toJS(ctx); if (!jsClass) return toRef(new JSObject(exec->lexicalInterpreter()->builtinObjectPrototype())); // slightly more efficient JSValue* jsPrototype = jsClass->prototype(ctx); if (!jsPrototype) jsPrototype = exec->lexicalInterpreter()->builtinObjectPrototype(); return toRef(new JSCallbackObject(exec, jsClass, jsPrototype, data)); }