38 OSR_Entry, |
38 OSR_Entry, |
39 Dtrace_trap = OSR_Entry, // dtrace probes can never have an OSR entry so reuse it |
39 Dtrace_trap = OSR_Entry, // dtrace probes can never have an OSR entry so reuse it |
40 Exceptions, // Offset where exception handler lives |
40 Exceptions, // Offset where exception handler lives |
41 Deopt, // Offset where deopt handler lives |
41 Deopt, // Offset where deopt handler lives |
42 DeoptMH, // Offset where MethodHandle deopt handler lives |
42 DeoptMH, // Offset where MethodHandle deopt handler lives |
|
43 UnwindHandler, // Offset to default unwind handler |
43 max_Entries }; |
44 max_Entries }; |
44 |
45 |
45 // special value to note codeBlobs where profile (forte) stack walking is |
46 // special value to note codeBlobs where profile (forte) stack walking is |
46 // always dangerous and suspect. |
47 // always dangerous and suspect. |
47 |
48 |
57 _values[Frame_Complete] = frame_never_safe; |
58 _values[Frame_Complete] = frame_never_safe; |
58 _values[OSR_Entry ] = 0; |
59 _values[OSR_Entry ] = 0; |
59 _values[Exceptions ] = -1; |
60 _values[Exceptions ] = -1; |
60 _values[Deopt ] = -1; |
61 _values[Deopt ] = -1; |
61 _values[DeoptMH ] = -1; |
62 _values[DeoptMH ] = -1; |
|
63 _values[UnwindHandler ] = -1; |
62 } |
64 } |
63 |
65 |
64 int value(Entries e) { return _values[e]; } |
66 int value(Entries e) { return _values[e]; } |
65 void set_value(Entries e, int val) { _values[e] = val; } |
67 void set_value(Entries e, int val) { _values[e] = val; } |
66 }; |
68 }; |