cvs commit: ponie/perl perl.c sv.h
[email protected] (Nicholas Clark) 27 Apr 2005 13:18:31 -0000
| Newsgroups | perl.ponie.changes |
|---|---|
| Message-ID | <[email protected]> |
cvsuser 05/04/27 06:18:31
Modified: perl perl.c sv.h
Log:
Instantiate PMCs for all the Perl types
Revision Changes Path
1.18 +14 -0 ponie/perl/perl.c
Index: perl.c
===================================================================
RCS file: /cvs/public/ponie/perl/perl.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- perl.c 19 Apr 2005 19:04:13 -0000 1.17
+++ perl.c 27 Apr 2005 13:18:30 -0000 1.18
@@ -235,7 +235,21 @@
const static Ponie_pmc_init s[] =
{
{Ponie_PMC_Perl5_NULL, "Perl5NULL"},
+ PONIE_PMC_INIT (IV),
+ PONIE_PMC_INIT (NV),
+ PONIE_PMC_INIT (RV),
+ PONIE_PMC_INIT (PV),
+ PONIE_PMC_INIT (PVIV),
+ PONIE_PMC_INIT (PVNV),
PONIE_PMC_INIT (PVMG),
+ PONIE_PMC_INIT (PVBM),
+ PONIE_PMC_INIT (PVGV),
+ PONIE_PMC_INIT (PVLV),
+ PONIE_PMC_INIT (PVAV),
+ PONIE_PMC_INIT (PVHV),
+ PONIE_PMC_INIT (PVCV),
+ PONIE_PMC_INIT (PVFM),
+ PONIE_PMC_INIT (PVIO),
{Ponie_PMC_Perl5_MAX, NULL}
};
const Ponie_pmc_init *i = s;
1.68 +16 -2 ponie/perl/sv.h
Index: sv.h
===================================================================
RCS file: /cvs/public/ponie/perl/sv.h,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- sv.h 23 Apr 2005 16:52:41 -0000 1.67
+++ sv.h 27 Apr 2005 13:18:30 -0000 1.68
@@ -177,15 +177,29 @@
#define SvREFCNT_dec(sv) sv_free((SV*)(sv))
#endif
-/* All the things get_pointer_keyed_int can return. */
-
typedef enum {
Ponie_PMC_ZERO = 0,
Ponie_PMC_Perl5_NULL = 0,
+ Ponie_PMC_Perl5_IV,
+ Ponie_PMC_Perl5_NV,
+ Ponie_PMC_Perl5_RV,
+ Ponie_PMC_Perl5_PV,
+ Ponie_PMC_Perl5_PVIV,
+ Ponie_PMC_Perl5_PVNV,
Ponie_PMC_Perl5_PVMG,
+ Ponie_PMC_Perl5_PVBM,
+ Ponie_PMC_Perl5_PVGV,
+ Ponie_PMC_Perl5_PVLV,
+ Ponie_PMC_Perl5_PVAV,
+ Ponie_PMC_Perl5_PVHV,
+ Ponie_PMC_Perl5_PVCV,
+ Ponie_PMC_Perl5_PVFM,
+ Ponie_PMC_Perl5_PVIO,
Ponie_PMC_Perl5_MAX
} Ponie_pmcs;
+/* All the things get_pointer_keyed_int can return. */
+
typedef enum {
Ponie_P_ANY, /* SvANY pointer */
Ponie_P_RV, /* &SvRV pointer */