Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.
/ jdk18u Public archive

Commit

Permalink
8281771: Crash in java_lang_invoke_MethodType::print_signature
Browse files Browse the repository at this point in the history
Backport-of: a24498b777b76c04d7e6da0a8b5fb501f2fb4944
  • Loading branch information
Harold Seigel committed Mar 29, 2022
1 parent e642530 commit 3d289c1
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/hotspot/share/classfile/javaClasses.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -4087,11 +4087,20 @@ void java_lang_invoke_MethodType::serialize_offsets(SerializeClosure* f) {
void java_lang_invoke_MethodType::print_signature(oop mt, outputStream* st) {
st->print("(");
objArrayOop pts = ptypes(mt);
for (int i = 0, limit = pts->length(); i < limit; i++) {
java_lang_Class::print_signature(pts->obj_at(i), st);
if (pts != NULL) {
for (int i = 0, limit = pts->length(); i < limit; i++) {
java_lang_Class::print_signature(pts->obj_at(i), st);
}
} else {
st->print("NULL");
}
st->print(")");
java_lang_Class::print_signature(rtype(mt), st);
oop rt = rtype(mt);
if (rt != NULL) {
java_lang_Class::print_signature(rt, st);
} else {
st->print("NULL");
}
}

Symbol* java_lang_invoke_MethodType::as_signature(oop mt, bool intern_if_not_found) {
Expand Down

1 comment on commit 3d289c1

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.