This isn't to say that every stack machine
architecture will beat every
other non-stack architecture at all jobs. The assertion here is only
that a that a well designed stack machine will outperform a well
designed non-stack machine with similar other features in one specific
area: function calls. Period.
With that proviso in mind you have an almost self-fulfilling assertion.
Function calls in the modern sense (allowing recursion and re-entrancy) can
either be handled by a genuine stack (as in "stack machine") or an emulated
stack - and the latter has a virtual certainty of being slower.
In the older sense where fixed locations and self-modifying-code was
acceptable (eg in the CDC6600 and most pre-PDP-11 minicomputers) then a
stack was either slower (because emulated) or required more CPU logic (and
thus cost more). The B5500 was indeed a very potent machine of its era ...
it was also an extremely expensive one.
Nowadays any "reasonable" amount of CPU logic essentially costs the same and
thus stacks are "free" ... unless, perhaps, you are trying to do something
like the EIS on the big GE/Honeywell machines. "Now those four boards are
the main CPU including floating point ... and those additional 9 boards are
the EIS which is essentially hardware COBOL". (Although EIS also extended
the range of address modes to a more complex set than I have seen in any
other machine prior or later - the VAX had nothing like the range)
Incidently old COBOL programs were notable for the almost complete absence
of function calls - and I bet many "dusty decks" from 30 years ago are still
being run daily with few significant modifications.
I was going to stay out of this "discussion", but felt that a little light
might moderate some of the heat. (However, I doubt it :-(
Andy