121 citations found. Retrieving documents...
L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk--80 system. In Conference Record of the 11th Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, pages 297--302, January 1984.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Compact Dispatch Tables for Dynamically Typed Programming Languages - Vitek (1996)   (10 citations)  (Correct)

....to call sites and not messages. One call site can be monomorphic, whereas an other site with the same message selector can be megamorphic. Of course, a call site can belong to different categories during different runs of the program. Techniques which speed up message passing by inline caching [23], 33] rely on the locality of types at call sites. They are fastest for monomorphic sites or for sites which exhibit good temporal locality, that is polymorphic site where the type of the receiver varies slowly over time. Here again there is a difference between pure and hybrid languages. Pure ....

....( missTime = find the correct implementation. At the end of this search, the cache is augmented with the new tuple and then control is transferred to the method. The cache hit rate depends heavily on program behavior; cache hit ratios between 85 and 95 have been reported in the literature [23], 32] 33] The run time memory required by this algorithm is small: usually a fixed amount for the cache plus the overhead of the backup technique. The size of the cache varies from one implementation to the next: 8] 16] 32] advocate one global fixed size cache of 1K slots, and [42] uses ....

[Article contains additional citation context not shown here]

Deutsch, L.P., Schiffman, A.: Efficient Implementation of the Smalltalk-80 System, Proc. 11th Symp.on Principles of Programming Languages, Salt Lake City, UT, 1984.


Safe Class and Data Evolution in Large and Long-Lived Java.. - Dmitriev (2001)   (10 citations)  (Correct)

....HotSpot Virtual Machine have their roots in much earlier systems, specifically the implementations of Smalltalk and SELF programming languages. While dynamic code generation has been used before for a variety of applications, the seminal work by Deutsch and Schiffman for the Smalltalk 80 system [DS84] is a key piece in the puzzle. Their system dynamically compiled individual methods into native machine code to speed up an otherwise comparatively slow Smalltalk bytecode interpreter. Their system influenced many other Smalltalk systems. Later, both the Smalltalk language and its implementation ....

L. Deutsch and A. Schiffman. Efficient Implementation of the Smalltalk-80 System. In Proceedings of 11th Symposium on the Principles of Programming Languages, Salt Lake City, USA, 1984.


Dynamic Native Optimization of Interpreters - Sullivan, Bruening, Baron.. (2003)   (3 citations)  (Correct)

....improvement from call return matching. 9 Related Work Moore and Leach [27] describe writing threaded interpreters. Piumarta and Riccardi [29] go further with dynamically generated bytecode sequences. Dynamic compilation has proven essential for efficient implementation of high level languages [13, 1]. Some just in time compilers perform profiling to identify which methods to spend more optimization time on [20] The Jalape no Java virtual machine [3, 23] utilizes idle processors in an SMP system to optimize code at runtime. Jalape no optimizes all code at an initial low level of optimization, ....

L. P. Deutsch and A. M. Schiffman. Efficient implementation of the Smalltalk-80 system. In ACM Symposium on Principles of Programming Languages (POPL '84), Jan. 1984.


A Framework for Reducing the Cost of Instrumented Code - Arnold, Ryder (2001)   (26 citations)  (Correct)

....average total overhead of 3 . 1 Introduction Early virtual machines with JIT compilation relied on simple static strategies for choosing compilation targets, typically compiling each method with a fixed set of optimizations the first time it was invoked. Examples of such virtual machines include [1, 13, 18, 24, 33, 40]. More advanced adaptive systems [5, 22, 30, 31, 35] moved beyond this simple strategy by dynamically selecting a subset of all methods for optimization, attempting to focus optimization effort on program hot spots. This selective optimization approach avoids the overhead of optimizing all ....

L. P. Deutsch and A.M. Schiffman. Efficient implementation of the Smalltalk-80 system. In 11th Annual ACM Symposium on the Principles of Programming Languages, pages 297 302, Jan. 1984.


An Infrastructure for Adaptive Dynamic Optimization - Bruening, Garnett, Amarasinghe (2003)   (17 citations)  (Correct)

....This lookup is the single greatest source of overhead in DynamoRIO. To mitigate the overhead, a series of compares and conditional direct branches for each frequent target are inserted prior to the hashtable lookup. This is similar to the inline caching of virtual call targets in Smalltalk [14] and Self [21] but applied to returns and indirect jumps as well as indirect calls. The optimization works as follows: when an indirect branch inlined in a trace has a target different from that recorded when the trace was created, it usually transfers 7 # je hot target 1 cmp real target, hot ....

....binary compatibility [8, 25] Recent dynamic translation systems such as UQDBT [36] and Dynamite [31] separate the source and target architectures to create extensible systems that can be re targeted. Dynamic compilation has proven essential for efficient implementation of high level languages [14, 1]. Some justin time compilers perform profiling to identify which methods to spend more optimization time on [22] The Jalape no Java virtual machine [3, 26] utilizes idle processors in an SMP system to optimize code at runtime. Jalape no optimizes all code at an initial low level of optimization, ....

L. P. Deutsch and A. M. Schiffman. Efficient implementation of the Smalltalk-80 system. In ACM Symposium on Principles of Programming Languages (POPL '84), Jan. 1984.


Walkabout - A Retargetable Dynamic Binary Translation.. - Cifuentes, Lewis, Ung (2002)   (2 citations)  (Correct)

....[CLS00] and the Open Runtime Platform [CLS02] and IBM s Jalapeno [AAB 00] use dynamic compilation techniques to produce good quality native code. These techniques have been derived over time from virtual machine technology used to implement object oriented languages such as Smalltalk [GR83] DS84] and Self [US87] Hol94] Self was the inspiration for the original Java HotSpot virtual machine. The architecture of optimizing virtual machines is based on the premise that most programs spend 90 of the time in 10 of the code therefore, the VM only optimizes that 10 of the code and ....

....The pieces of code at 0x200b3cd4, 0x200b3d00, etc, are all exit portals. 4) Inline Caching: Inline caching is a technique originally developed for Smalltalk virtual machines to cache in line a lookup result for a message send call, hence removing the overhead of the system s lookup routine [DS84] The inlined routine adds, in its prologue, guard code to determine that the receiver type is the expected one. Inline caching is used in the PathFinder to predict the target address of indirect transfers of control. The technique is simple: given a trace of the targets for such transfers of ....

Peter Deutsch and Alan M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Conference Record of the 11th Annual ACM Symposium on Principles of Programming Languages, pages 297--302. ACM Press, January 1984.


Profile-Guided Code Compression - Debray, Evans (2002)   (5 citations)  (Correct)

....by Lucco [19] though rather than immediately discarding a function after execution, he caches the function in the hope that it might be re executed. The Smalltalk 80 system also extracts an executable version of a function from an intermediate representation when the procedure is first invoked [8]. It caches the 96 bsr ra, g return f: offset instruction cs0 entry 97 . EntryStub: bsr r, Decompress never compressed RestoreStub(f,98) runtime stub list bsr ra, Decompress f: cs0 bsr ra, CreateStub return br g 96 97 . 98 offset (b) Transformed, during runtime after ....

P. Deutsch and A. Schiffman. Efficient implementation of the Smalltalk-80 system. In Proc. Symp. on Principles of Programming Languages, pp. 297--302, January 1984.


`C: A Language for High-Level, Efficient, and.. - Engler, Hsieh, Kaashoek (1996)   (4 citations)  (Correct)

....matrix scaling by a runtime constant is shown in Figure 1. This example can be viewed as programmer expressed partial evaluation. Interpreters can use dynamic code generation technology to improve performance by compiling and then directly executing frequently interpreted pieces of code [2, 4]. To show that C can be used to do this easily and efficiently we present a recursive descent compiling interpreter that accepts a subset of C that we call Tiny C [5] Tiny C has only an integer type; it supports most of C s relational and arithmetic operations ( etc. and provides if ....

....We expect the use of templates to improve the speed of dynamic code generation by an order of magnitude [12] 6 Related Work Dynamic code generation has a long history. It has been used to increase the performance of operating systems [15] windowingoperations [14] dynamically typed languages [2, 8, 4], simulators [18] and matrix manipulations [5] These systems have typically used low level, non portable dynamic code generation techniques. With C applications can now specify code in a simple, portable, and efficient manner. C grew out of our previous work with dcg [5] an efficient, ....

P. Deutsch and A.M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Proceedings of 11th POPL, pages 297--302, Salt Lake City, UT, January 1984.


Secure Execution Via Program Shepherding - Kiriansky, Bruening, Amarasinghe (2002)   (30 citations)  (Correct)

....the classic stack buffer overflow attack. A relaxation of this policy allows dynamically generated code, but requires that it contain no system calls. Legitimate dynamically generated code is usually used for performance; for example, many high level languages employ just in time compilation [1, 11] to generate optimized pieces of code that will be executed natively rather than interpreted. This code almost never contains system calls or other potentially dangerous operations. For this reason, imposing a strict security policy on dynamically generated code is a reasonable approach. Shared ....

L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk-80 system. In ACM Symposium on Principles of Programming Languages (POPL '84), January 1984.


The Space Overhead of Customization - Dieckmann, Hölzle (1997)   (Correct)

....system. Thus, even in dynamically compiled systems customization and efficient memory usage need not be mutually exclusive. 1. Introduction Pure object oriented languages such as Self [US87] or Smalltalk [GR83] are difficult to implement because of the high frequency of virtual method calls [DS84], CUL89] Much previous work has attempted to overcome this performance problem with a suite of optimization techniques aimed at reducing the cost of dynamic dispatch: inlining [CU93] customization ( CU89] CU93] splitting ( CU93] CU90] type inference [APS93] type feedback [HU94a] ....

L. Peter Deutsch and Alan Schiffman. Efficient Implementation of the Smalltalk-80 System. Proceedings of the 11th Symposium on the Principles of Programming Languages, Salt Lake City, UT, 1984.


First Year Report - Harris (1998)   (Correct)

....It is not clear to what extent compiled and non compiled code can interoperate (enabling this was one of the motivations for the simple register allocator of section 4.1.2) The impact of compilation on interactive performance is not analyzed. 23 The Deutsch Shiffman Smalltalk 80 implementation [DS84] uses run time code generation to achieve acceptable performance on conventional hardware (at the time meaning not user microprogrammable) The generated code is cached in physical memory since the time taken reloading code after it was paged out was perceived to be larger than the time taken to ....

Peter Deutsch and Alan M. Schiffman. Efficient implementation of the smalltalk-80 system. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 297--302. ACM, ACM, January 1984.


Implementation techniques for a multi-service Java Virtual Machine - Harris (1999)   (Correct)

....It is not clear to what extent compiled and non compiled code can inter operate (enabling this was one of the motivations for the simple register allocator of Section 3.1.2) The impact of compilation on interactive performance is not analyzed. The Deutsch Shiffman Smalltalk 80 implementation [DS84] uses run time code generation to achieve acceptable performance on conventional hardware (at the time meaning not user microprogrammable) The generated code is cached in physical memory since the time taken reloading code after it was paged out was perceived to be larger than the time taken to ....

Peter Deutsch and Alan M. Schiffman. Efficient implementation of the smalltalk-80 system. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 297--302. ACM, ACM, January 1984.


RISC-like approach to flexible, high-performance virtual machine.. - Harris (1998)   (Correct)

....frames are exposed as mutable objects. It is intended to be an exploratory programming environment, in which class definitions can be introduced and modified during a single invocation of the virtual machine. This provides a challenging environment in which to integrate native code generation [DS84, UBF 84] Many of the comments in section 2 apply to the Smalltalk 80 VM in the same was as the JVM. For example, the primitive operations exposed as bytecodes correspond to reasonably high level notions in the Smalltalk 80 language syntax. As with the JVM, thread scheduling and automatic ....

Peter Deutsch and Alan M. Schiffman. Efficient implementation of the smalltalk-80 system. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 297--302. ACM, ACM, January 1984.


Optimizing ML with Run-Time Code Generation - Detex Paper Wc   (Correct)

No context found.

L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk--80 system. In Conference Record of the 11th Annual ACM Symposium on Principles of Programming Languages, Salt Lake City, pages 297--302, January 1984.


VXA: A Virtual Architecture for Durable Compressed Archives - Bryan Ford Computer   (Correct)

No context found.

L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Principles of Programming Languages, pages 297--302, Salt Lake City, UT, January 1984.


Experience With Distributed Smalltalk - John Bennett Department (1990)   (6 citations)  (Correct)

No context found.

L. Peter Deutsch and Allan M. Schiffman. Efficient Implementation of the Smalltalk-80 System. In Eleventh ACM Conference on Principles of Programming Languages, pages 297--302, Salt Lake City, Utah, 1984.


VXA: A Virtual Architecture for Durable Compressed Archives - Ford   (Correct)

No context found.

L. Peter Deutsch and Allan M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Principles of Programming Languages, pages 297--302, Salt Lake City, UT, January 1984.


Multiple Code Inheritance in Java - Maria Cutumisu Paul (2003)   (Correct)

No context found.

L. Peter Deutsch and Alan Schiffman. Efficient implementation of the smalltalk-80 system. In Principles of Programming Languages, Salt Lake City, UT, 1994.


Meta-Programming through Typeful Code Representation - Chen, Xi (2003)   (4 citations)  (Correct)

No context found.

L. P. Deutsch and A. M. Schiffman. Efficient Implementation of Smalltalk-80 System. In Proceedings of 11th ACM SIGPLAN Symposium on Principles of Programming Languages, pages 297--302, Salt Lake City, Utah, 1984.


A Framework for Inheritance Management and Method Dispatch - Holst, Szafron (1999)   (Correct)

No context found.

L. Peter Deutsch and Alan Schiffman. Efficient implementation of the smalltalk-80 system. In Principles of Programming Languages, Salt Lake City, UT, 1994.


Effective Interprocedural Optimization of Object-Oriented Languages - Grove (1998)   (5 citations)  (Correct)

No context found.

L. Peter Deutsch and Allan M. Schiffman. Efficient Implementation of the Smalltalk-80 System. In Conference Record of the Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 297--302, January 1984.


Supporting Just-In-Time Compilation In A Portable - Manner Joeljones Jones   (Correct)

No context found.

L. P. Deutsch and A. M. Schiffman. Efficient Implementation of the Smalltalk-80 System, Proceedings, 11 th Annual ACM Symposium on the Principles of Programming Languages, Salt Lake City, Utah (January 15-18, 1984), 297-302.


Walkabout - A Retargetable Dynamic Binary Translation.. - Cifuentes, Lewis, Ung (2002)   (2 citations)  (Correct)

No context found.

Peter Deutsch and Alan M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Conference Record of the 11th Annual ACM Symposium on Principles of Programming Languages, pages 297--302. ACM Press, January 1984. 27


Dynamic Metrics for Compiler Developers - Dufour, Driesen, Hendren.. (2002)   (Correct)

No context found.

L. P. Deutsch. Efficient implementation of the Smalltalk-80 system. In Conference record of the 11th ACM Symposium on Principles of Programming Languages (POPL), pages 297--302, 1984.


Incremental Algorithms for Dispatching in Dynamically Typed.. - Zibin, Gil   (Correct)

No context found.

P. Deutsch and A. Schiffman. Efficient implementation of the Smalltalk-80 system. In 11 Symposium on Principles of Programming Languages, POPL'84, pages 297--302, Salt Lake City, Utah, Jan. 1984. ACM SIGPLAN --- SIGACT, ACM Press.

First 50 documents  Next 50

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