Mercurial > hg > graal-jvmci-8
diff src/share/vm/oops/methodData.hpp @ 8616:d343737786fe
changed profiling of exceptions so that the ExceptionSeen flag also works without GRAALVM
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Thu, 28 Mar 2013 17:11:06 +0100 |
parents | 6c4db417385a |
children | 89e4d67fdd2a |
line wrap: on
line diff
--- a/src/share/vm/oops/methodData.hpp Thu Mar 28 13:38:47 2013 +0100 +++ b/src/share/vm/oops/methodData.hpp Thu Mar 28 17:11:06 2013 +0100 @@ -461,7 +461,11 @@ enum { // null_seen: // saw a null operand (cast/aastore/instanceof) - null_seen_flag = DataLayout::first_flag + 0 + null_seen_flag = DataLayout::first_flag + 0 +#ifdef GRAAL + // bytecode threw any exception + , exception_seen_flag = null_seen_flag + 1 +#endif }; enum { bit_cell_count = 0 }; // no additional data fields needed. public: @@ -484,7 +488,11 @@ // Consulting it allows the compiler to avoid setting up null_check traps. bool null_seen() { return flag_at(null_seen_flag); } void set_null_seen() { set_flag_at(null_seen_flag); } - +#ifdef GRAAL + // true if an exception was thrown at the specific BCI + bool exception_seen() { return flag_at(exception_seen_flag); } + void set_exception_seen() { set_flag_at(exception_seen_flag); } +#endif // Code generation support static int null_seen_byte_constant() {