-
Enhancement
-
Resolution: Fixed
-
P4
-
17
-
b18
We have a bunch of boilerplate method like:
JVMFlagAccess::boolAtPut (JVMFlag* f, bool* v, JVMFlagOrigin origin)
JVMFlagAccess::intAtPut (JVMFlag* f, int* v, JVMFlagOrigin origin)
JVMFlagAccess::uintAtPut (JVMFlag* f, uint* v, JVMFlagOrigin origin)
JVMFlagAccess::intxAtPut (JVMFlag* f, intx* v, JVMFlagOrigin origin)
JVMFlagAccess::uintxAtPut (JVMFlag* f, uintx* v, JVMFlagOrigin origin)
JVMFlagAccess::uint64_tAtPut(JVMFlag* f, uint64_t* v, JVMFlagOrigin origin)
JVMFlagAccess::size_tAtPut (JVMFlag* f, size_t* v, JVMFlagOrigin origin)
JVMFlagAccess::doubleAtPut (JVMFlag* f, double* v, JVMFlagOrigin origin)
Similarly, we also have 8 different functions: JVMFlag::{set_bool, set_int, set_intx, ...}
We should replace such patterns with
template <typename T>
JVMFlagAccess::set(JVMFlag* f, T* value, JVMFlagOrigin origin)
This would allow us to templatize the 8x boilerplate functions in writeableFlags.cpp.
The flag access code in whitebox.cpp can also be improved.
JVMFlagAccess::boolAtPut (JVMFlag* f, bool* v, JVMFlagOrigin origin)
JVMFlagAccess::intAtPut (JVMFlag* f, int* v, JVMFlagOrigin origin)
JVMFlagAccess::uintAtPut (JVMFlag* f, uint* v, JVMFlagOrigin origin)
JVMFlagAccess::intxAtPut (JVMFlag* f, intx* v, JVMFlagOrigin origin)
JVMFlagAccess::uintxAtPut (JVMFlag* f, uintx* v, JVMFlagOrigin origin)
JVMFlagAccess::uint64_tAtPut(JVMFlag* f, uint64_t* v, JVMFlagOrigin origin)
JVMFlagAccess::size_tAtPut (JVMFlag* f, size_t* v, JVMFlagOrigin origin)
JVMFlagAccess::doubleAtPut (JVMFlag* f, double* v, JVMFlagOrigin origin)
Similarly, we also have 8 different functions: JVMFlag::{set_bool, set_int, set_intx, ...}
We should replace such patterns with
template <typename T>
JVMFlagAccess::set(JVMFlag* f, T* value, JVMFlagOrigin origin)
This would allow us to templatize the 8x boilerplate functions in writeableFlags.cpp.
The flag access code in whitebox.cpp can also be improved.
- relates to
-
JDK-8183569 Assert the same limits are used in parse_xss and globals.hpp
-
- Resolved
-