Merged OS2 changes and new compiler changes.
authorStephen Adams <edu/mit/csail/zurich/adams>
Wed, 26 Jul 1995 19:08:48 +0000 (19:08 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Wed, 26 Jul 1995 19:08:48 +0000 (19:08 +0000)
commit6cb777acbd219ba58a2ed3cbf84e415761094c5a
tree4f6ce313935f7de621fe9f7e204a80d3dfb12552
parent46b94d1ee5ff50fb1b2710c00b73ddbfdb7b6082
Merged OS2 changes and new compiler changes.

OS2 changes tag external entry points with a calling convention (the C
compiler supports several).

New compiler changes:

Fixed continuation bug on i386.  An incorrect continuation was being
left as garbage on the stack, where the i386 expected #f if the value
was expected to be discarded.

coerce_to_compiled now understands arity dispatched entities.  There
are now several places where procedures are turned into trampolines.
These ought to be rationalized.

Fixed incorrect arity in coerce_to_compiled.

Fixed but with failure cases when applying a compiled procedure from
PRIMITIVE_APPLY from a compiled context.

These type-in (i.e. interpreted) test cases now all give correct and
parsable error stack frames:

 . The original bug case (...->primitive APPLY->apply_compiled_from_primitive)

  ((access apply-2 (->environment '(runtime apply)))
   make-list '(1 2 3 4 5 6 7 8 9 10))

 . Primitive called from interpreted context (...->apply_compiled_procedure)

  ((make-primitive-procedure 'apply) make-list '(1 2 3 4 5 6 7 8 9 10))

 . Compiled procedure called from interpreted context
   (...->apply_compiled_procedure)

  (make-list 1 2 3 4 5 6 7 8 9 10)

 . Compiled procedure called from interpreted context
   (...-> compiled funcall->short_circuit_apply_5->comutil_apply)

  ((access apply-2 (->environment '(runtime apply))) make-list '(1 2 3 4))
v8/src/microcode/cmpint.c