mirror of
https://github.com/corda/corda.git
synced 2025-06-19 15:43:52 +00:00
add site to result in MemoryEvent::compile regardless of whether the result is live, since the memory location may be used as the target of a move and we need to keep the reference count of the base and index registers nonzero
This commit is contained in:
@ -3274,19 +3274,15 @@ class MemoryEvent: public Event {
|
|||||||
(c, baseRegister, displacement, indexRegister, scale);
|
(c, baseRegister, displacement, indexRegister, scale);
|
||||||
|
|
||||||
result->target = site;
|
result->target = site;
|
||||||
if (live(result)) {
|
|
||||||
addSite(c, result, site);
|
addSite(c, result, site);
|
||||||
}
|
|
||||||
|
|
||||||
if (result->high) {
|
if (result->high) {
|
||||||
Site* high = site->copyHigh(c);
|
Site* high = site->copyHigh(c);
|
||||||
|
|
||||||
result->high->target = high;
|
result->high->target = high;
|
||||||
if (live(result->high)) {
|
|
||||||
addSite(c, result->high, high);
|
addSite(c, result->high, high);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Value* base;
|
Value* base;
|
||||||
int displacement;
|
int displacement;
|
||||||
|
Reference in New Issue
Block a user