mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 21:35:39 +00:00
Bug 477158 - TM: "Assertion failure: v == JSVAL_TRUE || v == JSVAL_FALSE, at ../jsapi.h". r=gal
This commit is contained in:
parent
268b391c28
commit
6ba852af34
@ -43,6 +43,8 @@
|
||||
* JS boolean interface.
|
||||
*/
|
||||
|
||||
#include "jsapi.h"
|
||||
|
||||
JS_BEGIN_EXTERN_C
|
||||
|
||||
/*
|
||||
@ -59,6 +61,13 @@ JS_BEGIN_EXTERN_C
|
||||
#define JSVAL_HOLE PSEUDO_BOOLEAN_TO_JSVAL(3)
|
||||
#define JSVAL_ARETURN PSEUDO_BOOLEAN_TO_JSVAL(4)
|
||||
|
||||
static JS_ALWAYS_INLINE JSBool
|
||||
JSVAL_TO_PUBLIC_PSEUDO_BOOLEAN(jsval v)
|
||||
{
|
||||
JS_ASSERT(v == JSVAL_TRUE || v == JSVAL_FALSE || v == JSVAL_VOID);
|
||||
return JSVAL_TO_PSEUDO_BOOLEAN(v);
|
||||
}
|
||||
|
||||
extern JSClass js_BooleanClass;
|
||||
|
||||
extern JSObject *
|
||||
|
@ -4966,7 +4966,7 @@ TraceRecorder::switchop()
|
||||
BRANCH_EXIT);
|
||||
} else if (JSVAL_TAG(v) == JSVAL_BOOLEAN) {
|
||||
guard(true,
|
||||
addName(lir->ins2(LIR_eq, v_ins, lir->insImm(JSVAL_TO_BOOLEAN(v))),
|
||||
addName(lir->ins2(LIR_eq, v_ins, lir->insImm(JSVAL_TO_PUBLIC_PSEUDO_BOOLEAN(v))),
|
||||
"guard(switch on boolean)"),
|
||||
BRANCH_EXIT);
|
||||
} else {
|
||||
|
@ -4310,6 +4310,23 @@ function testArrayComp2() {
|
||||
testArrayComp2.expected='0123412345234563456745678';
|
||||
test(testArrayComp2);
|
||||
|
||||
function testSwitchUndefined()
|
||||
{
|
||||
var x = undefined;
|
||||
var y = 0;
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
switch (x)
|
||||
{
|
||||
default:
|
||||
y++;
|
||||
}
|
||||
}
|
||||
return y;
|
||||
}
|
||||
testSwitchUndefined.expected = 5;
|
||||
test(testSwitchUndefined);
|
||||
|
||||
/*****************************************************************************
|
||||
* *
|
||||
* _____ _ _ _____ ______ _____ _______ *
|
||||
|
Loading…
Reference in New Issue
Block a user