Mercurial > hg > graal-jvmci-8
changeset 18196:ff1f1481b367
Fix bug in code installer.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Thu, 30 Oct 2014 18:14:41 +0100 |
parents | 62d3440228b8 |
children | 850b874592fa |
files | src/share/vm/graal/graalCodeInstaller.cpp |
diffstat | 1 files changed, 6 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp Thu Oct 30 17:52:18 2014 +0100 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Thu Oct 30 18:14:41 2014 +0100 @@ -552,19 +552,18 @@ buffer.initialize_oop_recorder(_oop_recorder); + // copy the constant data into the newly created CodeBuffer + address end_data = _constants->start() + _constants_size; + memcpy(_constants->start(), data_section()->base(T_BYTE), _constants_size); + _constants->set_end(end_data); + // copy the code into the newly created CodeBuffer address end_pc = _instructions->start() + _code_size; if (!_instructions->allocates2(end_pc)) { return false; } - memcpy(_instructions->start(), code()->base(T_BYTE), code()->length()); + memcpy(_instructions->start(), code()->base(T_BYTE), _code_size); _instructions->set_end(end_pc); - - // copy the constant data into the newly created CodeBuffer - address end_data = _constants->start() + _constants_size; - memcpy(_constants->start(), data_section()->base(T_BYTE), _constants_size); - _constants->set_end(end_data); - for (int i = 0; i < data_section_patches()->length(); i++) { Handle patch = data_section_patches()->obj_at(i);