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

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
US7954110B1 (en) 2004-06-22 2011-05-31 Apple Inc. Observing properties associated with an object in an object-oriented programming platform
US8006250B1 (en) 2004-06-22 2011-08-23 Apple Inc. Creating 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
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
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
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
EP0708940B1 (en) 2001-05-09
US6427231B1 (en) 2002-07-30
EP0708940A4 (en) 1997-05-28
CA2167306C (en) 2003-08-19
AU7355494A (en) 1995-02-13
WO1995002862A1 (en) 1995-01-26
EP0708940A1 (en) 1996-05-01
DE69427193T2 (en) 2001-09-20
DE69427193D1 (en) 2001-06-13

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
GB9310609D0 (en) An article including at least one projection
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
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
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
ZA963997B (en) Lubricants with molybdenum containing compositions and methods of using the same.
DE69407596T2 (en) AQUEOUS DISPERSIONS CONTAINING CYCLOPOLYMERS AS DISPERSING AGENTS
ZA948416B (en) Biaxially oriented polyolefin film, process for its preparation and its use.
WO1992014077A3 (en) Swage with after-swage dimension indicator
CA2136070A1 (en) Sequential Removal of Monosaccharides from the Reducing End of Oligosaccharides and Uses Thereof
CA2216583A1 (en) Levobupivacaine and its use as an anaesthetic in pregnant women
CA2254533A1 (en) Treatment of pruritus
EP1166740A3 (en) Vacuum mattress
EP0593216A3 (en) Transmission electron microscope and its use
CA2174839A1 (en) Graphic state processing
EP0632512A3 (en) Oxide superconductor and method of preparing the same.

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20140617