Closed GoogleCodeExporter closed 9 years ago
When the G5 version is built with --enable-debug, it doesn't crash either. So
that probably rules out the JIT.
Original comment by classi...@floodgap.com
on 5 Jul 2014 at 4:18
It's probably not important, but 31b3 on G3 doesn't crash, either.
Original comment by chtru...@web.de
on 5 Jul 2014 at 4:40
Nope, it's the JIT, after all.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x298fe000
js::jit::BaselineScript::pcForReturnOffset (this=<value temporarily
unavailable, due to optimizations>, script=<value temporarily unavailable, due
to optimizations>, nativeOffset=16492) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jit/BaselineJIT.cpp:747
747 if (b & 0x80)
(gdb) bt 10
#0 js::jit::BaselineScript::pcForReturnOffset (this=<value temporarily
unavailable, due to optimizations>, script=<value temporarily unavailable, due
to optimizations>, nativeOffset=16492) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jit/BaselineJIT.cpp:747
#1 0x08b27974 in js::jit::JitFrameIterator::baselineScriptAndPc (this=<value
temporarily unavailable, due to optimizations>, scriptRes=<value temporarily
unavailable, due to optimizations>, pcRes=0xeffedc80) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jit/IonFrames.cpp:271
#2 0x08b2aebc in js::jit::GetPcScript (cx=<value temporarily unavailable, due
to optimizations>, scriptRes=0xeffee0c0, pcRes=0xeffee130) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jit/IonFrames.cpp:1313
#3 0x08c7fee4 in JSContext::currentScript (this=0x1c6246a0, ppc=<value
temporarily unavailable, due to optimizations>,
allowCrossCompartment=DONT_ALLOW_CROSS_COMPARTMENT) at jscntxtinlines.h:479
#4 0x08c6e1d0 in js::baseops::GetProperty (cx=0x1c6246a0, obj=<incomplete
type>, receiver=<incomplete type>, id=<incomplete type>,
vp={<js::MutableHandleBase<JS::Value>> =
{<js::MutableValueOperations<JS::MutableHandle<JS::Value> >> =
{<js::ValueOperations<JS::MutableHandle<JS::Value> >> = {<No data fields>}, <No
data fields>}, <No data fields>}, ptr = 0xeffee678}) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jsobj.cpp:4283
#5 0x08a694a4 in DoGetPropFallback (cx=0x1c6246a0, frame=0xeffee720,
stub_=0x2d1d74c0, val={<js::MutableHandleBase<JS::Value>> =
{<js::MutableValueOperations<JS::MutableHandle<JS::Value> >> =
{<js::ValueOperations<JS::MutableHandle<JS::Value> >> = {<No data fields>}, <No
data fields>}, <No data fields>}, ptr = 0x0},
res={<js::MutableHandleBase<JS::Value>> =
{<js::MutableValueOperations<JS::MutableHandle<JS::Value> >> =
{<js::ValueOperations<JS::MutableHandle<JS::Value> >> = {<No data fields>}, <No
data fields>}, <No data fields>}, ptr = 0xeffee678}) at jsobj.h:985
#6 0x0074ad94 in ?? ()
#7 0x08a8e3e4 in EnterBaseline (cx=0x1c6246a0, data=@0xeffee910) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jit/BaselineJIT.cpp:124
#8 0x08a8ec7c in js::jit::EnterBaselineAtBranch (cx=0x1c6246a0, fp=0x296efc10,
pc=0x297cc73a "?T") at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/jit/BaselineJIT.cpp:209
#9 0x08d4fb18 in Interpret (cx=0x1c6246a0, state=@0xeffef0cc) at
/Volumes/BruceDeuce/src/mozilla-31b3/js/src/vm/Interpreter.cpp:1713
(More stack frames follow...)
Original comment by classi...@floodgap.com
on 5 Jul 2014 at 5:21
(gdb) disas 0x74ad80 0x74adb0
Dump of assembler code from 0x74ad80 to 0x74adb0:
0x0074ad80: addi r1,r1,-256
0x0074ad84: stw r18,0(r1)
0x0074ad88: mflr r18
0x0074ad8c: lis r0,2214
0x0074ad90: bl 0x74ae18
0x0074ad94: mtlr r18
0x0074ad98: lwz r18,0(r1)
0x0074ad9c: mr r1,r16
0x0074ada0: cmpwi r3,0
0x0074ada4: beq- 0x74add8
0x0074ada8: li r0,124
0x0074adac: lwz r6,0(r1)
End of assembler dump.
Original comment by classi...@floodgap.com
on 5 Jul 2014 at 5:35
Using 970 branching fixes the problem, so we did something wrong with the split.
Original comment by classi...@floodgap.com
on 5 Jul 2014 at 7:56
I'm going to stay with that since we're so close to launching and look at this
again when I try to get Ion off the ground. There is a performance delta, but
it's not worth it right now.
Original comment by classi...@floodgap.com
on 5 Jul 2014 at 10:34
After some more testing, I'm not sure in practice that the performance delta
with V8 translates into anything meaningful. In fact, the browser "feels"
quicker with the 970 branching back.
Original comment by classi...@floodgap.com
on 6 Jul 2014 at 6:03
Won't fix. Going to use MIPS instead.
Original comment by classi...@floodgap.com
on 30 Aug 2014 at 2:36
Original issue reported on code.google.com by
classi...@floodgap.com
on 5 Jul 2014 at 12:37