|
-10.01.-28163 22:59, Tony Finch wrote:
On Fri, 25 Feb 2011, Peter Cawley wrote:2011/2/24 Yura Sokolov<funny.falcon@gmail.com>:So that there is 3bits for tagging. Currently Lua uses 13 different tag values, so that it would be tricky to pack them into three bits :)If you're willing to pay the price of an extra indirection, you might be able to get away with using a single tag value for all GC types, as the GC header stores the tag value.Or steal another three bits from the bottom of the pointer... Tony.
I thought about both.Both approaches means extra branching on extracting tag and saving it, I think.
Another possible solution could be utilization of fact that higher addresses reserved for operating system's core.
So that, userland addresses are all falling in a 47 bit values. Can anybody confirm or refute this sentence? Sokolov Yura aka funny_falcon.