mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
8355896: Lossy narrowing cast of JVMCINMethodData::size
Reviewed-by: kvn, dnsimon
This commit is contained in:
parent
606f2012b0
commit
aea2837143
@ -1323,8 +1323,9 @@ nmethod::nmethod(
|
||||
_unwind_handler_offset = 0;
|
||||
|
||||
CHECKED_CAST(_oops_size, uint16_t, align_up(code_buffer->total_oop_size(), oopSize));
|
||||
int metadata_size = align_up(code_buffer->total_metadata_size(), wordSize);
|
||||
JVMCI_ONLY( _jvmci_data_size = 0; )
|
||||
uint16_t metadata_size;
|
||||
CHECKED_CAST(metadata_size, uint16_t, align_up(code_buffer->total_metadata_size(), wordSize));
|
||||
JVMCI_ONLY( _metadata_size = metadata_size; )
|
||||
assert(_mutable_data_size == _relocation_size + metadata_size,
|
||||
"wrong mutable data size: %d != %d + %d",
|
||||
_mutable_data_size, _relocation_size, metadata_size);
|
||||
@ -1497,9 +1498,10 @@ nmethod::nmethod(
|
||||
}
|
||||
|
||||
CHECKED_CAST(_oops_size, uint16_t, align_up(code_buffer->total_oop_size(), oopSize));
|
||||
uint16_t metadata_size = (uint16_t)align_up(code_buffer->total_metadata_size(), wordSize);
|
||||
JVMCI_ONLY(CHECKED_CAST(_jvmci_data_size, uint16_t, align_up(compiler->is_jvmci() ? jvmci_data->size() : 0, oopSize)));
|
||||
int jvmci_data_size = 0 JVMCI_ONLY(+ _jvmci_data_size);
|
||||
uint16_t metadata_size;
|
||||
CHECKED_CAST(metadata_size, uint16_t, align_up(code_buffer->total_metadata_size(), wordSize));
|
||||
JVMCI_ONLY( _metadata_size = metadata_size; )
|
||||
int jvmci_data_size = 0 JVMCI_ONLY( + align_up(compiler->is_jvmci() ? jvmci_data->size() : 0, oopSize));
|
||||
assert(_mutable_data_size == _relocation_size + metadata_size + jvmci_data_size,
|
||||
"wrong mutable data size: %d != %d + %d + %d",
|
||||
_mutable_data_size, _relocation_size, metadata_size, jvmci_data_size);
|
||||
|
||||
@ -237,7 +237,9 @@ class nmethod : public CodeBlob {
|
||||
|
||||
uint16_t _oops_size;
|
||||
#if INCLUDE_JVMCI
|
||||
uint16_t _jvmci_data_size;
|
||||
// _metadata_size is not specific to JVMCI. In the non-JVMCI case, it can be derived as:
|
||||
// _metadata_size = mutable_data_size - relocation_size
|
||||
uint16_t _metadata_size;
|
||||
#endif
|
||||
|
||||
// Offset in immutable data section
|
||||
@ -537,8 +539,8 @@ public:
|
||||
// mutable data
|
||||
Metadata** metadata_begin () const { return (Metadata**) (mutable_data_begin() + _relocation_size); }
|
||||
#if INCLUDE_JVMCI
|
||||
Metadata** metadata_end () const { return (Metadata**) (mutable_data_end() - _jvmci_data_size); }
|
||||
address jvmci_data_begin () const { return mutable_data_end() - _jvmci_data_size; }
|
||||
Metadata** metadata_end () const { return (Metadata**) (mutable_data_begin() + _relocation_size + _metadata_size); }
|
||||
address jvmci_data_begin () const { return mutable_data_begin() + _relocation_size + _metadata_size; }
|
||||
address jvmci_data_end () const { return mutable_data_end(); }
|
||||
#else
|
||||
Metadata** metadata_end () const { return (Metadata**) mutable_data_end(); }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user