mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 817452 - Remove AutoRelease[Nullable]Ptr. r=njn
This commit is contained in:
parent
3a7d1398ef
commit
b90a600d03
@ -1846,49 +1846,6 @@ class AutoKeepAtoms {
|
||||
~AutoKeepAtoms() { JS_UNKEEP_ATOMS(rt); }
|
||||
};
|
||||
|
||||
class AutoReleasePtr {
|
||||
void *ptr;
|
||||
JS_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
|
||||
AutoReleasePtr(const AutoReleasePtr &other) MOZ_DELETE;
|
||||
AutoReleasePtr operator=(const AutoReleasePtr &other) MOZ_DELETE;
|
||||
|
||||
public:
|
||||
explicit AutoReleasePtr(void *ptr
|
||||
JS_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: ptr(ptr)
|
||||
{
|
||||
JS_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
}
|
||||
void forget() { ptr = NULL; }
|
||||
~AutoReleasePtr() { js_free(ptr); }
|
||||
};
|
||||
|
||||
/*
|
||||
* FIXME: bug 602774: cleaner API for AutoReleaseNullablePtr
|
||||
*/
|
||||
class AutoReleaseNullablePtr {
|
||||
void *ptr;
|
||||
JS_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
|
||||
AutoReleaseNullablePtr(const AutoReleaseNullablePtr &other) MOZ_DELETE;
|
||||
AutoReleaseNullablePtr operator=(const AutoReleaseNullablePtr &other) MOZ_DELETE;
|
||||
|
||||
public:
|
||||
explicit AutoReleaseNullablePtr(void *ptr
|
||||
JS_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: ptr(ptr)
|
||||
{
|
||||
JS_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
}
|
||||
void reset(void *ptr2) {
|
||||
if (ptr)
|
||||
js_free(ptr);
|
||||
ptr = ptr2;
|
||||
}
|
||||
~AutoReleaseNullablePtr() { if (ptr) js_free(ptr); }
|
||||
};
|
||||
|
||||
} /* namespace js */
|
||||
|
||||
class JSAutoResolveFlags
|
||||
|
@ -1147,10 +1147,9 @@ js_CopyErrorObject(JSContext *cx, HandleObject errobj, HandleObject scope)
|
||||
size_t size = offsetof(JSExnPrivate, stackElems) +
|
||||
priv->stackDepth * sizeof(JSStackTraceElem);
|
||||
|
||||
JSExnPrivate *copy = (JSExnPrivate *)cx->malloc_(size);
|
||||
js::ScopedFreePtr<JSExnPrivate> copy(static_cast<JSExnPrivate *>(cx->malloc_(size)));
|
||||
if (!copy)
|
||||
return NULL;
|
||||
AutoReleasePtr autoFreePrivate(copy);
|
||||
|
||||
if (priv->errorReport) {
|
||||
copy->errorReport = CopyErrorReport(cx, priv->errorReport);
|
||||
@ -1159,7 +1158,7 @@ js_CopyErrorObject(JSContext *cx, HandleObject errobj, HandleObject scope)
|
||||
} else {
|
||||
copy->errorReport = NULL;
|
||||
}
|
||||
AutoReleasePtr autoFreeErrorReport(copy->errorReport);
|
||||
js::ScopedFreePtr<JSErrorReport> autoFreeErrorReport(copy->errorReport);
|
||||
|
||||
copy->message.init(priv->message);
|
||||
if (!cx->compartment->wrap(cx, ©->message))
|
||||
@ -1182,7 +1181,7 @@ js_CopyErrorObject(JSContext *cx, HandleObject errobj, HandleObject scope)
|
||||
if (!copyobj)
|
||||
return NULL;
|
||||
SetExnPrivate(copyobj, copy);
|
||||
autoFreePrivate.forget();
|
||||
copy.forget();
|
||||
autoFreeErrorReport.forget();
|
||||
return copyobj;
|
||||
}
|
||||
|
@ -3398,8 +3398,7 @@ reflect_parse(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
if (!src)
|
||||
return JS_FALSE;
|
||||
|
||||
char *filename = NULL;
|
||||
AutoReleaseNullablePtr filenamep(filename);
|
||||
js::ScopedFreePtr<char> filename;
|
||||
uint32_t lineno = 1;
|
||||
bool loc = true;
|
||||
|
||||
@ -3446,7 +3445,6 @@ reflect_parse(JSContext *cx, uint32_t argc, jsval *vp)
|
||||
filename = DeflateString(cx, chars, length);
|
||||
if (!filename)
|
||||
return JS_FALSE;
|
||||
filenamep.reset(filename);
|
||||
}
|
||||
|
||||
/* config.line */
|
||||
|
@ -488,10 +488,9 @@ ReferenceFinder::addReferrer(jsval referrer_, Path *path)
|
||||
if (!context->compartment->wrap(context, referrer.address()))
|
||||
return false;
|
||||
|
||||
char *pathName = path->computeName(context);
|
||||
js::ScopedFreePtr<char> pathName(path->computeName(context));
|
||||
if (!pathName)
|
||||
return false;
|
||||
AutoReleasePtr releasePathName(pathName);
|
||||
|
||||
/* Find the property of the results object named |pathName|. */
|
||||
RootedValue valRoot(context);
|
||||
|
Loading…
Reference in New Issue
Block a user