зеркало из https://github.com/mozilla/pjs.git
Bug 453341 - Allow stack checking to be suppressed per-function, r=dmandelin sr=jst
This commit is contained in:
Родитель
65266c7178
Коммит
76a06a3037
|
@ -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
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче