marekjm / viuavm

Parallel virtual machine designed to reliably run massively concurrent programs
https://viuavm.org/
GNU General Public License v3.0
71 stars 11 forks source link

Implement pointers #90

Closed marekjm closed 8 years ago

marekjm commented 9 years ago

Add pointers as a limited, but lightweight alternative to references.

marekjm commented 9 years ago

Pointers are implemented. One caveat to using them (ah, caveats of using pointers...) is that depointerised objects MUST NOT be turned into references. This is because the ref instruction will wrap (1) only the object it creates reference to, and (2) only in the register it is given as an operand (i.e. it will not check other registers for presence of the same pointer).

marekjm commented 9 years ago

This "pointer" implementation looks more like a call-by-sharing implementation instead of actually providing pointer-like capabilities. For instance, they allow only one-way communication - assigning new value to the pointer will not modify the object the pointer was created from.

marekjm commented 9 years ago

For now this issue will remain open and the code will not be merged into devel branch.

marekjm commented 8 years ago

Closing as wontfix for now.