Skip to content
Back to the collection

Efficient implementation of the smalltalk-80 system

L. Peter Deutsch, Allan M. Schiffman

1984 · Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '84

Read the paper
HN score
0
Mentions
5
Readers
4
Months
5
What’s in a score?

In the conversation

Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels

5 selected excerpts · 5 total mentions

mpweiher
Neutral mention · rule
Really, no. I know a lot of these people personally. Heck, I theoretically share(d) an office with one. And of course the way that Self's technology made it to Java's HotSpot, which is still tons faster than any JS, was via Anamorphic and Strongtalk. https://en.wikipedia.org/wiki/HotSpot_(virtual_machine) https://strongtalk.org https://en.wikipedia.org/wiki/Strongtalk https://gist.github.com/landonf/9053062 But of course Smalltalk was jitted long before that, with Peter Deutsch's VM. https://dl.acm.org/doi/10.1145/800017.800542 Higher performance VM/compiler technology was not enabled by Self's object model, it was necessitated by it. The system was just too slow…
Read the full comment
otherwise. Squeak was never intended as a high performance Smalltalk implementation, it had different goals. When Squeak was created, an automatically generated bytecode VM was already tons faster than the fastest high-performance Smalltalk computers the creators had worked with at PARC, in particular the Dorado. This was considered more than fast enough for what they were trying to do, in particular because the bulk multi-media processing would be done by plugins (also often generated). Making a JIT for better performance was a non-goal. So using Squeak (and later OpenSmalltalk) as a comparison is just completely invalid. The Cog VM was started around 15 years after that, by a Smalltalk VM engineer who had already worked on jitted VMs professionally. http://www.mirandabanda.org/cogblog/microbio/ And so using the Cog VM as some sort of benchmark as the "first fast" Smalltalk implementation is completely unrelated to reality.
johndoe0815
Neutral mention · rule
The paper describing this first Smalltalk JIT is available at ACM (all ACM papers published before the end of 2000 are open access now): L Peter Deutsch and Allan M. Schiffman, Efficient Implementation of the Smalltalk-80 System, POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages https://dl.acm.org/doi/10.1145/800017.800542
jecel
Neutral mention · rule
A key development in dynamic compilation happened in Xerox PARC to allow Smalltalk to run well on commercial workstations: https://dl.acm.org/doi/10.1145/800017.800542 "Efficient implementation of the smalltalk-80 system" by L. Peter Deutsch and Allan M. Schiffman in POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, January 1984, Pages 297–302 This motivated the creation of the ParcPlace spinoff to commercialize this technology. It was not the first JIT, but quite a few modern ones were inspired by it. Self started out as one of the "Smalltalk-86" projects at Xerox PARC with Randy Smith collaborating with Berkeley's…
Read the full comment
David Ungar. It was supposed to be a simpler and purer Smalltalk even if that made practical implementations impossible. But with David Ungar becoming a professor at Stanford, he found students that helped him make it possible, and eventually even much faster than existing Smalltalks. Craig Chambers worked on type inference for Self 1 and 2 and then Urs Hölzle worked on adaptive compilation with type feedback for Self 3 and 4. https://dl.acm.org/doi/10.1145/191080.191116 "A third-generation SELF implementation: reconciling responsiveness with performance" by Urs Hölzle and David Ungar in OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, October 1994, Pages 229–243 This is the technology that became "Hot Spot" for Java. But very few virtual machines have this level of sophistication.
pjmlp
Neutral mention · rule
Not the OP, but these papers are well known anyway. Smalltalk was one of the first JIT implementations, "Efficient implementation of the smalltalk-80 system" https://dl.acm.org/doi/10.1145/800017.800542 Then they followed up with StrongTalk, https://strongtalk.org/ And SELF, which JavaScript OOP is modeled on, https://selflanguage.org You will recognize some of the V8 names on those papers. Additionally, SELF JIT was repurposed as Hotspot by Java 1.2. Although Java looks like C++ from syntax point of view, it actually is closer to Smalltalk and Objective-C in runtime semantics, thus it could profit a lot from that JIT research as well, even though it was originally targeted to dynamic languages.

Keep following the thread.

More in Programming languages

More from the same topics.