#include "gdb-tests.h" #include "jsapi.h" #include FRAGMENT(asmjs, segfault) { using namespace JS; int line0 = __LINE__; const char* bytes = "\n" "function f(glob, ffi, heap) {\n" " \"use asm\";\n" " var f32 = new glob.Float32Array(heap);\n" " function g(n) {\n" " n = n | 0;\n" " return +f32[n>>2];\n" " }\n" " return g;\n" "}\n" "\n" "var func = f(this, null, new ArrayBuffer(0x10000));\n" "func(0x10000 << 2);\n" "'ok'\n"; CompileOptions opts(cx); opts.setFileAndLine(__FILE__, line0 + 1); opts.asmJSOption = JS::AsmJSOption::Enabled; RootedValue rval(cx); bool ok; ok = false; ok = Evaluate(cx, opts, bytes, strlen(bytes), &rval); breakpoint(); (void) ok; (void) rval; }