Results 1 -
4 of
4
TALx86: A Realistic Typed Assembly Language
- In Second Workshop on Compiler Support for System Software
, 1999
"... The goal of typed assembly language (TAL) is to provide a low-level, statically typed target language that is better suited than Java bytecodes for supporting a wide variety of source languages and a number of important optimizations. In previous work, we formalized idealized versions of TAL and pro ..."
Abstract
-
Cited by 143 (38 self)
- Add to MetaCart
The goal of typed assembly language (TAL) is to provide a low-level, statically typed target language that is better suited than Java bytecodes for supporting a wide variety of source languages and a number of important optimizations. In previous work, we formalized idealized versions of TAL and proved important safety properties about them. In this paper, we present our progress in defining and implementing a realistic typed assembly language called TALx86. The TALx86 instructions comprise a relatively complete fragment of the Intel IA32 (32-bit 80x86 flat model) assembly language and are thus executable on processors such as the Intel Pentium. The type system for the language incorporates a number of advanced features necessary for safely compiling large programs to good code. To motivate the design of the type system, we demonstrate how various high-level language features are compiled to TALx86. For this purpose, we present a type-safe C-like language called Popcorn. 1 Introductio...
How to Migrate Agents
, 1998
"... Using our migration extension technique, it is possible to create an agent system in which the programmer is not restricted from using any part of the normally available functionality in their programming language. As mentioned above, any library calls must be non-blocking when multithreading is use ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Using our migration extension technique, it is possible to create an agent system in which the programmer is not restricted from using any part of the normally available functionality in their programming language. As mentioned above, any library calls must be non-blocking when multithreading is used. We can handle most blocking methods with further code transformations, but we are as yet unconvinced that this is necessary: mobile agent applications probably need to use special, migration-aware libraries anyway. 6 The exact design of the library support for agents written with our migration extension is as yet undetermined; we are presently concentrating our efforts on the implementation of the pre-compiler. The migration request itself appears to the programmer as a simple function call. That is, we ensure that migration requests can occur at any point in the original source that a function call could normally occur. This request includes a destination and optional parameters...
RISC-like approach to flexible, high-performance virtual machine design
, 1998
"... Contents 1 Introduction 5 2 Problems 6 2.1 Flexibility of the Java Virtual Machine . . . . . . . . . . . . . . . . . 6 2.1.1 Storage management . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 Bytecode verification . . . . . . . . . . . . . . . . . . . . . . 7 2.1.3 Primitive operations . . . . . ..."
Abstract
- Add to MetaCart
Contents 1 Introduction 5 2 Problems 6 2.1 Flexibility of the Java Virtual Machine . . . . . . . . . . . . . . . . . 6 2.1.1 Storage management . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 Bytecode verification . . . . . . . . . . . . . . . . . . . . . . 7 2.1.3 Primitive operations . . . . . . . . . . . . . . . . . . . . . . 8 2.1.4 Thread scheduling . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Virtual machine complexity . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1 Size of virtual machine implementations . . . . . . . . . . . . 9 2.2.2 Risk of errors . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 Proposal 10 3.1 Technical details . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Timescale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 Related work 12 5 Conclusion 14 4 5 1 Introduction Papers concerning the Java programming language [GJS97] and its implementation have a characteristic structur
MLJVM: A Java Virtual Machine implemented
"... This thesis describes the MLJVM, a Java Virtual Machine written in the impure functional language Standard ML. Being the first of its kind in this functional approach, my thesis provides not only a detailed description of the implementation of the MLJVM, but also some insight into the pros and cons ..."
Abstract
- Add to MetaCart
This thesis describes the MLJVM, a Java Virtual Machine written in the impure functional language Standard ML. Being the first of its kind in this functional approach, my thesis provides not only a detailed description of the implementation of the MLJVM, but also some insight into the pros and cons of a functional JVM.

