RFR: 8254297: Zero and Minimal VMs are broken with undeclared identifier 'DerivedPointerTable' after JDK-8253180
Aleksey Shipilev
shade at openjdk.java.net
Fri Oct 9 14:56:26 UTC 2020
On Fri, 9 Oct 2020 14:22:06 GMT, Jie Fu <jiefu at openjdk.org> wrote:
> The change fixes Zero and Minimal builds broken after JDK-8253180.
>
> Two build errors were fixed:
> 1 ./src/hotspot/share/runtime/frame.cpp:1047:38: error: use of undeclared identifier 'DerivedPointerTable'
> oops_do_internal(f, cf, map, true, DerivedPointerTable::is_active() ?
>
> 2. ./src/hotspot/share/utilities/vmError.cpp: In static member function 'static void
> VMError::print_stack_trace(outputStream*, JavaThread*, char*, int, bool)':
> ./src/hotspot/share/utilities/vmError.cpp:214:28: error: no matching function for call to
> 'StackFrameStream::StackFrameStream(JavaThread*&)'
> StackFrameStream sfs(jt);
> ^
I think this is fine. @fisk might need to ack this.
src/hotspot/share/compiler/oopMap.cpp line 196:
> 194: #if COMPILER2_OR_JVMCI
> 195: DerivedPointerTable::add(derived, base);
> 196: #endif // COMPILER2_OR_JVMCI
This looks correct and actually reverses the JDK-8253180 change. It is correct because `DerivedPointerTable` is
protected by the same `#if`:
#if COMPILER2_OR_JVMCI
class DerivedPointerTable : public AllStatic {
...
src/hotspot/share/runtime/frame.cpp line 1053:
> 1051: #else
> 1052: oops_do_internal(f, cf, map, true, DerivedPointerIterationMode::_ignore);
> 1053: #endif
We could have used `COMPILER2_OR_JVMCI_PRESENT` inline macro, but I think that would be messier.
src/hotspot/share/utilities/vmError.cpp line 214:
> 212:
> 213: // Print the frames
> 214: StackFrameStream sfs(jt, true /* update */, true /* process_frames */);
This looks correct, also because it does the same thing as L227 below does.
-------------
Marked as reviewed by shade (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/578
More information about the hotspot-dev
mailing list