A Framework for Constructing Java']JavaScript Virtual Machines with Customized Datatype Representations

被引:3
|
作者
Kataoka, Takafumi [1 ]
Ugawa, Tomoharu [1 ]
Iwasaki, Hideya [2 ]
机构
[1] Kochi Univ Technol, Kochi, Japan
[2] Univ Electrocommun, Chofu, Tokyo, Japan
关键词
virtual machine interpreter; customization; type-based dispatching; !text type='Java']Java[!/text]Script; embedded systems;
D O I
10.1145/3167132.3167266
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Using JavaScript as a description language can increase the productivity of application programs on embedded systems. Since JavaScript is a dynamic language, it is important for a JavaScript virtual machine (VM) to efficiently identify the types of first-class values and perform type-based dispatches while executing VM instructions. Even though the use of tagged pointers is a well-known technique for these operations, the VM implementer has to decide on suitable bit patterns in a tagged pointer according to the characteristics of the target program. This paper presents a novel framework that can generate a customized JavaScript VM on the basis of datatype specifications and operand specifications given by the programmer and instruction definitions supplied by the framework. Datatype specifications describe adequate internal representations of necessary datatypes for a target program and operand specifications do possible operand datatypes for all instructions, while instruction definitions describe the behaviors of all instructions. The generated VM is specialized in the sense that it has efficient and minimum type-based dispatching code for all instructions.
引用
收藏
页码:1238 / 1247
页数:10
相关论文
共 50 条
  • [1] eJS']JSTK: Building Java']JavaScript virtual machines with customized datatypes for embedded systems
    Ugawa, Tomoharu
    Iwasaki, Hideya
    Kataoka, Takafumi
    [J]. JOURNAL OF COMPUTER LANGUAGES, 2019, 51 : 261 - 279
  • [2] Collecting Type Information Using Unit Tests for Customizing Java']JavaScript Virtual Machines
    Ugawa, Tomoharu
    Iwasaki, Hideya
    Kataoka, Takafumi
    [J]. PROCEEDINGS OF THE 12TH WORKSHOP ON IMPLEMENTATION, COMPILATION AND OPTIMIZATION OF OBJECT-ORIENTED LANGUAGES, PROGRAMS AND SYSTEMS (ICOOOLPS' 19), 2019,
  • [3] HBench:Java']Java:: An application-specific benchmarking framework for Java']Java Virtual Machines
    Zhang, XL
    Seltzer, M
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2001, 13 (8-9): : 775 - 792
  • [5] A Symbolic Execution Framework for Java']JavaScript
    Saxena, Prateek
    Akhawe, Devdatta
    Hanna, Steve
    Mao, Feng
    McCamant, Stephen
    Song, Dawn
    [J]. 2010 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 2010, : 513 - 528
  • [6] JaVerT: Java']JavaScript Verification and Testing Framework
    Gardner, Philippa
    [J]. PPDP'18: PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2018,
  • [7] Elysia: Optimizing Java']JavaScript Web Framework
    Archiwaranguprok, Chayapatr
    Khunpanitchot, Kongkeit
    Mano, Phoomparin
    Toahchoodee, Manachai
    [J]. 39TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2024, 2024, : 1789 - 1796
  • [8] Java']JavaScript Application Framework for Mobile Devices
    Raghu, R.
    Shobha, K. R.
    [J]. GLOBAL TRENDS IN COMPUTING AND COMMUNICATION SYSTEMS, PT 1, 2012, 269 : 291 - 299
  • [9] THE TRANSITIVE TRUST IN JAVA']JAVA VIRTUAL MACHINES
    Shi, Yong
    Han, Zhen
    Shen, Chang-Xiang
    [J]. PROCEEDINGS OF 2009 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND CYBERNETICS, VOLS 1-6, 2009, : 2802 - +
  • [10] The new crop of Java']Java™ virtual machines
    Bak, L
    Duimovich, J
    Fang, J
    Meyer, S
    Ungar, D
    [J]. ACM SIGPLAN NOTICES, 1998, 33 (10) : 179 - 182