Topic: threaded code

topics > computer science > programming > Group: code generation

compressed code
incremental execution
intermediate representation of code
pointer machines
program execution
stack machine
variable as function that accesses an object's value
virtual machine
words defined by words


A program in threaded code is a sequence of addresses referencing other threaded code or machine code programs. Execution is interpretive using a parameter stack and indirect referencing. Space efficiency is better than assembly code while temporal efficiency depends on the machine and the embedding depth. The language Forth generates threaded code through a dictionary associating names with threaded code procedures. Using Forth, users can dynamically create, test, and execute programs without needing normal program development utilities. (cbb 5/80)

Threaded code may be combined with machine code to yield a compact, yet efficient program. (cbb 12/92)

Subtopic: pointer array threading up

Quote: threaded code is small pieces of code linked through a pointer array [»bellJR6_1973, OK]
QuoteRef: dewaRB6_1975 ;;330 further compaction by indirect accesses through data blocks which in turn contain addresses of library routines to process the data.

Subtopic: mixed threaded code up

Quote: combine indirect threaded code with native code; halves storage requirements; about 70% threaded [»pittT7_1987]
Quote: can execute threaded-code block-diagram in microcode and imbed as a subroutine to BASIC [»kornGA_1978]
Quote: method to compress assembly code; includes procedural abstraction(repeated codes), cross-jumping (common tails), and threaded code [»frasCW6_1984]

Subtopic: operator tree up

Quote: produce an operator tree from a syntax tree by transformations; then define abstract machines for the operator tree [»olloA_1974, OK]
Quote: TM instructions process arguments by calling corresponding subroutines [»harbSP3_1982]

Subtopic: Smalltalk virtual machine up

Quote: Smalltalk 80 based on about 100 primitive subroutines; allows rest of system to be flexible and extensible [»krasG8_1981]
Quote: the Smalltalk virtual image is about 300K bytes of objects; needs 6-12K of assembly code [»krasG8_1981]
Quote: the Smalltalk virtual machine is 6-12K bytes of assembly code; 40% memory management, 20% interpreter, 40% primitives
Quote: in Smalltalk, high frequency methods implemented as a bytecode instead of dictionary lookup [»krasG8_1981]

Subtopic: Forth threaded code up

Quote: in 5-6K get an interactive Forth compiler, I/O drivers, assembler, virtual memory, and text editor [»jameJS9_1978]
Quote: implemented a radiotelescope control and data analysis system in Forth in a third the time and a quarter the space [»jameJS9_1978]
QuoteRef: steiP11_1975 ;;10 "FORTH definitions are compiled at the time that they are defined.
QuoteRef: rathED10_1976 ;;234 Forth executes sqrt(1-x**2) in 427 microsecs, using 11 16-bit words and 12.1% interpreter overhead by time.
QuoteRef: philJB5_1978 ;;261 In the HISS system, a general-purpose macroprocessor is used to translate threaded code source to binary code which can be interpreted by the threaded code interpreter. [very like FORTH]

Subtopic: other examples up

Quote: threaded code interpreter for Java; 2x slower than JIT for some general purpose applications; more than 10x slower for scientific code [»gregD6_2001]
QuoteRef: cbb_1980 ;;1/28/80 board-level Purna, dictionary driven (simplified names), simple assembler producing target machine procedures, simple Purna producing threaded code procedures.

Related Topics up

Topic: compressed code (17 items)
Topic: incremental execution (22 items)
Topic: intermediate representation of code (31 items)
Topic: interpreter (59 items)
Topic: pointer machines (17 items)
Topic: program execution (8 items)
Topic: stack machine (10 items)
Topic: variable as function that accesses an object's value (21 items)
Topic: virtual machine (13 items)
Topic: words defined by words
(25 items)

Updated barberCB 3/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.