Where should the type information be: in tags and descriptors 412
But this is a different and orthogonal issue. The previous discussion was about every memory cell (word) carrying a tag to tell what data is in it while you are talking about type-tagged range-checked pointers. Which has a very wide range of problems: * for C (among others) you need to be able to treat arrays on stack interchangably with arrays in heap * what do you mean by stack anyways? Not all languages will be happy with just one. Others will in fact want an arbitrary number of garbage-collected stacks * threads will need extra stacks too * what about multidimensional arrays and internal overruns? * if you propose tagged references to all arrays you have to also present a case as to how arrays to structures and objects (that will contain both data and code pointers) will be handled.
If the programmer had not done a good job in design, then the input will be of type binary data that he then parses on his own, so there goes all the tagging benefit...
Where should the type information be: in tags and descriptors 414
Typical implementations require a single memory bit for a fixed number of memory bytes to indicate whether an...
Where should the type information be: in tags and descriptors 415
That is almost entirely sheer incompetence - and it is not just SPARC, but almost every RISC designer and most others...
Tagged architectures as a whole are in terminal need of a person app or really, even an app. Especially as people keep implementing all the cases tagged arch people come up with on regular ones which then turn out to be far faster than any tagged arch implementation could hope to achieve anytime soon.
Where should the type information be: in tags and descriptors 413
Hank Oredson When you really need the speed, there's nothing wrong with this concept, except that I showed in a conference presentation ("Optimizing algorithms for modern CPUs...
The "tags" in sparc were always optional in the sense that the compiler had to be aware of them and generate explict code for the check. So these are at best helper opcodes. That there is no 64bit extension of them probably reflects on their frequency of use.
+++ Out of cheese error +++
Alt Folklore Computers Newsgroups