15 citations found. Retrieving documents...
David W. Wall and Michael L. Powell, `The Mahler experience: using an intermediate language as the machine description', Proc. Second International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS II), October 1987, pp. 100--109.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
revEELing Solaris - Remzi Arpaci Manuel (1996)   (1 citation)  (Correct)

....environment. 1 2.1 Binary Instrumentation Binary instrumentation is a technique to insert instrumentation sequences of machine instructions into a program in executable or object format. Many tools have been written in the past that use this technique for various purposes (Pixie, Mahler [WP87], Nixie and Epoxy [Wal92] QPT [BL94] ATOM [SW94] All these tools work essentially in the same way, performing a sequence of 3 phases: 1. Analysis ffl Break code into functions and basic blocks ffl Analyze control transfers (jumps, branches, calls) ffl Produce control flow graph 2. ....

David W. Wall and Michael L. Powell. The Mahler experience: Using an intermediate language as the machine description. In Second International Symposium on Architectural Support for Programming Languages and Operating Systems (ASPLOS), volume 22 of SIGPLAN Notices, pages 100--104, October 1987.


The Distribution of Instruction-Level and Machine Parallelism and .. - Jouppi (1989)   (Correct)

....paper. 2. Machine Evaluation Environment The language system originally designed for the MultiTitan consists of an optimizing compiler (which includes the linker) and a fast instruction level simulator. The compiler includes an intermodule register allocator and a pipeline instruction scheduler [15, 16]. For this study, we gave the system an interface that allowed us to alter the characteristics of the target machine. This interface allows us to specify details about the pipeline, functional units, cache, and register set. The language system then optimizes the code, allocates registers, and ....

....Thus class conflicts can substantially reduce the parallelism exploitable by a superscalar machine. We will not consider superscalar machines or any other machines that issue instructions out of order. Techniques to reorder instructions at compile time instead of at run time are almost as good [2, 3, 16], and are substantially simpler than doing it in hardware. 3.4. Superpipelined Machines Superpipelined machines exploit instruction level parallelism in another way. In a superpipelined machine of degree m, the cycle time is 1 m the cycle time of the base machine. Since a fixed point add took a ....

Wall, David W., and Powell, Michael L. The Mahler Experience: Using an Intermediate Language as the Machine Description. In Second International Conference on Architectural Support for Programming Languages and Operating Systems, pages 100-104. IEEE Computer Society Press, October, 1987.


Compacting Garbage Collection with Ambiguous Roots - Bartlett (1988)   (64 citations)  (Correct)

....great efforts are made to control instruction sequences, stack layout, and register use. There, derived pointers are a problem and some protocol must be provided to keep them updated. Other environments present more serious problems in finding roots. If a Lisp system uses an intermediate language [15] as its target language, then it may have very little control over the actual code generated. While this approach may simplify the compiler and result in fast code because of the extensive machine dependent optimization provided by the intermediate language processor, it will not assure that Lisp ....

....collection algorithm was developed to provide garbage collection for a Scheme implementation for the Titan, a high performance experimental workstation developed at WRL. The official definition for the machine is not the processor s instruction set, but the the Mahler intermediate language [15] which is the object code produced by all compilers. When the Mahler code is compiled, extensive machine dependent optimization is done. This includes allocation of frequently used local storage to registers, global register allocation [14] and code reordering to overlap execution with the ....

David W. Wall, Michael L. Powell. The Mahler Experience: Using an Intermediate Language as the Machine Description. In Second International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS II), pages 100-104. October, 1987.


Systematic Computer Architecture Prototyping - Conte (1992)   (3 citations)  (Correct)

....executables [25] The intermediate 18 code of a retargetable compiler is designed to be translated into many different instruction sets. The instruction set architecture of the processor in this thesis is assumed to be this intermediate code language. This approach has been used previously in [26]. The processor simulation methods rely only on the type of each instruction and the identities of the operands. For this reason, other instruction formats can be used with the trace without modification. The use of intermediate code removes machine specific operand restrictions or ....

D. W. Wall and M. L. Powell, "The Mahler experience: using an intermediate language as the machine description," in Proc. Second Int'l. Conf. on Architectural Support for Prog. Lang. and Operating Systems., (Palo Alto, CA), pp. 100--104, Oct. 1987.


DML - A Meta-language and System for the Generation of.. - Pettersson, Fritzson (1992)   (5 citations)  (Correct)

....bindings have unique names (this allows us to dispense with run time closures, as we show later) 3. Traverse the converted term, and produce quadruples as shown above. The quadruples can then be fed into a conventional optimizing back end for global optimization and register allocation, see Wall [27]. 2.2 Related work on code generation As mentioned in the introduction, we consider our approach of generating quadruples from continuation style semantics to be quite different from the usual stack based systems. Wand [28] proposes that closures be eliminated by introducing a family D k of ....

David A. Wall and Michael L. Powell. The Mahler experience: Using an intermediate language as the machine description. Technical Report 87/1, DECWRL, 1987.


The Impact of Software Structure and Policy on CPU and Memory.. - Chen (1994)   (5 citations)  (Correct)

....was used to instrument executables so that address trace is generated as a side effect of program execution. Epoxie borrows from a previous DEC WRL tracing system that ran on the DEC WRL Titan computer [61] It was based on load time modifications in an intermediate language called Mahler [16, 84]. The WRL systems and the system used in this research both use the operating system to control the tracing experiment and manage trace data. This makes it possible to handle trace activity from multiple concurrent contexts, and to use arbitrarily long trace experiments by analyzing address ....

David W. Wall and Michael L. Powell. The Mahler Experience: Using an Intermediate Language as the Machine Description. Second International Symposium on Architectural Support for Programming Languages and Operating Systems, 1987, pp. 100-104. A more detailed version is available as WRL Technical Report 87/1.


Profile-Based Optimization with Statistical Profiles - Nick Gloy (1997)   (3 citations)  (Correct)

....our claims of low overhead and high quality for statistical profiles. We discuss related work in Section 5, and Section 6 concludes. 2. Characteristics of Statistical Profiles In current practice, the profiles used for PBOs are typically generated using an instrumentation system [Smith 1991, Wall and Powell 1987, Wall 1992, Srivastava and Eustace 1994] Instrumentation code is added to the original executable so that it can produce a record of the program activity when the program is executed. The key property of this type of profile generation is that it can capture a complete profile including all ....

....of C and Fortran programs. It is not clear if their techniques could be applied to optimizations such as procedure layout. We are currently exploring this question. Many instrumentation tools have been used to generate complete profiles for PBOs [Smith 1991, Srivastava and Eustace 1994, Wall 1992, Wall and Powell 1987] Ball and Larus [1994] discuss efficient techniques for collecting complete profile data. A good review of instrumentation tools is given by Pierce et al. 1995] Even with efficient techniques, the overhead of these tools is orders of magnitude greater than that of MCMS. Conte et al. 1996] ....

D. Wall and M. Powell. "The Mahler Experience: Using an Intermediate Language as the Machine Description," Second International Symposium on Architectural Support for Programming Languages and Operating Systems, pp. 100-104, 1987. See also DEC WRL Technical Report 87/1. 21


Retargetable Instruction Scheduling for Pipelined Processors - Bradlee (1991)   (15 citations)  (Correct)

....style code generator. Bird s model takes only trees and does not take DAGs. It also requires that the trees have width less than the number of registers, because it cannot handle spills, and assumes that all instructions use the pipeline identically. Second, Wall and Powell s Mahler [WP87] uses scheduling information but does not have an explicit machine description language. Mahler uses an assembly language for a simple virtual machine without a pipeline and with an infinite number of registers. The scheduling details are contained within the Mahler translator; therefore, a ....

David W. Wall and Michael L. Powell. The Mahler experience: Using an intermediate language as the machine description. International Conference on Architectural Support for Programming Languages and Operating Systems, October 1987.


Quantifying Behavioral Differences Between C and C++ Programs - Calder (1994)   (47 citations)  (Correct)

....compile or link time analysis could be performed. Initially, we felt that register windows would benefit C programs more than C programs, because the complexity of interprocedural analysis in the presence of indirect function calls would reduce the effectiveness of link time optimizations [52, 44]. However, register window underflow and overflow are the bane of register window implementations. When there are no more windows to allocate, existing windows must be flushed; likewise, windows may need to be loaded from memory. Overflows and underflows occur more frequently as the variance of ....

David W. Wall and Michael L. Powell. The mahler experience: Using an intermediate language as the machine description. In Second International Conference on Architectural Support for Programming Languages and Operating Systems, pages 100--104. ACM, October 1987.


Whole-Program Optimization for Time and Space Efficient Threads - Grunwald, Neves (1996)   (11 citations)  (Correct)

....in much better register utilization. Both the storage management and context switch optimization techniques use whole program or link time optimizations. Whole program optimizers are common for functional languages, but less common for imperative languages. Wall and Powell describe the Mahler [23] system, which allowed link time optimizations. Benitez and Davidson [5] describe VPO, the very portable optimizer, which was capable of some link time optimizations. Santhanam and Odnert [16] described an interprocedural register allocation algorithm constructed using the compilers on the HP ....

David W. Wall andMichael L. Powell. The mahler experience: Using an intermediate language as the machine description. In Proceedings of the 2nd Symposium on Architectural Support for Programming Languages and Operating Systems, pages 100--104. ACM, October 1987.


System Support for Automatic Profiling and Optimization - Zhang, Wang, Gloy, Chen.. (1997)   (28 citations)  (Correct)

....profiling tools is that Morph is designed specifically for automatic profiling and optimization. Morph applies profile driven, machine specific optimizations to intermediate representations of programs and libraries. Like Morph, three prior systems from Digital Equipment Corporation (Mahler [WP87], Epoxie [Wal92] OM [SW92] also performed optimizations on programs after compilation. These tools were designed for UNIX systems and required either an intermediate form representation of the program or an executable that includes relocation information. More recent systems for Windows NT ....

D. Wall and M. Powell, "The Mahler Experience: Using an Intermediate Language as the Machine Description." In Second International Symposium on Architectural Support for Programming Languages and Operating Systems, ACM, April 1987. See also Research Report 87/1, Western Research Laboratory, Digital Equipment Corporation.


Software Methods for System Address Tracing: Implementation.. - Chen, Wall, Borg (1994)   (4 citations)  Self-citation (Wall)   (Correct)

....for memory system design [23] The BACH system has been used to collect address trace on both Intel 80486 and Motorola 68030 based machines [14] To date they have not demonstrated the applicability of their system to RISC based computers. In our work we used two instrumentation tools, Mahler [34] and epoxie [35] There are numerous other software instrumentation tools [27, 4, 13] but none to our knowledge have been used to collect address traces of operating system behavior. 3. The WRL CMU Tracing Systems 3.1. High Level Design The design of the tracing systems was motivated by the need ....

....register sets for user and kernel. The Titan ran a modified version of Ultrix called Tunix. Process and memory management functionality were rewritten for Tunix. All Titan compilers used a common intermediate language, Mahler, which defined a Mahler abstract machine. The Mahler implementation [33, 34] consists of a translator and an extended linker. Object modules produced by Mahler contain sufficient supplementary information to support the code modification required for address trace generation. In particular, basic blocks and their sizes are identifiable at link time. The linker augmented ....

Wall, D. W., and Powell, M. L. The Mahler Experience: Using an Intermediate Language as the Machine Description. Second International Symposium on Architectural Support for Programming Languages and Operating Systems, 1987, pp. 100-104. A more detailed version is available as WRL Technical Report 87/1.


Rewriting Executable Files to Measure Program Behavior - Larus, Ball (1994)   (52 citations)  (Correct)

No context found.

David W. Wall and Michael L. Powell, `The Mahler experience: using an intermediate language as the machine description', Proc. Second International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS II), October 1987, pp. 100--109.


Loop Optimization Techniques On Multi-Issue Architectures - Kaiser   (Correct)

No context found.

D. W. Wall, M. L. Powell, The Mahler Experience: Using an Intermediate Language as the Machine Description, Proceedings of the Second International Conference on Architectural Support for Programming Languages and Operating 183 Systems, 1987, pp. 100-104.


Quantifying Behavioral Differences Between C and C++ Programs - Calder, Grunwald, Zorn (1995)   (47 citations)  (Correct)

No context found.

David W. Wall and Michael L. Powell. The Mahler experience: Using an intermediate language as the machine description. In Second International Conference on Architectural Support for Programming Languages and Operating Systems, pages 100--104. ACM, October 1987.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC