< prev index next >
src/share/vm/asm/codeBuffer.cpp
Print this page
rev 12121 : [mq]: all_changes.patch
*** 745,754 ****
--- 745,758 ----
#endif //PRODUCT
CodeBuffer dest(dest_blob);
assert(dest_blob->content_size() >= total_content_size(), "good sizing");
this->compute_final_layout(&dest);
+
+ // Set beginning of constant table before relocating.
+ dest_blob->set_ctable_begin(dest.consts()->start());
+
relocate_code_to(&dest);
// transfer strings and comments from buffer to blob
dest_blob->set_strings(_code_strings);
*** 938,947 ****
--- 942,954 ----
} else {
cb_sect->set_mark(cb_start + this_sect->mark_off());
}
}
+ // Needs to be initialized when calling fix_relocation_after_move.
+ cb.blob()->set_ctable_begin(cb.consts()->start());
+
// Move all the code and relocations to the new blob:
relocate_code_to(&cb);
// Copy the temporary code buffer into the current code buffer.
// Basically, do {*this = cb}, except for some control information.
< prev index next >