Closed Bug 457171 Opened 16 years ago Closed 16 years ago

TM: mochitest test_Prototype.html fails

Categories

(Core :: JavaScript Engine, defect, P1)

x86
macOS
defect

Tracking

()

VERIFIED FIXED
mozilla1.9.1b1

People

(Reporter: gal, Assigned: dvander)

References

Details

(Keywords: verified1.9.1)

      No description provided.
Flags: blocking1.9.1?
failed	testSelectorMatchElements	1 assertions, 2 failures, 0 errors
Failure: assertElementsMatch: size mismatch: 1 elements, 3 expressions Line #190
Failure: assertElementsMatch: size mismatch: 0 elements, 2 expressions Line #191

the console window says:

JavaScript error: http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/test/lib/unittest.js, line 218: $(this.logger.lastLogLine).down("td", 2) is undefined
Priority: -- → P1
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61
globalObj=0x1c99c780, shape=23008
    trace
import vp=0xdfb700 name=$global0 type=object flags=0
import vp=0xdc406c name=$callee0 type=object flags=0
import vp=0xdc4070 name=$this0 type=object flags=0
import vp=0xdc4074 name=$<anonymous>.elements type=object flags=0
import vp=0xdc4078 name=$<anonymous>.expression type=string flags=0
import vp=0xdc40f4 name=$<anonymous>.matches type=object flags=0
import vp=0xdc40f8 name=$<anonymous>.h type=object flags=0
import vp=0xdc40fc name=$<anonymous>.i type=int flags=0
import vp=0xdc4100 name=$<anonymous>.results type=object flags=0
import vp=0xdc4104 name=$<anonymous>.element type=object flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $global0 = ld gp[544]
    $callee0 = ld sp[-72]
    $this0 = ld sp[-64]
    $<anonymous>.elements = ld sp[-56]
    $<anonymous>.expression = ld sp[-48]
    $<anonymous>.matches = ld sp[-40]
    $<anonymous>.h = ld sp[-32]
    ld1 = ld sp[-24]
    $<anonymous>.i = i2f ld1
    $<anonymous>.results = ld sp[-16]
    $<anonymous>.element = ld sp[-8]
    eq1 = eq $<anonymous>.element, globalObj
    xt1: xt eq1 -> 0x1d2951d1 sp+0 rp+0
    ld2 = ld $<anonymous>.element[0]
    ops = ld ld2[4]
    ld3 = ld ops[16]
    guard(native-map) = eq ld3, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1d2951d1 sp+0 rp+0
    sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
    sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add1 = add ld1, 1
    ov1 = ov add1
    xt2: xt ov1 -> 0x1d2951e6 sp+0 rp+0
    i2f1 = i2f add1
    sp[0] = ld1
    sp[-24] = add1
    sp[0] = $<anonymous>.elements
    sp[8] = add1
    ld4 = ld $<anonymous>.elements[4]
    and1 = and ld4, -4
    guard(class is Array) = eq and1, clasp
    xf2: xf guard(class is Array) -> 0x1d2951f0 sp+16 rp+0
    ld5 = ld $<anonymous>.elements[28]
    ld6 = ld $<anonymous>.elements[16]
    ge1 = ge add1, 0
    xf3: xf ge1 -> 0x1d2951f0 sp+16 rp+0
    lt1 = lt add1, ld6
    xf4: xf lt1 -> 0x1d2951f0 sp+16 rp+0
    eq2 = eq ld5, 0
    xt3: xt eq2 -> 0x1d2951f0 sp+16 rp+0
    ld7 = ld ld5[-4]
    lt2 = lt add1, ld7
    xf5: xf lt2 -> 0x1d2951f0 sp+16 rp+0
    lsh1 = lsh add1, JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add2 = add ld5, lsh1
    ld8 = ld add2[0]
    and2 = and ld8, JSVAL_TAGMASK
    eq3 = eq and2, 0
    xf6: xf eq3 -> 0x1d2951f0 sp+16 rp+0
    sp[0] = ld8
    sp[-8] = ld8
    eq4 = eq ld8, 0
    xt4: xt eq4 -> 0x1d2951f4 sp+8 rp+0
    sp[-24] = add1
    loop
state                                                        state = param ecx
state sp                                                     sp = ld state[0]
state sp $<anonymous>.elements                               $<anonymous>.elements = ld sp[-56]
state sp $<anonymous>.elements ld1                           ld1 = ld sp[-24]
state sp $<anonymous>.elements ld1 $<anonymous>.element      $<anonymous>.element = ld sp[-8]
state sp $<anonymous>.elements ld1 $<anonymous>.element eq1  eq1 = eq $<anonymous>.element, globalObj
state sp $<anonymous>.elements ld1 $<anonymous>.element      xt1: xt eq1 -> 0x1d2951d1 sp+0 rp+0
state sp $<anonymous>.elements ld1 ld2                       ld2 = ld $<anonymous>.element[0]
state sp $<anonymous>.elements ld1 ops                       ops = ld ld2[4]
state sp $<anonymous>.elements ld1 ld3                       ld3 = ld ops[16]
state sp $<anonymous>.elements ld1 guard(native-map)         guard(native-map) = eq ld3, OP(&js_ObjectOps)
state sp $<anonymous>.elements ld1                           xf1: xf guard(native-map) -> 0x1d2951d1 sp+0 rp+0
state sp $<anonymous>.elements ld1                           sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
state sp $<anonymous>.elements add1                          add1 = add ld1, 1
state sp $<anonymous>.elements add1 ov1                      ov1 = ov add1
state sp $<anonymous>.elements add1                          xt2: xt ov1 -> 0x1d2951e6 sp+0 rp+0
state sp $<anonymous>.elements add1                          sp[-24] = add1
state sp $<anonymous>.elements add1                          sp[0] = $<anonymous>.elements
state sp $<anonymous>.elements add1                          sp[8] = add1
state sp $<anonymous>.elements add1 ld4                      ld4 = ld $<anonymous>.elements[4]
state sp $<anonymous>.elements add1 and1                     and1 = and ld4, -4
state sp $<anonymous>.elements add1 guard(class is Array)    guard(class is Array) = eq and1, clasp
state sp $<anonymous>.elements add1                          xf2: xf guard(class is Array) -> 0x1d2951f0 sp+16 rp+0
state sp $<anonymous>.elements add1 ld5                      ld5 = ld $<anonymous>.elements[28]
state sp add1 ld5 ld6                                        ld6 = ld $<anonymous>.elements[16]
state sp add1 ld5 ld6 ge1                                    ge1 = ge add1, 0
state sp add1 ld5 ld6                                        xf3: xf ge1 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 lt1                                        lt1 = lt add1, ld6
state sp add1 ld5                                            xf4: xf lt1 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 eq2                                        eq2 = eq ld5, 0
state sp add1 ld5                                            xt3: xt eq2 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 ld7                                        ld7 = ld ld5[-4]
state sp add1 ld5 lt2                                        lt2 = lt add1, ld7
state sp add1 ld5                                            xf5: xf lt2 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 lsh1                                       lsh1 = lsh add1, JSVAL_TO_BOOLEAN(JSVAL_VOID)
state sp add1 add2                                           add2 = add ld5, lsh1
state sp add1 ld8                                            ld8 = ld add2[0]
state sp add1 ld8 and2                                       and2 = and ld8, JSVAL_TAGMASK
state sp add1 ld8 eq3                                        eq3 = eq and2, 0
state sp add1 ld8                                            xf6: xf eq3 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld8                                            sp[0] = ld8
state sp add1 ld8                                            sp[-8] = ld8
state sp add1 eq4                                            eq4 = eq ld8, 0
state sp add1                                                xt4: xt eq4 -> 0x1d2951f4 sp+8 rp+0
state                                                        sp[-24] = add1
state                                                        loop
        prologue
        0x1d1d4f3b:
                   push ebp
                   mov ebp,esp
                   and esp,-16
                   push edi
                   push esi
                   push ebx
                   push ebp
                   mov ebp,esp
        patch entry:
        0x1d1d4f47:
                   sub esp,16
compiling trunk 0x1de378f0 T15
    state = param ecx
    sp = ld state[0]
    $<anonymous>.elements = ld sp[-56]
    ld1 = ld sp[-24]
    $<anonymous>.element = ld sp[-8]
    eq1 = eq $<anonymous>.element, globalObj
    xt1: xt eq1 -> 0x1d2951d1 sp+0 rp+0
        0x1d1d4f4a:
                   mov esi,0(ecx)             ecx(state)
                   mov eax,-56(esi)           ecx(state) esi(sp)
                   mov ebx,-24(esi)           eax($<anonymous>.elements) ecx(state) esi(sp)
                   mov edi,-8(esi)            eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
                   cmp edi,479840128          eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi($<anonymous>.element)
                   je 0x1cdf2d83              eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi($<anonymous>.element)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2d83:
        skip ecx
                   mov eax,484388244
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    ld2 = ld $<anonymous>.element[0]
    ops = ld ld2[4]
    ld3 = ld ops[16]
    guard(native-map) = eq ld3, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1d2951d1 sp+0 rp+0
        0x1d1d4f61:
                   mov edi,0(edi)             eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi($<anonymous>.element)
                   mov edi,4(edi)             eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi(ld2)
                   mov edi,16(edi)            eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi(ops)
                   cmp edi,2478218            eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi(ld3)
                   jne 0x1cdf2dc3             eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2dc3:
        skip ecx
                   mov eax,484388308
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add1 = add ld1, 1
    ov1 = ov add1
    xt2: xt ov1 -> 0x1d2951e6 sp+0 rp+0
        0x1d1d4f75:
                   mov 0(esi),2               eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
                   add ebx,1                  eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
                   jo 0x1cdf2e03              eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2e03:
        skip ecx
                   mov eax,484388372
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    sp[-24] = add1
    sp[0] = $<anonymous>.elements
    sp[8] = add1
    ld4 = ld $<anonymous>.elements[4]
    and1 = and ld4, -4
    guard(class is Array) = eq and1, clasp
    xf2: xf guard(class is Array) -> 0x1d2951f0 sp+16 rp+0
        0x1d1d4f84:
                   mov -24(esi),ebx           eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov 0(esi),eax             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov 8(esi),ebx             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov edi,4(eax)             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   and edi,-4                 eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp) edi(ld4)
                   cmp edi,3438016            eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp) edi(and1)
                   jne 0x1cdf2e43             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2e43:
        skip ecx
                   mov eax,484388436
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    ld5 = ld $<anonymous>.elements[28]
    ld6 = ld $<anonymous>.elements[16]
    ge1 = ge add1, 0
    xf3: xf ge1 -> 0x1d2951f0 sp+16 rp+0
        0x1d1d4f9e:
                   mov edi,28(eax)            eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov eax,16(eax)            eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   cmp ebx,0                  eax(ld6) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   jnge 0x1cdf2e83            eax(ld6) ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2e83:
        skip ecx
                   mov eax,484388500
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    lt1 = lt add1, ld6
    xf4: xf lt1 -> 0x1d2951f0 sp+16 rp+0
        0x1d1d4fad:
                   cmp ebx,eax                eax(ld6) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   jnl 0x1cdf2ec3             ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2ec3:
        skip ecx
                   mov eax,484388564
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    eq2 = eq ld5, 0
    xt3: xt eq2 -> 0x1d2951f0 sp+16 rp+0
        0x1d1d4fb5:
                   test edi,edi               ecx(state) ebx(add1) esi(sp) edi(ld5)
                   je 0x1cdf2f03              ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2f03:
        skip ecx
                   mov eax,484388628
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    ld7 = ld ld5[-4]
    lt2 = lt add1, ld7
    xf5: xf lt2 -> 0x1d2951f0 sp+16 rp+0
        0x1d1d4fbd:
                   mov eax,-4(edi)            ecx(state) ebx(add1) esi(sp) edi(ld5)
                   cmp ebx,eax                eax(ld7) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   jnl 0x1cdf2f43             ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2f43:
        skip ecx
                   mov eax,484388692
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    lsh1 = lsh add1, JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add2 = add ld5, lsh1
    ld8 = ld add2[0]
    and2 = and ld8, JSVAL_TAGMASK
    eq3 = eq and2, 0
    xf6: xf eq3 -> 0x1d2951f0 sp+16 rp+0
        0x1d1d4fc8:
                   mov eax,ebx                ecx(state) ebx(add1) esi(sp) edi(ld5)
                   shl eax,2                  ecx(state) ebx(add1) esi(sp) edi(ld5)
                   add edi,eax                eax(lsh1) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   mov edi,0(edi)             ecx(state) ebx(add1) esi(sp) edi(add2)
                   mov eax,edi                ecx(state) ebx(add1) esi(sp) edi(ld8)
                   and eax,7                  ecx(state) ebx(add1) esi(sp) edi(ld8)
                   test eax,eax               eax(and2) ecx(state) ebx(add1) esi(sp) edi(ld8)
                   jne 0x1cdf2f83             ecx(state) ebx(add1) esi(sp) edi(ld8)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2f83:
        skip ecx
                   mov eax,484388756
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    sp[0] = ld8
    sp[-8] = ld8
    eq4 = eq ld8, 0
    xt4: xt eq4 -> 0x1d2951f4 sp+8 rp+0
        0x1d1d4fde:
                   mov 0(esi),edi             ecx(state) ebx(add1) esi(sp) edi(ld8)
                   mov -8(esi),edi            ecx(state) ebx(add1) esi(sp) edi(ld8)
                   test edi,edi               ecx(state) ebx(add1) esi(sp) edi(ld8)
                   je 0x1cdf2fc3              ecx(state) ebx(add1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1cdf2fc3:
        skip ecx
                   mov eax,484388820
                   mov edx,501446896
                   mov esp,ebp
                   jmp 0x1d1d4ff8
--------------------------------------- end exit block SID 0
    sp[-24] = add1
    1 = 1
    loop
        0x1d1d4feb:
                   mov -24(esi),ebx           ecx(state) ebx(add1) esi(sp)
                   mov edx,501446896
         jmp   SOT
        0x1d1d4ff8:
        epilogue:
        0x1d1d4ff8:
                   pop ebp
                   pop ebx
                   pop esi
                   pop edi
                   mov esp,ebp
                   pop ebp
                   ret
side exits 11
live instruction count 46, total 86, max pressure 6
recording completed at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61 via closeLoop
entering trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61, native stack slots: 12 code: 0x1d1d4f3b
global: object<0x1c9a0b40:Function>
stack: callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x175fd4c0:Array> argv1=string<0x147beb58> vars0=object<0x175fd5a0:Array> vars1=object<0x1c9a0c60:Object> vars2=int<2> vars3=object<0x175fd5e0:Array> vars4=object<0x14840d80:HTMLSpanElement>
leaving trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2546@92, op=getelem, lr=0x1cdf2ed4, exitType=3, sp=2, ip=0x1cdf2ecf, calldepth=0, cycles=27500
object<0x1c9a0b40:Function>
callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x175fd4c0:Array> argv1=string<0x147beb58> vars0=object<0x175fd5a0:Array> vars1=object<0x1c9a0c60:Object> vars2=int<5> vars3=object<0x175fd5e0:Array> vars4=object<0x147921e0:HTMLLIElement> stack0=object<0x175fd4c0:Array> stack1=int<5>
Global shape mismatch (23101 vs. 23008) in RecordTree, flushing cache.
Flushing cache.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:636@55
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4128 name=$callee0 type=object flags=0
import vp=0xdc412c name=$this0 type=object flags=0
import vp=0xdc4130 name=$<anonymous>.iterable type=object flags=0
import vp=0xdc41ac name=$<anonymous>.results type=object flags=0
import vp=0xdc41b0 name=$<anonymous>.i type=int flags=0
import vp=0xdc41b4 name=$<anonymous>.length type=int flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-48]
    $this0 = ld sp[-40]
    $<anonymous>.iterable = ld sp[-32]
    $<anonymous>.results = ld sp[-24]
    ld1 = ld sp[-16]
    $<anonymous>.i = i2f ld1
    ld2 = ld sp[-8]
    $<anonymous>.length = i2f ld2
    sp[0] = $<anonymous>.results
    sp[8] = $<anonymous>.results
    ld3 = ld $<anonymous>.results[8]
    ld4 = ld ld3[0]
    ops = ld ld4[4]
    ld5 = ld ops[16]
    guard(native-map) = eq ld5, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1cf7e31a sp+8 rp+0
    shape = ld ld4[32]
    guard(kshape) = eq shape, 9536
    xf2: xf guard(kshape) -> 0x1cf7e31a sp+8 rp+0
    sp[0] = PCVAL_TO_OBJECT(pcval)
    sp[16] = $<anonymous>.iterable
    sp[24] = ld1
    ld6 = ld $<anonymous>.iterable[0]
    ops = ld ld6[4]
    ld7 = ld ops[16]
    guard(native-map) = eq ld7, OP(&js_ObjectOps)
    xf3: xf guard(native-map) -> 0x1cf7e323 sp+32 rp+0
abort: 3866: elem op hit direct and slotless getter or setter
Abort recording (line 636, pc 67): JSOP_GETELEM.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:664@14
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc41b0 name=$callee0 type=object flags=0
import vp=0xdc41b4 name=$this0 type=object flags=0
import vp=0xdc41b8 name=$<anonymous>.iterator type=object flags=0
import vp=0xdc422c name=$<anonymous>.i type=int flags=0
import vp=0xdc4230 name=$<anonymous>.length type=int flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[NULL]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-40]
    $this0 = ld sp[-32]
    $<anonymous>.iterator = ld sp[-24]
    ld1 = ld sp[-16]
    $<anonymous>.i = i2f ld1
    ld2 = ld sp[-8]
    $<anonymous>.length = i2f ld2
    sp[0] = $<anonymous>.iterator
    sp[8] = NULL
    eq1 = eq $this0, NULL
    xt1: xt eq1 -> 0x18be17d9 sp+16 rp+0
    sp[16] = $this0
    sp[24] = ld1
    ld3 = ld $this0[4]
    and1 = and ld3, -4
    guard(class is Array) = eq and1, clasp
    xf1: xf guard(class is Array) -> 0x18be17dd sp+32 rp+0
    ld4 = ld $this0[28]
    ld5 = ld $this0[16]
    ge1 = ge ld1, NULL
    xf2: xf ge1 -> 0x18be17dd sp+32 rp+0
    lt1 = lt ld1, ld5
    xf3: xf lt1 -> 0x18be17dd sp+32 rp+0
    eq2 = eq ld4, NULL
    xt2: xt eq2 -> 0x18be17dd sp+32 rp+0
    ld6 = ld ld4[-4]
    lt2 = lt ld1, ld6
    xf4: xf lt2 -> 0x18be17dd sp+32 rp+0
    lsh1 = lsh ld1, 2
    add1 = add ld4, lsh1
    ld7 = ld add1[NULL]
    and2 = and ld7, JSVAL_TAGMASK
    eq3 = eq and2, NULL
    xf5: xf eq3 -> 0x18be17dd sp+32 rp+0
    sp[16] = ld7
    guard(shapeless callee) = eq $<anonymous>.iterator, JSVAL_TO_OBJECT(callee)
    xf6: xf guard(shapeless callee) -> 0x18be17de sp+24 rp+0
EnterFrame null, callDepth=1
abort: 2983: fp->scopeChain is not global or active call object
Abort recording (line 439, pc 0): JSOP_CALLNAME.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:1253@63
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4184 name=$callee0 type=object flags=0
import vp=0xdc4188 name=$this0 type=object flags=0
import vp=0xdc418c name=$<anonymous>.expression type=string flags=0
import vp=0xdc4190 name=$<anonymous>.parentElement type=object flags=0
import vp=0xdc4204 name=$<anonymous>.results type=object flags=0
import vp=0xdc4208 name=$<anonymous>.query type=object flags=0
import vp=0xdc420c name=$<anonymous>.i type=int flags=0
import vp=0xdc4210 name=$<anonymous>.length type=int flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-64]
    $this0 = ld sp[-56]
    $<anonymous>.expression = ld sp[-48]
    $<anonymous>.parentElement = ld sp[-40]
    $<anonymous>.results = ld sp[-32]
    $<anonymous>.query = ld sp[-24]
    ld1 = ld sp[-16]
    $<anonymous>.i = i2f ld1
    ld2 = ld sp[-8]
    $<anonymous>.length = i2f ld2
    sp[0] = $<anonymous>.results
    sp[8] = $<anonymous>.results
    ld3 = ld $<anonymous>.results[8]
    ld4 = ld ld3[0]
    ops = ld ld4[4]
    ld5 = ld ops[16]
    guard(native-map) = eq ld5, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1d213c1a sp+8 rp+0
abort: 3528: failed to fill property cache
Abort recording (line 1253, pc 66): JSOP_CALLPROP.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2241@12
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4108 name=$callee0 type=object flags=0
import vp=0xdc410c name=$this0 type=object flags=0
import vp=0xdc4110 name=$<anonymous>.nodes type=object flags=0
import vp=0xdc4184 name=$<anonymous>.i type=int flags=0
import vp=0xdc4188 name=$<anonymous>.node type=object flags=0
Abort recording (line 2241, pc 16): SetPropUncached.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc406c name=$callee0 type=object flags=0
import vp=0xdc4070 name=$this0 type=object flags=0
import vp=0xdc4074 name=$<anonymous>.elements type=object flags=0
import vp=0xdc4078 name=$<anonymous>.expression type=string flags=0
import vp=0xdc40f4 name=$<anonymous>.matches type=object flags=0
import vp=0xdc40f8 name=$<anonymous>.h type=object flags=0
import vp=0xdc40fc name=$<anonymous>.i type=int flags=0
import vp=0xdc4100 name=$<anonymous>.results type=object flags=0
import vp=0xdc4104 name=$<anonymous>.element type=object flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-72]
    $this0 = ld sp[-64]
    $<anonymous>.elements = ld sp[-56]
    $<anonymous>.expression = ld sp[-48]
    $<anonymous>.matches = ld sp[-40]
    $<anonymous>.h = ld sp[-32]
    ld1 = ld sp[-24]
    $<anonymous>.i = i2f ld1
    $<anonymous>.results = ld sp[-16]
    $<anonymous>.element = ld sp[-8]
    eq1 = eq $<anonymous>.element, globalObj
    xt1: xt eq1 -> 0x1d2951d1 sp+0 rp+0
    ld2 = ld $<anonymous>.element[0]
    ops = ld ld2[4]
    ld3 = ld ops[16]
    guard(native-map) = eq ld3, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1d2951d1 sp+0 rp+0
    sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
    sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add1 = add ld1, 1
    ov1 = ov add1
    xt2: xt ov1 -> 0x1d2951e6 sp+0 rp+0
    i2f1 = i2f add1
    sp[0] = ld1
    sp[-24] = add1
    sp[0] = $<anonymous>.elements
    sp[8] = add1
    ld4 = ld $<anonymous>.elements[4]
    and1 = and ld4, -4
    guard(class is Array) = eq and1, clasp
    xf2: xf guard(class is Array) -> 0x1d2951f0 sp+16 rp+0
    ld5 = ld $<anonymous>.elements[28]
    ld6 = ld $<anonymous>.elements[16]
    ge1 = ge add1, 0
    xf3: xf ge1 -> 0x1d2951f0 sp+16 rp+0
    lt1 = lt add1, ld6
    xf4: xf lt1 -> 0x1d2951f0 sp+16 rp+0
    eq2 = eq ld5, 0
    xt3: xt eq2 -> 0x1d2951f0 sp+16 rp+0
    ld7 = ld ld5[-4]
    lt2 = lt add1, ld7
    xf5: xf lt2 -> 0x1d2951f0 sp+16 rp+0
    lsh1 = lsh add1, JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add2 = add ld5, lsh1
    ld8 = ld add2[0]
    and2 = and ld8, JSVAL_TAGMASK
    eq3 = eq and2, 0
    xf6: xf eq3 -> 0x1d2951f0 sp+16 rp+0
    sp[0] = ld8
    sp[-8] = ld8
    eq4 = eq ld8, 0
    xt4: xt eq4 -> 0x1d2951f4 sp+8 rp+0
    sp[-24] = add1
    loop
state                                                        state = param ecx
state sp                                                     sp = ld state[0]
state sp $<anonymous>.elements                               $<anonymous>.elements = ld sp[-56]
state sp $<anonymous>.elements ld1                           ld1 = ld sp[-24]
state sp $<anonymous>.elements ld1 $<anonymous>.element      $<anonymous>.element = ld sp[-8]
state sp $<anonymous>.elements ld1 $<anonymous>.element eq1  eq1 = eq $<anonymous>.element, globalObj
state sp $<anonymous>.elements ld1 $<anonymous>.element      xt1: xt eq1 -> 0x1d2951d1 sp+0 rp+0
state sp $<anonymous>.elements ld1 ld2                       ld2 = ld $<anonymous>.element[0]
state sp $<anonymous>.elements ld1 ops                       ops = ld ld2[4]
state sp $<anonymous>.elements ld1 ld3                       ld3 = ld ops[16]
state sp $<anonymous>.elements ld1 guard(native-map)         guard(native-map) = eq ld3, OP(&js_ObjectOps)
state sp $<anonymous>.elements ld1                           xf1: xf guard(native-map) -> 0x1d2951d1 sp+0 rp+0
state sp $<anonymous>.elements ld1                           sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
state sp $<anonymous>.elements add1                          add1 = add ld1, 1
state sp $<anonymous>.elements add1 ov1                      ov1 = ov add1
state sp $<anonymous>.elements add1                          xt2: xt ov1 -> 0x1d2951e6 sp+0 rp+0
state sp $<anonymous>.elements add1                          sp[-24] = add1
state sp $<anonymous>.elements add1                          sp[0] = $<anonymous>.elements
state sp $<anonymous>.elements add1                          sp[8] = add1
state sp $<anonymous>.elements add1 ld4                      ld4 = ld $<anonymous>.elements[4]
state sp $<anonymous>.elements add1 and1                     and1 = and ld4, -4
state sp $<anonymous>.elements add1 guard(class is Array)    guard(class is Array) = eq and1, clasp
state sp $<anonymous>.elements add1                          xf2: xf guard(class is Array) -> 0x1d2951f0 sp+16 rp+0
state sp $<anonymous>.elements add1 ld5                      ld5 = ld $<anonymous>.elements[28]
state sp add1 ld5 ld6                                        ld6 = ld $<anonymous>.elements[16]
state sp add1 ld5 ld6 ge1                                    ge1 = ge add1, 0
state sp add1 ld5 ld6                                        xf3: xf ge1 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 lt1                                        lt1 = lt add1, ld6
state sp add1 ld5                                            xf4: xf lt1 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 eq2                                        eq2 = eq ld5, 0
state sp add1 ld5                                            xt3: xt eq2 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 ld7                                        ld7 = ld ld5[-4]
state sp add1 ld5 lt2                                        lt2 = lt add1, ld7
state sp add1 ld5                                            xf5: xf lt2 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld5 lsh1                                       lsh1 = lsh add1, JSVAL_TO_BOOLEAN(JSVAL_VOID)
state sp add1 add2                                           add2 = add ld5, lsh1
state sp add1 ld8                                            ld8 = ld add2[0]
state sp add1 ld8 and2                                       and2 = and ld8, JSVAL_TAGMASK
state sp add1 ld8 eq3                                        eq3 = eq and2, 0
state sp add1 ld8                                            xf6: xf eq3 -> 0x1d2951f0 sp+16 rp+0
state sp add1 ld8                                            sp[0] = ld8
state sp add1 ld8                                            sp[-8] = ld8
state sp add1 eq4                                            eq4 = eq ld8, 0
state sp add1                                                xt4: xt eq4 -> 0x1d2951f4 sp+8 rp+0
state                                                        sp[-24] = add1
state                                                        loop
        prologue
        0x1d1daf3b:
                   push ebp
                   mov ebp,esp
                   and esp,-16
                   push edi
                   push esi
                   push ebx
                   push ebp
                   mov ebp,esp
        patch entry:
        0x1d1daf47:
                   sub esp,16
compiling trunk 0x1cfacd30 T5
    state = param ecx
    sp = ld state[0]
    $<anonymous>.elements = ld sp[-56]
    ld1 = ld sp[-24]
    $<anonymous>.element = ld sp[-8]
    eq1 = eq $<anonymous>.element, globalObj
    xt1: xt eq1 -> 0x1d2951d1 sp+0 rp+0
        0x1d1daf4a:
                   mov esi,0(ecx)             ecx(state)
                   mov eax,-56(esi)           ecx(state) esi(sp)
                   mov ebx,-24(esi)           eax($<anonymous>.elements) ecx(state) esi(sp)
                   mov edi,-8(esi)            eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
                   cmp edi,479840128          eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi($<anonymous>.element)
                   je 0x1856bd83              eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi($<anonymous>.element)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bd83:
        skip ecx
                   mov eax,408337812
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    ld2 = ld $<anonymous>.element[0]
    ops = ld ld2[4]
    ld3 = ld ops[16]
    guard(native-map) = eq ld3, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1d2951d1 sp+0 rp+0
        0x1d1daf61:
                   mov edi,0(edi)             eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi($<anonymous>.element)
                   mov edi,4(edi)             eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi(ld2)
                   mov edi,16(edi)            eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi(ops)
                   cmp edi,2478218            eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp) edi(ld3)
                   jne 0x1856bdc3             eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bdc3:
        skip ecx
                   mov eax,408337876
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    sp[0] = JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add1 = add ld1, 1
    ov1 = ov add1
    xt2: xt ov1 -> 0x1d2951e6 sp+0 rp+0
        0x1d1daf75:
                   mov 0(esi),2               eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
                   add ebx,1                  eax($<anonymous>.elements) ecx(state) ebx(ld1) esi(sp)
                   jo 0x1856be03              eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856be03:
        skip ecx
                   mov eax,408337940
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    sp[-24] = add1
    sp[0] = $<anonymous>.elements
    sp[8] = add1
    ld4 = ld $<anonymous>.elements[4]
    and1 = and ld4, -4
    guard(class is Array) = eq and1, clasp
    xf2: xf guard(class is Array) -> 0x1d2951f0 sp+16 rp+0
        0x1d1daf84:
                   mov -24(esi),ebx           eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov 0(esi),eax             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov 8(esi),ebx             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov edi,4(eax)             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   and edi,-4                 eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp) edi(ld4)
                   cmp edi,3438016            eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp) edi(and1)
                   jne 0x1856be43             eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856be43:
        skip ecx
                   mov eax,408338004
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    ld5 = ld $<anonymous>.elements[28]
    ld6 = ld $<anonymous>.elements[16]
    ge1 = ge add1, 0
    xf3: xf ge1 -> 0x1d2951f0 sp+16 rp+0
        0x1d1daf9e:
                   mov edi,28(eax)            eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp)
                   mov eax,16(eax)            eax($<anonymous>.elements) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   cmp ebx,0                  eax(ld6) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   jnge 0x1856be83            eax(ld6) ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856be83:
        skip ecx
                   mov eax,408338068
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    lt1 = lt add1, ld6
    xf4: xf lt1 -> 0x1d2951f0 sp+16 rp+0
        0x1d1dafad:
                   cmp ebx,eax                eax(ld6) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   jnl 0x1856bec3             ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bec3:
        skip ecx
                   mov eax,408338132
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    eq2 = eq ld5, 0
    xt3: xt eq2 -> 0x1d2951f0 sp+16 rp+0
        0x1d1dafb5:
                   test edi,edi               ecx(state) ebx(add1) esi(sp) edi(ld5)
                   je 0x1856bf03              ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bf03:
        skip ecx
                   mov eax,408338196
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    ld7 = ld ld5[-4]
    lt2 = lt add1, ld7
    xf5: xf lt2 -> 0x1d2951f0 sp+16 rp+0
        0x1d1dafbd:
                   mov eax,-4(edi)            ecx(state) ebx(add1) esi(sp) edi(ld5)
                   cmp ebx,eax                eax(ld7) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   jnl 0x1856bf43             ecx(state) ebx(add1) esi(sp) edi(ld5)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bf43:
        skip ecx
                   mov eax,408338260
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    lsh1 = lsh add1, JSVAL_TO_BOOLEAN(JSVAL_VOID)
    add2 = add ld5, lsh1
    ld8 = ld add2[0]
    and2 = and ld8, JSVAL_TAGMASK
    eq3 = eq and2, 0
    xf6: xf eq3 -> 0x1d2951f0 sp+16 rp+0
        0x1d1dafc8:
                   mov eax,ebx                ecx(state) ebx(add1) esi(sp) edi(ld5)
                   shl eax,2                  ecx(state) ebx(add1) esi(sp) edi(ld5)
                   add edi,eax                eax(lsh1) ecx(state) ebx(add1) esi(sp) edi(ld5)
                   mov edi,0(edi)             ecx(state) ebx(add1) esi(sp) edi(add2)
                   mov eax,edi                ecx(state) ebx(add1) esi(sp) edi(ld8)
                   and eax,7                  ecx(state) ebx(add1) esi(sp) edi(ld8)
                   test eax,eax               eax(and2) ecx(state) ebx(add1) esi(sp) edi(ld8)
                   jne 0x1856bf83             ecx(state) ebx(add1) esi(sp) edi(ld8)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bf83:
        skip ecx
                   mov eax,408338324
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    sp[0] = ld8
    sp[-8] = ld8
    eq4 = eq ld8, 0
    xt4: xt eq4 -> 0x1d2951f4 sp+8 rp+0
        0x1d1dafde:
                   mov 0(esi),edi             ecx(state) ebx(add1) esi(sp) edi(ld8)
                   mov -8(esi),edi            ecx(state) ebx(add1) esi(sp) edi(ld8)
                   test edi,edi               ecx(state) ebx(add1) esi(sp) edi(ld8)
                   je 0x1856bfc3              ecx(state) ebx(add1) esi(sp)
--------------------------------------- exit block (LIR_xt|LIR_xf)
        0x1856bfc3:
        skip ecx
                   mov eax,408338388
                   mov edx,486198576
                   mov esp,ebp
                   jmp 0x1d1daff8
--------------------------------------- end exit block SID 0
    sp[-24] = add1
    1 = 1
    loop
        0x1d1dafeb:
                   mov -24(esi),ebx           ecx(state) ebx(add1) esi(sp)
                   mov edx,486198576
         jmp   SOT
        0x1d1daff8:
        epilogue:
        0x1d1daff8:
                   pop ebp
                   pop ebx
                   pop esi
                   pop edi
                   mov esp,ebp
                   pop ebp
                   ret
side exits 11
live instruction count 46, total 84, max pressure 6
recording completed at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61 via closeLoop
entering trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61, native stack slots: 12 code: 0x1d1daf3b
stack: callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x175fd8a0:Array> argv1=string<0x1cdee170> vars0=object<0x175fd980:Array> vars1=object<0x1c9a0c60:Object> vars2=int<2> vars3=object<0x175fd9c0:Array> vars4=object<0x148409c0:HTMLParagraphElement>
leaving trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2546@92, op=getelem, lr=0x1856bed4, exitType=3, sp=2, ip=0x1856becf, calldepth=0, cycles=29712
callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x175fd8a0:Array> argv1=string<0x1cdee170> vars0=object<0x175fd980:Array> vars1=object<0x1c9a0c60:Object> vars2=int<43> vars3=object<0x175fd9c0:Array> vars4=object<0x14844340:HTMLInputElement> stack0=object<0x175fd8a0:Array> stack1=int<43>
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2247@12
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4108 name=$callee0 type=object flags=0
import vp=0xdc410c name=$this0 type=object flags=0
import vp=0xdc4110 name=$<anonymous>.nodes type=object flags=0
import vp=0xdc4184 name=$<anonymous>.i type=int flags=0
import vp=0xdc4188 name=$<anonymous>.node type=object flags=0
abort: 3528: failed to fill property cache
Abort recording (line 2247, pc 15): JSOP_NAME.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:664@14
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc41b0 name=$callee0 type=object flags=0
import vp=0xdc41b4 name=$this0 type=object flags=0
import vp=0xdc41b8 name=$<anonymous>.iterator type=object flags=0
import vp=0xdc422c name=$<anonymous>.i type=int flags=0
import vp=0xdc4230 name=$<anonymous>.length type=int flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[NULL]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-40]
    $this0 = ld sp[-32]
    $<anonymous>.iterator = ld sp[-24]
    ld8 = ld sp[-16]
    $<anonymous>.i = i2f ld8
    ld9 = ld sp[-8]
    $<anonymous>.length = i2f ld9
    sp[0] = $<anonymous>.iterator
    sp[8] = NULL
    eq4 = eq $this0, NULL
    xt3: xt eq4 -> 0x18be17d9 sp+16 rp+0
    sp[16] = $this0
    sp[24] = ld8
    ld10 = ld $this0[4]
    and3 = and ld10, -4
    guard(class is Array) = eq and3, clasp
    xf7: xf guard(class is Array) -> 0x18be17dd sp+32 rp+0
    ld11 = ld $this0[28]
    ld12 = ld $this0[16]
    ge2 = ge ld8, NULL
    xf8: xf ge2 -> 0x18be17dd sp+32 rp+0
    lt3 = lt ld8, ld12
    xf9: xf lt3 -> 0x18be17dd sp+32 rp+0
    eq5 = eq ld11, NULL
    xt4: xt eq5 -> 0x18be17dd sp+32 rp+0
    ld13 = ld ld11[-4]
    lt4 = lt ld8, ld13
    xf10: xf lt4 -> 0x18be17dd sp+32 rp+0
    lsh2 = lsh ld8, 2
    add2 = add ld11, lsh2
    ld14 = ld add2[NULL]
    and4 = and ld14, JSVAL_TAGMASK
    eq6 = eq and4, NULL
    xf11: xf eq6 -> 0x18be17dd sp+32 rp+0
    sp[16] = ld14
    guard(shapeless callee) = eq $<anonymous>.iterator, JSVAL_TO_OBJECT(callee)
    xf12: xf guard(shapeless callee) -> 0x18be17de sp+24 rp+0
EnterFrame null, callDepth=1
abort: 2983: fp->scopeChain is not global or active call object
Abort recording (line 439, pc 0): JSOP_CALLNAME.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2059@93
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4244 name=$callee0 type=object flags=0
import vp=0xdc4248 name=$this0 type=object flags=0
import vp=0xdc42d0 name=$<anonymous>.e type=string flags=0
import vp=0xdc42d4 name=$<anonymous>.ps type=object flags=0
import vp=0xdc42d8 name=$<anonymous>.x type=object flags=0
import vp=0xdc42dc name=$<anonymous>.le type=string flags=0
import vp=0xdc42e0 name=$<anonymous>.m type=object flags=0
import vp=0xdc42e4 name=$<anonymous>.i type=string flags=0
import vp=0xdc42e8 name=$stack0 type=object flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[JSVAL_ERROR_COOKIE]
    eor = ld state[20]
    $callee0 = ld sp[-64]
    $this0 = ld sp[-56]
    $<anonymous>.e = ld sp[-48]
    $<anonymous>.ps = ld sp[-40]
    $<anonymous>.x = ld sp[-32]
    $<anonymous>.le = ld sp[-24]
    $<anonymous>.m = ld sp[-16]
    $<anonymous>.i = ld sp[-8]
    $stack0 = ld sp[0]
    FastCallIteratorNext1 = FastCallIteratorNext ( cx $stack0 )
    eq1 = eq FastCallIteratorNext1, JSVAL_ERROR_COOKIE
    xt1: xt eq1 -> 0xc7e8f5 sp+8 rp+0
    eq2 = eq FastCallIteratorNext1, JSVAL_HOLE
    eq3 = eq eq2, 0
    or1 = or $<anonymous>.i, JSVAL_STRING
    cmov1 = eq3 ? FastCallIteratorNext1 : or1
    and1 = and cmov1, JSVAL_TAGMASK
    eq4 = eq and1, JSVAL_STRING
    xf1: xf eq4 -> 0xc7e8f5 sp+8 rp+0
    and2 = and cmov1, ~JSVAL_TAGMASK
    sp[-8] = and2
    sp[8] = eq3
    eq5 = eq eq3, 1
    eq6 = eq eq5, 0
    xf2: xf eq5 -> 0xc7e8f8 sp+16 rp+0
    sp[8] = $<anonymous>.e
    sp[16] = $<anonymous>.e
    ld1 = ld obj[0]
    ops = ld ld1[JSVAL_STRING]
    ld2 = ld ops[JSVAL_ERROR_COOKIE]
    guard(native-map) = eq ld2, OP(&js_ObjectOps)
    xf3: xf guard(native-map) -> 0xc7e8fe sp+16 rp+0
abort: 3528: failed to fill property cache
Abort recording (line 2060, pc 102): JSOP_CALLPROP.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2058@81
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4244 name=$callee0 type=object flags=0
import vp=0xdc4248 name=$this0 type=object flags=0
import vp=0xdc42d0 name=$<anonymous>.e type=string flags=0
import vp=0xdc42d4 name=$<anonymous>.ps type=object flags=0
import vp=0xdc42d8 name=$<anonymous>.x type=object flags=0
import vp=0xdc42dc name=$<anonymous>.le type=string flags=0
import vp=0xdc42e0 name=$<anonymous>.m type=object flags=0
import vp=0xdc42e4 name=$<anonymous>.i type=string flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-64]
    $this0 = ld sp[-56]
    $<anonymous>.e = ld sp[-48]
    $<anonymous>.ps = ld sp[-40]
    $<anonymous>.x = ld sp[-32]
    $<anonymous>.le = ld sp[-24]
    $<anonymous>.m = ld sp[-16]
    $<anonymous>.i = ld sp[-8]
    sp[0] = $<anonymous>.e
    sp[-24] = $<anonymous>.e
    sp[0] = $<anonymous>.ps
    FastValueToIterator1 = FastValueToIterator ( cx flags $<anonymous>.ps )
    eq1 = eq FastValueToIterator1, 0
    xt1: xt eq1 -> 0xc7e8f3 sp+8 rp+0
    sp[0] = FastValueToIterator1
    FastCallIteratorNext1 = FastCallIteratorNext ( cx FastValueToIterator1 )
    eq2 = eq FastCallIteratorNext1, JSVAL_ERROR_COOKIE
    xt2: xt eq2 -> 0xc7e8f5 sp+8 rp+0
    eq3 = eq FastCallIteratorNext1, JSVAL_HOLE
    eq4 = eq eq3, 0
    or1 = or $<anonymous>.i, JSVAL_STRING
    cmov1 = eq4 ? FastCallIteratorNext1 : or1
    and1 = and cmov1, JSVAL_TAGMASK
    eq5 = eq and1, JSVAL_STRING
    xf1: xf eq5 -> 0xc7e8f5 sp+8 rp+0
    and2 = and cmov1, ~JSVAL_TAGMASK
    sp[-8] = and2
    sp[8] = eq4
    eq6 = eq eq4, flags
    eq7 = eq eq6, 0
    xf2: xf eq6 -> 0xc7e8f8 sp+16 rp+0
    sp[8] = $<anonymous>.e
    sp[16] = $<anonymous>.e
    ld1 = ld obj[0]
    ops = ld ld1[JSVAL_STRING]
    ld2 = ld ops[JSVAL_ERROR_COOKIE]
    guard(native-map) = eq ld2, OP(&js_ObjectOps)
    xf3: xf guard(native-map) -> 0xc7e8fe sp+16 rp+0
abort: 3528: failed to fill property cache
Abort recording (line 2060, pc 102): JSOP_CALLPROP.
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:215@36
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4374 name=$callee0 type=object flags=0
import vp=0xdc4378 name=$this0 type=object flags=0
import vp=0xdc437c name=$<anonymous>.pattern type=object flags=0
import vp=0xdc4380 name=$<anonymous>.replacement type=object flags=0
import vp=0xdc43f4 name=$<anonymous>.result type=string flags=0
import vp=0xdc43f8 name=$<anonymous>.source type=string flags=0
import vp=0xdc43fc name=$<anonymous>.match type=object flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-56]
    $this0 = ld sp[-48]
    $<anonymous>.pattern = ld sp[-40]
    $<anonymous>.replacement = ld sp[-32]
    $<anonymous>.result = ld sp[-24]
    $<anonymous>.source = ld sp[-16]
    $<anonymous>.match = ld sp[-8]
    sp[0] = $<anonymous>.source
    sp[8] = $<anonymous>.source
    ld1 = ld obj[0]
    ops = ld ld1[4]
    ld2 = ld ops[16]
    guard(native-map) = eq ld2, OP(&js_ObjectOps)
    xf1: xf guard(native-map) -> 0x1cecba7f sp+8 rp+0
abort: 3528: failed to fill property cache
Abort recording (line 215, pc 39): JSOP_CALLPROP.
entering trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61, native stack slots: 12 code: 0x1d1daf3b
stack: callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x175fdb60:Array> argv1=string<0x1cdee5a8> vars0=object<0x175fdde0:Array> vars1=object<0x1c9a0c60:Object> vars2=int<0> vars3=object<0x175fde20:Array> vars4=object<0x14840920:HTMLHeadingElement>
leaving trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2546@92, op=getelem, lr=0x1856bed4, exitType=3, sp=2, ip=0x1856becf, calldepth=0, cycles=45188
callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x175fdb60:Array> argv1=string<0x1cdee5a8> vars0=object<0x175fdde0:Array> vars1=object<0x1c9a0c60:Object> vars2=int<43> vars3=object<0x175fde20:Array> vars4=object<0x14844340:HTMLInputElement> stack0=object<0x175fdb60:Array> stack1=int<43>
entering trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61, native stack slots: 12 code: 0x1d1daf3b
stack: callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x18a517e0:Array> argv1=string<0x147beb58> vars0=object<0x18a518c0:Array> vars1=object<0x1c9a0c60:Object> vars2=int<0> vars3=object<0x18a51900:Array> vars4=object<0x14792180:HTMLLIElement>
leaving trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2546@92, op=getelem, lr=0x1856bed4, exitType=3, sp=2, ip=0x1856becf, calldepth=0, cycles=15737
callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x18a517e0:Array> argv1=string<0x147beb58> vars0=object<0x18a518c0:Array> vars1=object<0x1c9a0c60:Object> vars2=int<5> vars3=object<0x18a51900:Array> vars4=object<0x147921e0:HTMLLIElement> stack0=object<0x18a517e0:Array> stack1=int<5>
recording starting from http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:636@55
globalObj=0x1c99c780, shape=23101
    trace
import vp=0xdc4534 name=$callee0 type=object flags=0
import vp=0xdc4538 name=$this0 type=object flags=0
import vp=0xdc453c name=$<anonymous>.iterable type=object flags=0
import vp=0xdc45b0 name=$<anonymous>.results type=object flags=0
import vp=0xdc45b4 name=$<anonymous>.i type=int flags=0
import vp=0xdc45b8 name=$<anonymous>.length type=int flags=0
    state = param ecx
    param1 = param edx
    sp = ld state[0]
    rp = ld state[4]
    cx = ld state[12]
    gp = ld state[8]
    eos = ld state[16]
    eor = ld state[20]
    $callee0 = ld sp[-48]
    $this0 = ld sp[-40]
    $<anonymous>.iterable = ld sp[-32]
    $<anonymous>.results = ld sp[-24]
    ld8 = ld sp[-16]
    $<anonymous>.i = i2f ld8
    ld9 = ld sp[-8]
    $<anonymous>.length = i2f ld9
    sp[0] = $<anonymous>.results
    sp[8] = $<anonymous>.results
    ld10 = ld $<anonymous>.results[8]
    ld11 = ld ld10[0]
    ops = ld ld11[4]
    ld12 = ld ops[16]
    guard(native-map) = eq ld12, OP(&js_ObjectOps)
    xf4: xf guard(native-map) -> 0x1cf7e31a sp+8 rp+0
    shape = ld ld11[32]
    guard(kshape) = eq shape, 9536
    xf5: xf guard(kshape) -> 0x1cf7e31a sp+8 rp+0
    sp[0] = PCVAL_TO_OBJECT(pcval)
    sp[16] = $<anonymous>.iterable
    sp[24] = ld8
    ld13 = ld $<anonymous>.iterable[0]
    ops = ld ld13[4]
    ld14 = ld ops[16]
    guard(native-map) = eq ld14, OP(&js_ObjectOps)
    xf6: xf guard(native-map) -> 0x1cf7e323 sp+32 rp+0
abort: 3866: elem op hit direct and slotless getter or setter
Abort recording (line 636, pc 67): JSOP_GETELEM.
entering trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2547@61, native stack slots: 12 code: 0x1d1daf3b
stack: callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x18a4f7e0:Array> argv1=string<0x147beb60> vars0=object<0x18a4f960:Array> vars1=object<0x1c9a0c60:Object> vars2=int<0> vars3=object<0x18a4f9a0:Array> vars4=object<0x18a514e0:HTMLTableCellElement>
leaving trace at http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/dist/prototype.js:2546@92, op=getelem, lr=0x1856bed4, exitType=3, sp=2, ip=0x1856becf, calldepth=0, cycles=20875
callee0=object<0x18a547a8:Function> this0=object<0x1c9a0b40:Function> argv0=object<0x18a4f7e0:Array> argv1=string<0x147beb60> vars0=object<0x18a4f960:Array> vars1=object<0x1c9a0c60:Object> vars2=int<4> vars3=object<0x18a4f9a0:Array> vars4=object<0x18a4f800:HTMLBRElement> stack0=object<0x18a4f7e0:Array> stack1=int<4>
JavaScript error: http://localhost:8888/tests/dom/tests/mochitest/ajax/prototype/test/lib/unittest.js, line 218: $(this.logger.lastLogLine).down("td", 2) is undefined
Ideas welcome.
Pushed fix as changeset http://hg.mozilla.org/tracemonkey/rev/af4d2ab298e0

Will wait for the tests to turn green before I close this.  It should fix jQuery failures as well.
Assignee: gal → danderson
Make a note in the jquery bug as well since jimb is working on that in parallel.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Flags: in-testsuite+
Flags: in-litmus-
Flags: blocking1.9.1? → blocking1.9.1+
Keywords: fixed1.9.1
Seeing that there haven't been any duplicate sightings for this issue for 6
months, I'm going to go ahead and verify this unless someone has an issue with
that.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.