|
|
BSD 4.3
ISCOPE(3.icon) Icon Program Library ISCOPE(3.icon)
NNNNAAAAMMMMEEEE
Descr, Indir, Word1, Word2, Symbol, Efp, Gfp, Pfp - examine
Icon internals
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
These functions deal with Icon internals, producing values
that exist in memory and registers as Icon is executing.
Internal values are represented as Icon integers. A
knowledge of the implementation of Icon is needed to use
these functions properly.
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
DDDDeeeessssccccrrrr((((iiii,,,,jjjj))))
compose a descriptor whose first word is iiii and
whose second word is jjjj.
IIIInnnnddddiiiirrrr((((iiii)))) return an integer corresponding to the value where
the descriptor at iiii points.
WWWWoooorrrrdddd1111((((xxxx,,,,iiii))))
return Icon integer whose value is the first word
of the descriptor xxxx. If iiii is zero, xxxx is derefer-
enced; otherwise it is not. An omitted value of iiii
defaults to 0.
WWWWoooorrrrdddd2222((((xxxx,,,,iiii))))
like WWWWoooorrrrdddd1111, except that the value is for the
second word of the descriptor xxxx.
SSSSyyyymmmmbbbboooollll((((ssss)))) returns the address of the symbol ssss. The allowable
values of ssss are:
globals address of the global vector
eeeegggglllloooobbbbaaaallllssss address of the end of the global vector
ggggnnnnaaaammmmeeeessss address of the global name vector
ssssttttrrrriiiinnnnggggssss beginning of the string region
ssssffffrrrreeeeeeee string region free pointer
hhhhppppbbbbaaaasssseeee beginning of the heap region
hhhhppppffffrrrreeeeeeee heap region free pointer
ssssttttaaaacccckkkkssss beginning of the co-expression stack region
eeeessssffffrrrreeeeeeee co-expression stack region free pointer
SSSSyyyymmmmbbbboooollll((((ssss)))) fails if ssss is not one of these strings.
EEEEffffpppp(((()))) return the address of the expression frame pointer
GGGGffffpppp(((()))) return the address of the generator frame pointer
PPPPffffpppp(((()))) return the address of the frame pointer
CCCCAAAAVVVVEEEEAAAATTTTSSSS
_I_s_c_o_p_e is inherently dangerous. For example, the composition
Version 5.9 The University of Arizona - 8/17/84 1
ISCOPE(3.icon) Icon Program Library ISCOPE(3.icon)
of an arbitrary descriptor using DDDDeeeessssccccrrrr may cause the Icon
system to malfunction in mysterious ways.
Addresses that are represented by integers are not relocated
during garbage collection; such addresses generally are
invalidated by a garbage collection.
RRRREEEEQQQQUUUUIIIIRRRREEEEMMMMEEEENNNNTTTTSSSS
_I_s_c_o_p_e only works for the VAX-11 implementation of Icon.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
Griswold, Ralph E., Robert K. McConeghy, and William H.
Mitchell. _A _T_o_u_r _T_h_r_o_u_g_h _t_h_e _C _I_m_p_l_e_m_e_n_t_a_t_i_o_n _o_f _I_c_o_n; _V_e_r_-
_s_i_o_n _5._9, Department of Computer Science, The University of
Arizona. 1984.
Griswold, Ralph E. ``A Portable Diagnostic Facility for SNO-
BOL4'', _S_o_f_t_w_a_r_e--_P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, Vol. 5 (1975),
pp. 93-105.
Griswold, Ralph E. ``Linguistic Extension of Abstract
Machine Modelling to Aid Software Development'', _S_o_f_t_w_a_r_e--
_P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, Vol. 10 (1980), pp. 1-9.
AAAAUUUUTTTTHHHHOOOORRRRSSSS
Ralph E. Griswold and William H. Mitchell
Version 5.9 The University of Arizona - 8/17/84 2
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.