s/use vars/our/g modules that aren't independently maintained on CPAN
[p5sagit/p5-mst-13.2.git] / ext / B / ramblings / runtime.porting
CommitLineData
a8a597b2 1Notes on porting the perl runtime PP engine.
2Importance: 1 = who cares?, 10 = vital
3Difficulty: 1 = trivial, 10 = very difficult. Level assumes a
4reasonable implementation of the SV and OP API already ported.
5
6OP Import Diff Comments
7null 10 1
8stub 10 1
9scalar 10 1
10pushmark 10 1 PUSHMARK
11wantarray 7 3 cxstack, dopoptosub
12const 10 1
13gvsv 10 1 save_scalar
14gv 10 1
15gelem 3 3
16padsv 10 2 SAVECLEARSV, provide_ref
17padav 10 2
18padhv 10 2
19padany 1 1
20pushre 7 3 pushes an op. Blech.
21rv2gv 6 5
22rv2sv 10 4
23av2arylen 7 3 sv_magic
24rv2cv 8 5 sv_2cv
25anoncode 7 6 cv_clone
26prototype 4 4 sv_2cv
27refgen 8 3
28srefgen 8 2
29ref 8 3
30bless 7 3
31backtick 5 4
32glob 5 2 do_readline
33readline 8 2 do_readline
34rcatline 8 2
35regcmaybe 8 1
c00ba3a6 36regcreset 8 1
a8a597b2 37regcomp 8 9 pregcomp
38match 8 10
c00ba3a6 39qr 8 1
a8a597b2 40subst 8 10
41substcont 8 7
42trans 7 4 do_trans
43sassign 10 3 mg_find, SvSETMAGIC
44aassign 10 5
45chop 8 3 do_chop
46schop 8 3 do_chop
47chomp 8 3 do_chomp
48schomp 8 3 do_chomp
49defined 10 2
50undef 10 3
51study 4 5
52pos 8 3 PVLV, mg_find
53preinc 10 2 sv_inc, SvSETMAGIC
54i_preinc
55predec 10 2 sv_dec, SvSETMAGIC
56i_predec
57postinc 10 2 sv_dec, SvSETMAGIC
58i_postinc
59postdec 10 2 sv_dec, SvSETMAGIC
60i_postdec
61pow 10 1
62multiply 10 1
63i_multiply 10 1
64divide 10 2
65i_divide 10 1
66modulo 10 2
67i_modulo 10 1
68repeat 6 4
69add 10 1
70i_add 10 1
71subtract 10 1
72i_subtract 10 1
73concat 10 2 mg_get
74stringify 10 2 sv_setpvn
75left_shift 10 1
76right_shift 10 1
77lt 10 1
78i_lt 10 1
79gt 10 1
80i_gt 10 1
81le 10 1
82i_le 10 1
83ge 10 1
84i_ge 10 1
85eq 10 1
86i_eq 10 1
87ne 10 1
88i_ne 10 1
89ncmp 10 1
90i_ncmp 10 1
91slt 10 2
92sgt 10 2
93sle 10 2
94sge 10 2
95seq 10 2 sv_eq
96sne 10 2
97scmp 10 2
98bit_and 10 2
99bit_xor 10 2
100bit_or 10 2
101negate 10 3
102i_negate 10 1
103not 10 1
104complement 10 3
105atan2 6 1
106sin 6 1
107cos 6 1
108rand 5 2
109srand 5 2
110exp 6 1
111log 6 2
112sqrt 6 2
113int 10 2
114hex 9 2
115oct 9 2
116abs 10 1
117length 10 1
118substr 10 4 PVLV
119vec 5 4
120index 9 3
121rindex 9 3
122sprintf 9 4 do_sprintf
123formline 6 7
124ord 6 2
125chr 6 2
126crypt 3 2
127ucfirst 6 2
128lcfirst 6 2
129uc 6 2
130lc 6 2
131quotemeta 6 3
132rv2av 10 3 save_svref, mg_get, save_ary
133aelemfast 10 2 av_fetch
134aelem 10 3
135aslice 9 4
136each 10 3 hv_iternext
137values 10 3 do_kv
138keys 10 3 do_kv
139delete 10 3
140exists 10 3
141rv2hv 10 3 save_svref, mg_get, save_ary, do_kv
142helem 10 3 save_svref, provide_ref
143hslice 9 4
144unpack 9 6 lengthy
145pack 9 6 lengthy
146split 9 9
147join 10 4 do_join
148list 10 2
149lslice 9 4
150anonlist 10 2
151anonhash 10 3
152splice 9 6
153push 10 2
154pop 10 2
155shift 10 2
156unshift 10 2
157sort 6 7
158reverse 9 4
159grepstart 6 5 modifies flow of control
160grepwhile 6 5 modifies flow of control
161mapstart 1 1
162mapwhile 6 5 modifies flow of control
163range 7 3 modifies flow of control
164flip 7 4 modifies flow of control
165flop 7 4 modifies flow of control
166and 10 3 modifies flow of control
167or 10 3 modifies flow of control
168xor
169cond_expr 10 3 modifies flow of control
170andassign 7 3 modifies flow of control
171orassign 7 3 modifies flow of control
172method 8 5
173entersub 10 7
174leavesub 10 5
c00ba3a6 175leavesublv
a8a597b2 176caller 2 8
177warn 9 3
178die 9 3
179reset 2 2
180lineseq 1 1
181nextstate 10 1 Update stack_sp from cxstack. FREETMPS.
182dbstate 3 7
183unstack
184enter 10 3 cxstack, ENTER, SAVETMPS, PUSHBLOCK
185leave 10 3 cxstack, SAVETMPS, LEAVE, POPBLOCK
186scope 1 1
187enteriter 9 4 cxstack
188iter 9 3 cxstack
189enterloop 10 4
190leaveloop 10 4
191return 10 5
192last 9 6
193next 9 6
194redo 9 6
195dump 1 9 pp_goto
196goto 6 9
197exit 9 2 my_exit
198open 9 5 do_open
199close 9 3 do_close
200pipe_op 7 4
201fileno 9 2
202umask 4 2
203binmode 4 2
204tie 5 5 pp_entersub
205untie 5 2 sv_unmagic
206tied 5 2
207dbmopen 4 5
208dbmclose 4 2
209sselect 4 4
210select 7 3
211getc 7 2
212read 8 2 pp_sysread
213enterwrite 4 4 doform
214leavewrite 4 5
215prtf 4 4 do_sprintf
216print 8 6
217sysopen 8 2
c00ba3a6 218sysseek 8 2
a8a597b2 219sysread 8 4
220syswrite 8 4 pp_send
221send 8 4
222recv 8 4 pp_sysread
223eof 9 2
224tell 9 3
225seek 9 2
226truncate 8 3
227fcntl 8 4 pp_ioctl
228ioctl 8 4
229flock 8 2
230socket 5 3
231sockpair 5 3
232bind 5 3
233connect 5 3
234listen 5 3
235accept 5 3
236shutdown 5 2
237gsockopt 5 3 pp_ssockopt
238ssockopt 5 3
239getsockname 5 3 pp_getpeername
240getpeername 5 3
241lstat 5 4 pp_stat
242stat 5 4 lengthy
243ftrread 5 2 cando
244ftrwrite 5 2 cando
245ftrexec 5 2 cando
246fteread 5 2 cando
247ftewrite 5 2 cando
248fteexec 5 2 cando
249ftis 5 2 cando
250fteowned 5 2 cando
251ftrowned 5 2 cando
252ftzero 5 2 cando
253ftsize 5 2 cando
254ftmtime 5 2 cando
255ftatime 5 2 cando
256ftctime 5 2 cando
257ftsock 5 2 cando
258ftchr 5 2 cando
259ftblk 5 2 cando
260ftfile 5 2 cando
261ftdir 5 2 cando
262ftpipe 5 2 cando
263ftlink 5 2 cando
264ftsuid 5 2 cando
265ftsgid 5 2 cando
266ftsvtx 5 2 cando
267fttty 5 2 cando
268fttext 5 4
269ftbinary 5 4 fttext
270chdir
271chown
272chroot
273unlink
274chmod
275utime
276rename
277link
278symlink
279readlink
280mkdir
281rmdir
282open_dir
283readdir
284telldir
285seekdir
286rewinddir
287closedir
288fork
289wait
290waitpid
291system
292exec
293kill
294getppid
295getpgrp
296setpgrp
297getpriority
298setpriority
299time
300tms
301localtime
302gmtime
303alarm
304sleep
305shmget
306shmctl
307shmread
308shmwrite
309msgget
310msgctl
311msgsnd
312msgrcv
313semget
314semctl
315semop
316require 6 9 doeval
317dofile 6 9 doeval
318entereval 6 9 doeval
319leaveeval 6 5
320entertry 7 4 modifies flow of control
321leavetry 7 3
322ghbyname
323ghbyaddr
324ghostent
325gnbyname
326gnbyaddr
327gnetent
328gpbyname
329gpbynumber
330gprotoent
331gsbyname
332gsbyport
333gservent
334shostent
335snetent
336sprotoent
337sservent
338ehostent
339enetent
340eprotoent
341eservent
342gpwnam
343gpwuid
344gpwent
345spwent
346epwent
347ggrnam
348ggrgid
349ggrent
350sgrent
351egrent
352getlogin
353syscall
c00ba3a6 354lock 6 1
355threadsv 6 2 unused if not USE_THREADS
356setstate 1 1 currently unused anywhere
357method_named 10 2