1 /* |
1 /* |
2 * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
37 Frame_Complete, // Offset in the code where the frame setup is (for forte stackwalks) is complete |
37 Frame_Complete, // Offset in the code where the frame setup is (for forte stackwalks) is complete |
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 |
|
43 max_Entries }; |
42 max_Entries }; |
44 |
43 |
45 // special value to note codeBlobs where profile (forte) stack walking is |
44 // special value to note codeBlobs where profile (forte) stack walking is |
46 // always dangerous and suspect. |
45 // always dangerous and suspect. |
47 |
46 |
50 private: |
49 private: |
51 int _values[max_Entries]; |
50 int _values[max_Entries]; |
52 |
51 |
53 public: |
52 public: |
54 CodeOffsets() { |
53 CodeOffsets() { |
55 _values[Entry ] = 0; |
54 _values[Entry] = 0; |
56 _values[Verified_Entry] = 0; |
55 _values[Verified_Entry] = 0; |
57 _values[Frame_Complete] = frame_never_safe; |
56 _values[Frame_Complete] = frame_never_safe; |
58 _values[OSR_Entry ] = 0; |
57 _values[OSR_Entry] = 0; |
59 _values[Exceptions ] = -1; |
58 _values[Exceptions] = -1; |
60 _values[Deopt ] = -1; |
59 _values[Deopt] = -1; |
61 _values[DeoptMH ] = -1; |
|
62 } |
60 } |
63 |
61 |
64 int value(Entries e) { return _values[e]; } |
62 int value(Entries e) { return _values[e]; } |
65 void set_value(Entries e, int val) { _values[e] = val; } |
63 void set_value(Entries e, int val) { _values[e] = val; } |
66 }; |
64 }; |