SELF: The power of simplicity
- D. Ungar, Randall B. Smith
- Computer ScienceConference on Object-Oriented Programming Systems…
- 1 December 1987
Because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures, and offers new insights into object-oriented computation.
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
- D. Ungar
- Computer ScienceSDE 1
- 25 April 1984
Generation Scavenging is a reclamation algorithm that has no noticeable pauses, eliminates page faults for transient objects, compacts objects without resorting to indirection, and reclaims circular structures, in one third the time of traditional approaches.
An efficient implementation of SELF, a dynamically-typed object-oriented language based on prototypes
- C. Chambers, D. Ungar, Elgin Lee
- Computer ScienceConference on Object-Oriented Programming Systems…
- 1 October 1989
This work has developed and implemented techniques that double the performance of dynamically-typed object-oriented languages and dynamically compiles multiple versions of a source method, eachcustomized according to its receiver's map.
Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
- Urs Hölzle, C. Chambers, D. Ungar
- Computer ScienceEuropean Conference on Object-Oriented…
- 15 July 1991
PICs provide a new way to reduce the overhead of polymorphic message sends by extending inline caches to include more than one cached lookup result per call site.
Optimizing dynamically-dispatched calls with run-time type feedback
- Urs Hölzle, D. Ungar
- Computer ScienceACM-SIGPLAN Symposium on Programming Language…
- 1 June 1994
Abstrach Object-oriented programs are difficult to optimize because they execute many dynamically-dispatched calls. These calls cannot easily be eliminated because the compiler does not know which…
Animation: from cartoons to the user interface
- Bay-Wei Chang, D. Ungar
- Computer ScienceACM Symposium on User Interface Software and…
- 1 December 1993
The Self user interface has served as a testbed for the application of cartoon animation techniques as a means of making the interface easier to understand and more pleasant to use and cartoon animation has much to lend to user interfaces to realize both affective and cognitive benefits.
Debugging optimized code with dynamic deoptimization
- Urs Hölzle, C. Chambers, D. Ungar
- Computer ScienceACM-SIGPLAN Symposium on Programming Language…
- 1 July 1992
SELF's debugging system provides complete source-level debugging (expected behavior) with globally optimized code and is the first practical system providing full expected behavior with globally optimize code.
Mirrors: design principles for meta-level facilities of object-oriented programming languages
- Gilad Bracha, D. Ungar
- Computer ScienceConference on Object-Oriented Programming Systems…
- 1 October 2004
Three design principles for reflection and metaprogramming facilities in object oriented programming languages are identified and reflective APIs built around the concept of mirrors are characterized by adherence to these three principles.
A third-generation SELF implementation: reconciling responsiveness with performance
- Urs Hölzle, D. Ungar
- Computer ScienceConference on Object-Oriented Programming Systems…
- 1994
SELF-93 is the first implementation of a pure object-oriented language achieving both good performance and good responsiveness, and a definition of pause clustering is proposed and it is shown that clustering can make an order-of-magnitude difference in the pause time distribution.
Customization: optimizing compiler technology for SELF, a dynamically-typed object-oriented programming language
- C. Chambers, D. Ungar
- Computer ScienceACM-SIGPLAN Symposium on Programming Language…
- 21 June 1989
Coupling these new techniques with compile-time message lookup, aggressive procedure inlining, and traditional optimizations has doubled the performance of dynamically-typed object-oriented languages.
...
...