8191683: Compile problem on ARM after JDK-8043070
Summary: Make nmethod::_state explicitly a signed char
Reviewed-by: thartmann
--- a/src/hotspot/share/code/nmethod.hpp Tue Nov 21 21:33:53 2017 -0500
+++ b/src/hotspot/share/code/nmethod.hpp Wed Nov 22 01:12:23 2017 -0800
@@ -124,7 +124,7 @@
bool _unload_reported;
// Protected by Patching_lock
- volatile char _state; // {not_installed, in_use, not_entrant, zombie, unloaded}
+ volatile signed char _state; // {not_installed, in_use, not_entrant, zombie, unloaded}
#ifdef ASSERT
bool _oops_are_stale; // indicates that it's no longer safe to access oops section
--- a/src/hotspot/share/runtime/vmStructs.cpp Tue Nov 21 21:33:53 2017 -0500
+++ b/src/hotspot/share/runtime/vmStructs.cpp Wed Nov 22 01:12:23 2017 -0800
@@ -830,7 +830,7 @@
nonstatic_field(nmethod, _osr_link, nmethod*) \
nonstatic_field(nmethod, _scavenge_root_link, nmethod*) \
nonstatic_field(nmethod, _scavenge_root_state, jbyte) \
- nonstatic_field(nmethod, _state, volatile char) \
+ nonstatic_field(nmethod, _state, volatile signed char) \
nonstatic_field(nmethod, _exception_offset, int) \
nonstatic_field(nmethod, _orig_pc_offset, int) \
nonstatic_field(nmethod, _stub_offset, int) \
@@ -1350,8 +1350,8 @@
declare_integer_type(int) \
declare_integer_type(long) \
declare_integer_type(char) \
+ declare_integer_type(volatile signed char) \
declare_unsigned_integer_type(unsigned char) \
- declare_unsigned_integer_type(volatile char) \
declare_unsigned_integer_type(u_char) \
declare_unsigned_integer_type(unsigned int) \
declare_unsigned_integer_type(uint) \