Skip to content

Commit

Permalink
* C.pm (1.30): support dbmopen, fixes issue 24.
Browse files Browse the repository at this point in the history
  fixed xpvmgsect (was xpvsect) !-fcog < 5.10 (YAML, test 41,42,43).
  fixed m//i since 5.13.10: swash_init("utf8::Cased").
  support GvCV_set and GvGP_set introduced with 5.13.10.
  implement -staticxs for perlcc --staticxs
    either link to found static libs or link to shared lib with
    fixed LD_LIBRARY_PATH/PATH (nyi in C, just perlcc).
  optimize -fav-init use_av_undef_speedup &PL_sv_undef initialization (again).
  reserved -mPackagename (NYI)
  added verbose(),module() for CC.
  implement outline of -m module, name detection missing.
  added -fno-fold recommended since 5.13.9 to omit the huge utf8 tables.
  added -fno-warnings, recommended since 5.13.5.
* CC.pm (1.09): support dbmopen, issue 24 failing due to XSLoader (test 45)
  implemented dorassign, fixes issue 45.
  fixed XSLoader detection, moved use_xsloader to save_unused_subs()
  added missing END block code (test 28).
  added B::C::verbose on -v
    fixed B::C::verbose crash by adding B::FAKEOP::fake_ppaddr.
    fixed compile_stats
  renamed -n module_name to init_name.
  check and set -f options from C also.
  implement outline of -m module, name detection missing.
  be less chatty with compiling bblocks.
  light layout cleanup of generated code sections.
  added Vishal Bhatia <vishal at deja.com> to AUTHORS.
* Bytecode.pm (1.30): support dbmopen, fixes issue 24.
  re-added -m, compile as module to .pmc
  store AV elems for non-tied AV->MAGICAL >5.6 (i.e. @isa, ...) (new test 47)
  -DA: limcheck PV
  verbosity: added nice1 (condense elements)
  name SV indices also
* perlcc (2.10): fixed -B -r, -B output and run bytecode.
  implement --staticxs to workaround DynaLoader problems. use it in t/modules.t
    add sopath to PATH on -r. Without -r the sofile should be symlinked so that the
    process can find it.
  implement --shared and --static, --shared fails on strawberry due to core problems. 
  re-added -m|--sharedlib for Bytecode and C (NYI)
  print C and CC filtered compiler output
  -v5 adds -v to the compiler options
  -v6 adds -Dfull to the compiler options
  support -Wb= for -B
  fixed -Br for 5.6: add -MByteLoader
* Stash (1.01): add option xs to print xs modules with -x prefix.
  omit PerlIO::Layer.
  added pod
* Disassembler (1.08): 5.6: fix ldop comments.
  add op_type names, add @svnames, add indices, add ldspecsvx type
* Assembler (0.10): print more flags (as hex) and indices.
  better limcheck diagnostics (op,sv,pv)
* cc_runtime514.h:
  Expanded PERL_MAGIC_taint 't' for 5.6.
* t/modules.t: try --staticxs first, try crosscheck without perlcc
* t/issue45.t: fixed and added 3 more tests
* t/testc.sh, t/TESTS: fixed wrong test 39 for 5.8, added 47
* t/testplc.sh: added 47
* Changes: added more missing history ca. 1997-2000



git-svn-id: http://perl-compiler.googlecode.com/svn/trunk@912 ed534f1a-1453-0410-ab30-dfc593a8b23c
  • Loading branch information
Reini Urban committed Feb 15, 2011
1 parent 28e60a1 commit 694ed5e
Show file tree
Hide file tree
Showing 33 changed files with 1,893 additions and 816 deletions.
16 changes: 14 additions & 2 deletions ByteLoader/bytecode.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ static int bget_swab = 0;
#include "ppport.h"
#endif

#ifndef GvCV_set
# define GvCV_set(gv,cv) (GvCV(gv) = (cv))
#endif
#ifndef GvGP_set
# define GvGP_set(gv,gp) (GvGP(gv) = (gp))
#endif

#define BGET_FREAD(argp, len, nelem) \
bl_read(bstate->bs_fdata,(char*)(argp),(len),(nelem))
#define BGET_FGETC() bl_getc(bstate->bs_fdata)
Expand Down Expand Up @@ -219,7 +226,7 @@ static int bget_swab = 0;
#define BSET_gp_refcnt_add(gprefcnt, arg) gprefcnt += arg
#define BSET_gp_share(sv, arg) STMT_START { \
gp_free((GV*)sv); \
GvGP(sv) = GvGP(arg); \
GvGP_set(sv, GvGP(arg)); \
} STMT_END

/* New GV's are stored as HE+HEK, which is alloc'ed anew */
Expand Down Expand Up @@ -272,6 +279,11 @@ static int bget_swab = 0;
#else
#define BSET_xcv_gv(sv, arg) (*(SV**)&CvGV(bstate->bs_sv) = arg)
#endif
#if PERL_VERSION > 13 || defined(GvCV_set)
#define BSET_gp_cv(sv, arg) GvCV_set(bstate->bs_sv, (CV*)arg)
#else
#define BSET_gp_cv(sv, arg) (*(SV**)&GvCV(bstate->bs_sv) = arg)
#endif
#if PERL_VERSION > 13 || defined(CvSTASH_set)
#define BSET_xcv_stash(sv, arg) (CvSTASH_set((CV*)bstate->bs_sv, (HV*)arg))
#else
Expand Down Expand Up @@ -469,7 +481,7 @@ static int bget_swab = 0;
Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, \
newSVpvn("File::Glob", 10), Nullsv, Nullsv, Nullsv); \
glob_gv = gv_fetchpv("File::Glob::csh_glob", FALSE, SVt_PVCV); \
GvCV(gv) = GvCV(glob_gv); \
GvCV_set(gv, GvCV(glob_gv)); \
SvREFCNT_inc((SV*)GvCV(gv)); \
GvIMPORTED_CV_on(gv); \
LEAVE; \
Expand Down
Loading

0 comments on commit 694ed5e

Please sign in to comment.