Mercurial > hg > graal-jvmci-8
changeset 24063:57f957f4731d
Merge
author | asaha |
---|---|
date | Tue, 09 Aug 2016 13:24:03 -0700 |
parents | f797a341d89e (diff) 56ff16dd9b8c (current diff) |
children | fff265b31090 |
files | .hgtags |
diffstat | 2 files changed, 3 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Mon Aug 08 13:17:49 2016 -0700 +++ b/.hgtags Tue Aug 09 13:24:03 2016 -0700 @@ -912,3 +912,4 @@ 4b7af794466ba22461ed043a1394df43e4993c4f jdk8u112-b06 55ed9b0a35e4ad4bb5ca3f393f6749e81ad9fef0 jdk8u112-b07 670f8169b83c6af14339fe37b2a2b8384dc2149b jdk8u112-b08 +3b0e5f01891f5ebbf67797b1aae786196f1bb4f6 jdk8u121-b00
--- a/src/share/vm/classfile/verifier.cpp Mon Aug 08 13:17:49 2016 -0700 +++ b/src/share/vm/classfile/verifier.cpp Tue Aug 09 13:24:03 2016 -0700 @@ -504,19 +504,13 @@ stack_map_frame* sm_frame = sm_table->entries(); streamIndentor si2(ss); int current_offset = -1; - // Subtract two from StackMapAttribute length because the length includes - // two bytes for number of table entries. - size_t sm_table_space = method->stackmap_data()->length() - 2; + address end_of_sm_table = (address)sm_table + method->stackmap_data()->length(); for (u2 i = 0; i < sm_table->number_of_entries(); ++i) { ss->indent(); - size_t sm_frame_size = sm_frame->size(); - // If the size of the next stackmap exceeds the length of the entire - // stackmap table then print a truncated message and return. - if (sm_frame_size > sm_table_space) { + if (!sm_frame->verify((address)sm_frame, end_of_sm_table)) { sm_frame->print_truncated(ss, current_offset); return; } - sm_table_space -= sm_frame_size; sm_frame->print_on(ss, current_offset); ss->cr(); current_offset += sm_frame->offset_delta();