繁体   English   中英

asm.js对编译器的限制

[英]asm.js limits on the compiler

我想知道asm.js规范中是否有任何“设计限制”会阻止任何编译器直接从它生成本机汇编代码。

目前firefox似乎能够比本机代码快一半,但我想知道它为什么不以原生速度运行。 在我看来,asm.js很像..

该限制目前使用Javascript的Typed Array类型作为内存( 堆栈 )。 这是因为其他脚本与您的asm.js生成的Javascript交互,并且需要共享的“内存”空间。 此外我猜测Typed Array被实现为实际堆内存,这将比使用堆栈慢。

因为Firefox的编译器没有像C编译器那样进行任何有益于asm.js代码的优化。 在Windows上,也因为已编译的代码必须执行数组访问的边界检查(在其他操作系统OdinMonkey上,Firefox的asm.js编译器使用内存保护)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM