问题标签 [spidermonkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2325 浏览

android - 使用 Android NDK 工具链构建 SpiderMonkey

我正在将使用 SpiderMonkey 的游戏移植到 Android。因为我需要与游戏现有的构建系统集成,所以我必须使用 Android NDK 独立工具链来构建 SpiderMonkey,而不是 ndk-build 工具。谁能告诉我如何做到这一点?

我可以看到 SpiderMonkey 的配置有一个 --with-android-toolchain=DIR 选项,但我不确定如何使用它 - 具体来说,我需要将它与哪些其他选项结合使用?

谢谢你。

0 投票
0 回答
287 浏览

javascript - 将外部 AST 导入 ANTLR

我想用 ANTLR 构建一个 Javascript 源代码处理工具。由于 Mozilla 的 Javascript 引擎 Spidermonkey 已经能够解析 Javascript 并输出一个 AST(它本身就是一个 Javascript 对象树),我所需要的只是利用 ANTLR 的树语法特性来解析那个 AST。我不必创建自己的 Javascript 源解析器语法。

但是,问题是,我们如何将外部 AST 导入 ANTLR 的树语法可以识别的形式?根据The Definitive ANTLR Reference,我很可能需要创建自己的TreeAdaptor。但是我应该重写哪些方法?Spidermonkey 的 AST 是一个异构树,其中不同的节点类型用于不同的语句。我需要手动将此异构树映射到 ANTLR 能够处理的树形式,其中单个CommonTree类型用于所有节点。

我的 ANTLR 目标语言可以是 Javascript 或任何东西(因为 Spidermonkey 生成的 AST 是 Javascript 对象树)。

0 投票
1 回答
179 浏览

javascript - 对 JavaScript 引擎进行基准测试的最佳独立测试套件是什么?

我正在寻找对 JavaScript 解释器速度进行基准测试的最佳工具。

最好这不应该是由 Mozilla 或 Google 等冲突方编写的工具,尽管我知道这些可能会给出最准确的表示。

0 投票
2 回答
13189 浏览

cross-compiling - pkg-config 在 sysroot 目录下找不到包

谁能告诉我为什么这可能会失败:

根据 man pkg-config(1)/usr/local/lib/pkgconfig应该是默认搜索路径之一。

0 投票
2 回答
5450 浏览

javascript - JavaScript 数组实际上是作为数组实现的吗?

ArrayJavaScript和JavaScript 之间的区别Object并不是很大。实际上它似乎Array主要是添加length字段,因此您可以将Arrays 和Objects 用作数字数组:

所以我的问题是,在流行的 JavaScript 引擎V8、JavaScriptCore、SpiderMonkey等)中,这是如何处理的?显然,我们不希望我们的数组实际存储为带有键值的哈希映射!我们如何合理地确定我们的数据存储为实际数组?

据我所知,引擎可以采取以下几种方法:

  1. ArrayObject实现方式与- 作为具有字符串键的关联数组完全相同。
  2. Array是一种特殊情况,有一个类似std::vector- 的数组支持数字键,如果你这样做,一些密度启发式可以防止疯狂的内存使用ar[100000000] = 0;
  3. Array与 相同Object,并且所有对象都会得到启发,以查看使用数组是否更有意义。
  4. 我没有想到的疯狂复杂的事情。

如果有适当的数组类型(咳嗽 WebGL类型数组咳嗽),这确实会更简单。

0 投票
2 回答
799 浏览

javascript - 如何在 Mongo shell 中使用 SpiderMonkey 的调试支持?

MongoDB 的外壳扩展了 SpiderMonkey。有没有办法连接到SpiderMonkey 的一些调试支持?我还没有找到一种方法来做一些简单的事情,比如激活一个 onerror() 处理程序来打印未处理异常的调用堆栈跟踪。

0 投票
1 回答
261 浏览

spidermonkey - 如何最好地配置 JS 运行时?

我想知道如何最好地配置 JSRuntime。JS_NewRuntime(), JS_NewContext(), JS_SetGCParameter(), JS_SetGCParameterForThread(), 有很多参数... 有一些指导或建议吗?

0 投票
1 回答
1061 浏览

javascript - spidermonkey 上的垃圾收集器问题.... JS_AnchorPtr()?

我推出了我自己的称为bondi 的javascript 服务器端语言。刚刚升级到新的蜘蛛猴。

现在 JS 进入本地根并离开本地根函数从 1.8.5 api 中消失/无用,仅JS_AnchorPtr(varname)在函数调用结束时使用锚指针()以确保编译器不会删除对让垃圾收集器开心吗?

我一直在通过删除我对 JS_EnterLocalRootScope 的所有引用(参见此处)/离开本地根范围并添加JS_AnchorPtr()到脚本底部来测试它。

我在蜘蛛猴的源代码中查找了 AnchorPoint 函数。你猜怎么着……它什么也没做。也没有 doco 。我使用它只是为了让我可以提及这些变量,这样垃圾收集器就不会杀死它们。

0 投票
3 回答
3410 浏览

javascript - Linux 上的 Python 和 Spidermonkey Javascript 引擎

我已经在我的 Linux 机器(Ubuntu)上成功安装了 Spidermonkey JS 引擎。基本上我的目标是让它执行 Ajax (js) 脚本并将结果返回给我的 Python 脚本。我基本上是在尝试构建一个好的 OO 网络爬虫。但我很难让所有这些工作。

我现在可以在终端中键入 JS 时开始执行 Javascript。我一直在谷歌搜索,在 Stackoverflow 上找到了这个小片段:

但它无法运行,并出现无法找到模块 Spidermonkey 的错误。

我现在有点迷路了。有谁能帮忙吗?

0 投票
1 回答
1518 浏览

c# - Spidermonkey - 从 C# 或 C++ 调用 javascript 函数 (VIsual Studio 2010)

我想使用 VS2010 在我的 C#(或 C++)控制台应用程序中嵌入 spidermonkey 引擎调用,因此我可以将一些值从 C# 代码发送到 javascript 函数并取回结果,但我不知道从哪里开始以及如何开始.

到目前为止,我已经下载了 spidermonkey 源代码并使用 mozilla-build 工具对其进行了编译。现在我可以启动 js shell,加载我的 .js 文件,在其中运行 javascript 函数并获得正确的结果。比我在 VS2010 中创建 win32 C++ 控制台应用程序,将我的 dist/include 文件夹中的 js.lib 和头文件添加到项目. 尝试使用简单的示例来启动它,实际上它构建时没有错误(仅尝试 3 天后),但在运行时会引发系统错误 - “无法启动,因为您的计算机中缺少 js.exe。”