1: #include "../h/config.h"
2: Global(_boundary) /* Icon/C boundary */
3: Global(_setbound) /* Set the Icon/C boundary */
4: Global(_clrbound) /* Clear the Icon/C boundary */
5:
6: #ifdef VAX
7: /*
8: * setbound sets the boundary to the value of the fp of the
9: * calling procedure.
10: */
11: _setbound:
12: Mask 0x0 # Don't need to save any registers
13: tstl _boundary # If the boundary is already set
14: jneq f1 # just leave it alone
15: movl 12(fp),_boundary # Otherwise, set boundary to fp of
16: # calling procedure. Must use saved
17: # fp because current fp points to
18: # frame made upon entry to setbound.
19: f1: ret # Return
20: /*
21: * clrbound clears the Icon/C boundary if returning to Icon
22: * code from C code.
23: */
24: _clrbound:
25: Mask 0x0 # Don't need to save any registers
26: cmpl 12(fp),_boundary # If the fp of the caller is equal
27: # to the boundary, the return is
28: # from C to Icon.
29: jneq f11 # If that is the case,
30: clrl _boundary # clear the boundary, otherwise,
31: f11: ret # just return.
32: #endif VAX
33:
34: #ifdef PORT
35: DummyFcn(_setbound)
36: DummyFcn(_clrbound)
37: #endif PORT
38:
39: #ifdef PDP11
40: DummyFcn(_setbound)
41: DummyFcn(_clrbound)
42: #endif PDP11
Defined functions
f1
defined in line
19; used 1 times
f11
defined in line
31; used 1 times