WO2001097015A3 - Method and apparatus for eliminating c recursion from a java™ bytecode interpreter - Google Patents

Method and apparatus for eliminating c recursion from a java™ bytecode interpreter Download PDF

Info

Publication number
WO2001097015A3
WO2001097015A3 PCT/US2001/016412 US0116412W WO0197015A3 WO 2001097015 A3 WO2001097015 A3 WO 2001097015A3 US 0116412 W US0116412 W US 0116412W WO 0197015 A3 WO0197015 A3 WO 0197015A3
Authority
WO
WIPO (PCT)
Prior art keywords
java
opcode
recursion
static initializer
eliminating
Prior art date
Application number
PCT/US2001/016412
Other languages
French (fr)
Other versions
WO2001097015A2 (en
Inventor
Christopher J Plummer
Dean R E Long
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to EP01937630A priority Critical patent/EP1358552A2/en
Priority to AU2001263344A priority patent/AU2001263344A1/en
Publication of WO2001097015A2 publication Critical patent/WO2001097015A2/en
Publication of WO2001097015A3 publication Critical patent/WO2001097015A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Abstract

Methods and apparatus for eliminating C recursion from interpreter loops are disclosed. According to one aspect of the present invention, a computer-implemented method for substantially eliminating C recursion from the execution of static initializer methods in a virtual machine environment includes rewriting native C code associated with a static initializer as a Java™ method, and using a transition frame in a Java™ stack to execute the Java™ method. The method also includes using a native method to manipulate the Java™ stack, and using a first opcode in the transition frame. In one embodiment, using the first opcode in the transition frame includes using the first opcode to determine that the transition frame is associated with the static initializer. In another embodiment, the method further includes causing the static initializer to run, wherein the static initializer using a second opcode, and resuming execution at the second opcode after the static initializer has run.
PCT/US2001/016412 2000-06-12 2001-05-21 Method and apparatus for eliminating c recursion from a java™ bytecode interpreter WO2001097015A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP01937630A EP1358552A2 (en) 2000-06-12 2001-05-21 METHOD AND APPARATUS FOR ELIMINATING C RECURSION FROM A JAVA™ BYTECODE INTERPRETER
AU2001263344A AU2001263344A1 (en) 2000-06-12 2001-05-21 Method and apparatus for eliminating c recursion from a java" bytecode interpreter

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21092000P 2000-06-12 2000-06-12
US60/210,920 2000-06-12
US09/841,757 US6915508B2 (en) 2000-06-12 2001-04-24 Method and apparatus for eliminating C recursion from a Java™ bytecode interpreter
US09/841,757 2001-04-24

Publications (2)

Publication Number Publication Date
WO2001097015A2 WO2001097015A2 (en) 2001-12-20
WO2001097015A3 true WO2001097015A3 (en) 2003-08-28

Family

ID=26905647

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/016412 WO2001097015A2 (en) 2000-06-12 2001-05-21 Method and apparatus for eliminating c recursion from a java™ bytecode interpreter

Country Status (4)

Country Link
US (2) US6915508B2 (en)
EP (1) EP1358552A2 (en)
AU (1) AU2001263344A1 (en)
WO (1) WO2001097015A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593996B2 (en) * 2003-07-18 2009-09-22 Netapp, Inc. System and method for establishing a peer connection using reliable RDMA primitives
US8688798B1 (en) 2009-04-03 2014-04-01 Netapp, Inc. System and method for a shared write address protocol over a remote direct memory access connection
US11809839B2 (en) 2022-01-18 2023-11-07 Robert Lyden Computer language and code for application development and electronic and optical communication

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8602964D0 (en) * 1986-02-06 1986-03-12 Metaforth Computer Systems Ltd Computer architecture
WO1994009595A1 (en) * 1991-09-20 1994-04-28 Shaw Venson M Method and apparatus including system architecture for multimedia communications
US5768564A (en) * 1994-10-07 1998-06-16 Tandem Computers Incorporated Method and apparatus for translating source code from one high-level computer language to another
US5884083A (en) * 1996-09-20 1999-03-16 Royce; Robert Computer system to compile non-incremental computer source code to execute within an incremental type computer system
US6167504A (en) * 1998-07-24 2000-12-26 Sun Microsystems, Inc. Method, apparatus and computer program product for processing stack related exception traps
US6205578B1 (en) * 1998-08-14 2001-03-20 Ati International Srl Interpreter for stack-based languages
US6249793B1 (en) * 1999-06-10 2001-06-19 Sun Microsystems, Inc. Mostly concurrent compaction in a garbage collection system
WO2001090885A2 (en) * 2000-05-25 2001-11-29 Sun Microsystems, Inc. Method and apparatus for creating efficient native methods that extend a bytecode interpreter
US6604167B1 (en) * 2000-09-28 2003-08-05 International Business Machines Corporation Method and apparatus traversing stacks for just-in-time compilers for Java virtual machines

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061520A (en) * 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization

Also Published As

Publication number Publication date
EP1358552A2 (en) 2003-11-05
US20050166185A1 (en) 2005-07-28
US20020111982A1 (en) 2002-08-15
AU2001263344A1 (en) 2001-12-24
US7055133B2 (en) 2006-05-30
US6915508B2 (en) 2005-07-05
WO2001097015A2 (en) 2001-12-20

Similar Documents

Publication Publication Date Title
JP3894698B2 (en) A hybrid just-in-time compiler that minimizes resource consumption
WO2001090885A3 (en) Method and apparatus for creating efficient native methods that extend a bytecode interpreter
WO2002015003A3 (en) Method and apparatus for caching native code in a virtual machine interpreter
US20060026580A1 (en) Method and related system of dynamic compiler resolution
WO2004086220A3 (en) Controlled execution of a program used for a virtual machine on a portable data carrier
CN107992723A (en) A kind of Java protection of source codes methods based on dynamic link library
WO2001097029A3 (en) Method and apparatus for implementing an extended virtual machine
MY131818A (en) Data processing using multiple instruction sets.
ATE479930T1 (en) SYSTEM AND METHOD FOR SIGNING A SOFTWARE CODE
EP1011043A3 (en) Method and apparatus for loading a java application program
US9038039B2 (en) Apparatus and method for accelerating java translation
WO2005101198B1 (en) Polymorphic regular expressions
US20100305938A1 (en) Translation block invalidation prehints in emulation of a target system on a host system
EP0962860A3 (en) Apparatus and method for increasing the performance of JAVA programs running on a server
WO2000041075A3 (en) Generating compiled programs for interpretive runtime environments
EP1830265A3 (en) Method of providing partially isolated execution environment for multiple applications and digital information apparatus using the same
WO2001031438A3 (en) Method for platform specific efficiency enhancement of java programs and software product therefor
GB0324568D0 (en) Reduced instruction set for java virtual machines
JP2005504376A (en) Software support for virtual machine interpreter (VMI) acceleration hardware
US20040243989A1 (en) Method and apparatus for selectively optimizing interpreted language code
WO2003083617A3 (en) Hardware-translator-based custom method invocation system and method
WO2001097015A3 (en) Method and apparatus for eliminating c recursion from a java™ bytecode interpreter
EP0977118A3 (en) Data processing method and apparatus
MY127346A (en) Unhandled operation handling multiple instruction set systems
GB2384088A (en) Streamlining ata device intialization

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2001937630

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2001937630

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP