Entry Ogasawara:2006:EED from toplas.bib
Last update: Tue May 1 02:05:46 MDT 2012
Top |
Symbols |
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{Ogasawara:2006:EED,
author = "Takeshi Ogasawara and Hideaki Komatsu and Toshio
Nakatani",
title = "{EDO}: {Exception-Directed Optimization} in {Java}",
journal = j-TOPLAS,
volume = "28",
number = "1",
pages = "70--105",
month = jan,
year = "2006",
CODEN = "ATPSDT",
DOI = "http://doi.acm.org/10.1145/1111596.1111598",
ISSN = "0164-0925 (print), 1558-4593 (electronic)",
ISSN-L = "0164-0925",
bibdate = "Tue Jan 24 05:55:31 MST 2006",
bibsource = "http://www.acm.org/pubs/contents/journals/toplas/;
http://www.math.utah.edu/pub/tex/bib/toplas.bib",
abstract = "Optimizing exception handling is critical for programs
that frequently throw exceptions. We observed that
there are many such exception-intensive programs
written in Java. There are two commonly used exception
handling techniques, stack unwinding and stack cutting.
Stack unwinding optimizes the normal path by leaving
the exception handling path unoptimized, while stack
cutting optimizes the exception handling path by adding
extra work to the normal path. However, there has been
no single exception handling technique to optimize the
exception handling path without incurring any overhead
to the normal path.We propose a new technique called
{\em Exception-Directed Optimization\/} (EDO) that
optimizes exception-intensive programs without slowing
down exception-minimal programs. It is a
feedback-directed dynamic optimization consisting of
three steps: exception path profiling, exception path
inlining, and throw elimination. Exception path
profiling attempts to detect hot exception paths.
Exception path inlining embeds every hot exception path
into the corresponding catching method. Throw
elimination replaces a throw with a branch to the
corresponding handler. We implemented EDO in IBM's
production Just-in-Time compiler and made several
experiments. In summary, it improved the performance of
exception-intensive programs by up to 18.3\% without
decreasing the performance of exception-minimal
programs for SPECjvm98. We also found an opportunity
for performance improvement using EDO in the startup of
a Java application server.",
acknowledgement = ack-nhfb,
fjournal = "ACM Transactions on Programming Languages and
Systems",
}
Related entries
- adding,
7(2)183,
12(2)303,
16(3)924,
18(6)730,
21(1)11,
21(3)502,
27(6)1147,
31(4)16,
32(3)9
- any,
4(1)44,
4(1)113,
4(3)382,
4(3)455,
4(4)615,
6(4)527,
9(2)235,
9(3)408,
13(1)52,
13(1)124,
14(1)1,
14(3)396,
15(4)659,
15(4)681,
16(3)456,
16(3)524,
16(3)607,
16(3)687,
16(4)1081,
16(4)1117,
16(4)1156,
16(4)1319,
16(6)1699,
16(6)1811,
17(1)63,
17(2)293,
17(2)331,
18(1)30,
18(3)235,
18(3)300,
18(5)615,
18(6)711,
19(1)48,
19(1)87,
19(4)557,
19(4)617,
19(6)1085,
20(1)51,
20(1)116,
20(1)208,
20(2)274,
20(3)635,
20(4)845,
20(5)1014,
20(6)1171,
21(2)240,
21(3)430,
21(3)502,
21(3)677,
21(4)813,
22(3)471,
27(6)1270,
28(1)1,
28(4)715,
28(5)795,
29(1)2,
30(4)23,
30(5)29,
30(6)30,
31(3)10,
31(4)16,
31(6)21,
31(6)22,
32(3)8,
32(3)9,
32(4)11,
32(5)16,
32(5)17,
32(6)22,
33(3)10
- attempt,
5(3)405,
13(1)150,
14(1)107,
14(4)589,
16(4)1279,
16(6)1699,
16(6)1768,
17(2)293,
18(5)528,
19(4)557,
20(2)259,
28(1)134,
28(2)256,
30(5)25,
31(3)12,
33(3)10
- branch,
6(4)527,
9(2)235,
9(3)319,
13(2)181,
19(1)188,
19(6)853,
21(5)1028,
24(6)667,
25(2)210,
27(6)1147,
29(6)37,
30(4)18,
31(5)17
- called,
4(2)149,
4(2)179,
4(4)585,
4(4)650,
4(4)687,
7(4)501,
8(4)419,
8(4)524,
9(2)277,
9(3)319,
9(4)491,
13(1)52,
13(1)150,
14(1)28,
14(2)127,
14(2)201,
14(2)265,
16(1)151,
16(2)175,
16(3)328,
16(4)1215,
16(4)1279,
16(5)1472,
16(5)1648,
16(6)1737,
17(1)63,
17(2)293,
17(4)635,
18(1)30,
18(4)401,
18(6)730,
18(6)752,
19(6)853,
19(6)1031,
20(1)166,
20(5)1014,
21(5)895,
21(5)1028,
22(1)87,
22(4)673,
22(4)701,
28(2)290,
28(3)476,
28(5)795,
28(5)848,
28(5)942,
30(3)17,
30(4)23,
31(1)4,
31(4)16,
32(2)4,
32(3)8,
32(3)9,
32(4)15,
32(6)23,
34(1)2,
34(1)3,
34(1)4
- commonly,
16(4)1319,
19(5)639,
30(4)20,
30(4)22
- consisting,
14(3)339,
18(4)424,
20(1)51,
28(2)331,
30(6)33
- corresponding,
9(4)491,
14(4)574,
14(4)589,
16(3)1010,
16(4)1215,
16(5)1512,
16(5)1572,
17(1)123,
18(1)73,
21(2)286,
21(5)948,
23(2)105,
28(1)134,
28(2)290,
30(6)32,
31(3)12,
31(5)17
- critical,
4(1)44,
15(5)745,
16(4)1156,
19(3)525,
21(6)1196,
27(6)1344,
28(5)848,
30(3)12,
30(4)18,
32(3)8,
32(4)13,
32(4)15
- decreasing,
8(4)491
- detect,
4(1)37,
8(4)547,
10(4)555,
16(3)649,
16(4)1156,
17(1)85,
17(4)600,
18(6)659,
20(3)635,
20(5)980,
29(5)29,
30(5)27,
32(2)4,
32(4)15,
34(1)5
- down,
7(2)183,
18(4)355,
34(1)1,
34(1)4
- elimination,
4(2)179,
15(2)312,
17(2)181,
17(3)461,
18(3)268,
18(6)752,
19(6)899,
19(6)1085,
20(1)166,
20(6)1297,
21(3)430,
21(3)627,
21(6)1251,
22(5)816,
22(5)932,
28(1)106,
30(3)17,
34(1)3
- embed,
19(6)899,
29(6)35
- every,
4(2)295,
8(4)491,
11(4)633,
13(1)1,
15(4)575,
16(3)687,
16(5)1399,
17(3)431,
18(1)30,
19(3)427,
19(5)639,
20(6)1171,
21(2)240,
21(6)1196,
27(6)1147,
28(3)476,
29(5)29,
30(4)20,
31(2)8,
31(3)10,
31(5)19,
32(1)2
- exception,
2(2)225,
9(3)390,
10(3)503,
18(2)139,
20(2)274,
22(2)340,
30(2)8,
32(3)9
- experiment,
6(4)468,
14(2)265,
16(2)175,
16(6)1675,
16(6)1768,
17(2)197,
17(2)233,
17(4)672,
18(4)424,
18(4)477,
19(6)853,
19(6)992,
20(1)208,
20(4)724,
20(4)845,
21(2)189,
21(2)286,
22(4)673,
27(6)1049,
27(6)1147,
30(6)32,
31(1)4,
32(5)17,
34(1)4
- extra,
8(1)109,
13(1)1,
20(6)1195,
30(5)28
- feedback-directed,
30(3)17
- found,
13(2)181,
14(1)107,
16(3)456,
16(4)1114,
16(4)1215,
16(6)1768,
17(1)1,
17(2)293,
17(3)487,
17(4)672,
17(5)691,
18(4)424,
18(6)752,
19(3)525,
19(6)1053,
20(3)635,
20(6)1297,
23(2)105,
28(2)207,
30(2)8,
30(4)18,
31(3)9,
32(5)18,
33(1)3
- frequently,
14(4)490,
18(3)254,
18(4)355,
28(1)106,
28(5)908,
30(6)32,
32(3)9
- handling,
2(2)225,
3(1)83,
4(2)226,
4(2)239,
4(4)585,
5(1)122,
7(2)214,
7(3)478,
8(1)50,
9(2)164,
9(3)390,
10(3)503,
17(2)217,
17(4)672,
18(2)139,
18(5)615,
20(1)208,
20(2)274,
22(2)340,
22(5)861,
24(4)299,
27(6)1216,
28(1)134,
28(4)747,
30(2)8,
30(2)9,
31(2)8
- however,
4(1)44,
4(1)113,
4(3)382,
4(3)455,
4(4)650,
7(4)501,
8(4)491,
10(2)248,
13(2)237,
14(2)265,
15(4)681,
16(1)35,
16(3)387,
16(3)649,
16(4)1319,
16(5)1411,
16(5)1572,
17(1)28,
17(1)63,
17(2)197,
17(2)217,
17(2)331,
17(4)600,
18(1)30,
18(1)73,
18(4)424,
18(4)477,
18(5)615,
19(3)444,
19(6)1031,
20(1)51,
20(1)208,
20(3)635,
20(6)1223,
21(1)11,
21(1)46,
21(2)240,
21(2)370,
21(3)677,
21(4)703,
21(4)747,
21(5)914,
22(1)162,
22(2)187,
23(2)105,
27(6)1147,
30(3)12,
31(1)4,
32(1)2,
32(1)3,
32(3)9,
32(5)17,
33(1)2,
34(1)2
- IBM,
15(4)632,
27(6)1097,
28(1)1,
28(1)106,
34(1)3
- implemented,
4(2)149,
4(2)295,
7(1)137,
7(3)404,
7(4)501,
8(3)344,
9(2)235,
13(1)1,
14(2)147,
14(4)471,
15(1)182,
16(2)175,
16(3)577,
16(3)843,
16(3)986,
16(4)1248,
16(4)1319,
16(5)1431,
16(5)1512,
16(6)1699,
17(1)85,
17(2)197,
17(2)233,
17(4)635,
18(3)268,
18(4)424,
18(5)528,
18(5)564,
18(5)615,
18(6)752,
19(1)153,
19(5)726,
19(5)804,
19(6)942,
20(3)483,
20(4)869,
20(5)1014,
20(6)1195,
20(6)1265,
21(1)138,
21(4)703,
22(2)378,
22(5)816,
27(6)1049,
27(6)1097,
28(1)1,
28(1)106,
28(1)134,
28(2)207,
28(4)696,
29(1)3,
29(5)29,
30(3)17,
30(4)22,
30(4)23,
31(1)1,
31(2)6,
31(2)8,
31(6)22,
32(2)4,
32(5)16,
32(5)18,
32(6)21,
34(1)2
- improved,
2(3)415,
6(4)505,
7(1)159,
13(3)372,
14(1)1,
15(5)771,
18(4)424,
21(5)977,
21(5)1028,
22(1)45,
22(3)490,
29(6)38,
30(3)17,
31(6)21,
32(5)17
- improvement,
4(1)21,
5(2)236,
9(4)473,
10(2)248,
14(1)1,
16(3)428,
17(2)217,
17(4)561,
17(4)635,
18(2)175,
18(4)424,
18(5)528,
18(6)659,
18(6)730,
19(3)525,
19(4)557,
20(1)166,
20(3)546,
20(5)917,
20(6)1223,
21(5)977,
22(5)932,
27(6)1097,
28(1)134,
28(2)207,
30(4)22
- in-Time, Just-,
28(1)106
- inlining,
14(2)173,
20(1)166,
28(1)134,
30(6)33
- Just-in-Time,
28(1)106
- Komatsu, Hideaki,
27(4)732,
28(1)106
- leaving,
14(4)574,
20(3)546
- made,
6(2)159,
6(4)505,
8(4)577,
14(2)265,
14(4)490,
16(5)1449,
16(6)1768,
17(1)1,
17(2)394,
17(5)691,
18(6)683,
18(6)752,
20(6)1223,
21(2)175,
22(3)506,
22(5)861,
27(6)1270,
30(3)12,
30(3)17
- many,
4(1)21,
4(1)44,
4(1)83,
4(3)455,
4(4)552,
4(4)563,
4(4)687,
7(2)183,
9(2)125,
9(2)235,
9(2)257,
9(3)319,
13(1)21,
13(1)124,
13(2)211,
14(1)1,
14(4)471,
14(4)490,
16(1)35,
16(2)175,
16(3)305,
16(3)387,
16(4)1248,
16(5)1399,
16(5)1411,
16(5)1431,
16(6)1737,
17(1)63,
17(2)181,
17(5)777,
18(1)30,
18(1)73,
18(3)254,
18(3)300,
18(5)528,
18(5)615,
19(4)568,
20(1)51,
20(1)208,
20(3)635,
20(6)1111,
20(6)1131,
21(1)138,
21(2)324,
21(3)502,
21(3)527,
21(3)677,
21(4)703,
21(4)747,
22(2)187,
22(2)265,
27(6)1049,
27(6)1216,
27(6)1270,
28(1)106,
28(2)207,
28(4)747,
30(2)8,
30(3)12,
30(4)18,
30(6)33,
30(6)34,
31(1)3,
31(2)6,
31(3)9,
31(6)20,
32(1)3,
32(5)19,
32(6)22,
33(3)10,
34(1)2,
34(1)3
- Nakatani, Toshio,
27(4)732,
28(1)106,
28(1)134
- normal,
13(1)150,
16(4)1081,
19(3)492,
20(1)208,
20(3)586,
22(4)583
- observed,
31(3)10,
32(5)17
- opportunity,
17(2)181,
20(4)768,
28(3)517,
31(4)16,
32(4)11,
34(1)5
- optimize,
16(4)1319,
18(5)528,
21(5)977,
22(1)129,
26(2)263,
32(4)13
- optimizing,
2(2)239,
9(2)257,
14(2)173,
16(3)387,
16(4)1117,
16(6)1768,
17(1)63,
17(2)181,
17(2)217,
17(2)293,
17(4)561,
17(4)600,
18(4)355,
18(6)659,
19(3)492,
19(3)525,
19(5)639,
20(6)1223,
22(2)265,
22(5)773,
27(1)91,
29(6)37,
30(6)32,
31(4)14,
31(5)18,
32(4)11
- overhead,
9(2)164,
14(1)1,
14(1)28,
16(3)370,
16(4)1319,
16(5)1431,
17(4)635,
18(4)355,
18(6)659,
19(6)853,
20(3)586,
20(5)980,
20(6)1111,
20(6)1195,
20(6)1223,
20(6)1265,
21(1)138,
21(2)324,
21(6)1251,
22(3)431,
22(5)932,
27(6)1049,
28(1)1,
28(1)106,
28(1)134,
28(5)908,
30(4)22,
31(4)13,
31(5)17,
32(4)15,
32(5)17,
34(1)4
- path,
15(4)659,
16(3)328,
17(4)600,
19(4)617,
19(6)853,
20(6)1265,
21(2)240,
21(5)1028,
22(1)162,
22(3)490,
22(6)1002,
30(2)8
- production,
4(2)179,
9(2)164,
9(3)367,
12(1)61,
20(4)845,
20(4)869,
22(2)224,
22(5)816,
31(1)5,
34(1)3
- profiling,
16(4)1319,
16(5)1399,
19(2)334,
19(6)853,
21(2)240,
21(5)977,
21(5)1028,
22(3)490,
29(1)2,
30(4)19
- propose,
13(2)237,
14(2)201,
15(5)745,
16(3)305,
16(3)456,
16(3)687,
16(3)986,
16(4)1248,
16(6)1737,
17(4)600,
17(4)635,
18(5)564,
18(5)615,
19(3)413,
19(3)444,
19(5)804,
20(1)116,
20(2)436,
20(6)1111,
20(6)1195,
21(1)90,
21(2)189,
21(3)677,
22(6)973,
27(6)1097,
28(2)256,
28(2)331,
30(2)8,
30(4)22,
30(5)25,
30(6)30,
30(6)33,
31(1)1,
31(1)3,
31(4)13,
32(1)2,
32(3)7,
32(4)11,
32(4)13,
32(4)14,
32(4)15,
32(5)16,
33(4)14,
34(1)2
- replace,
16(4)1279,
17(3)431,
21(3)430
- server,
16(3)986,
19(5)804,
27(6)1049,
27(6)1097,
28(1)1,
28(5)908,
29(4)18,
30(4)22
- several,
4(3)362,
4(4)585,
9(2)277,
11(4)633,
13(1)150,
13(2)181,
14(1)54,
14(4)521,
15(1)36,
15(4)632,
15(5)771,
16(3)305,
16(3)428,
16(3)524,
16(3)843,
16(3)924,
16(3)954,
16(3)986,
16(3)1051,
16(4)1114,
16(4)1248,
16(5)1411,
16(6)1661,
17(1)85,
17(1)123,
17(2)181,
17(2)197,
17(2)394,
18(1)1,
18(1)16,
18(4)424,
18(5)528,
19(3)444,
19(3)492,
19(5)639,
19(6)899,
19(6)1031,
20(3)483,
20(4)724,
20(5)917,
20(6)1131,
20(6)1195,
21(1)11,
21(2)175,
21(3)677,
21(6)1137,
21(6)1251,
22(3)540,
22(4)583,
22(4)638,
22(6)1002,
27(6)1147,
28(4)747,
29(1)3,
29(2)13,
30(1)4,
30(4)19,
30(4)23,
31(1)2,
31(2)7,
31(3)9,
31(3)12,
31(4)14,
32(3)9,
32(4)11,
32(5)17,
32(6)21,
33(1)2,
33(4)12,
34(1)2,
34(1)3,
34(1)6
- single,
4(1)44,
4(2)179,
4(3)382,
8(4)419,
9(3)319,
11(4)491,
13(1)150,
13(4)451,
14(1)1,
14(1)107,
14(2)201,
14(4)574,
15(4)632,
16(3)524,
16(3)986,
16(4)1114,
16(4)1117,
16(5)1648,
16(6)1661,
16(6)1768,
16(6)1842,
17(1)63,
17(1)85,
17(3)535,
17(5)777,
18(3)235,
18(5)528,
20(1)51,
20(3)483,
20(4)869,
21(1)46,
21(3)627,
21(5)895,
21(5)948,
21(5)977,
21(5)1028,
22(4)583,
22(5)773,
22(5)816,
22(6)1002,
28(2)331,
30(4)21,
30(4)23,
30(5)28,
30(6)32,
30(6)33,
31(3)12,
31(6)20,
32(3)9,
34(1)5
- SPECjvm98,
28(1)106
- stack,
9(3)367,
16(3)1051,
18(6)752,
19(5)751,
20(1)1,
20(4)724,
22(4)673,
25(3)360,
25(6)876,
26(6)1029,
30(2)8,
31(4)13,
31(6)20,
32(4)11,
33(1)4,
34(1)6
- step,
4(3)362,
5(4)596,
6(1)55,
7(2)183,
13(1)21,
13(1)124,
15(5)745,
15(5)771,
16(2)259,
16(4)1248,
16(6)1768,
18(2)175,
18(6)649,
19(4)557,
19(5)639,
20(2)344,
21(2)175,
22(1)45,
22(1)129,
22(4)638,
22(5)816,
22(6)1002,
28(4)619,
29(1)3,
29(6)34,
30(5)29,
31(4)13,
31(4)14,
31(5)17,
31(6)20,
32(4)13
- summary,
17(5)777,
32(2)5
- there,
8(4)577,
9(2)125,
9(2)257,
10(2)248,
13(1)124,
13(2)237,
14(1)1,
15(4)632,
16(1)3,
16(3)607,
16(3)727,
16(4)1156,
16(6)1699,
17(2)331,
17(4)600,
18(2)139,
18(3)235,
19(4)586,
19(6)1085,
20(6)1171,
20(6)1251,
21(1)46,
21(2)240,
22(1)162,
22(2)187,
22(2)265,
22(2)378,
22(3)431,
22(3)506,
30(4)20,
30(4)23,
33(4)13,
33(5)15
- three,
4(2)295,
4(3)496,
5(2)236,
5(4)620,
6(2)159,
10(2)204,
11(4)598,
13(1)52,
13(2)269,
14(1)1,
14(3)417,
15(4)659,
15(4)735,
15(5)771,
18(6)659,
19(1)7,
19(1)153,
19(6)916,
19(6)942,
20(3)546,
21(3)430,
21(4)848,
22(2)187,
30(3)17,
30(4)22,
31(1)2,
31(1)4,
31(4)15,
31(6)20,
32(2)5,
32(4)12,
34(1)1,
34(1)3
- throw,
21(5)914
- Time, Just-in-,
28(1)106
- unoptimized,
16(3)387,
16(5)1431
- while,
3(4)484,
4(2)283,
4(3)455,
5(1)46,
13(1)99,
13(1)124,
14(2)147,
16(2)175,
16(4)1117,
16(5)1399,
16(5)1431,
16(5)1467,
16(5)1613,
16(6)1675,
17(1)157,
17(2)331,
17(4)635,
18(2)175,
18(4)355,
18(4)454,
18(5)615,
19(1)153,
19(3)427,
19(3)525,
19(4)568,
19(4)617,
20(2)274,
20(6)1171,
20(6)1195,
21(1)11,
21(2)324,
21(3)502,
21(3)677,
21(4)703,
21(4)848,
21(5)977,
21(6)1137,
22(2)296,
22(3)471,
27(6)1097,
27(6)1147,
28(1)106,
28(1)134,
28(2)256,
28(3)429,
30(3)17,
30(4)18,
30(4)23,
30(5)29,
31(2)7,
31(3)10,
31(4)14,
31(6)20,
32(1)3,
32(3)9,
32(6)23,
33(5)15,
33(5)16,
34(1)4,
34(1)6
- work,
4(1)1,
4(2)283,
4(4)678,
4(4)687,
4(4)711,
6(2)159,
6(4)527,
8(4)419,
9(2)257,
9(3)408,
10(2)248,
13(1)124,
14(3)299,
14(4)574,
15(1)36,
16(1)35,
16(3)607,
16(4)1097,
16(4)1117,
16(4)1319,
16(5)1543,
16(6)1675,
17(1)1,
17(2)181,
17(2)233,
17(4)561,
17(5)691,
18(2)109,
18(4)454,
18(5)615,
18(6)730,
19(1)1,
19(4)617,
19(5)639,
19(6)916,
20(1)1,
20(1)208,
20(4)768,
20(4)845,
20(6)1195,
20(6)1223,
21(1)46,
21(2)240,
21(3)527,
21(4)703,
21(5)1028,
21(6)1251,
22(2)265,
22(4)701,
22(6)1002,
27(6)1097,
28(1)1,
28(1)175,
28(4)619,
28(5)795,
28(5)848,
28(5)908,
29(1)2,
30(3)17,
30(4)22,
30(5)25,
31(3)9,
31(3)12,
31(5)18,
31(5)19,
32(1)3,
32(3)9,
32(4)13,
32(6)23,
33(3)9,
33(3)10,
33(4)13,
33(4)14,
33(6)20,
34(1)2,
34(1)4,
34(1)5
- written,
4(3)382,
4(4)650,
5(2)236,
6(4)527,
8(4)419,
12(4)643,
15(5)745,
16(3)305,
17(2)197,
19(3)413,
19(3)492,
20(3)483,
20(5)1014,
21(4)848,
21(6)1196,
22(4)673,
29(1)2,
29(6)33,
31(1)5,
31(3)9,
31(6)22