Bug 453341 - Allow stack checking to be suppressed per-function, r=dmandelin sr=jst

This commit is contained in:
Benjamin Smedberg 2008-09-03 13:00:12 -04:00
Родитель 65266c7178
Коммит 76a06a3037
3 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -1889,7 +1889,7 @@ GetInterfaceTypeFromParam(XPCCallContext& ccx,
/***************************************************************************/
// static
JSBool
NS_SUPPRESS_STACK_CHECK JSBool
XPCWrappedNative::CallMethod(XPCCallContext& ccx,
CallMode mode /*= CALL_METHOD */)
{

Просмотреть файл

@ -175,6 +175,9 @@ function process_tree(fndecl)
if (opnew != null)
warning("operator new not followed by an assignment", getLocation());
}
if (hasAttribute(dehydra_convert(fndecl), 'NS_suppress_stackcheck'))
return;
let tmap = new Map();
walk_tree(DECL_SAVED_TREE(fndecl), findconstructors, tmap);

Просмотреть файл

@ -491,10 +491,12 @@ typedef PRUint32 nsrefcnt;
#ifdef NS_STATIC_CHECKING
#define NS_STACK_CLASS __attribute__((user("NS_stack")))
#define NS_OKONHEAP __attribute__((user("NS_okonheap")))
#define NS_SUPRESS_STACK_CHECK __attribute__((user("NS_suppress_stackcheck")))
#define NS_FINAL_CLASS __attribute__((user("NS_final")))
#else
#define NS_STACK_CLASS
#define NS_OKONHEAP
#define NS_SUPPRESS_STACK_CHECK
#define NS_FINAL_CLASS
#endif