Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2006-11-07
2006-11-07
Dam, Tuan (Department: 2192)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S118000, C717S148000
Reexamination Certificate
active
07134119
ABSTRACT:
A data processing system118is provided that supports execution of both native instructions using a processor core and non-native instructions that are interpreted using either a hardware translator122or a software interpreter. Separate explicit return to non-native instructions and return to native instructions are provided for terminating subroutines whereby intercalling between native and non-native code may be achieved with reduced processing overhead. Veneer non-native subroutines may be used between native code and non-native main subroutines. The veneer non-native subroutines may be dynamically created within the stack memory region of the native mode system.
REFERENCES:
patent: 3889243 (1975-06-01), Drimak
patent: 4236204 (1980-11-01), Groves
patent: 4587632 (1986-05-01), Ditzel
patent: 4922414 (1990-05-01), Holloway et al.
patent: 4969091 (1990-11-01), Muller
patent: 5136696 (1992-08-01), Beckwith et al.
patent: 5455775 (1995-10-01), Huber et al.
patent: 5619665 (1997-04-01), Emma
patent: 5638525 (1997-06-01), Hammond et al.
patent: 5659703 (1997-08-01), Moore et al.
patent: 5740461 (1998-04-01), Jaggar
patent: 5742802 (1998-04-01), Harter et al.
patent: 5752035 (1998-05-01), Trimberger
patent: 5758115 (1998-05-01), Nevill
patent: 5784584 (1998-07-01), Moore et al.
patent: 5805895 (1998-09-01), Breternitz et al.
patent: 5809336 (1998-09-01), Moore et al.
patent: 5838948 (1998-11-01), Bunza
patent: 5875336 (1999-02-01), Dickol et al.
patent: 5892966 (1999-04-01), Petrick et al.
patent: 5925123 (1999-07-01), Tremblay et al.
patent: 5926832 (1999-07-01), Wing et al.
patent: 5937193 (1999-08-01), Evoy
patent: 5953741 (1999-09-01), Evoy et al.
patent: 6003126 (1999-12-01), Huynh et al.
patent: 6009499 (1999-12-01), Koppala
patent: 6009509 (1999-12-01), Leung et al.
patent: 6014723 (2000-01-01), Tremblay et al.
patent: 6021469 (2000-02-01), Tremblay et al.
patent: 6026485 (2000-02-01), O'Connor et al.
patent: 6031992 (2000-02-01), Cmelik et al.
patent: 6038643 (2000-03-01), Tremblay et al.
patent: 6066181 (2000-05-01), DeMaster
patent: 6070173 (2000-05-01), Huber et al.
patent: 6088786 (2000-07-01), Feierbach et al.
patent: 6091897 (2000-07-01), Yates et al.
patent: 6122638 (2000-09-01), Huber et al.
patent: 6125439 (2000-09-01), Tremblay et al.
patent: 6148391 (2000-11-01), Petrick
patent: 6199202 (2001-03-01), Coutant et al.
patent: 6298434 (2001-10-01), Lindwer
patent: 6317872 (2001-11-01), Gee et al.
patent: 6338134 (2002-01-01), Leung et al.
patent: 6349377 (2002-02-01), Lindwer
patent: 6351844 (2002-02-01), Bala
patent: 6374286 (2002-04-01), Gee et al.
patent: 6606743 (2003-08-01), Raz et al.
patent: 2001/0010072 (2001-07-01), Yoshida
patent: 2001/0025373 (2001-09-01), Gebhart et al.
Steven A. Guccione, “Portable Native Methods in Java”, [http://www.io.com/˜guccione/Papers/Native/Native.html], Oct. 7, 1998.
Mark Allen Weiss, “Introduction to Native Calls”, [http://www.cs.fiu.edu/˜weiss/cop4338—sum03/lectures/Native
ative.pdf], 1999.
IBM Technical Disclosure Bulletin, Mar. 1988, pp. 308-309, “System/370 Emulator Assist Processor For a Reduced Instruction Set Computer”.
IBM Technical Disclosure Bulletin, Jul. 1986, pp. 548-549, “Full Function Series/1 Instruction Set Emulator”.
IBM Technical Disclosure Bulletin, Mar. 1994, pp. 605-606, “Real-Time CISC Architecture HW Emulator On A RISC Processor”.
IBM Technical Disclosure Bulletin, Mar. 1998, p. 272, “Performance Improvement Using An EMULATION Control Block”.
IBM Technical Disclosure Bulletin, Jan. 1995, pp. 537-540, “Fast Instruction Decode For Code Emulation on Reduced Instruction Set Computer/Cycles Systems”.
IBM Technical Disclosure Bulletin, Feb. 1993, pp. 231-234, “High Performance Dual Architecture Processor”.
IBM Technical Disclosure Bulletin, Aug. 1989, pp. 40-43, “System/370 I/O Channel Program Channel Command Word Prefetch”.
IBM Technical Disclosure Bulletin, Jun. 1985, pp. 305-306, “Fully Microcode-Controlled Emulation Architecture”.
IBM Technical Disclosure Bulletin, Mar. 1972, pp. 3074-3076, “Op Code and Status Handling For Emulation”.
IBM Technical Disclosure Bulletin, Aug. 1982, pp. 954-956, “On-Chip Microcoding of a Microprocessor With Most Frequently Used Instructions of Large System and Primitives Suitable for Coding Remaining Instructions”.
IBM Technical Disclosure Bulletin, Apr. 1983, pp. 5576-5577, “Emulation Instruction”.
The book ARM System Architecture by S. Furber. pp. 213-214.
The book Computer Architecture: A Quantitative Approach by Hennessy et al. pp. 119-120, 259-261, 367-369, 479-480, A96-47.
The book The Java Virtual Machine Specification by Tim Lindholm et al., 1stand 2ndeditions. pp. 2-3.
H. Stone, Chapter 12—“A Pipeline Push-Down Stack Computer”, 1969, pp. 235-249.
C. Glossner et al, “Delft-Java Link Translation Buffer”, Aug. 1998.
N. Vijaykrishnan et al, “Object-Oriented Architectural Support For a Java Processor” 1998, pp. 330-355.
C. Glossner et al, “The Delft-Java Engine: An Introduction”, Aug. 1997.
K. Ebcioglu et al, “A Java ILP Machine Based On Fast Dynamic Compilation”, Jan. 1997, pp. 1-13.
A. Wolfe, “First Java-specific chip takes wing”EETimes—1997.
Y. Patt,Introduction to Computer Systems From Bits and Gates to C and Beyond, 1999, pp. 1-517.
M. Ertl, “Stack Caching for Interpreters” 1994, pp. 1-13.
M. Ertl, “Stack Caching for Interpreters” 1995, pp. 1-13.
M. Ertl, “Implementation of Stack-Based Languages on Register Machines” Apr. 1996, pp. 1-4.
J. O'Connor et al, “PicoJava-I: The Java Virtual Machine in Hardware”IEEE MicroA Case for Intelligent RAM, Mar./Apr. 1997, pp. 45-53.
K. Andrews et al, “Migrating a CISC Computer Family Onto RISC Via Object Code Translation” 1992, pp. 213-222.
“PicoJava I Microprocessor Core Architecture” Oct. 1996, pp. 1-8, Sun Microsystems.
M. Ertl, “A New Approach to Forth Native Code Generation” 1992.
M. Maierhofer et al, “Optimizing Stack Code” 1997, p. 19.
D. Ungar et al, “Architecture of SOAR: Smalltalk on a RISC” The 11thAnnual International Symposium on Computer Architecture, Jun. 1984, pp. 188-197.
O. Steinbusch, “Designing Hardware to Interpret Virtual Machine Instructions” Feb. 1998, pp. 1-59.
R. Kapoor et al, “Stack Renaming of the Java Virtual Machine” Dec. 1996, pp. 1-17.
A. Yonezawa et al, “Implementing Concurrent Object-Oriented Languages in Multicomputers”Parallel and Distributed Technology(Systems and Applications) May 1993, pp. 49-61.
C. Hsieh et al, “Java Bytecode to Native Code Translation; The Caffeine Prototype and Preliminary Results” IEEE/ACM International Symposium on Microarchitecture, Dec. 1996, pp. 90-97.
Y. Patt et al,Introduction to Computer Systems From Bits and Gates to C and Beyond, 2001, pp. 1-526.
Sun Microsystems PicoJava Processor Core Data Sheet, Dec. 1997, pp. 1-11.
H. McGhan et al, PicoJava A Direct Execution Engine for Java Bytecode, Oct. 1998, pp. 22-26.
C. Glossner et al, “Parallel Processing” Euro-Par 1997: Passau, Germany, Aug. 1997.
Y. Patt,Introduction to Computer Systems From Bits and Gates to C and Beyond, 1999, pp. 10-12 & 79-82.
Espresso—The High Performance Java Core Specification, Oct. 2001, pp. 1-33, Aurora VLSI, Inc.
J. Gosling, “Java Intermediate Bytecodes” 1995, pp. 111-118.
P. Koopman, Jr. “Stack Computers The New Wave” 1989, pp. 1-234.
M. Mrva et al, “A Scalable Architecture for Multi-Threaded JAVA Applications” Design Automation and Test in Europe, Feb. 1998, pp. 868-874.
L. Chang et al, “Stack Operations Folding in Java Processors”IEEE Proc.—Comput. Digit. Tech., vol. 145, No. 5, pp. 333-340 Sep. 1998.
L. Ton et al, Proceedings
ARM Limited
Dam Tuan
Kiss Eric B.
LandOfFree
Intercalling between native and non-native instruction sets does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Intercalling between native and non-native instruction sets, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Intercalling between native and non-native instruction sets will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3682760