summaryrefslogtreecommitdiff
path: root/bytecode.pl
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-02-26 03:56:19 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-02-26 03:56:19 +0000
commitd613ef02e4bf2ccbbac161910d879e49ce35ecd8 (patch)
tree0645273db99be98d62780677bee79cbceb8d8992 /bytecode.pl
parentf1c0db8dbc906cad6c85874be33c7969497df1cd (diff)
downloadperl-d613ef02e4bf2ccbbac161910d879e49ce35ecd8.tar.gz
[win32] various cleanups so that B can be built as "just another extension"
- export symbols needed for building B - bset_obj_store() is needed by byterun(), so define it there instead of at B.xs, and export it - freadpv() is only used in B.xs, so move it there - byte*.h are now included by perl.h - regenerate embed*.h p4raw-id: //depot/win32/perl@589
Diffstat (limited to 'bytecode.pl')
-rw-r--r--bytecode.pl24
1 files changed, 15 insertions, 9 deletions
diff --git a/bytecode.pl b/bytecode.pl
index e72d852c32..c545f4136d 100644
--- a/bytecode.pl
+++ b/bytecode.pl
@@ -65,8 +65,20 @@ print BYTERUN_C $c_header, <<'EOT';
#include "EXTERN.h"
#include "perl.h"
-#include "bytecode.h"
-#include "byterun.h"
+
+void *
+bset_obj_store(void *obj, I32 ix)
+{
+ if (ix > obj_list_fill) {
+ if (obj_list_fill == -1)
+ New(666, obj_list, ix + 1, void*);
+ else
+ Renew(obj_list, ix + 1, void*);
+ obj_list_fill = ix;
+ }
+ obj_list[ix] = obj;
+ return obj;
+}
#ifdef INDIRECT_BGET_MACROS
void byterun(struct bytestream bs)
@@ -153,18 +165,12 @@ struct bytestream {
int (*fread)(char *, size_t, size_t, void*);
void (*freadpv)(U32, void*);
};
-void freadpv _((U32, void *));
void byterun _((struct bytestream));
#else
void byterun _((FILE *));
#endif /* INDIRECT_BGET_MACROS */
-#ifndef PATCHLEVEL
-#include "patchlevel.h"
-#endif
-#if PATCHLEVEL < 4 || (PATCHLEVEL == 4 && SUBVERSION < 50)
-#define dTHR extern int errno
-#endif
+void *bset_obj_store _((void *, I32));
enum {
EOT