Skip to content

Commit 7146dae

Browse files
author
Kim Barrett
committed
8337783: Use THROW_NULL instead of THROW_0 in pointer contexts in misc runtime code
Reviewed-by: stefank, shade
1 parent 431d4f7 commit 7146dae

File tree

6 files changed

+33
-33
lines changed

6 files changed

+33
-33
lines changed

src/hotspot/os/posix/perfMemory_posix.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -499,11 +499,11 @@ static char* get_user_name_slow(int vmid, int nspid, TRAPS) {
499499
// short circuit the directory search if the process doesn't even exist.
500500
if (kill(vmid, 0) == OS_ERR) {
501501
if (errno == ESRCH) {
502-
THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(),
503-
"Process not found");
502+
THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
503+
"Process not found");
504504
}
505505
else /* EPERM */ {
506-
THROW_MSG_0(vmSymbols::java_io_IOException(), os::strerror(errno));
506+
THROW_MSG_NULL(vmSymbols::java_io_IOException(), os::strerror(errno));
507507
}
508508
}
509509

src/hotspot/share/classfile/javaClasses.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ Handle java_lang_String::externalize_classname(Symbol* java_name, TRAPS) {
475475
jchar* java_lang_String::as_unicode_string(oop java_string, int& length, TRAPS) {
476476
jchar* result = as_unicode_string_or_null(java_string, length);
477477
if (result == nullptr) {
478-
THROW_MSG_0(vmSymbols::java_lang_OutOfMemoryError(), "could not allocate Unicode string");
478+
THROW_MSG_NULL(vmSymbols::java_lang_OutOfMemoryError(), "could not allocate Unicode string");
479479
}
480480
return result;
481481
}

src/hotspot/share/classfile/systemDictionary.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ Handle SystemDictionary::get_loader_lock_or_null(Handle class_loader) {
259259

260260
Symbol* SystemDictionary::class_name_symbol(const char* name, Symbol* exception, TRAPS) {
261261
if (name == nullptr) {
262-
THROW_MSG_0(exception, "No class name given");
262+
THROW_MSG_NULL(exception, "No class name given");
263263
}
264264
if ((int)strlen(name) > Symbol::max_length()) {
265265
// It's impossible to create this class; the name cannot fit

src/hotspot/share/oops/objArrayKlass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ oop ObjArrayKlass::multi_allocate(int rank, jint* sizes, TRAPS) {
173173
for (int i = 0; i < rank - 1; ++i) {
174174
sizes += 1;
175175
if (*sizes < 0) {
176-
THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", *sizes));
176+
THROW_MSG_NULL(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", *sizes));
177177
}
178178
}
179179
}

src/hotspot/share/runtime/perfData.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2001, 2023, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2001, 2024, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -361,7 +361,7 @@ PerfStringConstant* PerfDataManager::create_string_constant(CounterNS ns,
361361
if (!p->is_valid()) {
362362
// allocation of native resources failed.
363363
delete p;
364-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
364+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
365365
}
366366

367367
add_item(p, false);
@@ -379,7 +379,7 @@ PerfLongConstant* PerfDataManager::create_long_constant(CounterNS ns,
379379
if (!p->is_valid()) {
380380
// allocation of native resources failed.
381381
delete p;
382-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
382+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
383383
}
384384

385385
add_item(p, false);
@@ -402,7 +402,7 @@ PerfStringVariable* PerfDataManager::create_string_variable(CounterNS ns,
402402
if (!p->is_valid()) {
403403
// allocation of native resources failed.
404404
delete p;
405-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
405+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
406406
}
407407

408408
add_item(p, false);
@@ -420,7 +420,7 @@ PerfLongVariable* PerfDataManager::create_long_variable(CounterNS ns,
420420
if (!p->is_valid()) {
421421
// allocation of native resources failed.
422422
delete p;
423-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
423+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
424424
}
425425

426426
add_item(p, false);
@@ -442,7 +442,7 @@ PerfLongVariable* PerfDataManager::create_long_variable(CounterNS ns,
442442
if (!p->is_valid()) {
443443
// allocation of native resources failed.
444444
delete p;
445-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
445+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
446446
}
447447

448448
add_item(p, true);
@@ -460,7 +460,7 @@ PerfLongCounter* PerfDataManager::create_long_counter(CounterNS ns,
460460
if (!p->is_valid()) {
461461
// allocation of native resources failed.
462462
delete p;
463-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
463+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
464464
}
465465

466466
add_item(p, false);
@@ -482,7 +482,7 @@ PerfLongCounter* PerfDataManager::create_long_counter(CounterNS ns,
482482
if (!p->is_valid()) {
483483
// allocation of native resources failed.
484484
delete p;
485-
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
485+
THROW_NULL(vmSymbols::java_lang_OutOfMemoryError());
486486
}
487487

488488
add_item(p, true);

src/hotspot/share/runtime/reflection.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -325,7 +325,7 @@ static Klass* basic_type_mirror_to_arrayklass(oop basic_type_mirror, TRAPS) {
325325
assert(java_lang_Class::is_primitive(basic_type_mirror), "just checking");
326326
BasicType type = java_lang_Class::primitive_type(basic_type_mirror);
327327
if (type == T_VOID) {
328-
THROW_0(vmSymbols::java_lang_IllegalArgumentException());
328+
THROW_NULL(vmSymbols::java_lang_IllegalArgumentException());
329329
}
330330
else {
331331
return Universe::typeArrayKlass(type);
@@ -334,18 +334,18 @@ static Klass* basic_type_mirror_to_arrayklass(oop basic_type_mirror, TRAPS) {
334334

335335
arrayOop Reflection::reflect_new_array(oop element_mirror, jint length, TRAPS) {
336336
if (element_mirror == nullptr) {
337-
THROW_0(vmSymbols::java_lang_NullPointerException());
337+
THROW_NULL(vmSymbols::java_lang_NullPointerException());
338338
}
339339
if (length < 0) {
340-
THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
340+
THROW_MSG_NULL(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", length));
341341
}
342342
if (java_lang_Class::is_primitive(element_mirror)) {
343343
Klass* tak = basic_type_mirror_to_arrayklass(element_mirror, CHECK_NULL);
344344
return TypeArrayKlass::cast(tak)->allocate(length, THREAD);
345345
} else {
346346
Klass* k = java_lang_Class::as_Klass(element_mirror);
347347
if (k->is_array_klass() && ArrayKlass::cast(k)->dimension() >= MAX_DIM) {
348-
THROW_0(vmSymbols::java_lang_IllegalArgumentException());
348+
THROW_NULL(vmSymbols::java_lang_IllegalArgumentException());
349349
}
350350
return oopFactory::new_objArray(k, length, THREAD);
351351
}
@@ -357,19 +357,19 @@ arrayOop Reflection::reflect_new_multi_array(oop element_mirror, typeArrayOop di
357357
assert(TypeArrayKlass::cast(dim_array->klass())->element_type() == T_INT, "just checking");
358358

359359
if (element_mirror == nullptr) {
360-
THROW_0(vmSymbols::java_lang_NullPointerException());
360+
THROW_NULL(vmSymbols::java_lang_NullPointerException());
361361
}
362362

363363
int len = dim_array->length();
364364
if (len <= 0 || len > MAX_DIM) {
365-
THROW_0(vmSymbols::java_lang_IllegalArgumentException());
365+
THROW_NULL(vmSymbols::java_lang_IllegalArgumentException());
366366
}
367367

368368
jint dimensions[MAX_DIM]; // C array copy of intArrayOop
369369
for (int i = 0; i < len; i++) {
370370
int d = dim_array->int_at(i);
371371
if (d < 0) {
372-
THROW_MSG_0(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", d));
372+
THROW_MSG_NULL(vmSymbols::java_lang_NegativeArraySizeException(), err_msg("%d", d));
373373
}
374374
dimensions[i] = d;
375375
}
@@ -383,7 +383,7 @@ arrayOop Reflection::reflect_new_multi_array(oop element_mirror, typeArrayOop di
383383
if (klass->is_array_klass()) {
384384
int k_dim = ArrayKlass::cast(klass)->dimension();
385385
if (k_dim + len > MAX_DIM) {
386-
THROW_0(vmSymbols::java_lang_IllegalArgumentException());
386+
THROW_NULL(vmSymbols::java_lang_IllegalArgumentException());
387387
}
388388
dim += k_dim;
389389
}
@@ -977,11 +977,11 @@ static oop invoke(InstanceKlass* klass,
977977
} else {
978978
// check for null receiver
979979
if (receiver.is_null()) {
980-
THROW_0(vmSymbols::java_lang_NullPointerException());
980+
THROW_NULL(vmSymbols::java_lang_NullPointerException());
981981
}
982982
// Check class of receiver against class declaring method
983983
if (!receiver->is_a(klass)) {
984-
THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), "object is not an instance of declaring class");
984+
THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(), "object is not an instance of declaring class");
985985
}
986986
// target klass is receiver's klass
987987
target_klass = receiver->klass();
@@ -1047,15 +1047,15 @@ static oop invoke(InstanceKlass* klass,
10471047
reflected_method->name(),
10481048
reflected_method->signature());
10491049
ss.print("'");
1050-
THROW_MSG_0(vmSymbols::java_lang_NoSuchMethodError(), ss.as_string());
1050+
THROW_MSG_NULL(vmSymbols::java_lang_NoSuchMethodError(), ss.as_string());
10511051
}
10521052

10531053
assert(ptypes->is_objArray(), "just checking");
10541054
int args_len = args.is_null() ? 0 : args->length();
10551055
// Check number of arguments
10561056
if (ptypes->length() != args_len) {
1057-
THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(),
1058-
"wrong number of arguments");
1057+
THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
1058+
"wrong number of arguments");
10591059
}
10601060

10611061
// Create object to contain parameters for the JavaCall
@@ -1085,14 +1085,14 @@ static oop invoke(InstanceKlass* klass,
10851085
case T_FLOAT: java_args.push_float(value.f); break;
10861086
case T_DOUBLE: java_args.push_double(value.d); break;
10871087
default:
1088-
THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(), "argument type mismatch");
1088+
THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(), "argument type mismatch");
10891089
}
10901090
} else {
10911091
if (arg != nullptr) {
10921092
Klass* k = java_lang_Class::as_Klass(type_mirror);
10931093
if (!arg->is_a(k)) {
1094-
THROW_MSG_0(vmSymbols::java_lang_IllegalArgumentException(),
1095-
"argument type mismatch");
1094+
THROW_MSG_NULL(vmSymbols::java_lang_IllegalArgumentException(),
1095+
"argument type mismatch");
10961096
}
10971097
}
10981098
Handle arg_handle(THREAD, arg); // Create handle for argument
@@ -1148,7 +1148,7 @@ oop Reflection::invoke_method(oop method_mirror, Handle receiver, objArrayHandle
11481148
InstanceKlass* klass = InstanceKlass::cast(java_lang_Class::as_Klass(mirror));
11491149
Method* m = klass->method_with_idnum(slot);
11501150
if (m == nullptr) {
1151-
THROW_MSG_0(vmSymbols::java_lang_InternalError(), "invoke");
1151+
THROW_MSG_NULL(vmSymbols::java_lang_InternalError(), "invoke");
11521152
}
11531153
methodHandle method(THREAD, m);
11541154

@@ -1165,7 +1165,7 @@ oop Reflection::invoke_constructor(oop constructor_mirror, objArrayHandle args,
11651165
InstanceKlass* klass = InstanceKlass::cast(java_lang_Class::as_Klass(mirror));
11661166
Method* m = klass->method_with_idnum(slot);
11671167
if (m == nullptr) {
1168-
THROW_MSG_0(vmSymbols::java_lang_InternalError(), "invoke");
1168+
THROW_MSG_NULL(vmSymbols::java_lang_InternalError(), "invoke");
11691169
}
11701170
methodHandle method(THREAD, m);
11711171
assert(method->name() == vmSymbols::object_initializer_name(), "invalid constructor");

0 commit comments

Comments
 (0)