WO2000075777A3 - Inferring operand types within an intermediate language - Google Patents

Inferring operand types within an intermediate language Download PDF

Info

Publication number
WO2000075777A3
WO2000075777A3 PCT/US2000/014522 US0014522W WO0075777A3 WO 2000075777 A3 WO2000075777 A3 WO 2000075777A3 US 0014522 W US0014522 W US 0014522W WO 0075777 A3 WO0075777 A3 WO 0075777A3
Authority
WO
WIPO (PCT)
Prior art keywords
intermediate language
opcode
inferring
opcodes
operand types
Prior art date
Application number
PCT/US2000/014522
Other languages
French (fr)
Other versions
WO2000075777A2 (en
Inventor
Vance P Morrison
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Priority to EP00936325A priority Critical patent/EP1192536B1/en
Priority to AU51651/00A priority patent/AU5165100A/en
Priority to DK00936325T priority patent/DK1192536T3/en
Priority to AT00936325T priority patent/ATE238586T1/en
Priority to JP2001501984A priority patent/JP2003501742A/en
Priority to DE60002327T priority patent/DE60002327T2/en
Publication of WO2000075777A2 publication Critical patent/WO2000075777A2/en
Publication of WO2000075777A3 publication Critical patent/WO2000075777A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions

Abstract

Inferring operand types within an intermediate language is disclosed. In one embodiment, a computer-implemented method first inputs an intermediate language code that has a first plurality of opcodes, including a type-indefinite opcode. The method resolves the type-indefinite opcode into a typed opcode, and generates a native code that has a second plurality of opcodes corresponding to the first plurality of opcodes, and which includes an opcode corresponding to the typed opcode. The method finally outputs the native code. The intermediate language can be Java, etc.
PCT/US2000/014522 1999-06-07 2000-05-26 Inferring operand types within an intermediate language WO2000075777A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP00936325A EP1192536B1 (en) 1999-06-07 2000-05-26 Inferring operand types within an intermediate language
AU51651/00A AU5165100A (en) 1999-06-07 2000-05-26 Inferring operand types within an intermediate language
DK00936325T DK1192536T3 (en) 1999-06-07 2000-05-26 Deriving operand types in an intermediate language
AT00936325T ATE238586T1 (en) 1999-06-07 2000-05-26 DERIVATION OF OPERAND TYPES WITHIN AN INTERMEDIATE LANGUAGE
JP2001501984A JP2003501742A (en) 1999-06-07 2000-05-26 Inferring operand types in intermediate languages
DE60002327T DE60002327T2 (en) 1999-06-07 2000-05-26 DERIVING OPERAND TYPES WITHIN A INTERMEDIATE LANGUAGE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/326,863 US6484312B1 (en) 1999-06-07 1999-06-07 Inferring operand types within an intermediate language
US09/326,863 1999-06-07

Publications (2)

Publication Number Publication Date
WO2000075777A2 WO2000075777A2 (en) 2000-12-14
WO2000075777A3 true WO2000075777A3 (en) 2001-05-03

Family

ID=23274054

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/014522 WO2000075777A2 (en) 1999-06-07 2000-05-26 Inferring operand types within an intermediate language

Country Status (8)

Country Link
US (1) US6484312B1 (en)
EP (2) EP1192536B1 (en)
JP (1) JP2003501742A (en)
AT (1) ATE238586T1 (en)
AU (1) AU5165100A (en)
DE (1) DE60002327T2 (en)
DK (1) DK1192536T3 (en)
WO (1) WO2000075777A2 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2279222C (en) * 1999-07-30 2002-07-16 Ibm Canada Limited-Ibm Canada Limitee Direct call threaded code
US20030028864A1 (en) * 2001-01-29 2003-02-06 Matt Bowen System, method and article of manufacture for successive compilations using incomplete parameters
US7516441B2 (en) * 2001-06-04 2009-04-07 Microsoft Corporation Method and system for program editing and debugging in a common language runtime environment
US6966053B2 (en) * 2001-08-10 2005-11-15 The Boeing Company Architecture for automated analysis and design with read only structure
US6976249B1 (en) * 2001-11-12 2005-12-13 Apple Computer, Inc. Method for embedding object codes in source codes
JP4044756B2 (en) * 2001-12-11 2008-02-06 松下電器産業株式会社 Program conversion device, program conversion method, and program for realizing the program conversion device
WO2004063900A2 (en) * 2003-01-10 2004-07-29 Nexaweb Technologies, Inc. System and method for network-based computing
US7478408B2 (en) 2003-04-04 2009-01-13 Sesma Systems, Inc. System and method for accessing objects in a platform dependent environment from a platform independent environment
US7490332B2 (en) * 2003-04-04 2009-02-10 Sesma Systems, Inc. System and method for accessing ActiveX objects in a platform dependent environment from objects in a platform independent environment
US7707566B2 (en) * 2003-06-26 2010-04-27 Microsoft Corporation Software development infrastructure
US7086041B2 (en) * 2003-06-27 2006-08-01 Microsoft Corporation Extensible type system for representing and checking consistency of program components during the process of compilation
US7559050B2 (en) * 2003-06-30 2009-07-07 Microsoft Corporation Generating software development tools via target architecture specification
US7685581B2 (en) * 2003-06-27 2010-03-23 Microsoft Corporation Type system for representing and checking consistency of heterogeneous program components during the process of compilation
US7788652B2 (en) * 2003-06-27 2010-08-31 Microsoft Corporation Representing type information in a compiler and programming tools framework
US7617531B1 (en) * 2004-02-18 2009-11-10 Citrix Systems, Inc. Inferencing data types of message components
KR100763177B1 (en) * 2005-04-21 2007-10-04 삼성전자주식회사 Method for executing Java virtual machine instructions, and apparatus for the same
US7685298B2 (en) 2005-12-02 2010-03-23 Citrix Systems, Inc. Systems and methods for providing authentication credentials across application environments
US8095917B2 (en) * 2007-06-04 2012-01-10 Microsoft Corporation Debugger for virtual intermediate language operations
KR100964582B1 (en) * 2008-08-20 2010-06-21 주식회사 컴퍼니원헌드레드 System for improement of performance of script language
JP2022139090A (en) * 2021-03-11 2022-09-26 オムロン株式会社 Development support device, development support method, and development support program
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
EP0626641A2 (en) * 1993-05-27 1994-11-30 Matsushita Electric Industrial Co., Ltd. Program converting unit and processor improved in address management

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540631A (en) * 1991-08-06 1993-02-19 Fuji Xerox Co Ltd Type inferring device
JPH05143356A (en) * 1991-11-19 1993-06-11 Oki Electric Ind Co Ltd Compiler device
US5930509A (en) * 1996-01-29 1999-07-27 Digital Equipment Corporation Method and apparatus for performing binary translation
US5842017A (en) * 1996-01-29 1998-11-24 Digital Equipment Corporation Method and apparatus for forming a translation unit
US6021275A (en) * 1996-08-05 2000-02-01 General Magic, Inc. Object code structure and method for translation of architecture independent program implementations
US6317872B1 (en) * 1997-07-11 2001-11-13 Rockwell Collins, Inc. Real time processor optimized for executing JAVA programs

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0626641A2 (en) * 1993-05-27 1994-11-30 Matsushita Electric Industrial Co., Ltd. Program converting unit and processor improved in address management

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CORDY J R ET AL: "Code generation using an orthogonal model", SOFTWARE - PRACTICE AND EXPERIENCE, MARCH 1990, UK, vol. 20, no. 3, pages 301 - 320, XP000137929, ISSN: 0038-0644 *
GANAPATHI M ET AL: "Retargetable compiler code generation", COMPUTING SURVEYS, DEC. 1982, USA, vol. 14, no. 4, pages 573 - 592, XP002154189, ISSN: 0360-0300 *
SCHAUER H: "Architektur und Implementierung eines PASCAL-Systems für Mikrocomputer - Design and implementation of a PASCAL-system on a microcomputer", ELEKTRONISCHE RECHENANLAGEN, JUNE 1982, WEST GERMANY, vol. 24, no. 3, pages 108 - 117, XP002154190, ISSN: 0013-5720 *

Also Published As

Publication number Publication date
EP1296236A2 (en) 2003-03-26
WO2000075777A2 (en) 2000-12-14
EP1296236A3 (en) 2006-01-25
AU5165100A (en) 2000-12-28
ATE238586T1 (en) 2003-05-15
JP2003501742A (en) 2003-01-14
DE60002327T2 (en) 2004-02-12
EP1192536A2 (en) 2002-04-03
US6484312B1 (en) 2002-11-19
DE60002327D1 (en) 2003-05-28
DK1192536T3 (en) 2003-06-02
EP1192536B1 (en) 2003-04-23

Similar Documents

Publication Publication Date Title
WO2000075777A3 (en) Inferring operand types within an intermediate language
WO2002025425A3 (en) Mutability analysis in java
WO2003090164A3 (en) System and method for providing inferencing services
WO2000041075A3 (en) Generating compiled programs for interpretive runtime environments
WO2003012679A1 (en) Data processing method, data processing system, and program
AU2003275972A1 (en) Xml interfaces in unified rendering
WO2001044971A3 (en) Method and apparatus to invoke computer commands from within a mark-up language document
WO2002077822A3 (en) Dynamic software code instrumentation method and system
EP0836137A3 (en) Visual instruction set for CPU with integrated graphics functions
WO2004102303A3 (en) Compiling intermediate language bytecodes into java bytecodes
IL142484A0 (en) Impact analysis of a model
WO2002101549A3 (en) Initializing virtual machine that subsequently executes application
WO2006044235A3 (en) Source code translator
WO2002061576A3 (en) System, method and article of manufacture for interface constructs in a programming language capable of programming hardware architectures
EP0841614A3 (en) System and method for building, testing and integrating a graphical touch user interface
WO2006052600A3 (en) System and method for generating a target language markup language text template
WO2005089337A3 (en) Dynnamic runtime object aggregation with proxy compilation
WO2003009570A8 (en) Apparatus and method for inputting alphabet characters
WO2005052760A3 (en) System for optimizing application start-up
WO2003090067A3 (en) System for expanded instruction encoding and method thereof
WO2003096126A3 (en) Clock for children
WO2005050395A3 (en) Content communication system and methods
WO2001048493A3 (en) Low power scan flipflop
WO2000079381A3 (en) Indefinite-size variables within an intermediate language
WO2001044936A3 (en) Methods and arrangements for providing a mark-up language based graphical user interface for user identification to an operating system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK 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 MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT 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 BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK 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 MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

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 BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2000936325

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 501984

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 2000936325

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 2000936325

Country of ref document: EP