mirror of
https://github.com/corda/corda.git
synced 2025-06-01 23:20:54 +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:
parent
29616c4abc
commit
a1fc8a4dac
@ -3274,17 +3274,13 @@ 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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user