typo
authorRalf Jung <post@ralfj.de>
Tue, 24 Jul 2018 21:51:22 +0000 (23:51 +0200)
committerRalf Jung <post@ralfj.de>
Tue, 24 Jul 2018 21:51:22 +0000 (23:51 +0200)
ralf/_posts/2018-07-24-pointers-and-bytes.md

index 4a9406fac3ad37d9089a48f5469274667dd9c09e..c79cf61225bf770448d284d82c0a7fc9090c64ec 100644 (file)
@@ -138,7 +138,7 @@ In miri, casting a pointer to an integer does not actually do anything, we now j
 However, multiplying that "integer" by 2 leads to an error, because it is entirely unclear what it means to multiply such an abstract pointer by 2.
 
 This is the most lazy thing to do, and we do it because it is not clear what else to do -- in our abstract machine, there is no single coherent "address space" that all allocations live in, that we could use to map every pointer to a distinct integer.
-Every allocation is just identified by a (unobservable) ID.
+Every allocation is just identified by an (unobservable) ID.
 We could now start to enrich this model with extra data like a base address for each allocation, and somehow use that when casting an integer back to a pointer... but that's where it gets really complicated, and anyway discussing such a model is not the point of this post.
 The point it to discuss the *need* for such a model.
 If you are interested, I suggest you read [this paper](http://www.cis.upenn.edu/%7Estevez/papers/KHM+15.pdf) that explores the above idea of adding a base address.