diff --git a/experiments/placer/placer.cc b/experiments/placer/placer.cc index 6a47c12ebd5..c78e6db578a 100644 --- a/experiments/placer/placer.cc +++ b/experiments/placer/placer.cc @@ -50,32 +50,32 @@ ObjRef ReturnByRef(ArenaContainer* container) { void test_placer() { ArenaContainer heap(1024); { - ObjRef head = ObjRef::Alloc(&heap); + ObjRef head(ObjRef::Alloc(&heap)); head.at().set(1); - ObjRef cur = head; + ObjRef cur(head); for (int i = 0; i < 10; ++i) { cur.at, next_offset>().set(ObjRef::Alloc(&heap)); - cur = cur.at, next_offset>().get(); + cur.Assign(cur.at, next_offset>().get()); cur.at().set(i + 2); } // Pass by reference. - cur = head; + cur.Assign(head); while (!cur.null()) { UpdateElement(cur); - cur = cur.at, next_offset>().get(); + cur.Assign(cur.at, next_offset>().get()); } // Pass by value. - cur = head; + cur.Assign(head); while (!cur.null()) { // We could place clone on stack as well. DoNotUpdateElement(cur.Clone(&heap)); - cur = cur.at, next_offset>().get(); + cur.Assign(cur.at, next_offset>().get()); } // Return by value is trivial in this system. CopyTo() into provided container. - auto value = ObjRef::Alloc(&heap); + ObjRef value(ObjRef::Alloc(&heap)); ReturnByValue(value); printf("By value is %d\n", value.at().get()); @@ -84,7 +84,7 @@ void test_placer() { printf("By ref is %d\n", value.at().get()); // Dump results. - cur = head; + cur.Assign(head); // Pass by reference. while (!cur.null()) { UpdateElement(cur); @@ -96,7 +96,7 @@ void test_placer() { DoNotUpdateElement(cur.Clone(&heap)); cur.Assign(cur.at, next_offset>().get()); } - cur = head; + cur.Assign(head); while (!cur.null()) { printf("next is %d\n", cur.at().get()); cur.Assign(cur.at, next_offset>().get());