< prev index next >
src/share/vm/classfile/stackMapTable.hpp
Print this page
rev 4136 : 7116786: RFE: Detailed information on VerifyErrors
Summary: Provide additional detail in VerifyError messages
Reviewed-by: sspitsyn, acorn
@@ -24,10 +24,11 @@
#ifndef SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP
#define SHARE_VM_CLASSFILE_STACKMAPTABLE_HPP
#include "classfile/stackMapFrame.hpp"
+#include "classfile/verifier.hpp"
#include "memory/allocation.hpp"
#include "oops/constantPoolOop.hpp"
#include "oops/methodOop.hpp"
#include "utilities/globalDefinitions.hpp"
#ifdef TARGET_ARCH_x86
@@ -71,16 +72,16 @@
// Match and/or update current_frame to the frame in stackmap table with
// specified offset. Return true if the two frames match.
bool match_stackmap(
StackMapFrame* current_frame, int32_t offset,
- bool match, bool update, bool handler, TRAPS) const;
+ bool match, bool update, bool handler, ErrorContext* ctx, TRAPS) const;
// Match and/or update current_frame to the frame in stackmap table with
// specified offset and frame index. Return true if the two frames match.
bool match_stackmap(
StackMapFrame* current_frame, int32_t offset, int32_t frame_index,
- bool match, bool update, bool handler, TRAPS) const;
+ bool match, bool update, bool handler, ErrorContext* ctx, TRAPS) const;
// Check jump instructions. Make sure there are no uninitialized
// instances on backward branch.
void check_jump_target(StackMapFrame* frame, int32_t target, TRAPS) const;
@@ -91,12 +92,11 @@
// Make sure that there's no uninitialized object exist on backward branch.
void check_new_object(
const StackMapFrame* frame, int32_t target, TRAPS) const;
- // Debugging
- void print() const PRODUCT_RETURN;
+ void print_on(outputStream* str) const;
};
class StackMapStream : StackObj {
private:
typeArrayHandle _data;
< prev index next >