diff --git a/js/src/jit-test/tests/asm.js/testBug878495.js b/js/src/jit-test/tests/asm.js/testBug878495.js new file mode 100644 index 000000000000..a4c01f4d4f21 --- /dev/null +++ b/js/src/jit-test/tests/asm.js/testBug878495.js @@ -0,0 +1,10 @@ +var disassemble = disassemble || false; +if (disassemble) +{ + disassemble("-r", (function() { + (function() { + "use asm" + return {} + })() + })) +} diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp index d87d23969d8b..e92b6ba265bc 100644 --- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -1911,7 +1911,9 @@ DisassembleScript(JSContext *cx, HandleScript script, HandleFunction fun, bool l RootedFunction f(cx, obj->toFunction()); RootedScript script(cx); JSFunction::maybeGetOrCreateScript(cx, f, &script); - if (!DisassembleScript(cx, script, fun, lines, recursive, sp)) + if (!script) + Sprint(sp, "[native code]\n"); + else if (!DisassembleScript(cx, script, fun, lines, recursive, sp)) return false; } }