1
1
/*
2
- * Copyright (c) 2003, 2020 , Oracle and/or its affiliates. All rights reserved.
2
+ * Copyright (c) 2003, 2022 , Oracle and/or its affiliates. All rights reserved.
3
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
4
*
5
5
* This code is free software; you can redistribute it and/or modify it
@@ -173,13 +173,15 @@ int32_t StackMapReader::chop(
173
173
return pos+1 ;
174
174
}
175
175
176
+ #define CHECK_NT CHECK_ (VerificationType::bogus_type())
177
+
176
178
VerificationType StackMapReader::parse_verification_type(u1* flags, TRAPS) {
177
- u1 tag = _stream->get_u1 (THREAD );
179
+ u1 tag = _stream->get_u1 (CHECK_NT );
178
180
if (tag < (u1)ITEM_UninitializedThis) {
179
181
return VerificationType::from_tag (tag);
180
182
}
181
183
if (tag == ITEM_Object) {
182
- u2 class_index = _stream->get_u2 (THREAD );
184
+ u2 class_index = _stream->get_u2 (CHECK_NT );
183
185
int nconstants = _cp->length ();
184
186
if ((class_index <= 0 || class_index >= nconstants) ||
185
187
(!_cp->tag_at (class_index).is_klass () &&
@@ -196,7 +198,7 @@ VerificationType StackMapReader::parse_verification_type(u1* flags, TRAPS) {
196
198
return VerificationType::uninitialized_this_type ();
197
199
}
198
200
if (tag == ITEM_Uninitialized) {
199
- u2 offset = _stream->get_u2 (THREAD );
201
+ u2 offset = _stream->get_u2 (CHECK_NT );
200
202
if (offset >= _code_length ||
201
203
_code_data[offset] != ClassVerifier::NEW_OFFSET) {
202
204
_verifier->class_format_error (
@@ -214,7 +216,7 @@ StackMapFrame* StackMapReader::next(
214
216
StackMapFrame* frame;
215
217
int offset;
216
218
VerificationType* locals = NULL ;
217
- u1 frame_type = _stream->get_u1 (THREAD );
219
+ u1 frame_type = _stream->get_u1 (CHECK_NULL );
218
220
if (frame_type < 64 ) {
219
221
// same_frame
220
222
if (first) {
@@ -268,7 +270,7 @@ StackMapFrame* StackMapReader::next(
268
270
return frame;
269
271
}
270
272
271
- u2 offset_delta = _stream->get_u2 (THREAD );
273
+ u2 offset_delta = _stream->get_u2 (CHECK_NULL );
272
274
273
275
if (frame_type < SAME_LOCALS_1_STACK_ITEM_EXTENDED) {
274
276
// reserved frame types
@@ -360,7 +362,7 @@ StackMapFrame* StackMapReader::next(
360
362
}
361
363
u1 flags = pre_frame->flags ();
362
364
for (i=0 ; i<appends; i++) {
363
- locals[real_length] = parse_verification_type (&flags, THREAD );
365
+ locals[real_length] = parse_verification_type (&flags, CHECK_NULL );
364
366
if (locals[real_length].is_category2 ()) {
365
367
locals[real_length + 1 ] = locals[real_length].to_category2_2nd ();
366
368
++real_length;
@@ -382,15 +384,15 @@ StackMapFrame* StackMapReader::next(
382
384
if (frame_type == FULL) {
383
385
// full_frame
384
386
u1 flags = 0 ;
385
- u2 locals_size = _stream->get_u2 (THREAD );
387
+ u2 locals_size = _stream->get_u2 (CHECK_NULL );
386
388
int real_locals_size = 0 ;
387
389
if (locals_size > 0 ) {
388
390
locals = NEW_RESOURCE_ARRAY_IN_THREAD (
389
391
THREAD, VerificationType, locals_size*2 );
390
392
}
391
393
int i;
392
394
for (i=0 ; i<locals_size; i++) {
393
- locals[real_locals_size] = parse_verification_type (&flags, THREAD );
395
+ locals[real_locals_size] = parse_verification_type (&flags, CHECK_NULL );
394
396
if (locals[real_locals_size].is_category2 ()) {
395
397
locals[real_locals_size + 1 ] =
396
398
locals[real_locals_size].to_category2_2nd ();
@@ -400,15 +402,15 @@ StackMapFrame* StackMapReader::next(
400
402
}
401
403
check_verification_type_array_size (
402
404
real_locals_size, max_locals, CHECK_VERIFY_ (_verifier, NULL ));
403
- u2 stack_size = _stream->get_u2 (THREAD );
405
+ u2 stack_size = _stream->get_u2 (CHECK_NULL );
404
406
int real_stack_size = 0 ;
405
407
VerificationType* stack = NULL ;
406
408
if (stack_size > 0 ) {
407
409
stack = NEW_RESOURCE_ARRAY_IN_THREAD (
408
410
THREAD, VerificationType, stack_size*2 );
409
411
}
410
412
for (i=0 ; i<stack_size; i++) {
411
- stack[real_stack_size] = parse_verification_type (NULL , THREAD );
413
+ stack[real_stack_size] = parse_verification_type (NULL , CHECK_NULL );
412
414
if (stack[real_stack_size].is_category2 ()) {
413
415
stack[real_stack_size + 1 ] = stack[real_stack_size].to_category2_2nd ();
414
416
++real_stack_size;
0 commit comments