Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Chambers:1990:ITA,
author = "Craig Chambers and David Ungar",
title = "Iterative type analysis and extended message
splitting: Optimizing dynamically-typed object-oriented
programs",
journal = j-SIGPLAN,
volume = "25",
number = "6",
pages = "150--164",
month = jun,
year = "1990",
CODEN = "SINODQ",
ISBN = "0-89791-364-7",
ISBN-13 = "978-0-89791-364-5",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:15:53 MST 2003",
bibsource = "Compendex database; http://portal.acm.org/;
http://www.acm.org/pubs/contents/proceedings/pldi/93542/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/93542/p150-chambers/",
abstract = "Object-oriented languages have suffered from poor
performance caused by frequent and slow
dynamically-bound procedure calls. The best way to
speed up a procedure call is to compile it out, but
dynamic binding of object-oriented procedure calls
without static receiver type information precludes
inlining. Iterative type analysis and extended message
splitting are new compilation techniques that extract
much of the necessary type information and make it
possible to hoist run-time type tests out of loops. Our
system compiles code on-the-fly that is customized to
the actual data types used by a running program. The
compiler constructs a control flow graph annotated with
type information by simultaneously performing type
analysis and inlining.",
acknowledgement = ack-nhfb,
affiliation = "Stanford Univ",
affiliationaddress = "Stanford, CA, USA",
annote = "Published as part of the Proceedings of PLDI'90.",
classification = "722; 723",
conference = "Proceedings of the ACM SIGPLAN '90 Conference on
Programming Language Design and Implementation",
conferenceyear = "1990",
journalabr = "SIGPLAN Not",
keywords = "algorithms; Computer Operating Systems; Computer
Programming --- Object Oriented Programming; languages;
Object-Oriented Languages; Optimizing Compilers;
performance; Program Compilers",
meetingaddress = "White Plains, NY, USA",
meetingdate = "Jun 20--22 1990",
meetingdate2 = "06/20--22/90",
sponsor = "Assoc for Computing Machinery, Special Interest Group
on Programming Languages",
subject = "{\bf F.3.3} Theory of Computation, LOGICS AND MEANINGS
OF PROGRAMS, Studies of Program Constructs, Type
structure. {\bf D.3.2} Software, PROGRAMMING LANGUAGES,
Language Classifications. {\bf D.3.3} Software,
PROGRAMMING LANGUAGES, Language Constructs and
Features, Control structures. {\bf D.3.4} Software,
PROGRAMMING LANGUAGES, Processors, Compilers. {\bf
F.2.2} Theory of Computation, ANALYSIS OF ALGORITHMS
AND PROBLEM COMPLEXITY, Nonnumerical Algorithms and
Problems, Computations on discrete structures. {\bf
D.3.4} Software, PROGRAMMING LANGUAGES, Processors,
Optimization.",
}
Related entries
- actual,
28(3)69,
28(7)83,
30(4)13,
30(8)179,
33(7)51
- ALGORITHMS,
25(6)40,
25(6)66,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)121,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- annotated,
25(2)7,
25(8)15,
26(1)14,
29(9)140,
31(4)45,
32(2)45,
32(6)40,
32(9)47
- best,
25(6)16,
25(6)92,
26(4)28,
27(7)32,
27(7)283,
27(7)331,
28(7)83,
28(10)46,
29(2)44,
29(6)73,
29(11)25,
29(11)171,
29(11)252,
29(11)308,
29(11)328,
30(6)67,
30(6)79-1,
30(6)151,
30(6)279,
30(8)123,
30(8)134,
30(11)88,
33(11)252
- binding,
26(8)145,
26(9)154,
28(10)231,
29(7)21,
29(8)35,
29(10)153,
31(6)1,
34(1)336,
34(1)337
- caused,
27(7)116,
28(6)13,
28(7)44,
30(6)151,
30(11)7
- Chambers, Craig,
26(11)1,
27(7)32,
29(10)1,
30(6)93,
30(10)108,
31(5)149,
31(10)83,
32(10)108,
32(12)163,
34(5)293,
34(5)293-1,
34(10)238
- compilation,
24(3)34,
25(6)16,
25(6)137,
25(6)283,
27(1)13,
27(7)68,
27(7)94,
27(7)200,
28(6)166,
28(6)237,
29(6)13,
29(6)36,
29(10)229,
30(3)13,
30(3)119,
30(6)116,
30(6)163-1,
30(6)258,
30(8)1,
30(10)124,
30(11)41,
30(11)125,
31(5)149,
31(5)206,
31(6)34,
32(5)215,
32(7)180,
32(8)309,
32(8)309,
32(12)1,
32(12)107,
34(1)141,
34(9)160
- compile,
25(6)9,
25(6)137,
25(6)174,
25(6)257,
27(7)106,
27(7)116,
28(3)349,
28(7)83,
29(6)13,
29(6)290,
30(3)119,
30(6)67,
30(6)93,
30(6)174,
30(8)58,
30(8)179,
33(7)27
- COMPLEXITY,
25(6)40,
25(6)66,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)121,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- customized,
27(7)55,
29(6)196,
29(10)453
- discrete,
25(6)40,
25(6)102,
25(6)137,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(3)19,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(4)10,
27(7)32,
28(3)149,
28(3)369,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)85,
29(6)97,
29(6)171,
29(6)302,
30(3)83,
30(6)32,
30(6)47,
30(6)56,
30(6)186,
30(6)246,
31(5)193,
33(5)72,
33(5)85-1,
33(5)142
- dynamically-typed,
29(10)355
- extended,
25(10)237,
26(9)199,
27(7)162,
27(7)200,
28(1)13,
28(1)32,
28(1)36,
28(1)64,
28(1)68,
28(6)100,
28(7)64,
28(11)42,
29(6)290,
29(8)111,
29(8)129,
30(3)71,
30(8)123,
30(8)156,
30(11)7,
30(11)41,
30(11)50,
32(1)14,
32(8)11,
32(8)310,
33(6)54,
33(10)144,
34(9)90,
34(11)12,
34(11)34
- extract,
25(6)85-1,
30(8)48
- F.2.2,
25(6)40,
25(6)66,
25(6)102,
25(6)137,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)85,
29(6)97,
29(6)171,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)186,
30(6)246,
30(11)7,
30(11)60,
30(11)134,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- fly, on-the-,
27(7)331,
30(3)119
- hoist,
29(6)107,
30(6)246,
30(6)270
- inlining,
27(12)39,
29(6)85,
30(6)67,
31(5)193,
32(5)134,
32(8)99,
33(5)291,
33(7)75
- iterative,
27(10)178,
28(3)299,
29(6)349-1,
30(8)80-1,
30(8)123,
32(3)21,
33(5)38
- make,
25(1)59,
25(6)78,
25(6)85-1,
25(6)246,
26(8)145,
27(7)1,
27(7)82,
27(7)152,
27(7)249,
27(9)285,
27(12)61,
28(3)69,
28(3)97,
28(3)231,
28(3)347,
28(6)156,
28(6)300,
28(7)64,
28(7)239,
29(6)24,
29(6)73,
29(6)257,
29(6)257-1,
29(6)349,
29(6)349-1,
29(8)35,
29(11)171,
29(11)196,
29(11)308,
30(3)62,
30(3)94,
30(6)93,
30(6)103,
30(6)130,
30(6)174,
30(8)1,
30(8)58,
30(8)68,
30(8)80-1,
32(10)253
- message,
25(10)116,
26(11)129,
27(9)285,
28(1)85,
28(3)69,
28(3)367,
28(6)126,
28(7)23,
28(7)218,
28(12)118,
29(6)121,
29(9)105,
29(10)1,
29(10)176,
29(11)2,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)297,
29(12)48,
30(6)93,
30(6)196,
30(7)41,
30(8)39,
30(8)189,
30(8)217,
30(11)79,
32(9)61,
32(9)61-1
- much,
25(6)85-1,
27(7)44,
27(7)82,
27(7)152,
27(9)248,
27(9)285,
28(3)97,
28(3)349,
28(3)351,
28(7)54-1,
28(8)90,
29(6)49,
29(6)230,
29(8)35,
29(11)2,
29(11)145,
29(11)171,
29(11)308,
29(11)328,
30(3)94,
30(6)67,
30(6)116,
30(6)205,
33(7)59
- necessary,
27(7)94,
27(9)248,
28(3)299,
28(6)46,
28(6)126,
29(6)13,
29(6)206,
29(8)1,
29(11)319,
30(6)186,
30(6)315,
30(8)156,
30(11)20-1,
30(11)134,
33(7)19,
33(7)27
- nonnumerical,
25(6)40,
25(6)66,
25(6)102,
25(6)137,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)85,
29(6)97,
29(6)171,
29(6)302,
29(11)183,
30(6)32,
30(6)47,
30(6)56,
30(6)186,
30(6)246,
30(11)7,
30(11)60,
30(11)134,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- Object-Oriented,
6(4)1,
6(4)46,
6(4)72,
6(4)89,
6(4)117,
6(4)128,
6(4)155,
6(4)180,
6(4)203,
6(4)209,
25(10)237,
26(5)25,
27(10)45,
27(10)77,
27(10)127,
27(10)154,
27(10)184,
27(10)218,
27(10)276,
27(10)315,
27(10)341,
27(10)359,
27(10)377,
27(10)392,
27(10)452,
28(9)57,
28(10)83,
28(10)256,
28(11)2,
29(7)15,
29(9)105,
29(10)31,
29(10)51,
29(10)65,
29(10)191,
29(10)272,
29(10)287,
29(10)301,
29(10)324,
29(10)388,
29(10)403,
29(12)7,
29(12)104,
30(2)5,
30(5)3,
30(5)43,
30(9)3,
30(10)17-1,
30(10)91,
30(10)300-1,
30(12)17,
31(1)36,
31(2)42,
31(4)39,
31(4)43,
31(4)45,
31(7)30,
31(10)1,
31(10)198,
31(10)292,
31(10)421,
32(9)57-1,
32(10)22,
32(10)34,
32(10)108,
32(10)206,
32(10)286,
32(10)304-1,
33(10)45-1,
33(10)296-1,
34(1)94,
34(6)58,
34(12)47
- on-the-fly,
27(7)331,
28(12)12,
28(12)12-1,
28(12)107,
28(12)107-1,
30(3)119
- optimizing,
25(1)17,
25(3)137,
25(5)53,
25(6)53,
25(6)102,
25(6)272,
25(6)272-1,
25(6)337,
26(1)109,
26(6)30,
26(6)219,
26(9)178,
27(7)249,
27(7)322,
27(10)110,
27(10)110-1,
28(6)100,
28(6)139-1,
29(4)41,
29(6)73,
29(6)186,
29(6)218,
29(6)230,
29(6)278,
29(6)326,
29(10)244,
29(10)244,
29(11)252,
29(12)31,
30(3)23,
30(3)50,
30(3)71,
30(6)93,
30(6)196,
30(6)246,
30(8)134,
30(8)166,
31(5)137,
31(5)181,
31(10)51,
31(10)83,
32(5)44,
32(7)100,
32(8)315,
32(12)116,
33(5)291,
33(7)27,
33(7)75,
33(8)40,
34(7)1
- oriented,
17(9)18,
25(6)85-1,
25(10)28,
25(10)116,
25(10)135,
26(1)99,
26(10)13,
26(11)197,
27(7)44,
27(11)33,
28(2)45,
28(3)343,
28(9)13,
28(10)91,
28(10)306,
29(1)37,
29(7)21,
29(8)46,
29(9)17,
29(9)29,
29(9)44,
29(9)72,
29(10)16,
29(10)212,
29(10)244,
29(10)287,
29(10)301,
29(10)324,
29(10)373,
30(2)33,
30(4)29,
30(8)48,
30(10)88,
31(12)12,
32(2)16,
32(10)162
- Oriented, Object-,
6(4)1,
6(4)46,
6(4)72,
6(4)89,
6(4)117,
6(4)128,
6(4)155,
6(4)180,
6(4)203,
6(4)209,
25(10)237,
26(5)25,
27(10)45,
27(10)77,
27(10)127,
27(10)154,
27(10)184,
27(10)218,
27(10)276,
27(10)315,
27(10)341,
27(10)359,
27(10)377,
27(10)392,
27(10)452,
28(9)57,
28(10)83,
28(10)256,
28(11)2,
29(7)15,
29(9)105,
29(10)31,
29(10)51,
29(10)65,
29(10)191,
29(10)272,
29(10)287,
29(10)301,
29(10)324,
29(10)388,
29(10)403,
29(12)7,
29(12)104,
30(5)3,
30(5)43,
30(9)3,
30(10)17-1,
30(10)91,
30(10)300-1,
30(12)17,
31(1)36,
31(2)42,
31(4)39,
31(4)43,
31(4)45,
31(7)30,
31(10)1,
31(10)198,
31(10)292,
31(10)421,
32(9)57-1,
32(10)22,
32(10)34,
32(10)108,
32(10)206,
32(10)286,
32(10)304-1,
33(10)45-1,
33(10)296-1,
34(1)94,
34(6)58,
34(12)47,
30(2)5
- performing,
27(7)116,
28(7)112,
29(6)218,
29(11)242,
30(6)23,
30(6)246,
30(6)258,
33(7)83
- PLDI'90.,
25(6)9,
25(6)16,
25(6)28,
25(6)40,
25(6)53,
25(6)66,
25(6)78,
25(6)85-1,
25(6)92,
25(6)102,
25(6)127-1,
25(6)137,
25(6)165,
25(6)174,
25(6)189,
25(6)197,
25(6)209,
25(6)223,
25(6)234,
25(6)246,
25(6)257,
25(6)272,
25(6)283,
25(6)296,
25(6)311,
25(6)322,
25(6)337
- poor,
28(6)177,
29(6)206,
29(11)145,
29(11)274,
29(12)72,
30(1)37
- possible,
25(4)73,
25(6)78,
27(7)32,
27(7)106,
27(7)116,
27(7)235,
28(3)69,
28(3)347,
28(3)361,
28(3)363,
28(6)100,
28(7)83,
29(6)49,
29(6)186,
29(8)46,
29(11)171,
30(3)94,
30(4)13,
30(6)93,
30(6)103,
30(6)174,
30(6)315,
30(8)134
- PROBLEM,
25(6)40,
25(6)66,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)121,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- receiver,
30(6)93,
30(10)108,
30(10)108-1,
30(11)60,
31(10)83
- run-time,
25(4)20,
26(6)145,
27(7)116,
27(7)224,
28(3)347,
28(6)13,
28(6)46,
28(7)139,
29(6)36,
29(6)61,
29(6)290,
29(6)313,
29(6)326,
29(9)135,
29(10)85,
29(11)25,
29(11)110,
29(11)122,
30(6)79-1,
30(6)93,
30(6)218,
30(8)68,
30(8)102,
31(10)406,
31(11)49,
32(12)163,
33(5)224,
33(10)201,
34(3)146,
34(5)293,
34(5)293-1,
34(8)107
- running,
25(6)209,
26(1)99,
27(7)32,
27(7)44,
27(7)188-1,
28(7)83,
28(7)198,
29(10)324,
29(11)61,
29(11)145,
30(6)196,
30(8)68,
30(11)88
- simultaneously,
28(6)248,
30(6)93,
30(6)139,
30(6)205
- slow,
27(7)106,
28(3)333,
28(6)1,
29(11)86,
30(11)134
- speed,
25(6)9,
25(12)85,
27(7)32,
27(7)162,
27(7)235,
27(9)98,
29(6)171,
29(6)186,
29(6)206,
29(11)61,
29(11)132-1,
29(11)158,
29(11)219,
29(11)252,
29(11)263,
33(5)142,
34(1)339
- splitting,
28(6)268,
29(6)257,
29(6)257-1,
30(6)246,
34(10)276
- test,
25(6)137,
27(7)140,
27(7)152,
28(3)299,
29(6)218,
29(9)77,
30(6)218,
30(11)7,
32(10)142,
33(7)19
- the-fly, on-,
27(7)331,
30(3)119
- time, run-,
25(4)20,
26(6)145,
27(7)116,
27(7)224,
28(3)347,
28(6)13,
28(6)46,
29(6)36,
29(6)61,
29(6)290,
29(6)313,
29(6)326,
29(9)135,
29(10)85,
29(11)25,
29(11)110,
29(11)122,
30(6)79-1,
30(6)93,
30(6)218,
30(8)68,
30(8)102,
31(10)406,
31(11)49,
32(12)163,
34(3)146,
34(5)293-1,
34(8)107
- typed, dynamically-,
29(10)355
- Ungar, David,
26(11)1,
27(7)32,
29(6)326,
29(10)102,
29(10)229,
29(10)355,
30(10)47,
30(10)73,
33(10)179,
33(10)179-1
- way,
25(6)1,
25(6)223,
25(6)283,
25(6)296,
27(7)12,
27(7)82,
27(7)116,
27(7)152,
27(7)212,
27(12)28,
28(3)69,
28(6)227,
29(6)24,
29(6)49,
29(8)101,
29(11)2,
29(11)171,
29(11)208,
30(3)83,
30(3)94,
30(3)111,
30(11)41,
31(12)63