mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Followup to bug 614493 to fix GCC overwarning about 'uninitialized' variables in js_XDRScript. r=warnings
--HG-- extra : rebase_source : ce0062c356524ee14dedf39e67c6aa1880259afb
This commit is contained in:
parent
bc1aa44f51
commit
32dfb1669c
@ -136,7 +136,7 @@ Bindings::add(JSContext *cx, JSAtom *name, BindingKind kind)
|
||||
slot += nargs + nvars;
|
||||
}
|
||||
|
||||
if (*indexp == JS_BITMASK(16)) {
|
||||
if (*indexp == BINDING_COUNT_LIMIT) {
|
||||
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
|
||||
(kind == ARGUMENT)
|
||||
? JSMSG_TOO_MANY_FUN_ARGS
|
||||
@ -376,6 +376,9 @@ js_XDRScript(JSXDRState *xdr, JSScript **scriptp, JSBool *hasMagic)
|
||||
|
||||
/* XDR arguments, local vars, and upvars. */
|
||||
uint16 nargs, nvars, nupvars;
|
||||
#if defined(DEBUG) || defined(__GNUC__) /* quell GCC overwarning */
|
||||
nargs = nvars = nupvars = Bindings::BINDING_COUNT_LIMIT;
|
||||
#endif
|
||||
uint32 argsVars, paddingUpvars;
|
||||
if (xdr->mode == JSXDR_ENCODE) {
|
||||
nargs = script->bindings.countArgs();
|
||||
@ -392,6 +395,9 @@ js_XDRScript(JSXDRState *xdr, JSScript **scriptp, JSBool *hasMagic)
|
||||
JS_ASSERT((paddingUpvars >> 16) == 0);
|
||||
nupvars = paddingUpvars & 0xFFFF;
|
||||
}
|
||||
JS_ASSERT(nargs != Bindings::BINDING_COUNT_LIMIT);
|
||||
JS_ASSERT(nvars != Bindings::BINDING_COUNT_LIMIT);
|
||||
JS_ASSERT(nupvars != Bindings::BINDING_COUNT_LIMIT);
|
||||
|
||||
Bindings bindings(cx);
|
||||
uint32 nameCount = nargs + nvars + nupvars;
|
||||
|
@ -205,6 +205,14 @@ class Bindings {
|
||||
/* Returns the shape lineage generated for these bindings. */
|
||||
inline const js::Shape *lastShape() const;
|
||||
|
||||
enum {
|
||||
/*
|
||||
* A script may have no more than this many arguments, variables, or
|
||||
* upvars.
|
||||
*/
|
||||
BINDING_COUNT_LIMIT = 0xFFFF
|
||||
};
|
||||
|
||||
/*
|
||||
* Add a local binding for the given name, of the given type, for the code
|
||||
* being compiled. If fun is non-null, this binding set is being created
|
||||
|
Loading…
Reference in New Issue
Block a user