RFR 8166501 : compilation error in stackwalk.cpp on some gccs
David Holmes
david.holmes at oracle.com
Fri Sep 23 00:44:36 UTC 2016
This is the second example I've seen in two days concerning misuse of
CHECK_ macros. They expand into an if statement after the call, so can
not appear on calls that are part of a return statement, or a
conditional statement, or likely a number of other places, as the if
code either becomes unreachable or else does not do what may be expected.
David
-----
On 23/09/2016 2:04 AM, Brent Christian wrote:
> Hi,
>
> Looks like my 8165372 change broke the slowdebug build. Please review
> my fix (which also breaks up a pretty long line):
>
> --- a/src/share/vm/prims/stackwalk.cpp
> +++ b/src/share/vm/prims/stackwalk.cpp
> @@ -331,10 +331,12 @@
> assert (use_frames_array(mode), "Bad mode for get live frame");
> RegisterMap regMap(jt, true);
> LiveFrameStream stream(jt, ®Map);
> - return fetchFirstBatch(stream, stackStream, mode, skip_frames,
> frame_count, start_index, frames_array, CHECK_NULL);
> + return fetchFirstBatch(stream, stackStream, mode, skip_frames,
> frame_count,
> + start_index, frames_array, THREAD);
> } else {
> JavaFrameStream stream(jt, mode);
> - return fetchFirstBatch(stream, stackStream, mode, skip_frames,
> frame_count, start_index, frames_array, CHECK_NULL);
> + return fetchFirstBatch(stream, stackStream, mode, skip_frames,
> frame_count,
> + start_index, frames_array, THREAD);
> }
> }
>
> Thanks!
> -Brent
>
More information about the core-libs-dev
mailing list