Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unboxed objects and polymorphic typing
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type-based compiler for standard ML
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Advanced compiler design and implementation
Advanced compiler design and implementation
Linear scan register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A high performance Erlang system
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Unboxed Values as First Class Citizens in a Non-Strict Functional Language
Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture
Linear Scan Register Allocation in a High-Performance Erlang Compiler
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
The HiPE/x86 Erlang Compiler: System Description and Performance Evaluation
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
All you wanted to know about the HiPE compiler: (but might have been afraid to ask)
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
ERLANG '04 Proceedings of the 2004 ACM SIGPLAN workshop on Erlang
Efficiently compiling a functional language on AMD64: the HiPE experience
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Efficient floating-point number handling for dynamically typed scripting languages
DLS '08 Proceedings of the 2008 symposium on Dynamic languages
Hi-index | 0.00 |
In the context of the dynamically typed concurrent functional programming language ERLANG, we describe a simple static analysis for identifying variables containing floating point numbers, how this information is used by the BEAM compiler, and a scheme for efficient (just-in-time) compilation of floating point bytecode instructions to native code. The attractiveness of the scheme lies in its implementation simplicity. It has been fully incorporated in Erlang/OTP R9, and improves the performance of ERLANG programs manipulating floats considerably. We also show that by using this scheme, Erlang/OTP, despite being an implementation of a dynamically typed language, achieves performance which is competitive with that of state-of-the-art implementations of strongly typed strict functional languages on floating point intensive programs.