Mercurial > hg > truffle
comparison src/share/vm/classfile/stackMapTable.hpp @ 6605:4ee06e614636
7116786: RFE: Detailed information on VerifyErrors
Summary: Provide additional detail in VerifyError messages
Reviewed-by: sspitsyn, acorn
author | kamg |
---|---|
date | Mon, 06 Aug 2012 15:54:45 -0400 |
parents | 1d1603768966 |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6604:c3c2141203e7 | 6605:4ee06e614636 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. 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. |
24 | 24 |
25 #ifndef SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP | 25 #ifndef SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP |
26 #define SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP | 26 #define SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP |
27 | 27 |
28 #include "classfile/stackMapFrame.hpp" | 28 #include "classfile/stackMapFrame.hpp" |
29 #include "classfile/verifier.hpp" | |
29 #include "memory/allocation.hpp" | 30 #include "memory/allocation.hpp" |
30 #include "oops/constantPoolOop.hpp" | 31 #include "oops/constantPoolOop.hpp" |
31 #include "oops/methodOop.hpp" | 32 #include "oops/methodOop.hpp" |
32 #include "utilities/globalDefinitions.hpp" | 33 #include "utilities/globalDefinitions.hpp" |
33 #ifdef TARGET_ARCH_x86 | 34 #ifdef TARGET_ARCH_x86 |
71 | 72 |
72 // Match and/or update current_frame to the frame in stackmap table with | 73 // Match and/or update current_frame to the frame in stackmap table with |
73 // specified offset. Return true if the two frames match. | 74 // specified offset. Return true if the two frames match. |
74 bool match_stackmap( | 75 bool match_stackmap( |
75 StackMapFrame* current_frame, int32_t offset, | 76 StackMapFrame* current_frame, int32_t offset, |
76 bool match, bool update, TRAPS) const; | 77 bool match, bool update, ErrorContext* ctx, TRAPS) const; |
77 // Match and/or update current_frame to the frame in stackmap table with | 78 // Match and/or update current_frame to the frame in stackmap table with |
78 // specified offset and frame index. Return true if the two frames match. | 79 // specified offset and frame index. Return true if the two frames match. |
79 bool match_stackmap( | 80 bool match_stackmap( |
80 StackMapFrame* current_frame, int32_t offset, int32_t frame_index, | 81 StackMapFrame* current_frame, int32_t offset, int32_t frame_index, |
81 bool match, bool update, TRAPS) const; | 82 bool match, bool update, ErrorContext* ctx, TRAPS) const; |
82 | 83 |
83 // Check jump instructions. Make sure there are no uninitialized | 84 // Check jump instructions. Make sure there are no uninitialized |
84 // instances on backward branch. | 85 // instances on backward branch. |
85 void check_jump_target(StackMapFrame* frame, int32_t target, TRAPS) const; | 86 void check_jump_target(StackMapFrame* frame, int32_t target, TRAPS) const; |
86 | 87 |
91 | 92 |
92 // Make sure that there's no uninitialized object exist on backward branch. | 93 // Make sure that there's no uninitialized object exist on backward branch. |
93 void check_new_object( | 94 void check_new_object( |
94 const StackMapFrame* frame, int32_t target, TRAPS) const; | 95 const StackMapFrame* frame, int32_t target, TRAPS) const; |
95 | 96 |
96 // Debugging | 97 void print_on(outputStream* str) const; |
97 void print() const PRODUCT_RETURN; | |
98 }; | 98 }; |
99 | 99 |
100 class StackMapStream : StackObj { | 100 class StackMapStream : StackObj { |
101 private: | 101 private: |
102 typeArrayHandle _data; | 102 typeArrayHandle _data; |