使用asm.js代码时,某些浏览器会发出编译消息。这一个:
成功编译asm.js代码(在201ms内从缓存加载)
有没有办法抑制此消息?
答案 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.h,jsexn.cpp和jsapi.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