A. Dain Samples

dblp:14/6510 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 1992
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 3 first-authorSystems, architecture and hardware · 3 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Processor architecture and microarchitecture · 61% Performance modeling and evaluation · 26% Memory systems · 13%
Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 55% Programming languages and type systems · 29% Runtime systems and virtual machines · 17%

Topics — the 13 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
instruction set architecture
0.021987
Compiling Smalltalk-80 to a RISC · ASPLOS 1987
Architecture of SOAR: Smalltalk on a RISC · ISCA 1984
Processor architecture and microarchitecture › instruction set architecture
RISC
0.021987
Compiling Smalltalk-80 to a RISC · ASPLOS 1987
Architecture of SOAR: Smalltalk on a RISC · ISCA 1984
Performance modeling and evaluation
workload characterization
0.011989
Mache: No-Loss Trace Compaction · SIGMETRICS 1989
Compilers and program optimization
code generation
0.011987
Compiling Smalltalk-80 to a RISC · ASPLOS 1987
Compilers and program optimization
register allocation
0.011987
Compiling Smalltalk-80 to a RISC · ASPLOS 1987
Compilers and program optimization › compiler construction
compilation techniques
0.011986
SOAR: Smalltalk Without Bytecodes · OOPSLA 1986
Runtime systems and virtual machines
virtual machine implementation
0.011986
SOAR: Smalltalk Without Bytecodes · OOPSLA 1986
Memory systems
memory management
0.011986
SOAR: Smalltalk Without Bytecodes · OOPSLA 1986
Programming languages and type systems › object-oriented programming
smalltalk
0.031987
Compiling Smalltalk-80 to a RISC · ASPLOS 1987
SOAR: Smalltalk Without Bytecodes · OOPSLA 1986
Architecture of SOAR: Smalltalk on a RISC · ISCA 1984
Processor architecture and microarchitecture › register file
register window
0.011984
Architecture of SOAR: Smalltalk on a RISC · ISCA 1984
Programming languages and type systems › object-oriented programming
object-oriented languages
0.021987
Compiling Smalltalk-80 to a RISC · ASPLOS 1987
SOAR: Smalltalk Without Bytecodes · OOPSLA 1986
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation
0.011989
Mache: No-Loss Trace Compaction · SIGMETRICS 1989
Programming languages and type systems
object-oriented programming
0.011984
Architecture of SOAR: Smalltalk on a RISC · ISCA 1984

Methods — techniques the papers use, named apart from their topics

register window allocation · 0.0instruction-level simulation · 0.0hashing · 0.0bytecode compilation · 0.0activation record management · 0.0simulation · 0.0referencing locality exploitation · 0.0
YearPublicationVenuePosition
1992 Compiler Implementation of ADTs Using Profile Data
A. Dain Samples
CC1
1989 Mache: No-Loss Trace Compaction
abstract
Execution traces can be significantly compressed using their referencing locality. A simple observation leads to a technique capable of compressing execution traces by an order of magnitude; instruction-only traces are compressed by two orders of magnitude. This technique is unlike previously reported trace compression techniques in that it compresses without loss of information and, therefore, does not affect trace-driven simulation time or accuracy.
A. Dain Samples
SIGMETRICS1
1987 Compiling Smalltalk-80 to a RISC
abstract
The Smalltalk On A RISC project at U. C. Berkeley proves that a high-level object-oriented language can attain high performance on a modified reduced instruction set architecture. The single most important optimization is the removal of a layer of interpretation, compiling the bytecoded virtual machine instructions into low-level, register-based, hardware instructions. This paper describes the compiler and how it was affected by SOAR architectural features. The compiler generates code of reasonable density and speed. Because of Smalltalk-80's semantics, relatively few optimizations are possible, but hardware and software mechanisms at runtime offset these limitations. Register allocation for an architecture with register windows comprises the major task of the compiler. Performance analysis suggests that SOAR is not simple enough; several hardware features could be efficiently replaced by instruction sequences constructed by the compiler.
William R. Bush, A. Dain Samples, David M. Ungar, Paul N. Hilfinger
ASPLOS2
1986 SOAR: Smalltalk Without Bytecodes
abstract
We have implemented Smalltalk-80 on an instruction-level simulator for a RISC microcomputer called SOAR. Measurements suggest that even a conventional computer can provide high performance for Smalltalk-80 by abandoning the 'Smalltalk Virtual Machine' in favor of compiling Smalltalk directly to SOAR machine code, linearizing the activation records on the machine stack, eliminating the object table, and replacing reference counting with a new technique called Generation Scavenging. In order to implement these techniques, we had to find new ways of hashing objects, accessing often-used objects, invoking blocks, referencing activation records, managing activation record stacks, and converting the virtual machine images.
A. Dain Samples, David M. Ungar, Paul N. Hilfinger
OOPSLA1
1984 Architecture of SOAR: Smalltalk on a RISC
abstract
Smalltalk on a RISC (SOAR) is a simple, Von Neumann computer that is designed to execute the Smalltalk-80 system much faster than existing VLSI microcomputers. The Smalltalk-80 system is a highly productive programming environment but poses tough challenges for implementors: dynamic data typing, a high level instruction set, frequent and expensive procedure calls, and object-oriented storage management. SOAR compiles programs to a low level, efficient instruction set. Parallel tag checks permit high performance for the simple common cases and cause traps to software routines for the complex cases. Parallel register initialization and multiple on-chip register windows speed procedure calls. Sophisticated software techniques relieve the hardware of the burden of managing objects. We have initial evaluations of the effectiveness of the SOAR architecture by compiling and simulating benchmarks, and will prove SOAR's feasibility by fabricating a 35,000-transistor SOAR chip. These early results suggest that a Reduced Instruction Set Computer can provide high performance in an exploratory programming environment.
David M. Ungar, Ricki Blau, Peter Foley, A. Dain Samples, David A. Patterson 0001
ISCA4