8291003: ARM32: constant_table.size assertion
Reviewed-by: shade
This commit is contained in:
parent
cfe9026fe0
commit
18cd16d2ea
@ -236,7 +236,8 @@ void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const {
|
|||||||
|
|
||||||
Register r = as_Register(ra_->get_encode(this));
|
Register r = as_Register(ra_->get_encode(this));
|
||||||
CodeSection* consts_section = __ code()->consts();
|
CodeSection* consts_section = __ code()->consts();
|
||||||
int consts_size = consts_section->align_at_start(consts_section->size());
|
// constants section size is aligned according to the align_at_start settings of the next section
|
||||||
|
int consts_size = CodeSection::align_at_start(consts_section->size(), CodeBuffer::SECT_INSTS);
|
||||||
assert(constant_table.size() == consts_size, "must be: %d == %d", constant_table.size(), consts_size);
|
assert(constant_table.size() == consts_size, "must be: %d == %d", constant_table.size(), consts_size);
|
||||||
|
|
||||||
// Materialize the constant table base.
|
// Materialize the constant table base.
|
||||||
|
@ -261,12 +261,12 @@ class CodeSection {
|
|||||||
// Slop between sections, used only when allocating temporary BufferBlob buffers.
|
// Slop between sections, used only when allocating temporary BufferBlob buffers.
|
||||||
static csize_t end_slop() { return MAX2((int)sizeof(jdouble), (int)CodeEntryAlignment); }
|
static csize_t end_slop() { return MAX2((int)sizeof(jdouble), (int)CodeEntryAlignment); }
|
||||||
|
|
||||||
csize_t align_at_start(csize_t off, int section) const {
|
static csize_t align_at_start(csize_t off, int section) {
|
||||||
return (csize_t) align_up(off, alignment(section));
|
return (csize_t) align_up(off, alignment(section));
|
||||||
}
|
}
|
||||||
|
|
||||||
csize_t align_at_start(csize_t off) const {
|
csize_t align_at_start(csize_t off) const {
|
||||||
return (csize_t) align_up(off, alignment(_index));
|
return align_at_start(off, _index);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure there's enough space left in the current section.
|
// Ensure there's enough space left in the current section.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user