...
【24h】

Putting in All the Stops: Execution Control for JavaScript

机译:放入所有停止:JavaScript的执行控制

获取原文
获取原文并翻译 | 示例

摘要

Scores of compilers produce JavaScript, enabling programmers to use many languages on the Web, reuse existing code, and even useWeb IDEs. Unfortunately, most compilers inherit the browser’s compromised execution model, so longrunning programs freeze the browser tab, ininite loops crash IDEs, and so on. The few compilers that avoid these problems sufer poor performance and are diicult to engineer. This paper presents Stopify, a source-to-source compiler that extends JavaScript with debugging abstractions and blocking operations, and easily integrates with existing compilers. We apply Stopify to ten programming languages and develop a Web IDE that supports stopping, single-stepping, breakpointing, and long-running computations. For nine languages, Stopify requires no or trivial compiler changes. For eight, our IDE is the irst that provides these features. Two of our subject languages have compilers with similar features. Stopify’s performance is competitive with these compilers and it makes them dramatically simpler. Stopify’s abstractions rely on irst-class continuations, which it provides by compiling JavaScript to JavaScript. We also identify sub-languages of JavaScript that compilers implicitly use, and exploit these to improve performance. Finally, Stopify needs to repeatedly interrupt and resume program execution. We use a sampling-based technique to estimate program speed that outperforms other systems.
机译:编译器的分数生成JavaScript,使程序员能够在Web上使用许多语言,重用现有代码,甚至使用Web IDE。不幸的是,大多数编译器继承了浏览器的受损执行模型,因此Longrunning程序冻结了浏览器选项卡,Ininite循环崩溃IDES,等等。避免这些问题的几个编制者可能会使性能差,而且更加用于工程师。本文提出了一个源代码到源编译器,它扩展了JavaScript,并通过调试抽象和阻塞操作,并轻松地与现有编译器集成。我们应用了解到十个编程语言,并开发一个支持停止,单步,断点和长期计算的网络IDE。对于九种语言,STOPIED需要否或琐碎的编译器更改。对于八,我们的IDE是提供这些功能的IRST。我们的两个主题语言具有具有相似特性的编译器。停止的性能与这些编译器具有竞争力,它使它们变得急剧更简单。停止依赖于IRST-Class持续的抽象,它通过将JavaScript编译为JavaScript而提供。我们还识别编译器隐式使用的JavaScript的子语言,并利用这些来提高性能。最后,停止需要重复中断和恢复程序执行。我们使用基于采样的技术来估算胜过其他系统的程序速度。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号