Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 464758 | Differences between
and this patch

Collapse All | Expand All

(-)a/mozilla/js/src/jsinterp.cpp (-1 / +2 lines)
Lines 1226-1241 js::Interpret(JSContext *cx, StackFrame Link Here
1226
    RootedValue rootValue0(cx), rootValue1(cx);
1226
    RootedValue rootValue0(cx), rootValue1(cx);
1227
    RootedString rootString0(cx), rootString1(cx);
1227
    RootedString rootString0(cx), rootString1(cx);
1228
    RootedObject rootObject0(cx), rootObject1(cx), rootObject2(cx);
1228
    RootedObject rootObject0(cx), rootObject1(cx), rootObject2(cx);
1229
    RootedFunction rootFunction0(cx);
1229
    RootedFunction rootFunction0(cx);
1230
    RootedTypeObject rootType0(cx);
1230
    RootedTypeObject rootType0(cx);
1231
    RootedPropertyName rootName0(cx);
1231
    RootedPropertyName rootName0(cx);
1232
    RootedId rootId0(cx);
1232
    RootedId rootId0(cx);
1233
    RootedShape rootShape0(cx);
1233
    RootedShape rootShape0(cx);
1234
    DebugOnly<uint32_t> blockDepth;
1234
1235
1235
    if (!entryFrame)
1236
    if (!entryFrame)
1236
        entryFrame = regs.fp();
1237
        entryFrame = regs.fp();
1237
1238
1238
#if JS_HAS_GENERATORS
1239
#if JS_HAS_GENERATORS
1239
    if (JS_UNLIKELY(regs.fp()->isGeneratorFrame())) {
1240
    if (JS_UNLIKELY(regs.fp()->isGeneratorFrame())) {
1240
        JS_ASSERT(size_t(regs.pc - script->code) <= script->length);
1241
        JS_ASSERT(size_t(regs.pc - script->code) <= script->length);
1241
        JS_ASSERT(regs.stackDepth() <= script->nslots);
1242
        JS_ASSERT(regs.stackDepth() <= script->nslots);
Lines 3645-3661 BEGIN_CASE(JSOP_ENTERLET1) Link Here
3645
        goto error;
3646
        goto error;
3646
}
3647
}
3647
END_CASE(JSOP_ENTERBLOCK)
3648
END_CASE(JSOP_ENTERBLOCK)
3648
3649
3649
BEGIN_CASE(JSOP_LEAVEBLOCK)
3650
BEGIN_CASE(JSOP_LEAVEBLOCK)
3650
BEGIN_CASE(JSOP_LEAVEFORLETIN)
3651
BEGIN_CASE(JSOP_LEAVEFORLETIN)
3651
BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
3652
BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
3652
{
3653
{
3653
    DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth();
3654
    blockDepth = regs.fp()->blockChain().stackDepth();
3654
3655
3655
    regs.fp()->popBlock(cx);
3656
    regs.fp()->popBlock(cx);
3656
3657
3657
    if (op == JSOP_LEAVEBLOCK) {
3658
    if (op == JSOP_LEAVEBLOCK) {
3658
        /* Pop the block's slots. */
3659
        /* Pop the block's slots. */
3659
        regs.sp -= GET_UINT16(regs.pc);
3660
        regs.sp -= GET_UINT16(regs.pc);
3660
        JS_ASSERT(regs.stackDepth() == blockDepth);
3661
        JS_ASSERT(regs.stackDepth() == blockDepth);
3661
    } else if (op == JSOP_LEAVEBLOCKEXPR) {
3662
    } else if (op == JSOP_LEAVEBLOCKEXPR) {
(-)a/mozilla/js/src/jsutil.h (-4 / +4 lines)
Lines 427-446 typedef size_t jsbitmap; Link Here
427
                                 ((jsbitmap)1<<((_bit)&(JS_BITS_PER_WORD-1))))
427
                                 ((jsbitmap)1<<((_bit)&(JS_BITS_PER_WORD-1))))
428
#define JS_CLEAR_BIT(_map,_bit) ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] &=     \
428
#define JS_CLEAR_BIT(_map,_bit) ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] &=     \
429
                                 ~((jsbitmap)1<<((_bit)&(JS_BITS_PER_WORD-1))))
429
                                 ~((jsbitmap)1<<((_bit)&(JS_BITS_PER_WORD-1))))
430
430
431
/* Wrapper for various macros to stop warnings coming from their expansions. */
431
/* Wrapper for various macros to stop warnings coming from their expansions. */
432
#if defined(__clang__)
432
#if defined(__clang__)
433
# define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr)                                \
433
# define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr)                                \
434
    JS_BEGIN_MACRO                                                            \
434
    JS_BEGIN_MACRO                                                            \
435
        _Pragma("clang diagnostic push")                                      \
435
        _Pragma("(clang diagnostic push)")                                    \
436
        _Pragma("clang diagnostic ignored \"-Wunused-value\"")                \
436
        _Pragma("(clang diagnostic ignored \"-Wunused-value\")")              \
437
        expr;                                                                 \
437
        {expr;}                                                               \
438
        _Pragma("clang diagnostic pop")                                       \
438
        _Pragma("(clang diagnostic pop)")                                     \
439
    JS_END_MACRO
439
    JS_END_MACRO
440
#elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
440
#elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
441
# define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr)                                \
441
# define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr)                                \
442
    JS_BEGIN_MACRO                                                            \
442
    JS_BEGIN_MACRO                                                            \
443
        _Pragma("GCC diagnostic push")                                        \
443
        _Pragma("GCC diagnostic push")                                        \
444
        _Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"")       \
444
        _Pragma("GCC diagnostic ignored \"-Wunused-but-set-variable\"")       \
445
        expr;                                                                 \
445
        expr;                                                                 \
446
        _Pragma("GCC diagnostic pop")                                         \
446
        _Pragma("GCC diagnostic pop")                                         \

Return to bug 464758