#define H_PERLDIR 1
#ifdef PERL_OBJECT
+
+#include "ipdir.h"
+
+#define PerlDir_mkdir(name, mode) piDir->MKdir((name), (mode), ErrorNo())
+#define PerlDir_chdir(name) piDir->Chdir((name), ErrorNo())
+#define PerlDir_rmdir(name) piDir->Rmdir((name), ErrorNo())
+#define PerlDir_close(dir) piDir->Close((dir), ErrorNo())
+#define PerlDir_open(name) piDir->Open((name), ErrorNo())
+#define PerlDir_read(dir) piDir->Read((dir), ErrorNo())
+#define PerlDir_rewind(dir) piDir->Rewind((dir), ErrorNo())
+#define PerlDir_seek(dir, loc) piDir->Seek((dir), (loc), ErrorNo())
+#define PerlDir_tell(dir) piDir->Tell((dir), ErrorNo())
#else
#define PerlDir_mkdir(name, mode) mkdir((name), (mode))
#define PerlDir_chdir(name) chdir((name))
#define H_PERLENV 1
#ifdef PERL_OBJECT
+
+#include "ipenv.h"
+
+#define PerlEnv_putenv(str) piENV->Putenv((str), ErrorNo())
+#define PerlEnv_getenv(str) piENV->Getenv((str), ErrorNo())
+#define PerlEnv_lib_path piENV->LibPath
#else
#define PerlEnv_putenv(str) putenv((str))
#define PerlEnv_getenv(str) getenv((str))
#define H_PERLLIO 1
#ifdef PERL_OBJECT
+
+#include "iplio.h"
+
+#define PerlLIO_access(file, mode) piLIO->Access((file), (mode), ErrorNo())
+#define PerlLIO_chmod(file, mode) piLIO->Chmod((file), (mode), ErrorNo())
+#define PerlLIO_chsize(fd, size) piLIO->Chsize((fd), (size), ErrorNo())
+#define PerlLIO_close(fd) piLIO->Close((fd), ErrorNo())
+#define PerlLIO_dup(fd) piLIO->Dup((fd), ErrorNo())
+#define PerlLIO_dup2(fd1, fd2) piLIO->Dup2((fd1), (fd2), ErrorNo())
+#define PerlLIO_flock(fd, op) piLIO->Flock((fd), (op), ErrorNo())
+#define PerlLIO_fstat(fd, buf) piLIO->FStat((fd), (buf), ErrorNo())
+#define PerlLIO_ioctl(fd, u, buf) piLIO->IOCtl((fd), (u), (buf), ErrorNo())
+#define PerlLIO_isatty(fd) piLIO->Isatty((fd), ErrorNo())
+#define PerlLIO_lseek(fd, offset, mode) piLIO->Lseek((fd), (offset), (mode), ErrorNo())
+#define PerlLIO_lstat(name, buf) piLIO->Lstat((name), (buf), ErrorNo())
+#define PerlLIO_mktemp(file) piLIO->Mktemp((file), ErrorNo())
+#define PerlLIO_open(file, flag) piLIO->Open((file), (flag), ErrorNo())
+#define PerlLIO_open3(file, flag, perm) piLIO->Open((file), (flag), (perm), ErrorNo())
+#define PerlLIO_read(fd, buf, count) piLIO->Read((fd), (buf), (count), ErrorNo())
+#define PerlLIO_rename(oldname, newname) piLIO->Rename((oldname), (newname), ErrorNo())
+#define PerlLIO_setmode(fd, mode) piLIO->Setmode((fd), (mode), ErrorNo())
+#define PerlLIO_stat(name, buf) piLIO->STat((name), (buf), ErrorNo())
+#define PerlLIO_tmpnam(str) piLIO->Tmpnam((str), ErrorNo())
+#define PerlLIO_umask(mode) piLIO->Umask((mode), ErrorNo())
+#define PerlLIO_unlink(file) piLIO->Unlink((file), ErrorNo())
+#define PerlLIO_utime(file, time) piLIO->Utime((file), (time), ErrorNo())
+#define PerlLIO_write(fd, buf, count) piLIO->Write((fd), (buf), (count), ErrorNo())
#else
#define PerlLIO_access(file, mode) access((file), (mode))
#define PerlLIO_chmod(file, mode) chmod((file), (mode))
#define PerlLIO_close(fd) close((fd))
#define PerlLIO_dup(fd) dup((fd))
#define PerlLIO_dup2(fd1, fd2) dup2((fd1), (fd2))
+#define PerlLIO_flock(fd, op) FLOCK((fd), (op))
#define PerlLIO_fstat(fd, buf) Fstat((fd), (buf))
+#define PerlLIO_ioctl(fd, u, buf) ioctl((fd), (u), (buf))
#define PerlLIO_isatty(fd) isatty((fd))
#define PerlLIO_lseek(fd, offset, mode) lseek((fd), (offset), (mode))
#define PerlLIO_lstat(name, buf) lstat((name), (buf))
#define H_PERLMEM 1
#ifdef PERL_OBJECT
+
+#include "ipmem.h"
+
+#define PerlMem_malloc(size) piMem->Malloc((size))
+#define PerlMem_realloc(buf, size) piMem->Realloc((buf), (size))
+#define PerlMem_free(buf) piMem->Free((buf))
#else
#define PerlMem_malloc(size) malloc((size))
#define PerlMem_realloc(buf, size) realloc((buf), (size))
#define H_PERLPROC 1
#ifdef PERL_OBJECT
+
+#include "ipproc.h"
+
+#define PerlProc_abort() piProc->Abort()
+#define PerlProc_exit(s) piProc->Exit((s))
+#define PerlProc__exit(s) piProc->_Exit((s))
+#define PerlProc_execl(c, w, x, y, z) piProc->Execl((c), (w), (x), (y), (z))
+#define PerlProc_execv(c, a) piProc->Execv((c), (a))
+#define PerlProc_execvp(c, a) piProc->Execvp((c), (a))
+#define PerlProc_getuid() piProc->Getuid()
+#define PerlProc_geteuid() piProc->Geteuid()
+#define PerlProc_getgid() piProc->Getgid()
+#define PerlProc_getegid() piProc->Getegid()
+#define PerlProc_getlogin() piProc->Getlogin()
+#define PerlProc_kill(i, a) piProc->Kill((i), (a))
+#define PerlProc_killpg(i, a) piProc->Killpg((i), (a))
+#define PerlProc_pause() piProc->PauseProc()
+#define PerlProc_popen(c, m) piProc->Popen((c), (m))
+#define PerlProc_pclose(f) piProc->Pclose((f))
+#define PerlProc_pipe(fd) piProc->Pipe((fd))
+#define PerlProc_setuid(u) piProc->Setuid((u))
+#define PerlProc_setgid(g) piProc->Setgid((g))
+#define PerlProc_sleep(t) piProc->Sleep((t))
+#define PerlProc_times(t) piProc->Times((t))
+#define PerlProc_wait(t) piProc->Wait((t))
+#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
+#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
+#define PerlProc_signal(n, h) piProc->Signal((n), (h))
+#ifdef WIN32
+#define PerlProc_GetSysMsg(s,l,e) piProc->GetSysMsg((s), (l), (e))
+#define PerlProc_FreeBuf(s) piProc->FreeBuf((s))
+#define PerlProc_Cmd(s) piProc->DoCmd((s))
+#define do_spawn(s) piProc->Spawn((s))
+#define do_spawnvp(m, c, a) piProc->Spawnvp((m), (c), (a))
+#define PerlProc_aspawn(m, c, a) piProc->ASpawn((m), (c), (a))
+#endif
#else
#define PerlProc_abort() abort()
#define PerlProc_exit(s) exit((s))
#define PerlProc_execl(c, w, x, y, z) execl((c), (w), (x), (y), (z))
#define PerlProc_execv(c, a) execv((c), (a))
#define PerlProc_execvp(c, a) execvp((c), (a))
+#define PerlProc_getuid() getuid()
+#define PerlProc_geteuid() geteuid()
+#define PerlProc_getgid() getgid()
+#define PerlProc_getegid() getegid()
+#define PerlProc_getlogin() getlogin()
#define PerlProc_kill(i, a) kill((i), (a))
#define PerlProc_killpg(i, a) killpg((i), (a))
+#define PerlProc_pause() Pause()
#define PerlProc_popen(c, m) my_popen((c), (m))
#define PerlProc_pclose(f) my_pclose((f))
#define PerlProc_pipe(fd) pipe((fd))
+#define PerlProc_setuid(u) setuid((u))
+#define PerlProc_setgid(g) setgid((g))
+#define PerlProc_sleep(t) sleep((t))
+#define PerlProc_times(t) times((t))
+#define PerlProc_wait(t) wait((t))
#define PerlProc_setjmp(b, n) Sigsetjmp((b), (n))
#define PerlProc_longjmp(b, n) Siglongjmp((b), (n))
#define PerlProc_signal(n, h) signal((n), (h))
#define H_PERLSOCK 1
#ifdef PERL_OBJECT
+
+#include "ipsock.h"
+
+#define PerlSock_htonl(x) piSock->Htonl(x)
+#define PerlSock_htons(x) piSock->Htons(x)
+#define PerlSock_ntohl(x) piSock->Ntohl(x)
+#define PerlSock_ntohs(x) piSock->Ntohs(x)
+#define PerlSock_accept(s, a, l) piSock->Accept(s, a, l, ErrorNo())
+#define PerlSock_bind(s, n, l) piSock->Bind(s, n, l, ErrorNo())
+#define PerlSock_connect(s, n, l) piSock->Connect(s, n, l, ErrorNo())
+#define PerlSock_endhostent() piSock->Endhostent(ErrorNo())
+#define PerlSock_endnetent() piSock->Endnetent(ErrorNo())
+#define PerlSock_endprotoent() piSock->Endprotoent(ErrorNo())
+#define PerlSock_endservent() piSock->Endservent(ErrorNo())
+#define PerlSock_gethostbyaddr(a, l, t) piSock->Gethostbyaddr(a, l, t, ErrorNo())
+#define PerlSock_gethostbyname(n) piSock->Gethostbyname(n, ErrorNo())
+#define PerlSock_gethostent() piSock->Gethostent(ErrorNo())
+#define PerlSock_gethostname(n, l) piSock->Gethostname(n, l, ErrorNo())
+#define PerlSock_getnetbyaddr(n, t) piSock->Getnetbyaddr(n, t, ErrorNo())
+#define PerlSock_getnetbyname(c) piSock->Getnetbyname(c, ErrorNo())
+#define PerlSock_getnetent() piSock->Getnetent(ErrorNo())
+#define PerlSock_getpeername(s, n, l) piSock->Getpeername(s, n, l, ErrorNo())
+#define PerlSock_getprotobyname(n) piSock->Getprotobyname(n, ErrorNo())
+#define PerlSock_getprotobynumber(n) piSock->Getprotobynumber(n, ErrorNo())
+#define PerlSock_getprotoent() piSock->Getprotoent(ErrorNo())
+#define PerlSock_getservbyname(n, p) piSock->Getservbyname(n, p, ErrorNo())
+#define PerlSock_getservbyport(port, p) piSock->Getservbyport(port, p, ErrorNo())
+#define PerlSock_getservent() piSock->Getservent(ErrorNo())
+#define PerlSock_getsockname(s, n, l) piSock->Getsockname(s, n, l, ErrorNo())
+#define PerlSock_getsockopt(s, l, n, v, i) piSock->Getsockopt(s, l, n, v, i, ErrorNo())
+#define PerlSock_inet_addr(c) piSock->InetAddr(c, ErrorNo())
+#define PerlSock_inet_ntoa(i) piSock->InetNtoa(i, ErrorNo())
+#define PerlSock_listen(s, b) piSock->Listen(s, b, ErrorNo())
+#define PerlSock_recvfrom(s, b, l, f, from, fromlen) piSock->Recvfrom(s, b, l, f, from, fromlen, ErrorNo())
+#define PerlSock_select(n, r, w, e, t) piSock->Select(n, (char*)r, (char*)w, (char*)e, t, ErrorNo())
+#define PerlSock_send(s, b, l, f) piSock->Send(s, b, l, f, ErrorNo())
+#define PerlSock_sendto(s, b, l, f, t, tlen) piSock->Sendto(s, b, l, f, t, tlen, ErrorNo())
+#define PerlSock_sethostent(f) piSock->Sethostent(f, ErrorNo())
+#define PerlSock_setnetent(f) piSock->Setnetent(f, ErrorNo())
+#define PerlSock_setprotoent(f) piSock->Setprotoent(f, ErrorNo())
+#define PerlSock_setservent(f) piSock->Setservent(f, ErrorNo())
+#define PerlSock_setsockopt(s, l, n, v, len) piSock->Setsockopt(s, l, n, v, len, ErrorNo())
+#define PerlSock_shutdown(s, h) piSock->Shutdown(s, h, ErrorNo())
+#define PerlSock_socket(a, t, p) piSock->Socket(a, t, p, ErrorNo())
+#define PerlSock_socketpair(a, t, p, f) piSock->Socketpair(a, t, p, f, ErrorNo())
#else
-#define PerlSock_htonl(x) htonl((x))
-#define PerlSock_htons(x) htons((x))
-#define PerlSock_ntohl(x) ntohl((x))
-#define PerlSock_ntohs(x) ntohs((x))
-#define PerlSock_accept(s, a, l) accept((s), (a), (l))
-#define PerlSock_bind(s, n, l) bind((s), (n), (l))
-#define PerlSock_connect(s, n, l) connect((s), (n), (l))
-#define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr((a), (l), (t))
-#define PerlSock_gethostbyname(n) gethostbyname((n))
+#define PerlSock_htonl(x) htonl(x)
+#define PerlSock_htons(x) htons(x)
+#define PerlSock_ntohl(x) ntohl(x)
+#define PerlSock_ntohs(x) ntohs(x)
+#define PerlSock_accept(s, a, l) accept(s, a, l)
+#define PerlSock_bind(s, n, l) bind(s, n, l)
+#define PerlSock_connect(s, n, l) connect(s, n, l)
+#define PerlSock_endhostent() endhostent()
+#define PerlSock_endnetent() endnetent()
+#define PerlSock_endprotoent() endprotoent()
+#define PerlSock_endservent() endservent()
+#define PerlSock_gethostbyaddr(a, l, t) gethostbyaddr(a, l, t)
+#define PerlSock_gethostbyname(n) gethostbyname(n)
#define PerlSock_gethostent() gethostent()
-#define PerlSock_gethostname(n, l) gethostname((n), (l))
-#define PerlSock_getpeername(s, n, l) getpeername((s), (n), (l))
-#define PerlSock_getprotobyname(n) getprotobyname((n))
-#define PerlSock_getprotobynumber(n) getprotobynumber((n))
+#define PerlSock_gethostname(n, l) gethostname(n, l)
+#define PerlSock_getnetbyaddr(n, t) getnetbyaddr(n, t)
+#define PerlSock_getnetbyname(c) getnetbyname(c)
+#define PerlSock_getnetent() getnetent()
+#define PerlSock_getpeername(s, n, l) getpeername(s, n, l)
+#define PerlSock_getprotobyname(n) getprotobyname(n)
+#define PerlSock_getprotobynumber(n) getprotobynumber(n)
#define PerlSock_getprotoent() getprotoent()
-#define PerlSock_getservbyname(n, p) getservbyname((n), (p))
-#define PerlSock_getservbyport(port, p) getservbyport((port), (p))
+#define PerlSock_getservbyname(n, p) getservbyname(n, p)
+#define PerlSock_getservbyport(port, p) getservbyport(port, p)
#define PerlSock_getservent() getservent()
-#define PerlSock_getsockname(s, n, l) getsockname((s), (n), (l))
-#define PerlSock_getsockopt(s, l, n, v, i) getsockopt((s), (l), (n), (v), (i))
-#define PerlSock_listen(s, b) listen((s), (b))
-#define PerlSock_recvfrom(s, b, l, f, from, fromlen) recvfrom((s), (b), (l), (f), (from), (fromlen))
-#define PerlSock_select(n, r, w, e, t) select((n), (r), (w), (e), (t))
-#define PerlSock_send(s, b, l, f) send((s), (b), (l), (f))
-#define PerlSock_sendto(s, b, l, f, t, tlen) sendto((s), (b), (l), (f), (t), (tlen))
-#define PerlSock_setsockopt(s, l, n, v, len) setsockopt((s), (l), (n), (v), (len))
-#define PerlSock_shutdown(s, h) shutdown((s), (h))
-#define PerlSock_socket(a, t, p) socket((a), (t), (p))
-#define PerlSock_socketpair(a, t, p, f) socketpair((a), (t), (p), (f))
+#define PerlSock_getsockname(s, n, l) getsockname(s, n, l)
+#define PerlSock_getsockopt(s, l, n, v, i) getsockopt(s, l, n, v, i)
+#define PerlSock_inet_addr(c) inet_addr(c)
+#define PerlSock_inet_ntoa(i) inet_ntoa(i)
+#define PerlSock_listen(s, b) listen(s, b)
+#define PerlSock_recvfrom(s, b, l, f, from, fromlen) recvfrom(s, b, l, f, from, fromlen)
+#define PerlSock_select(n, r, w, e, t) select(n, r, w, e, t)
+#define PerlSock_send(s, b, l, f) send(s, b, l, f)
+#define PerlSock_sendto(s, b, l, f, t, tlen) sendto(s, b, l, f, t, tlen)
+#define PerlSock_sethostent(f) sethostent(f)
+#define PerlSock_setnetent(f) setnetent(f)
+#define PerlSock_setprotoent(f) setprotoent(f)
+#define PerlSock_setservent(f) setservent(f)
+#define PerlSock_setsockopt(s, l, n, v, len) setsockopt(s, l, n, v, len)
+#define PerlSock_shutdown(s, h) shutdown(s, h)
+#define PerlSock_socket(a, t, p) socket(a, t, p)
+#define PerlSock_socketpair(a, t, p, f) socketpair(a, t, p, f)
#endif /* PERL_OBJECT */
#endif /* Include guard */
+
static OP* lastgotoprobe;
-static OP *
+STATIC OP *
dofindlabel(OP *o, char *label, OP **opstack, OP **oplimit)
{
OP *kid;
}
else {
stack_sp--; /* There is no cv arg. */
- (void)(*CvXSUB(cv))(cv);
+ (void)(*CvXSUB(cv))(THIS_ cv);
}
LEAVE;
return pop_return();
if (op->op_type == OP_ENTERITER)
DIE("Can't \"goto\" into the middle of a foreach loop",
label);
- (*op->op_ppaddr)(ARGS);
+ (CALLOP->op_ppaddr)(ARGS);
}
op = oldop;
}
/* Eval. */
-static void
+STATIC void
save_lines(AV *array, SV *sv)
{
register char *s = SvPVX(sv);
}
}
-static OP *
+STATIC OP *
docatch(OP *o)
{
dTHR;
restartop = 0;
/* FALL THROUGH */
case 0:
- runops();
+ CALLRUNOPS();
break;
}
JMPENV_POP;
}
/* With USE_THREADS, eval_owner must be held on entry to doeval */
-static OP *
+STATIC OP *
doeval(int gimme, OP** startop)
{
dSP;
RETURN;
}
-static void
+STATIC void
doparseform(SV *sv)
{
STRLEN len;
#ifndef VMS
VIRTUAL I32 setenv_getix _((char* nam));
#endif
-VIRTUAL int magic_setdefelem _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setenv _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setfm _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setisa _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setglob _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setmglob _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setnkeys _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setpack _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setpos _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setsig _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setsubstr _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_settaint _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setuvar _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_setvec _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_set_all_env _((SV* sv, MAGIC* mg));
-VIRTUAL U32 magic_sizepack _((SV* sv, MAGIC* mg));
-VIRTUAL int magic_wipepack _((SV* sv, MAGIC* mg));
-VIRTUAL void magicname _((char* sym, char* name, I32 namlen));
-VIRTUAL int main _((int argc, char** argv, char** env));
-VIRTUAL void markstack_grow _((void));
+VIRTUAL void setdefout _((GV* gv));
+VIRTUAL char* sharepvn _((char* sv, I32 len, U32 hash));
+VIRTUAL HEK* share_hek _((char* sv, I32 len, U32 hash));
+VIRTUAL Signal_t sighandler _((int sig));
+VIRTUAL SV** stack_grow _((SV** sp, SV**p, int n));
+VIRTUAL I32 start_subparse _((I32 is_format, U32 flags));
+VIRTUAL void sub_crush_depth _((CV* cv));
+VIRTUAL bool sv_2bool _((SV* sv));
+VIRTUAL CV* sv_2cv _((SV* sv, HV** st, GV** gvp, I32 lref));
+VIRTUAL IO* sv_2io _((SV* sv));
+VIRTUAL IV sv_2iv _((SV* sv));
+VIRTUAL SV* sv_2mortal _((SV* sv));
+VIRTUAL double sv_2nv _((SV* sv));
+VIRTUAL char* sv_2pv _((SV* sv, STRLEN* lp));
+VIRTUAL UV sv_2uv _((SV* sv));
+VIRTUAL IV sv_iv _((SV* sv));
+VIRTUAL UV sv_uv _((SV* sv));
+VIRTUAL double sv_nv _((SV* sv));
+VIRTUAL char * sv_pvn _((SV *, STRLEN *));
+VIRTUAL I32 sv_true _((SV *));
+VIRTUAL void sv_add_arena _((char* ptr, U32 size, U32 flags));
+VIRTUAL int sv_backoff _((SV* sv));
+VIRTUAL SV* sv_bless _((SV* sv, HV* stash));
+VIRTUAL void sv_catpvf _((SV* sv, const char* pat, ...));
+VIRTUAL void sv_catpv _((SV* sv, char* ptr));
+VIRTUAL void sv_catpvn _((SV* sv, char* ptr, STRLEN len));
+VIRTUAL void sv_catsv _((SV* dsv, SV* ssv));
+VIRTUAL void sv_chop _((SV* sv, char* ptr));
+VIRTUAL void sv_clean_all _((void));
+VIRTUAL void sv_clean_objs _((void));
+VIRTUAL void sv_clear _((SV* sv));
+VIRTUAL I32 sv_cmp _((SV* sv1, SV* sv2));
+VIRTUAL I32 sv_cmp_locale _((SV* sv1, SV* sv2));
#ifdef USE_LOCALE_COLLATE
-VIRTUAL char* mem_collxfrm _((const char* s, STRLEN len, STRLEN* xlen));
+VIRTUAL char* sv_collxfrm _((SV* sv, STRLEN* nxp));
#endif
-VIRTUAL char* mess _((const char* pat, va_list* args));
-VIRTUAL int mg_clear _((SV* sv));
-VIRTUAL int mg_copy _((SV* , SV* , char* , I32));
-VIRTUAL MAGIC* mg_find _((SV* sv, int type));
-VIRTUAL int mg_free _((SV* sv));
-VIRTUAL int mg_get _((SV* sv));
-VIRTUAL U32 mg_len _((SV* sv));
-VIRTUAL void mg_magical _((SV* sv));
-VIRTUAL int mg_set _((SV* sv));
-VIRTUAL I32 mg_size _((SV* sv));
-VIRTUAL OP* mod _((OP* o, I32 type));
-VIRTUAL char* moreswitches _((char* s));
-VIRTUAL OP* my _((OP* o));
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-VIRTUAL char* my_bcopy _((char* from, char* to, I32 len));
+VIRTUAL OP* sv_compile_2op _((SV* sv, OP** startp, char* code, AV** avp));
+VIRTUAL void sv_dec _((SV* sv));
+VIRTUAL void sv_dump _((SV* sv));
+VIRTUAL bool sv_derived_from _((SV* sv, char* name));
+VIRTUAL I32 sv_eq _((SV* sv1, SV* sv2));
+VIRTUAL void sv_free _((SV* sv));
+VIRTUAL void sv_free_arenas _((void));
+VIRTUAL char* sv_gets _((SV* sv, PerlIO* fp, I32 append));
+#ifndef DOSISH
+VIRTUAL char* sv_grow _((SV* sv, I32 newlen));
+#else
+VIRTUAL char* sv_grow _((SV* sv, unsigned long newlen));
#endif
VIRTUAL void sv_inc _((SV* sv));
VIRTUAL void sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen));
#ifdef USE_THREADS
VIRTUAL void unlock_condpair _((void* svv));
#endif
-VIRTUAL void my_unexec _((void));
-VIRTUAL OP* newANONLIST _((OP* o));
-VIRTUAL OP* newANONHASH _((OP* o));
-VIRTUAL OP* newANONSUB _((I32 floor, OP* proto, OP* block));
-VIRTUAL OP* newASSIGNOP _((I32 flags, OP* left, I32 optype, OP* right));
-VIRTUAL OP* newCONDOP _((I32 flags, OP* expr, OP* trueop, OP* falseop));
-VIRTUAL void newFORM _((I32 floor, OP* o, OP* block));
-VIRTUAL OP* newFOROP _((I32 flags, char* label, line_t forline, OP* scalar, OP* expr, OP*block, OP*cont));
-VIRTUAL OP* newLOGOP _((I32 optype, I32 flags, OP* left, OP* right));
-VIRTUAL OP* newLOOPEX _((I32 type, OP* label));
-VIRTUAL OP* newLOOPOP _((I32 flags, I32 debuggable, OP* expr, OP* block));
-VIRTUAL OP* newNULLLIST _((void));
-VIRTUAL OP* newOP _((I32 optype, I32 flags));
-VIRTUAL void newPROG _((OP* o));
-VIRTUAL OP* newRANGE _((I32 flags, OP* left, OP* right));
-VIRTUAL OP* newSLICEOP _((I32 flags, OP* subscript, OP* list));
-VIRTUAL OP* newSTATEOP _((I32 flags, char* label, OP* o));
-VIRTUAL CV* newSUB _((I32 floor, OP* o, OP* proto, OP* block));
-VIRTUAL CV* newXS _((char* name, void (*subaddr)(CV* cv), char* filename));
-VIRTUAL AV* newAV _((void));
-VIRTUAL OP* newAVREF _((OP* o));
-VIRTUAL OP* newBINOP _((I32 type, I32 flags, OP* first, OP* last));
-VIRTUAL OP* newCVREF _((I32 flags, OP* o));
-VIRTUAL OP* newGVOP _((I32 type, I32 flags, GV* gv));
-VIRTUAL GV* newGVgen _((char* pack));
-VIRTUAL OP* newGVREF _((I32 type, OP* o));
-VIRTUAL OP* newHVREF _((OP* o));
-VIRTUAL HV* newHV _((void));
-VIRTUAL IO* newIO _((void));
-VIRTUAL OP* newLISTOP _((I32 type, I32 flags, OP* first, OP* last));
-VIRTUAL OP* newPMOP _((I32 type, I32 flags));
-VIRTUAL OP* newPVOP _((I32 type, I32 flags, char* pv));
-VIRTUAL SV* newRV _((SV* ref));
-#if !defined(__GNUC__) && (defined(CRIPPLED_CC) || defined(USE_THREADS))
-VIRTUAL SV* newRV_noinc _((SV *));
+VIRTUAL void unsharepvn _((char* sv, I32 len, U32 hash));
+VIRTUAL void unshare_hek _((HEK* hek));
+VIRTUAL void utilize _((int aver, I32 floor, OP* version, OP* id, OP* arg));
+VIRTUAL void vivify_defelem _((SV* sv));
+VIRTUAL void vivify_ref _((SV* sv, U32 to_what));
+VIRTUAL I32 wait4pid _((int pid, int* statusp, int flags));
+VIRTUAL void warn _((const char* pat,...));
+VIRTUAL void watch _((char** addr));
+VIRTUAL I32 whichsig _((char* sig));
+VIRTUAL int yyerror _((char* s));
+VIRTUAL int yylex _((void));
+VIRTUAL int yyparse _((void));
+VIRTUAL int yywarn _((char* s));
+
+#ifndef MYMALLOC
+VIRTUAL Malloc_t safemalloc _((MEM_SIZE nbytes));
+VIRTUAL Malloc_t safecalloc _((MEM_SIZE elements, MEM_SIZE size));
+VIRTUAL Malloc_t saferealloc _((Malloc_t where, MEM_SIZE nbytes));
+VIRTUAL Free_t safefree _((Malloc_t where));
#endif
+
#ifdef LEAKTEST
VIRTUAL Malloc_t safexmalloc _((I32 x, MEM_SIZE size));
VIRTUAL Malloc_t safexcalloc _((I32 x, MEM_SIZE elements, MEM_SIZE size));