Status: Accepted
Owner: [email protected]
CC: [email protected]
Labels: Type-Bug Priority-Medium

New issue 1011 by [email protected]: [experimental/gc] mjsunit/tools/tickprocessor.js became flaky after r6116
http://code.google.com/p/v8/issues/detail?id=1011

============ Stress 2/2 ============
=== testProcessing-Default ===
/usr/local/google/home/vegorov/src/v8-gc/test/../tools/profile.js:540: TypeError: Cannot read property 'node' of undefined
    var node = pair.node;
                   ^
TypeError: Cannot read property 'node' of undefined
at [object Object].traverse (/usr/local/google/home/vegorov/src/v8-gc/test/../tools/profile.js:540:20) at [object Object].buildView (/usr/local/google/home/vegorov/src/v8-gc/test/../tools/profile_view.js:57:12) at TickProcessor.printStatistics (/usr/local/google/home/vegorov/src/v8-gc/test/../tools/tickprocessor.js:407:36) at driveTickProcessorTest (/usr/local/google/home/vegorov/src/v8-gc/test/mjsunit/tools/tickprocessor.js:383:6) at testProcessing (/usr/local/google/home/vegorov/src/v8-gc/test/mjsunit/tools/tickprocessor.js:408:28) at /usr/local/google/home/vegorov/src/v8-gc/test/mjsunit/tools/tickprocessor.js:410:2


Suspected reason: incorrect deoptimization environment in ConsArray.next

**** DEOPT: ConsArray.next at bailout #7, address 0x0, frame size 12
[deoptimizing: begin 0xf716f46d ConsArray.next @7]
  translating ConsArray.next => node=17, height=16
    0xffe13f40: [top + 32] <- 0xf6021fe9 ; [esp + 28]
    0xffe13f3c: [top + 28] <- 0xf58391e6 ; caller's pc
    0xffe13f38: [top + 24] <- 0xffe13f58 ; caller's fp
    0xffe13f34: [top + 20] <- 0xf7164361 ; context
    0xffe13f30: [top + 16] <- 0xf716f46d ; function
    0xffe13f2c: [top + 12] <- 0xf5c0004d <undefined> ; literal
    0xffe13f28: [top + 8] <- 0xf6022261 ; eax
    0xffe13f24: [top + 4] <- 0xf5c0004d <undefined> ; literal
    0xffe13f20: [top + 0] <- 0xf6021fe9 ; [esp + 28]
[deoptimizing: end 0xf716f46d ConsArray.next => node=17, pc=0xf58398c8, state=TOS_REG, took 0.095 ms]

this deoptimazation happens in the following code:

  var result = this.currCell_.data[this.currCellPos_++];

after postfix increment and before the read from an array. non optimized code:

0xf58398c8 104 58 pop eax ; pop previous value of currCellPos_
                  ]
0xf58398c9   105  5a             pop edx ; pop receiver
0xf58398ca 106 e891d3fcff call KeyedLoadIC_Initialize (0xf5806c60) ;; debug: position 2878 ;; code: KEYED_LOAD_IC, UNINITIALIZED
                  ]
0xf58398cf   111  8945f4         mov [ebp+0xf4],eax

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to