cvsuser 05/01/22 10:42:41
Modified: . MANIFEST
docs ROADMAP
Removed: . KNOWN_ISSUES DESIGN_TODO
Log:
Consolidate the various "TODO" files
Revision Changes Path
1.825 +0 -3 parrot/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /cvs/public/parrot/MANIFEST,v
retrieving revision 1.824
retrieving revision 1.825
diff -u -r1.824 -r1.825
--- MANIFEST 20 Jan 2005 06:37:07 -0000 1.824
+++ MANIFEST 22 Jan 2005 18:42:39 -0000 1.825
@@ -4,9 +4,7 @@
CREDITS []
ChangeLog []
Configure.pl []
-DESIGN_TODO []
DEVELOPING []
-KNOWN_ISSUES [main]doc
LICENSES/Artistic [main]doc
LICENSES/gpl.txt [main]doc
MANIFEST []
@@ -20,7 +18,6 @@
RELEASE_INSTRUCTIONS []
RESPONSIBLE_PARTIES [main]doc
TODO [main]doc
-TODO.win32 [main]doc
VERSION [main]doc
ast/ast.h []
ast/ast.l []
1.2 +189 -5 parrot/docs/ROADMAP
Index: ROADMAP
===================================================================
RCS file: /cvs/public/parrot/docs/ROADMAP,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ROADMAP 20 Jan 2005 06:34:26 -0000 1.1
+++ ROADMAP 22 Jan 2005 18:42:40 -0000 1.2
@@ -1,5 +1,5 @@
-# Copyright: 2001-2004 The Perl Foundation. All Rights Reserved.
-# $Id: ROADMAP,v 1.1 2005/01/20 06:34:26 coke Exp $
+# Copyright: 2005 The Perl Foundation. All Rights Reserved.
+# $Id: ROADMAP,v 1.2 2005/01/22 18:42:40 coke Exp $
=head1 NAME
@@ -18,19 +18,26 @@
This document is not meant to contain all the metadata regarding particular
tasks, but merely provide a summary of the tasks.
+Strictly speaking, this document is not a roadmap - that requires input from
+the Architect and the Pumpking. However, its goal is to help improve project
+management for parrot, and enable an actual roadmap.
+
=head1 OVERVIEW
The tasks that are remaining are broken down into the following categories,
-roughly listed in the order which a task might progress.
+roughly listed in the order through which a task might progress.
=head2 METADATA
-Each task has certain metadata associated with it which must be tracked.
+Each task has certain metadata associated with it which must be tracked.
+Eventually all metadata should be stored in RT at http://rt.perl.org/rt3/
=head2 DESIGN
These are pending design decisions which must be made before any code can
-be written to implement them.
+be written to implement them. Note - DESIGN is a special kind of documenation
+task. Due to the nature of this kind of documentation, it deserves to be
+broken out into its own category.
=head2 TODO
@@ -75,6 +82,47 @@
=item *
+Finish event and IO specification
+
+=item *
+
+Finish specification of return continuation and sub being called
+slots in interpreter, with introspection
+
+=item *
+
+Spec out bytecode metadata system and introspection/modification system
+
+=item *
+
+Specify what we need to serialize continuations
+
+=item *
+
+Spec out threading system.
+
+=item *
+
+Final namespace spec
+
+=item *
+
+Final lexical pad spec
+
+=item *
+
+Solidify design for Truly Evil speed hack for fast regex/string matching
+
+=item *
+
+multi key opcodes
+
+=item *
+
+PDD05 (Opcode Function specs) - Per Leo, this document is obsolete and must
be re-implemented.
+
+=item *
+
PDD10 (Embedding) must be completed.
=item *
@@ -110,6 +158,47 @@
=item *
+Get digest (probably SHA1) added to bytecode segments
+
+=item *
+
+Speed up the OrderedHash implementation
+
+=item *
+
+Rearchitect internals for the string specifications.
+
+=item *
+
+To PerlClass or not to PerlClass, that is the question. The class
+hierarchy should be reworked (e.g. Boolean->PerlInt->Scalar).
+
+=item *
+
+lib/Parrot/PackFile* is outdated and unused
+
+=item *
+
+Configuration - missing tests for processor features
+
+=item *
+
+Configuration - duplication, e.g. nvsize/numvalsize
+
+=item *
+
+Tests - ~1/3 of opcodes are uncovered by tests
+
+=item *
+
+IO - Async core isn't there yet, even though it is rumoured to be.
+
+=item *
+
+Overflow detection/promotion to bigint/float types.
+
+=item *
+
Create opcode_process.pl L<PDD05>
=item *
@@ -153,19 +242,110 @@
=head2 BUGFIX
+=over 4
+
+=item *
+
+You can add parents to a class with children and objects, and
+attributes to a class with children or objects. This is silently
+allowed and quietly corrupts the child classes and instantiated
+objects.
+
+=item *
+
+building miniparrot is broken
+
+=item *
+
+GC issue (copying collector) - immobile strings/buffers get freed during GC.
+
+=item *
+
+Memory leak - PIO subsystem leaks file handles (ParrotIO structures)
+
+=item *
+
+Memory leak - regexen leak bitmaps
+
+=item *
+
+Memory leak - string_to_cstring returns a malloced string, which isn't freed
everywhere
+
+=item *
+
+Memory Leaks - imcc is currently leaking Unit structures and possibly more
+
+=item *
+
+Regular Expressions - are non reentrant due to interpreter global intstack
+
+=item *
+
+JIT - 64 bit integers on 32 bit machines don't work
+
+=item *
+
+JIT - parrot register inspection is incomplete (P-regs)
+
+=item *
+
+This sequence:
+
+ loop: dec I0
+ inc I1 # or add, sub, ...
+ if I0, loop
+
+isn't handled correctly on JIT/i386.
+
+=item *
+
+C<Parrot_destroy> currently leaks most of the memory that it is supposed to
free.
+L<embed.pod>
+
+=back
+
=head2 PORTABILITY
=over 4
=item *
+See PORTABILITY. Test suite should have no failure on supported platforms.
+
+=item *
+
+Tests - src/tests are not supported on all platforms
+
+=item *
+
ParrotIO uses integral file descriptors, which may not be portable.
L<ops/io.ops>
+=item *
+
+conversion ops for machines without 1/2/4 byte integer data types
+
+=item *
+
+32 bit pointer/64 bit integer and vv.
+
+=item *
+
+dynamic library loading
+
=back
=head2 DOCUMENTATION
+=over 4
+
+=item *
+
+L<memory_internals.pod> has a question about whether or not
+string reuse is limited to a single user or multiple users.
+
+=back
+
=head2 HIGH LEVEL LANGUAGES
=over 4
@@ -176,6 +356,10 @@
=item *
+Get python bytecode translator done
+
+=item *
+
Pass the pie-thon test suite.
=back