|
From: Tim R. <ti...@su...> - 2004-04-06 23:12:28
|
In message <011401c41c2b$d09ba810$b2d0fea9@R22>
"Andreas Raab" <and...@gm...> wrote:
> > Just another data point: some Smalltalk implementations put the
> > SmallInteger tag in the topmost bit.
[snip]
BrouHaHa being one example.
>
> Hm... if we'd accept cutting the address range in half (which isn't that big
> of a deal) that is actually a pretty interesting idea. It would allow us to
> use low bits as "other tags" similar to immediate, say 00->oop, 01->GC flag,
> 10->Character, 11->Undefined, without too much of a bother.
>
> The only objection I'd have is whether this would have any effects on
> machines that "like to give you the upper half of the address space" (e.g.,
> all addresses must have that "tag bit" set).
I'd say this was a bit of a problem. BHH didn't have an issue since
OOPs were indices into an OT and thus never had much chance of
exceeding a few million. Especially on a machine with 1Mb ram total...
tim
--
Tim Rowledge, ti...@su..., http://sumeru.stanford.edu/tim
Satisfaction Guaranteed: We'll send you another copy if it fails.
|