[svn:parrot] r38056 - branches/packfile_revamp/t/pmc
bacek at svn.parrot.org
bacek at svn.parrot.org
Sat Apr 11 08:13:44 UTC 2009
Author: bacek
Date: Sat Apr 11 08:13:44 2009
New Revision: 38056
URL: https://trac.parrot.org/parrot/changeset/38056
Log:
Add _find_segment_by_type to packfile_common.pir
Modified:
branches/packfile_revamp/t/pmc/packfile_common.pir
Modified: branches/packfile_revamp/t/pmc/packfile_common.pir
==============================================================================
--- branches/packfile_revamp/t/pmc/packfile_common.pir Sat Apr 11 08:13:29 2009 (r38055)
+++ branches/packfile_revamp/t/pmc/packfile_common.pir Sat Apr 11 08:13:44 2009 (r38056)
@@ -26,16 +26,28 @@
.return(pf)
.end
+.sub '_find_segment_by_type'
+ .param pmc pf
+ .param string type
+ .local pmc pfdir, it
+
+ pfdir = pf.'get_directory'()
+ it = iter pfdir
+ loop:
+ unless it goto done
+ $S0 = shift it
+ $P0 = pfdir[$S0]
+ $I0 = isa $P0, type
+ unless $I0 goto loop
+ .return ($P0)
+ done:
+ .return ()
+.end
+
.sub '_get_fixup_table'
.param pmc pf
- .local pmc pfdir, pftable
- pfdir = pf.'get_directory'()
- $P0 = iter pfdir
- $S0 = shift $P0
- $S0 = shift $P0
- pftable = pfdir[$S0]
- .return (pftable)
+ .tailcall '_find_segment_by_type'(pf, "PackfileFixupTable")
.end
More information about the parrot-commits
mailing list