如何压缩asm.js编译消息?

时间:2018-02-07 20:08:16

标签: javascript asm.js

使用asm.js代码时,某些浏览器会发出编译消息。这一个:

  

成功编译asm.js代码(在201ms内从缓存加载)

有没有办法抑制此消息?

1 个答案:

答案 0 :(得分:4)

邮件本身就在这里:https://hg.mozilla.org/mozilla-central/file/tip/js/src/js.msg#l357

MSG_DEF(JSMSG_USE_ASM_TYPE_OK, 1, JSEXN_WARN, "Successfully compiled asm.js code ({0})")

它在这里发出:https://hg.mozilla.org/mozilla-central/file/tip/js/src/wasm/AsmJS.cpp#l8718

static bool
SuccessfulValidation(AsmJSParser& parser, UniqueChars str)
{
    return parser.warningNoOffset(JSMSG_USE_ASM_TYPE_OK, str.get());
}

这里称为:https://hg.mozilla.org/mozilla-central/file/tip/js/src/wasm/AsmJS.cpp#l8877

    // Success! Write to the console with a "warning" message.
    *validated = true;
    SuccessfulValidation(parser, Move(message));
    return NoExceptionPending(cx);
}

在该行中没有明显的“可选性”,即使评论说它将进入控制台,期间。

否则JSEXN_WARN只有一些实际出现(在jsexn.hjsexn.cppjsapi.h中),后者会对其进行描述,因为它实际上是一种异常类型,不会破坏执行并且没有可怕的部分(“错误:......”):https://hg.mozilla.org/mozilla-central/file/tip/js/src/jsapi.h#l580

* JSEXN_WARN is used for warnings in js.msg files (for instance because we
* don't want to prepend 'Error:' to warning messages). This value can go away
* if we ever decide to use an entirely separate mechanism for warnings.

确实如此,对JSEXN_WARN的大多数检查都是以if ( ... || exnType == JSEXN_WARN || ... ) do nothing方式跳过实际异常的抛出,如here(只有一个特别的例子)。

我不确定你真正需要什么,但是

  

如何抑制asm.js编译消息?

通过构建自己的Firefox副本:https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build