CA2167306A1 - Multiple entry point method dispatch - Google Patents

Multiple entry point method dispatch

Info

Publication number
CA2167306A1
CA2167306A1 CA002167306A CA2167306A CA2167306A1 CA 2167306 A1 CA2167306 A1 CA 2167306A1 CA 002167306 A CA002167306 A CA 002167306A CA 2167306 A CA2167306 A CA 2167306A CA 2167306 A1 CA2167306 A1 CA 2167306A1
Authority
CA
Canada
Prior art keywords
entry point
function
field
point method
multiple entry
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CA002167306A
Other languages
French (fr)
Other versions
CA2167306C (en
Inventor
Glenn S. Burke
Gail Zacharias
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Glenn S. Burke
Gail Zacharias
Apple Computer, Inc.
Apple 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 Glenn S. Burke, Gail Zacharias, Apple Computer, Inc., Apple Inc. filed Critical Glenn S. Burke
Publication of CA2167306A1 publication Critical patent/CA2167306A1/en
Application granted granted Critical
Publication of CA2167306C publication Critical patent/CA2167306C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention is a new object construct (40) that allows a functional object in a dynamic language to be efficiently used as both a directly-invoked function and as a method in a generic function. To accomplish this use, the new object construct comprises four distinct but related contiguous storage regions designated as a header (41), a meth-info field (42), a fn-prolog field (43), and the method body (44).
When called as a component of a generic function, one entry point is at the method body or at the method-information field. When called directly, another entry point exists at the function prolog field.
CA002167306A 1993-07-15 1994-06-17 Multiple entry point method dispatch Expired - Lifetime CA2167306C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9220793A 1993-07-15 1993-07-15
US08/092,207 1993-07-15
PCT/US1994/006868 WO1995002862A1 (en) 1993-07-15 1994-06-17 Multiple entry point method dispatch

Publications (2)

Publication Number Publication Date
CA2167306A1 true CA2167306A1 (en) 1995-01-26
CA2167306C CA2167306C (en) 2003-08-19

Family

ID=22232159

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002167306A Expired - Lifetime CA2167306C (en) 1993-07-15 1994-06-17 Multiple entry point method dispatch

Country Status (6)

Country Link
US (1) US6427231B1 (en)
EP (1) EP0708940B1 (en)
AU (1) AU7355494A (en)
CA (1) CA2167306C (en)
DE (1) DE69427193T2 (en)
WO (1) WO1995002862A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013467B1 (en) * 1997-12-09 2006-03-14 Mci Communications Corporation System and method for managing computer system resources using command control vectors
US6782532B1 (en) * 1999-10-21 2004-08-24 Oracle International Corporation Object type system for a run-time environment using generated high-order language instructions for generic functions
US6966055B2 (en) * 2001-03-02 2005-11-15 International Business Machines Corporation Optimizing post-link code
US20050160414A1 (en) * 2004-01-21 2005-07-21 Nokia Corporation System and method for dynamically adding features to software applications
US8006250B1 (en) 2004-06-22 2011-08-23 Apple Inc. Creating an object in an object-oriented programming platform
US7954110B1 (en) * 2004-06-22 2011-05-31 Apple Inc. Observing properties associated with an object in an object-oriented programming platform
US7743087B1 (en) 2006-03-22 2010-06-22 The Math Works, Inc. Partitioning distributed arrays according to criterion and functions applied to the distributed arrays
US20100131803A1 (en) * 2008-11-25 2010-05-27 Express Logic Computation of stack usage in embedded computing systems
US8997040B2 (en) * 2010-03-24 2015-03-31 Microsoft Technology Licensing, Llc Variable closure
US9952843B2 (en) * 2014-05-15 2018-04-24 Nvidia Corporation Partial program specialization at runtime
US10496378B2 (en) * 2017-05-04 2019-12-03 Microsoft Technology Licensing, Llc Generating and executing multi-entry point functions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4675810A (en) * 1981-05-22 1987-06-23 Data General Corp. Digital data processing system having a uniquely organized memory system using object-based addressing and in which operand data is identified by names accessed by name tables
US4868745A (en) * 1986-05-30 1989-09-19 Hewlett-Packard Company Data processing system and method for the direct and indirect execution of uniformly structured object types
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
US5297284A (en) * 1991-04-09 1994-03-22 Microsoft Corporation Method and system for implementing virtual functions and virtual base classes and setting a this pointer for an object-oriented programming language
US5421016A (en) * 1991-12-12 1995-05-30 International Business Machines Corporation System and method for dynamically invoking object methods from an application designed for static method invocation

Also Published As

Publication number Publication date
EP0708940A4 (en) 1997-05-28
EP0708940B1 (en) 2001-05-09
AU7355494A (en) 1995-02-13
EP0708940A1 (en) 1996-05-01
US6427231B1 (en) 2002-07-30
DE69427193T2 (en) 2001-09-20
WO1995002862A1 (en) 1995-01-26
DE69427193D1 (en) 2001-06-13
CA2167306C (en) 2003-08-19

Similar Documents

Publication Publication Date Title
CA2168248A1 (en) Antifungal Nail Solution
EP0608708A3 (en) Automatic handwriting recognition using both static and dynamic parameters.
CA2075058A1 (en) Novel vehicle gas mixtures and their use in medical preparations
CA2163003A1 (en) Solubilizer and external preparations containing the same
WO2001082057A3 (en) Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value
GB9409871D0 (en) An article for insertion into an opening
CA2166062A1 (en) The use of non-ionic surfactants in stable topical retinoid compositions
AU1313995A (en) Composition of polyketone and polyolefin
CA2167306A1 (en) Multiple entry point method dispatch
CA2007789A1 (en) Method for deleting a marked portion of a structured document
EP0645827A3 (en) Optocoupler and process of manufacturing the same.
CA2107059A1 (en) Surgical cutting instrument
EP0812874A4 (en) Easy-to-break-through film
AU6899594A (en) Aqueous coating composition and coating process using the same
AU3780393A (en) Quinobenzoxazine, quinobenzothiazine, and pyrido-acridine antineoplastic agents
AU3684895A (en) Use of human chorionic gonadotropin as an immune-potentiating agent
ZA963997B (en) Lubricants with molybdenum containing compositions and methods of using the same.
CA2162128A1 (en) Quaternary ammonium and waterproofing/preservative compositions
DE69407596T2 (en) AQUEOUS DISPERSIONS CONTAINING CYCLOPOLYMERS AS DISPERSING AGENTS
ZA948416B (en) Biaxially oriented polyolefin film, process for its preparation and its use.
ITRM920411A1 (en) PROCEDURE TO PRODUCE GLYCOSYLTRANSFERASE, HYBRID YEAR CARRIER IN ITS EMPLOYMENT AND YEAST STOCK TRANSFORMED WITH THE USE OF HYBRID VECTOR.
WO1992014077A3 (en) Swage with after-swage dimension indicator
AU7978794A (en) 3,17-dihydroxy-3,7,16 and/or 17-methyl-androst-5-ene compounds, derivatives thereof, and their use
CA2216583A1 (en) Levobupivacaine and its use as an anaesthetic in pregnant women
CA2254533A1 (en) Treatment of pruritus

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20140617