Author: leo
Date: Mon Sep 19 08:08:48 2005
New Revision: 9212
Added:
branches/leo-ctx5/src/pbc_merge.c
- copied unchanged from r9211, trunk/src/pbc_merge.c
branches/leo-ctx5/t/tools/
- copied from r9211, trunk/t/tools/
branches/leo-ctx5/t/tools/pbc_merge.t
- copied unchanged from r9211, trunk/t/tools/pbc_merge.t
Modified:
branches/leo-ctx5/CREDITS
branches/leo-ctx5/MANIFEST
branches/leo-ctx5/config/gen/makefiles/root.in
branches/leo-ctx5/config/init/data.pl
branches/leo-ctx5/config/init/hints/mswin32.pl
branches/leo-ctx5/docs/parrotbyte.pod
Log:
merge -r9203:9211 from trunk
Modified: branches/leo-ctx5/CREDITS
==============================================================================
--- branches/leo-ctx5/CREDITS (original)
+++ branches/leo-ctx5/CREDITS Mon Sep 19 08:08:48 2005
@@ -129,8 +129,8 @@ D: Use unix98 ps option in signal.t
N: Felix Gallo
D: delegate.pmc patch
-N: Francois Perrad
-D: build fixes for Cygwin and MinGW
+N: Fran�ois PERRAD
+D: build fixes for MinGW
N: Garrett Rooney
D: Fix typo in PARROT_BIGENDIAN case
Modified: branches/leo-ctx5/MANIFEST
==============================================================================
--- branches/leo-ctx5/MANIFEST (original)
+++ branches/leo-ctx5/MANIFEST Mon Sep 19 08:08:48 2005
@@ -1758,6 +1758,7 @@ src/packfile.c
src/packout.c []
src/parrot.c []
src/pbc_info.c []
+src/pbc_merge.c []
src/pdb.c []
src/pdump.c []
src/pic.c []
@@ -1940,6 +1941,7 @@ t/src/opcode-doc.t
t/src/sprintf.t []
t/src/string.t []
t/stress/gc.t []
+t/tools/pbc_merge.t []
tools/dev/as2c.pl [devel]
tools/dev/bench_op.imc [devel]
tools/dev/cc_flags.pl [devel]
Modified: branches/leo-ctx5/config/gen/makefiles/root.in
==============================================================================
--- branches/leo-ctx5/config/gen/makefiles/root.in (original)
+++ branches/leo-ctx5/config/gen/makefiles/root.in Mon Sep 19 08:08:48 2005
@@ -460,6 +460,7 @@ PARROT_SO = $(CUR_DIR)/${test_pr
DIS = $(CUR_DIR)/disassemble$(EXE)
PDUMP = $(CUR_DIR)/pdump$(EXE)
PINFO = $(CUR_DIR)/pbc_info$(EXE)
+PBCMERGE = $(CUR_DIR)/pbc_merge$(EXE)
PDB = $(CUR_DIR)/pdb$(EXE)
# libs
@@ -574,11 +575,12 @@ help :
@echo " all: 'parrot' and the documentation."
@echo " This is the default."
@echo " world: 'all' and 'parrot_utils'."
- @echo " parrot_utils: $(PDUMP), $(DIS), $(PINFO) and $(PDB)"
+ @echo " parrot_utils: $(PDUMP), $(DIS), $(PINFO), $(PDB) and
$(PBCMERGE)"
@echo " $(PDUMP): Parrot Dumper"
@echo " $(DIS): Parrot Disassembler"
@echo " $(PINFO): Information about Parrot Byte Code"
@echo " $(PDB): Parrot Debugger"
+ @echo " $(PBCMERGE): Parrot Debugger"
@echo ""
@echo "Installation:"
@echo " install: Install under '/usr/local/parrot' on Unix
systems"
@@ -649,7 +651,7 @@ help :
world : all parrot_utils
-parrot_utils : $(PDUMP) $(DIS) $(PINFO) $(PDB)
+parrot_utils : $(PDUMP) $(DIS) $(PINFO) $(PDB) $(PBCMERGE)
flags_dummy :
@echo Compiling with:
@@ -791,6 +793,19 @@ $(PINFO) : $(SRC_DIR)/pbc_info$(O) $(LIB
$(SRC_DIR)/null_config$(O) \
$(LINKFLAGS) $(ALL_PARROT_LIBS)
+#
+# Parrot Bytecode File Merger
+#
+
+# pbc_info
+$(PBCMERGE) : $(SRC_DIR)/pbc_merge$(O) $(LIBPARROT)
+ $(LINK) ${ld_out}$(PBCMERGE) \
+ $(SRC_DIR)/pbc_merge$(O) \
+ $(SRC_DIR)/null_config$(O) \
+ $(LINKFLAGS) $(ALL_PARROT_LIBS)
+
+
+
###############################################################################
#
# Other Dependencies and Build Rules:
@@ -1197,6 +1212,8 @@ RUNCORE_TEST_FILES = \
t/dynclass/foo.t t/dynclass/g*.t \
t/examples/*.t \
t/p6rules/*.t
+TOOLS_TEST_FILES = \
+ t/tools/*.t
# Common prep for all test targets.
# We propably need a complete build before running the tests.
@@ -1206,7 +1223,8 @@ test_prep : all
# Users have to look at only one report.
# Normal core
test : test_prep
- $(PERL) t/harness $(EXTRA_TEST_ARGS) $(PARROT_ARGS)
$(RUNCORE_TEST_FILES) $(RUN_TEST_FILES) $(SRC_TEST_FILES) $(PERL_TEST_FILES)
+ $(PERL) t/harness $(EXTRA_TEST_ARGS) $(PARROT_ARGS)
$(RUNCORE_TEST_FILES) \
+ $(RUN_TEST_FILES) $(SRC_TEST_FILES) $(PERL_TEST_FILES)
$(TOOLS_TEST_FILES)
# Test various run cores and other stuff
# 'testC', 'testg' and 'testj' are tested only
@@ -1333,6 +1351,7 @@ prog-clean :
$(PDUMP) $(SRC_DIR)/pdump$(O) $(SRC_DIR)/packdump$(O) \
$(SRC_DIR)/pbc_info$(O) $(PINFO) \
$(PDB) $(SRC_DIR)/pdb$(O) \
+ $(PBCMERGE) $(SRC_DIR)/pbc_merge$(O) \
$(DIS) $(SRC_DIR)/disassemble$(O) \
$(SRC_DIR)/null_config$(O) \
$(SRC_DIR)/parrot_config$(O) \
@@ -1391,6 +1410,8 @@ test-clean :
$(RM_F) t/stress/*.o
$(RM_F) t/stress/*.stabs.s
$(RM_F) t/src/*.c
+ $(RM_F) t/tools/*.imc
+ $(RM_F) t/tools/*.pbc
$(RM_F) $(IMCC_DIR)/t/*/*.out
$(RM_F) $(IMCC_DIR)/t/*/*.imc
$(RM_F) $(IMCC_DIR)/t/*/*.pir
Modified: branches/leo-ctx5/config/init/data.pl
==============================================================================
--- branches/leo-ctx5/config/init/data.pl (original)
+++ branches/leo-ctx5/config/init/data.pl Mon Sep 19 08:08:48 2005
@@ -40,7 +40,7 @@ sub runstep {
# A plain --optimize means use perl5's $Config{optimize}. If an argument
is
# given, however, use that instead. This logic really belongs in the
optimize
# unit.
- optimize => $optimize ? ($optimize eq "1" ? $Config{optimize} :
$optimize) : '',
+ optimize => $optimize ? ($optimize eq "1" ? ($Config{optimize} ||
"1") : $optimize) : '',
verbose => $verbose,
build_dir => $FindBin::Bin,
Modified: branches/leo-ctx5/config/init/hints/mswin32.pl
==============================================================================
--- branches/leo-ctx5/config/init/hints/mswin32.pl (original)
+++ branches/leo-ctx5/config/init/hints/mswin32.pl Mon Sep 19 08:08:48 2005
@@ -152,7 +152,7 @@
elsif( $is_mingw ) {
my $make=Configure::Data->get(qw(make));
if ($make =~ /nmake/i) {
- # ActiveState Perl
+ # ActiveState Perl or PXPerl
Configure::Data->set(
'a' => '.a',
'ar' => 'ar',
@@ -171,9 +171,9 @@
'o' => '.o',
'slash' => '\\',
);
- if (Configure::Data->get(qw(optimize))) {
+ if (Configure::Data->get(qw(optimize)) eq "1") {
Configure::Data->set(
- optimize => '-s -O2'
+ optimize => '-O2'
);
}
} elsif ($make =~ /dmake/i) {
Modified: branches/leo-ctx5/docs/parrotbyte.pod
==============================================================================
--- branches/leo-ctx5/docs/parrotbyte.pod (original)
+++ branches/leo-ctx5/docs/parrotbyte.pod Mon Sep 19 08:08:48 2005
@@ -163,9 +163,13 @@ consider these data as readonly.
| label offset |
+----------+----------+----------+----------+
-Currently fixup type B<0> is defined, which has a label symbol and an offset
+Fixup type B<0>, known as enum_fixup_label, has a label symbol and an offset
into the bytecode.
+Fixup type B<1>, known as enum_fixup_sub, has a label symbol that is the name
+of the "sub" and an offset into the constant table, referencing a Sub, Closure
+or Coroutine PMC.
+
=head2 Debug Segment
+----------+----------+----------+----------+