[t][TT #1183] dies_ok() for Test::More, bubaflub++
[parrot.git] / ChangeLog
blob2349effc03e33c6cdd24bdcdc99be6f8c8073559
1 #1 $Id$
3 2009.10.20     dukeleto
4     * Released 1.7.0
5     See NEWS for more.
7 2009.9.15     particle
8     * Released 1.6.0
9     See NEWS for more.
11 2009.8.18     Whiteknight
12     * Released 1.5.0
13     See NEWS for more.
15 2009.7.21     cotto
16         * Released 1.4.0
17         See NEWS for more.
19 2009.06.16    Whiteknight
20         * Released 1.3.0
21         Ses NEWS for more.
23 2009.05.19    Infinoid
24         * Released 1.2.0
25         See NEWS for more.
27 2009.04.21    fperrad
28         * Released 1.1.0
29         See NEWS for more.
31 2009.03.17    allison
32         * Released 1.0.0
33         See NEWS for more.
35 2009.02.17    kjs
36         * Released 0.9.1
37         See NEWS for more.
39 2009.01.20    chromatic
40         * Released 0.9.0
41         See NEWS for more.
43 2008.12.16    Whiteknight
44         * Released 0.8.2
45         See NEWS for more.
47 2008.11.18    chromatic
48         * Released 0.8.1
49         See NEWS for more.
51 2008.10.21    particle
52         * Released 0.8.0
53         See NEWS for more.
55 2008.09.16    pmichaud
56         * Released 0.7.1
57         See NEWS for more.
59 2008.08.19    rgrjr
60         * Released 0.7.0
61         See NEWS for more.
63 2008.07.15    barney
64         * Released 0.6.4
65         See NEWS for more.
67 2008.06.17    smash
68         * Released 0.6.3
69         See NEWS for more.
71 2008.05.20    chromatic
72         * Released 0.6.2
73         See NEWS for more.
75 2008.04.15    particle
76         * Released 0.6.1
77         See NEWS for more.
79 2008.03.18    bernhard
80         * Released 0.6.0
81         See NEWS for more.
83 2008.02.20    pmichaud
84         * Released 0.5.3
85         See NEWS for more.
87 2008.01.15    rgrjr
88         * Released 0.5.2
89         See NEWS for more.
91 2007.12.18    jonathan
92         * Released 0.5.1
93         See NEWS for more.
95 2007.11.20    chromatic
96         * Released 0.5.0
97         See NEWS for more.
99 2007.10.17    coke
100         * Released 0.4.17
101         See NEWS for more.
103 2007.09.18    particle
104         * Released 0.4.16
105         See NEWS for more.
107 2007.08.22    pmichaud
108         * Released 0.4.15
109         See NEWS for more.
111 2007.07.17    particle
112         * Released 0.4.14
113         See NEWS for more.
115 2007.06.19    allison
116         * Released 0.4.13
117         See NEWS for more.
119 2007.05.15    chromatic
120         * Released 0.4.12
121         See NEWS for more.
123 2007.04.17    mdiep
124         * Released 0.4.11
125         See NEWS for more.
127 2007.03.20    coke
128         * Released 0.4.10
129         See NEWS for more.
131 2007.3.10     coke
132         * removed parakeet
134 2007.02.22    pmichaud
135         * Released 0.4.9
136         See NEWS for more.
138 2007.01.17    chromatic
139         * changed 'name' method on namespaces to 'get_name' per pdd21
141 2007.01.16    particle
142         * Released 0.4.8
143         See NEWS for more.
145 2006.12.12    particle
146         * added C<isnull> opcode
148 2006.11.14    chip
149         * Released 0.4.7
150         See NEWS for more.
152 2006.11.07      tewk
153         * added :init pragma functionality to subs
155 2006.10.28      jonathan
156         * added :vtable pragma functionality to subs
158 2006.09.18    chromatic
159         * added Parrot::Embed under ext/Parrot-Embed
161 2006.08.18    leo
162         * remove the None PMC - if needed it can trivially be reimplemented
163           in languages from r14189
165 2006.08.16    creiss
166         Merged Software Transactional Memory branch into trunk, adds:
167         * several new opcodes whose names start with stm_
168         * read-only PMC support
169         * several new PMC types (whose names start with STM*)
170         * support for threads (again)
172 2006.08.08    chip
173         * Released 0.4.6
174         See NEWS for more.
176 2006.08.02    chip
177         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
178         there are opcodes now that want the real "in PMC".
179         * namespace and global opcodes now accept name arrays again, as
180         well as keys; the corresponding namespace PMC methods are gone.
182 2006.07.21    leo
183         * Parrot_exit, Parrot_on_exit take now an Interp * argument
185 2006.07.25    chip
186         * add experimental op find_type_i_p
187         * fix longstanding bug that sometimes didn't encode pasm keys as
188         Key PMCs (specifically "[S0]" and "['stringliteral']").
190 2006.07.24    chip
191         further implementation of new pdd21:
192         * new opcodes {get,set}*global
193           (old {find,store}*global will be supported for a short while)
195 2006.07.20    audreyt
196         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
197           (or some such --leo)
198           (at the moment code is checking for 2.0 -- ambs)
200 2006.07.17    chip
201         partial implementation of new pdd21:
202         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
203         * get_namespace and find_global opcodes no longer accept arrays
204           of strings.  To use arrays, call namespace object methods.
206 2006.06.19    leo
207         * Released 0.4.5
208         See NEWS for more.
210 2006.06.03    leo
211         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
213 2006.05.14    leo
214         * Released 0.4.4
215         See NEWS for more.
217 2006.04.30    bernhard
218         * Make the Perl PMCs dynamic and move them to src/dynpmc
220 2006.04.02    leo
221         * Released 0.4.3
222         See NEWS for more.
224 2006.03.06    leo
225         * Shifted argument type bits left by 2 according to r11754
226           change of docs/pdds/pdd03_calling_conventions.pod
227         * if you are creating PASM then code needs adjustment
229 2006.02.22    leo
230         * Released 0.4.2
231         See NEWS for more.
233 2006.01.16    bernhard
234          * rename src/dynclasses to src/dynpmc
235          * rename src/classes to src/pmc
237 2006.01.15    leo
239          * find_global and friends returns a .Null PMC instead of .Undef on
240           lookup failure, iff lookup exceptions are off
242 2006.01.08    leo
243         * Released 0.4.1
244         See NEWS for more.
246 2005.12.28    particle
247         * renamed all .imc files to .pir
248         * modified all doc references to .pir as well
250 2005.12.13    particle
251         * moved jit/ directory to src/jit/
253 2005.12.12    particle
254         * moved io/ directory to src/io/
255         * moved classes/ directory to src/classes/
256         * moved dynclasses/ directory to src/dynclasses/
258 2005.12.08    particle
259         * moved types/ directory to src/types/
260         * moved pf/ directory to src/packfile/
261         * moved ops/ directory to src/ops/
263 2005.12.08    particle
264         * moved charset/ directory to src/charset/
265         * moved encodings/ directory to src/encodings/
267 2005.12.07    particle
268         * moved imcc/ directory to compilers/imcc/
270 2005.12.06    particle
271         * moved util/ directory to tools/util/
272         * removed imcc/examples/ directory
273         * moved ast/ directory to compilers/ast/
275 2005.12.05    particle
276         * moved imcc/docs/ directory to docs/imcc/
277         * moved build_tools/ directory to tools/build/
278         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
280 2005.12.04    leo
281         * Released 0.4.0
282         * See NEWS for changes
284 2005.11.06    leo
285         * Released 0.3.1
286         * See NEWS for changes
288 2005.10.01    leo
289         * Released 0.3.0
290         * See NEWS for changes
292 2005.08.05    leo
293         * Released 0.2.3
294         * See NEWS for changes
296 2005.07.03    leo
297         * Released 0.2.2
298         * See NEWS for changes
300 2005.06.04    leo
301         * Released 0.2.1
302         * allow short names for object attributes
303         * string encoding and charset can now be set independently
304         * experimental mmap IO layer for slurping files
305         * enable compile opcode support for compilers written in PASM/PIR
306         * improved HLL support with .HLL and n_operators pragmas
307         * simplified hash code
308         * more strength reduce optimizations
309         * distinct debug and trace flag settings
310         * glob support in PGE
311         * new character classification opcodes and interfaces
312         * numerous bug fixes and enhancements
314 2005-05-08    leo
315         * Released 0.2.0
316         * parrot repository is now under subversion
317         * MMD (Multi Method Dispatch) enhanced
318         * new unary and infix opcodes that return new result PMCs
319         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
320         * more unification of PMCs and ParrotObjects
321         * tailcalls for functions and methods
322         * PGE (Parrot Grammar Engine) reworked
323         * Pugs creates Parrot code and Pugs is a registered compiler now
324         * new languages/lisp
325         * the usual bug fixes and improvements
327 2005-03-06    leo
328         * Released 0.1.2
329         * big rewrite of string code, not yet finished but ...
330         * partial implementation of a generational garbage collector
331         * indirect register frame addressing
332         * .return(args) PIR syntax
333         * moved most of the Python code to dynclasses
334         * a lot more Python functionality
335         * precalculate opcodes with all constants
336         * PGE - Parrot Grammar Engine
337         * scalar classes refactoring
338         * much more tests and big test system cleanup
339         * improved documentation
340         * and as always a lot more
342 2004-10-09    leo
343         * Released 0.1.1
344         * Need Perl 5.6 now for building
345         * Basic AST support, PAST file parser, bits of code generation
346         * BigInt PMC using GMP
347         * Complex PMC
348         * Dynamic loading improved including bundles of PMC classes
349         * Experimental support for "make install"
350         * IA64 and hppa JIT support
351         * ICU unicode support
352         * IO layer handling code
353         * IO readline and buffered IO fixes
354         * Incremental GC
355         * Internal pythonic functions: filter, map, reduce, max, min ...
356         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
357         * Library updates, Stream and SDL library
358         * MMD - multi method dispatch for binary vtable methods
359         * Many new array PMCs
360         * Method call syntax in PIR obj."meth"(...)
361         * More OS stuff: stat, exec, system, gmtime, piped read and write
362         * New Python PMCs like Enumerate, None
363         * Non-branching compare opcodes
364         * PIR support for += and friends
365         * Python language subdir
366         * Python types mapped to existing PMCs
367         * Slices and range support
368         * Tons of bug fixes, documentation updates, new tests
369         * Win32 COFF exec support
370         * ... and a lot more
372 2004-02-29    leo
373         * Released 0.1.0
374         * "Ladies and gentlemen, I give you... objects!"
375         * Huge documentation overhaul
376         * More supported platforms, s. PLATFORMS
377         * Basic thread support for pthread based architectures
378         * Basic event handling for timers and signals including:
379         * PASM callbacks for NCI (native C) functions.
380         * Improved platform configuration
381         * COW stacks now working, stacks code redone
382         * Structure handling vastly improved
383         * Random PMC and rand primitives
384         * Better subroutine call syntax in PIR
385         * Make PIR subroutines compliant with pdd03
386         * Improved profiling (DOD, GC timings)
387         * Hash code improvements, incl. random key order support
388         * Experimental freeze/thaw code for some PMC types
389         * IO improvements for buffered layer and Win32
390         * String iterators
391         * String bitwise vtables
392         * Many new opcodes
393         * Support for JIT, where malloced memory isn't executable
394         * Priority DOD scheme for objects that need timely destruction
395         * Improved bytecode loading (e.g. onLoad functions)
396         * Language updates: forth, Perl6/P6C, m4
397         * Libraries: Getopt_Long, SDL, Dumper, Sort
398         * new JAPH examples
399         * Unified imcc and parrot test handling
400         * Many new tests (make test reports 1386 tests)
401         * Numerous bug fixes
404 2003-10-31    leo
405         * Released 0.0.13
406         * Yep thirteen - haunted by the ghost of 0.0.12
407         * Build imcc as parrot
408         * Objects more finished
409         * Delegate vtable methods to byte code
410         * Binary multi-method dispatching
411         * Isa and does methods for PMCs
412         * Call byte code from C
413         * Start of extension interface
414         * Experimental struct handling
415         * Catch access to NULL PMCs
416         * Experimental network socket interface code and opcodes
417         * IO fixes and improvements
418         * Dynamic opcode libraries
419         * Fix-assigned opcode numbers
420         * Argument flattening for function calls
421         * More native call interface (NCI) signatures
422         * Ncurses, postgres, and pcre interface libraries
423         * Forth language is vastly improved
424         * BSD and Win32 build improvements
425         * Many new tests and fixes
427 2003-10-22    melvin
428         * imcc moved from parrot/languages/ to parrot/
430 2003-09-20    sfink
432         * updated the native_pbc test files (from Leo)
433         * built 0.0.11.1 release tarball
435 2003-09-20    sfink
437         * CHANGES BUNDLED INTO 0.0.11:
438         * Executable output
439         * Dynamic PMC registration
440         * Trial exception system
441         * Beginnings of object system
442         * Iterators
443         * Ordered hashes
444         * I/O system improvements
445         * References
446         * Documentation for basic PMC types
447         * IMCC support of Parrot Calling Conventions
448         * Runtime loading of chartypes (and other string improvements)
449         * Conditional breakpoints
450         * Dramatically accelerated sweeps for finalizable objects
451         * Small PMCs (PMCs split into core and extensions)
452         * Loadable bytecode packfiles
453         * Constant PMCs
454         * Sub variants that deal with the stack correctly
455         * Switched runops core
456         * Line numbers in warnings
457         * Environment access
458         * Many documentation cleanups
459         * Conversion to CPS style!
460         * BASIC debugger and many other wacky features
461         * Filename, line number parsing support in IMCC
463 2003-07-21 17:31 chromatic
464         * applied copyright patch from Josh Wilmes
466 2003-06-14 13:50 dan
467         * Moved the registers out of the context structure, since they
468           really aren't context
469         * Changed the register stack frames to hold only 16 registers
470           rather than 32, added half-set push and pop ops, and reworked
471           the full set push/pops to do two half-set push/pops. Should
472           speed up saving register data on calls, since we usually only
473           care about the top half of the registers anyway.
474         * Started committing some of the new class/object framework
475         * Remembered to finally start updating the Changelog
477 2003-03-18 03:50  ask
479         * Various files
480           Update Yet Another copyright statements to reflect the (no longer
481           so) shiny new year.
483 2003-03-11 22:06  chip
485         * Configure.pl: print help on non-option command line args
487 2002-12-18 20:38  sfink: changes since 0.0.8
489         - Allow suppression of cgoto core to save memory during compile
490         * Native function calling interface
491         * Major rewrite of stack and list aggregates
492         - Scalar PMC added
493         * Scratchpads implemented
494         - Win32 libraries
495         - Internal memory subsystem documentation
496         * Preliminary DotGNU support
497         - Packfile fingerprinting
498         * Buffer/PMC unification (into PObjs)
499         * stabs debugging information support
500         * Major Jako overhaul, including:
501           - imcc integration
502           - native function calling
503         - Perl6 string interpolation
504         - languages/regex now targets IMCC
505         * Optional Lea memory allocator
506         * Full sprintf implementation
507         * Many, many new tests
508         * Miniparrot
509         - exchange ops
510         - runtime-controllable gc debugging
511         * PMC properties
512         - Crash info
513         * JIT: various improvements
514           - register usage tracking
515           - block register allocation
516           - optimizations
517           - more jitted ops
518           - restartable
519           - architecture abstraction layer
520           - debugging via GDB
521         * Beginning support for extensible packfiles
522         * Much better key support, generally
523         * splice()
524         * Restructured PMC hierarchy with better functionality inheritance
525         * IMCC: many, many improvements. See imcc/ChangeLog
526         * Perl6: index map grep join reverse defined
527         * Scheme with functions!
530 2002-03-19 22:54  nicholas
532         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
534          We can now get usage information for test_parrot without having to
535          grep the source.
537 2002-03-19 22:53  simon
539         * Configure.pl:
540         Parrot is called parrot.
542 2002-03-19 22:53  nicholas
544         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
546          1. There are tests in t/pmc as well as t/op now.
547          2. Adds a comment about Parrot::Test
549 2002-03-19 18:09  dan
551         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
552         messes up automated builds
554         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
556 2002-03-19 00:33  mrjoltcola
558         * core.ops: Doc cleanup from Simon Glover.
560 2002-03-18 23:52  mrjoltcola
562         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
564 2002-03-18 22:09  dan
566         * include/parrot/resources.h: Checked in old version
568 2002-03-18 20:17  dan
570         * include/parrot/resources.h: Forgot a prototype
572 2002-03-18 20:15  dan
574         * resources.c: D'oh! Thinko, fixed.
576         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
578 2002-03-18 17:33  josh
580         * Configure.pl: Lowering the bar a bit.
582 2002-03-18 17:33  sfink
584         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
585         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
586         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
587         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
588         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
589         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
590         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
591         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
592         t/example.t: Whoops, wrong time to check this in.
594 2002-03-18 16:42  dan
596         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
597         least we consider the PMC and Buffer free pools worth collecting,
598         and initialize the Buffer pool stuff.  Still not 100% correct,
599         though.
601 2002-03-18 15:35  simon
603         * packfile.c:
604         Fix format arg bug.
606 2002-03-18 07:45  brentdax
608         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
609         system.
611 2002-03-18 00:09  sfink
613         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
614         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
615         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
616         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
617         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
618         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
619         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
620         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
621         t/example.t: Buggy 1st version of regex compiler implementation.
622         Warning: the test code depends on features of the assembler that do
623         not yet exist.
625 2002-03-17 21:35  ajgough
627         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
628         through addition and subtraction.  Also added the ability to run
629         all the tests, including the ones which deal with overflow and
630         underflow.  These fail, but that's expected.  Soon they'll pass.
631         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
632         passsssssssings tesssstsssss.
634 2002-03-17 20:06  ajgough
636         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
637         check_(under|over)flow to test bignumbers, rather than values.
638         context now carries E_limit, from which max and min exp are found.
640         Added a default-context-creating function (although this isn't the
641         same as either of the default contexts defined in the eda).
643 2002-03-17 13:31  ajgough
645         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
646         exported version matches prototypes of other public functions.
648 2002-03-17 06:44  josh
650         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
651         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
652         last-minute re-indenting.
654 2002-03-17 05:07  mrjoltcola
656         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
658 2002-03-16 23:17  nicholas
660         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
661         remove warnings:
663          default.pmc: In function `Parrot_default_get_integer_keyed':
664          default.pmc:50: warning: control reaches end of non-void function
665          default.pmc: In function `Parrot_default_get_number_keyed':
666          default.pmc:58: warning: control reaches end of non-void function
667          default.pmc: In function `Parrot_default_get_string_keyed':
668          default.pmc:67: warning: control reaches end of non-void function
669          default.pmc: In function `Parrot_default_get_pmc_keyed':
670          default.pmc:87: warning: control reaches end of non-void function
672 2002-03-16 18:50  ajgough
674         * types/: bignum.c, bignum.h: Lots of prototypes changed in
675         readiness for nicely telling your caller about any oddness you've
676         caused in the persuit of flow.
678 2002-03-16 17:38  dan
680         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
681         include/parrot/interpreter.h, include/parrot/resources.h: Now we
682         can control the GC and DOD, to stop it when we don't really want
683         it.
685 2002-03-16 16:58  dan
687         * resources.c, vtable.tbl, classes/default.pmc,
688         include/parrot/resources.h: Added the last code to let PMCs control
689         their marking at DOD time
691 2002-03-16 16:57  ajgough
693         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
694         feel a little more virtuous now.  Really I do.  You might not
695         believe me, but you should.  perl -pne 's/\t/        /g', if you're
696         curious.
698 2002-03-16 16:57  josh
700         * packfile.c, packout.c: M-x untabify is my new friend.
702 2002-03-16 16:50  josh
704         * trace.c, resources.c: Minor whitespace tweak for the benefit of
705         check_source_standards.pl
707 2002-03-16 16:50  ajgough
709         * types/: bignum.c, bignum.h: More documentation, separate
710         functions into public and private sorts, some initial stuff to cope
711         with over and underflow correctly.
713 2002-03-16 16:49  josh
715         * resources.c: Re-indented (sorry bout the big diff)
717 2002-03-16 16:47  bdwheele
719         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
720         assemble again, both with Simon's new assembler and with the old
721         one.
723 2002-03-16 16:33  mrjoltcola
725         * io/TODO: Get the TODO up-to-date for 0.0.4.
727 2002-03-16 16:11  josh
729         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
730         silly people (such as me) running Configure with
731         /usr/local/bin/perl (which is 5.004_05) and not realising their
732         mistake until the pmc subdirectory, where the first qr// is
733         encountered.
735         Syntax error messages don't tell you what you did wrong. This does:
737         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
738         only version 5.00405, stopped at Configure.pl line 10.
740 2002-03-16 14:38  ajgough
742         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
743         with commenting.
745 2002-03-16 11:45  simon
747         * MANIFEST, examples/assembly/xml_parser.pasm:
748         Added Clint Pierce's XML parser.
750 2002-03-15 22:24  simon
752         * packout.c:
753         Don't need that function.
755 2002-03-15 21:56  simon
757         * Makefile.in, include/parrot/packfile.h:
758         Rebuild packout.o, since it'll be used for the Packfile XS module
760 2002-03-15 19:45  dan
762         * include/parrot/: memory.h, pmc.h: Another add-in for GC
764 2002-03-14 19:48  dan
766         * core.ops: No string to int for some reason
768 2002-03-14 18:45  dan
770         * string.c, t/op/string.t: Fix 0-length substr problem
772 2002-03-14 14:46  dan
774         * core.ops, interpreter.c, resources.c, classes/array.pmc,
775         classes/perlarray.pmc, examples/assembly/life.pasm,
776         include/parrot/interpreter.h, include/parrot/resources.h: Added in
777         a counter for copied memory, with a display in life.pasm
779 2002-03-14 03:16  mrjoltcola
781         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
783 2002-03-13 23:43  simon
785         * packfile.c:
786         Oops.
788 2002-03-13 23:43  simon
790         * packfile.c:
791         Hangs head in shame.
793 2002-03-13 21:31  simon
795         * MANIFEST:
796         FAQ moved.
798 2002-03-13 18:06  simon
800         * string.c:
802         Fix string_compare screw-up.
804 2002-03-13 18:02  brentdax
806         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
807         and add a new question/answer pair.
809 2002-03-12 22:53  mrjoltcola
811         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
813 2002-03-12 22:48  mrjoltcola
815         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
816         warranty provided.
818 2002-03-12 22:29  ajgough
820         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
822 2002-03-12 22:24  ajgough
824         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
825         version 1.1, Don't know if this is the correct number, but I don't
826         want this stuck on my harddrive where it will get lost, so 14 it is
827         :)
829 2002-03-12 11:35  simon
831         * MANIFEST, packdump.c, packout.c:
833         Just so the functionality doesn't disappear.
835 2002-03-12 11:33  simon
837         * Makefile.in, chartype.c, encoding.c, packfile.c,
838         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
839         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
840         include/parrot/chartype.h, include/parrot/encoding.h,
841         include/parrot/packfile.h:
843         Packfile axing.
845 2002-03-11 23:06  nicholas
847         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
849           Core.ops documentation nits
851 2002-03-11 23:05  nicholas
853         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
855           Most of the PerlUndef tests in pmc.t appear to have been added
856         twice.
857           Enclosed patch removes the duplicates.
859 2002-03-10 23:40  nicholas
861         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
863          More tests for the PerlString test-suite.
865 2002-03-10 23:40  nicholas
867         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
869         test for sleep with negative argument
871 2002-03-10 21:58  nicholas
873         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
875          Enclosed patch fixes up a few more holes in our test coverage.
877 2002-03-10 21:18  mrjoltcola
879         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
880         classes/parrotpointer.pmc, classes/perlarray.pmc,
881         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
882         classes/perlstring.pmc, classes/perlundef.pmc,
883         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
884         argument to the init() vtable method so PMCs have the option to
885         know how to size themselves at creation. size could be N elements
886         or a byte count, depending on the PMC or it may simply be ignored.
887         Overloaded 'new' opcode for optional arg.
889 2002-03-10 21:15  mrjoltcola
891         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
892         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
893         class).
895         Also added small hack for .sub directive (which simply translates
896         to a label, however we might eventually want to collect these to
897         validate bsr calls.
899 2002-03-10 15:09  ajgough
901         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
902         Added round_floor and round_ceiling.  3403 tests pass, none fail.
904 2002-03-10 03:56  ajgough
906         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
907         divide, divide integer and remainder.  All filled in functions now
908         have special values capability.
910         Much remains to be done though, and the pdd needs to catch up.
912 2002-03-10 01:36  ajgough
914         * types/bignum.c: Added extended stuff to _add, _subtract.
916 2002-03-10 00:14  nicholas
918         * t/op/: integer.t, number.t: Patch from Simon Glover
919         <scog@roe.ac.uk>:
921          The enclosed patch fixes a few of the holes in our test coverage
922          uncovered by Josh Wilmes
924 2002-03-09 23:03  ajgough
926         * types/: bignum.c, bignum.h: Modified compare to work with
927         extended values.  Made a couple of changes here and there to allow
928         BN_comp to take a context, so that an is_zero check doesn't clobber
929         negative zeros.
931 2002-03-09 22:19  ajgough
933         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
934         Unary plus now copes with special values.
936 2002-03-09 04:25  ajgough
938         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
939         traps and flags are now enabled and tested for all the standard
940         tests for all the functions which are currently implemented.  Test
941         harness faffed with to allow these to be tested.
943 2002-03-09 02:29  josh
945         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
946         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
947         Re-indented
949 2002-03-09 02:22  josh
951         * config_h.in: tab-blastin'
953 2002-03-09 02:21  josh
955         * check_source_standards.pl: Play nicer with M-x compile- don't
956         bother giving line numbers for things you don't want to look at.
958 2002-03-09 02:10  josh
960         * examples/mops/mops.c: re-indented
962 2002-03-09 02:07  josh
964         * classes/pmc2c.pl: Use the usual header so that we can detect the
965         autogeneratedness.
967 2002-03-09 02:05  josh
969         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
970         compiler warning
972 2002-03-09 01:59  josh
974         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
975         patch- re-indent io/*.c.
977 2002-03-09 01:52  ajgough
979         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
980         special values to the string conversion functions, some other
981         functions now need context (to let -0 pass through really_zero)
982         which have also been added.
984 2002-03-09 01:47  josh
986         * test_main.c: Re-indented.
988 2002-03-09 01:41  josh
990         * rx.c: killed a stray tab
992 2002-03-09 01:38  josh
994         * rx.c: Re-indented.
996 2002-03-09 01:36  josh
998         * misc.c: Oops, some tabs remained- cleaned up.
1000 2002-03-09 01:31  josh
1002         * misc.c: Re-indented (major patch, sorry)
1004 2002-03-09 00:59  josh
1006         * embed.c: Re-indented.
1008 2002-03-08 23:08  simon
1010         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1011         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1012         docs/pdds/pdd13_bytecode.pod:
1013         Placeholder PDDs.
1015 2002-03-08 21:12  ajgough
1017         * include/parrot/string.h: Added private flags to string.h, mostly
1018         so that other GCed stuff can also have its very own private flags.
1020 2002-03-08 19:53  simon
1022         * MANIFEST:
1023         Great PDD Renaming
1025 2002-03-08 19:41  robert
1027         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1028         pdd6.pod, pdd7.pod: Renamed...
1030 2002-03-08 18:51  simon
1032         * MANIFEST, docs/pdds/pdd08_keys.pod:
1033         Add keys PDD.
1035 2002-03-08 18:20  ajgough
1037         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1038         Introduced exception handlers and exception flags to context, will
1039         allow support of extended standard.  Unified exception checking
1040         mechanism (sort of) and made minimal changes to bulk of code to use
1041         this.  Tests pass, I'm happy, and further changes will happen more
1042         gradually.
1044 2002-03-08 04:38  josh
1046         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1047         tweaks.
1049 2002-03-08 04:37  josh
1051         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1053 2002-03-08 04:24  josh
1055         * embed.c: A bit more re-indenting
1057 2002-03-08 04:20  josh
1059         * embed.c: Indenting fixes
1061 2002-03-08 04:14  josh
1063         * jit.c: Re-indented (run_indent.pl)
1065 2002-03-08 03:36  josh
1067         * ops2c.pl: Fix the line numbers which get reported while compiling
1068         core_ops*.c
1070 2002-03-08 03:22  josh
1072         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1073         The variable "type" is set but never used.
1075               opcode_t type;
1077 2002-03-08 03:04  josh
1079         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1080         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1081         noticed by the sgi compiler.
1083 2002-03-08 03:02  josh
1085         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1086         misc.c, Line = 417   The indicated type qualifier is meaningless on
1087         cast type.
1090         (const char) 'f');
1091                                                                          ^
1093 2002-03-08 02:55  josh
1095         * Makefile.in: Clean up one of the object files it was missing
1097 2002-03-08 01:15  josh
1099         * include/parrot/interpreter.h: Fixes the following error (tcc):
1100         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1101         comma at end of list.
1103 2002-03-06 22:15  simon
1105         * stacks.c:
1106         Tidy up stack chunk allocation.
1108 2002-03-06 21:00  simon
1110         * interpreter.c:
1111         Create strings only once we've got string register heads set up.
1113 2002-03-06 20:31  simon
1115         * classes/perlarray.pmc:
1116         malloc(0) considered harmful.
1118 2002-03-06 20:24  simon
1120         * include/parrot/resources.h:
1121         I like it when Parrot compiles.
1123 2002-03-06 17:02  dan
1125         * classes/array.pmc: Changed over to data pointing to a Buffer.
1127 2002-03-06 15:45  dan
1129         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1130         packfile.c, pbc2c.pl, pdump.c, resources.c,
1131         include/parrot/interpreter.h, include/parrot/memory.h,
1132         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1133         and opcode_t > longs will now be even more suspect than what they
1134         were beforehand.  2) Feel free to bicker with names.  I don't think
1135         we've come to *any* sort of agreement with these, although we
1136         really, really, need to.  3) I forget the third thing.  4) But I
1137         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1138         ANSI C states that enums will fit within the smallest type (int or
1139         greater) that can hold the values. Is that actually correct, and
1140         does it state whether unsigned is preferred to signed for
1141         non-negative enums? 6) Since I'm no longer constrained by "three"
1142         or "quick", I'm going size_t happy for a lot of memory-related
1143         storage.  (That's good.  No sense wasting the size or performance
1144         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1145         a couple other internal things (like the GC stat counters, seen
1146         here).  Size and performance, again, and unpromotable to a bigint,
1147         so we know that we (theoretically) will wrap.  However, size_t
1148         isn't the best choice for the type.  (Not that there's anything
1149         wrong with size_t, just that it shouldn't be called size_t.)  Any
1150         thoughts?  I was thinking of just doing unsigned int, because,
1151         IIRC, int is usually the natural word size, and will be most
1152         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1153         of was while writing down the others.  Sorry.
1155         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1157 2002-03-06 15:26  dan
1159         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1160         include/parrot/resources.h: Now we allocate generic Buffers from
1161         arenas too
1163 2002-03-05 21:42  brentdax
1165         * Configure.pl: Minor cleanup and enhancements.
1167 2002-03-05 21:25  dan
1169         * resources.c: non-special GC now works with PMCs
1171 2002-03-05 19:48  brentdax
1173         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1174         Parrot now "knows" if it's a development version or a release
1175         version.  See the instructions in the DEVELOPING file.
1177 2002-03-05 18:05  brentdax
1179         * MANIFEST: pasm.vim wasn't in the manifest.
1181 2002-03-05 17:57  simon
1183         * Makefile.in:
1184         Now, through much evilness, make distclean and make cvsclean work
1185         again.
1187 2002-03-05 17:38  dan
1189         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1190         include/parrot/interpreter.h, include/parrot/pmc.h,
1191         include/parrot/resources.h: PMC tracing complete
1193 2002-03-05 16:28  gregor
1195         * languages/jako/Makefile.in:
1196         Changed -I ../../ to -I ../../lib when calling the assembler, since
1197         the perl modules have moved.
1199 2002-03-05 05:30  josh
1201         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1202         string.c: More re-indenting via run_indent.pl.
1204 2002-03-05 05:17  josh
1206         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1207         run_indent.pl)
1209 2002-03-05 04:26  josh
1211         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1212         using run_indent.pl and some minor tweaking.
1214 2002-03-05 04:21  josh
1216         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1217         interpreter.c: Re-indented using run_indent.pl and some minor
1218         tweaking.
1220 2002-03-05 03:30  josh
1222         * include/parrot/trace.h: These functions are no longer used (or
1223         even implemented)
1225 2002-03-04 18:21  josh
1227         * include/parrot/trace.h: Fix a typo in the argument type.
1229         Patch from <daniel.ritz@gmx.ch>
1231 2002-03-04 03:39  josh
1233         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1234         header to jit_struct.h so we don't try to check it for conformance.
1235          (no way will it conform)
1237 2002-03-04 03:38  josh
1239         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1240         unicode.h, warnings.h: Remove some remaining tabs and split some of
1241         the remaining long lines.
1243 2002-03-04 03:17  josh
1245         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1246         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1247         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1248         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1249         string_funcs.h, trace.h, warnings.h: This is the first batch of
1250         re-indenting.   This patch is the result of running run_indent.pl
1251         on the header files and manually tweaking the results where errors
1252         were noticed.   This should get us closed, but some refinement may
1253         follow.
1255 2002-03-04 03:06  josh
1257         * resources.c: Return without parens, as mentioned in PDD 7
1259 2002-03-04 03:01  josh
1261         * core.ops: POD fixes.
1263 2002-03-04 02:58  josh
1265         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1266         on autogenerated files- used by the check_source_standards.pl
1267         script (for now) to exempt autogenerated files from the checks.
1269 2002-03-04 02:51  josh
1271         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1272         warnings.c: Added the editor "boilerplate" footer to a few files
1273         which were missing it.
1275 2002-03-04 02:34  josh
1277         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1278         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1279         c preprocessor directive indentation to comply with pdd 7.
1281         (also fixes the check for this indentation in
1282         check_source_standards.pl)
1284 2002-03-04 02:32  josh
1286         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1287         irix.
1289         perl t/harness t/op/basic..........Use of uninitialized value at
1290         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1291         line 6) #          got: undef #     expected: ''
1293 2002-03-04 02:30  josh
1295         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1296         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1297         "indent" program to enforce some of the code style standards
1298         outlined in PDD 7.
1300         Usage: ./run_indent.pl <file>
1302 2002-03-03 19:04  simon
1304         * examples/mops/mops.c:
1305         Let's make it compile, huh?
1307 2002-03-03 19:04  simon
1309         * examples/mops/mops.cs:
1310         I R AN IDIOT
1312 2002-03-03 18:11  simon
1314         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1315         Added C# and MS-IL versions of mops tester.
1317 2002-03-03 14:52  simon
1319         * core.ops:
1320         Add a sub() op to make mops_p work.
1322 2002-03-02 18:12  nicholas
1324         * examples/mops/mops.c, include/parrot/embed.h,
1325         include/parrot/interp_guts.h, include/parrot/jit.h,
1326         include/parrot/misc.h, include/parrot/packfile.h,
1327         include/parrot/rx.h, include/parrot/warnings.h,
1328         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1329         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1330         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1331         indent variables correctly.
1333 2002-03-02 17:41  nicholas
1335         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1336         patch to fix a compiler warning.
1338 2002-03-01 22:35  dan
1340         * memory.c, resources.c, include/parrot/pmc.h,
1341         include/parrot/resources.h: PMCs now come out of arenas.
1343 2002-03-01 06:15  dan
1345         * string.c:
1346         A non-existing buffer + a non-existing buffer should be a
1347         non-existing buffer, not "", which is really '\0'.
1349         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1351 2002-03-01 06:02  dan
1353         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1355         TMTOWTDI, but strcmp is probably the worse.
1357         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1359 2002-03-01 02:32  brentdax
1361         * embed.c: Debug mode now prints out the GC data.
1363 2002-02-28 23:44  dan
1365         * core.ops, resources.c, include/parrot/resources.h: Added collect
1366         and sweep opcodes
1368 2002-02-28 22:58  dan
1370         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1371         opcode
1373 2002-02-28 22:50  dan
1375         * core.ops, interpreter.c, resources.c,
1376         examples/assembly/life.pasm, include/parrot/interpreter.h,
1377         include/parrot/resources.h: Add some stat gathering to the resource
1378         allocation code.
1380         Also add an interpreter info retrieval op, and teach it about the
1381         different things it can retrieve.
1383         Finally, add some stat info to life.pasm as an example
1385 2002-02-28 21:27  dan
1387         * editor/pasm.vim: VIM mode commands for parrot assembly files
1389         Courtesy of Scott Beck <scott@gossamer-threads.com>
1391 2002-02-28 19:20  dan
1393         * examples/assembly/life.pasm: Fix a creeping string length leak.
1395         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1397 2002-02-28 18:26  dan
1399         * string.c: When you clone a constant, it ain't constant no mo'.
1401         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1403 2002-02-28 00:51  dan
1405         * MANIFEST: Add missing files
1407         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1409 2002-02-28 00:49  dan
1411         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1412         CVS seems to have several chunks missing out of it, too.  This
1413         patch is simply an administrative patch, with the differences
1414         between my last version, and the one currently in there.  There
1415         will be a forthcoming patch for some minor tweaking to the PDD, but
1416         I wanted a common baseline before I make any (potential) semantic
1417         changes.
1419         There's only one semi-major change, which noone needs to worry
1420         about just yet.  That's a change from PDD Format 1 to PDD Format
1421         6.0 - rationale can be found under 'Standard (Version #)' of the
1422         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1423         should be 6.0.0, and we need to discuss Perl versus Parrot with
1424         PDDs.
1426         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1428 2002-02-28 00:27  dan
1430         * packfile.c, resources.c, examples/assembly/life.pasm,
1431         include/parrot/register.h, include/parrot/resources.h,
1432         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1433         no PMCs yet)
1435         This patch now implements a real copying collector. We trace from
1436         our root set and compact the contents of Buffer structs.
1438         Todo:
1440         *) It's very STRING-centric and doesn't handle memory stuffed in
1441         Buffers.  But, then, we don't have pool allocation for Buffers
1442         either, and we need to have that soonish for this to work.
1444         *) Doesn't trace PMCs, so if you trigger a collection and there's
1445         memory or STRING structs only accessible from PMCs, you'll fail
1446         horribly. That needs fixing too
1448         *) Better algorithms for when to trace or collect vs when to just
1449         go allocate more memory from the system. Should probably be more
1450         cache friendly too.
1452 2002-02-27 21:04  dan
1454         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1455         examples/assembly/life.pasm, include/parrot/resources.h,
1456         include/parrot/string.h, include/parrot/string_funcs.h,
1457         jit/i386/core.jit: Start of GC in
1459 2002-02-26 16:41  dan
1461         * jit/i386/string.jit: Fix a typo
1463         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1465 2002-02-26 16:37  dan
1467         * interpreter.c: Fix solaris test failures
1469         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1471 2002-02-26 16:36  dan
1473         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1474         unicode.h, warnings.h: Fixes various warts in header files, such
1475         as: * macros   -added parens to prevent problems with operator
1476         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1477         is no longer used * added some more INLINE definitions for MSVC and
1478         C99 compilers
1480         Courtesy of Brian Lee Ray <blray@ualr.edu>
1482 2002-02-26 16:20  dan
1484         * Configure.pl: Turns out we were using a warning flag which
1485         doesn't exist on 2.7.  Simple tweak though:
1487         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1489 2002-02-25 22:58  dan
1491         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1493 2002-02-25 17:36  dan
1495         * include/parrot/pmc.h: Fix the bits
1497 2002-02-23 21:57  dan
1499         * include/parrot/resources.h: Another 1.5% never hurts
1501 2002-02-23 21:44  dan
1503         * global_setup.c, memory.c, resources.c, string.c,
1504         include/parrot/resources.h: Allocate STRING headers from an arena
1505         with freelist rather than with the system malloc. First step in a
1506         good (or even a bad) GC system.
1508 2002-02-23 20:37  brentdax
1510         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1512 2002-02-22 14:59  ajgough
1514         * types/bignum.c: BN_multiply split into BN_multiply and
1515         BN_imultiply, the internal version to be used by idivide so that
1516         rounding isn't performed during intermediate stages of division.
1518         following test scripts now all pass: divide divideint add multiply
1519         subtract remainder compare rounding plus minus (these are all the
1520         operations currently implemented, rescale and power must still be
1521         written, so don't pass right now).
1523 2002-02-22 13:13  ajgough
1525         * types/bignum_atest.pl: Test harness modified to understand
1526         comments better, and be able to run unary (and rounding) tests.
1527         Currently a few rounding tests fail, which are being investigated.
1529 2002-02-22 01:41  dan
1531         * key.c: Although there's more work being done on the key stuff and
1532         this isn't the final fix, applying this patch does get parrot to
1533         build with two more compilers, so it's probably worthwhile.
1535         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1537 2002-02-22 00:53  dan
1539         * config_h.in, misc.c, include/parrot/embed.h,
1540         include/parrot/exceptions.h, include/parrot/interpreter.h,
1541         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1542         include/parrot/resources.h, include/parrot/rx.h,
1543         include/parrot/string.h, include/parrot/unicode.h,
1544         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1545         io/io_win32.c: Fixes the following (lcc) warnings:
1547           - interpreter.c:470: warning: expression with no effect elided
1548                (related to the way warnings flags were defined)
1550           - misc.c:352: warning: unreachable code
1551             misc.c:483: warning: unreachable code
1552                (i introduced these with some overzealous de-linting)
1554           - numerous warnings like this:
1555             io/io_unix.c:383: warning: conversion from pointer to void' to
1556         pointer to
1557             pointer to struct _ParrotIO function(pointer to struct
1558         Parrot_Interp,pointer
1559             to struct _ParrotIOLayer,pointer to const char,pointer to const
1560         char,pointer
1561             to pointer to void)' is compiler dependent
1563         Fixes the following nits:    - remove bad indenting (tabs) in the
1564         includes
1566         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1568 2002-02-21 21:12  ajgough
1570         * types/: bignum.c, bignum.h: These might look like massive
1571         changes, but really it's just he imposition of coding standards.
1572         The file still isn't entirely compliant, but is now much more so.
1574         Also changed:
1576          o a few more comments
1577          o BN_compare uses internal BN_comp to compare
1578          o lost_digits behaviour is now correct (test harness modified to
1579         test
1580            this).
1582         All binary functions now pass all the tests in the basic standard.
1583         Unary functions not yet tested, will be soon.
1585 2002-02-21 18:20  dan
1587         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1588         was no longer needed, and the ssize_t thing really shouldn't be
1589         needed either.
1591         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1593 2002-02-21 18:15  dan
1595         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1596         include/parrot/parrot.h: this patch adds support for the freely
1597         available borland c++ 5.5.1 compiler
1599         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1600         working borland compiler (compiler must know where to find headers
1601         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1602         cc='cl.exe' - a working make utility (borland make doesn't work,
1603         nmake does)
1605         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1606         hints/mswin32.pl - remove a space from Configure.pl (very very
1607         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1608         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1609         (win32 knows it, linux not)
1611         and the why: - parrot is MUCH faster when compiled with borland c
1612         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1613         seconds
1615         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1617 2002-02-21 18:09  dan
1619         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1620         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1621         cuddled elses, as required by PDD 7.
1623         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1625 2002-02-21 18:04  dan
1627         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1628         a new Makefile target called "check_source".  This target scans all
1629         the .c and .h files in the directory and checks for conformance to
1630         a number of the standards outlined in PDD 7.
1632         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1634 2002-02-21 16:38  ajgough
1636         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1637         allow arithmetic with numbers with a fixed fractional part, buffer
1638         structures now more ready to be integrated into the parrot memory
1639         allocation game, test harness modified to allow lost_digits
1640         condition to be checked.  Some more comments.
1642 2002-02-21 15:53  simon
1644         * io/io_unix.c:
1645         Fix typo
1647         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1649 2002-02-20 16:41  dan
1651         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1653 2002-02-18 18:25  dan
1655         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1657         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1659 2002-02-18 18:21  dan
1661         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1662         CPrederef.pm to make to generated code compile with the MS
1663         compiler.
1665         fixes: - ms compiler allows inline only for c++, for c there's
1666         __inline - ms header files knows nothing about ssize_t
1668         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1670 2002-02-18 17:49  dan
1672         * MANIFEST: Add the PDDs
1674 2002-02-18 17:47  dan
1676         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1677         coding standards PDD.
1679 2002-02-18 17:40  dan
1681         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1683 2002-02-18 12:41  gregor
1685         * test_main.c:
1686         Remove warning about exit() not being declared.
1688 2002-02-18 08:29  simon
1690         * misc.c, warnings.c, include/parrot/misc.h,
1691         include/parrot/warnings.h:
1692         This patch adds some missing const's to silence a number of gcc
1693         warnings.
1695         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1697 2002-02-18 08:26  simon
1699         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1700         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1701         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1702         include/parrot/parrot.h, include/parrot/rx.h,
1703         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1704         lib/Parrot/OpTrans/CPrederef.pm:
1705            - add makefile target and script to test for external libc
1706         dependencies
1707            - fix return values in hash and array PMCs (returning 0 in a
1708         void func)
1709            - remove unnecessary data pointer <=> function pointer
1710         conversions
1711              outside of the JIT code.
1712            - move the definition of the "INLINE" macro out of the rx header
1713         and make
1714              available for general use on C++ compilers and gcc.
1715            - remove a few unused variables
1717         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1719 2002-02-17 16:29  simon
1721         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1722         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1723         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1724         We're organised and responsible. Honest.
1726 2002-02-17 02:46  sfink
1728         * Makefile.in: Remove $^ for nmake compatibility.
1730 2002-02-16 09:20  brentdax
1732         * config_h.in, test_main.c, include/parrot/chartype.h,
1733         include/parrot/embed.h, include/parrot/encoding.h,
1734         include/parrot/string.h, include/parrot/string_funcs.h: Better
1735         embedding exposure and hiding, part 1.
1737 2002-02-16 04:38  dan
1739         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1740         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1741         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1742         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1743         typecasts in various places throughout the code. It probably won't
1744         work for Windows yet. The libparrot.a target might need to be
1745         modified to at least prevent it from confusing make on Windows; I
1746         don't know.
1748         Preliminary instructions for using pbc2c.pl are in
1749         docs/running.pod.  I'll try to do better later.
1751         Courtesy of Steve Fink <steve@fink.com>
1753 2002-02-16 04:15  dan
1755         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1757         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1759 2002-02-16 00:03  simon
1761         * classes/: perlarray.pmc, perlhash.pmc:
1763         pmc is already defined!
1765 2002-02-15 23:20  brentdax
1767         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1768         include/parrot/exceptions.h: Far more informative panic messages.
1770 2002-02-15 03:24  dan
1772         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1773         much more extensive patch that fixes it to work properly, and
1774         deletes a bazillion casts as well.  It also points to the question
1775         "can we make the byte_code be an opcode_t* already?"
1777         Oh, and it makes some of the formatting prettier, so it's gotta be
1778         good.
1780         Courtesy of * Steve Fink <steve@fink.com>
1782 2002-02-15 02:30  dan
1784         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1785         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1786         of the things it finds.  Attaching the patch as well as the current
1787         lint output.
1789         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1791 2002-02-15 01:59  dan
1793         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1794         moment.
1796 2002-02-15 01:48  dan
1798         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1800 2002-02-15 01:40  dan
1802         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1803         things
1805 2002-02-14 23:30  dan
1807         * resources.c: Added comment for buffer tag routine. D'oh!
1809 2002-02-14 23:28  dan
1811         * resources.c, include/parrot/resources.h: Added buffer mark
1812         routine for GC
1814 2002-02-14 23:17  dan
1816         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1817         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1818         Rejigged memory system a bit. Now should be ready for the horror
1819         that is garbage collection.
1821 2002-02-14 19:33  gregor
1823         * ops2c.pl, include/parrot/oplib.h:
1824         Added code to automatically generate a function within an oplib to
1825         lookup opinfos given the op name. This will come in handy in future
1826         when we want to twiddle opcode tables at run time and possibly at
1827         startup time.
1829 2002-02-14 19:25  gregor
1831         * examples/assembly/queens.pasm:
1832         Regenerated queens.pasm from queens.jako since the clone_* stuff
1833         went away.
1835 2002-02-14 17:12  dan
1837         * resources.c, include/parrot/resources.h: Finished up the
1838         interface for memory and tracked interpreter thingies.
1840 2002-02-14 16:53  dan
1842         * memory.c, include/parrot/memory.h: intercept free and realloc
1844 2002-02-14 05:53  dan
1846         * interpreter.c, runops_cores.c: The type changes in struct
1847         Packfile break the pointer math used in a few places to calculate
1848         the address of the end of the loaded byte code. This causes
1849         segfaults in build_asm in jit.c when using -j. It also breaks the
1850         bounds checking on opcode address in runops_slow_core.
1852         The patch adds the necessary cast to correct the code_end
1853         calculations.
1855         Courtesy of Jason Gloudon <perl@gloudon.com>
1857 2002-02-14 01:01  ajgough
1859         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1860         BigInt operations (I think), tests for normal operation continue to
1861         pass.  Also a shed load of comments.
1863 2002-02-13 01:34  ajgough
1865         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1866         is a (mostly) working bignumber library.  There remains much work
1867         to do though, some functions are not yet implemented and headers
1868         need to find their way to the correct place RSN.  Also support for
1869         bigints and a sensible error reporting mechanism are needed.
1871 2002-02-12 18:51  dan
1873         * misc.c: Fix some warnings
1875 2002-02-12 17:10  dan
1877         * misc.c: Run through indent -kr -nce so I can read it
1879 2002-02-12 16:49  dan
1881         * misc.c: Need standard header/footer comments
1883 2002-02-11 20:32  simon
1885         * classes/array.pmc:
1886         get and set pmc methods.
1888 2002-02-11 20:19  simon
1890         * classes/array.pmc:
1891         Maybe the keys aren't integer...
1893 2002-02-11 20:03  simon
1895         * core.ops, vtable.tbl, classes/default.pmc:
1896         {g,s}et_pmc_keyed
1898 2002-02-11 19:07  simon
1900         * vtable.tbl, classes/default.pmc:
1901         Add set_pmc. Usee with caution.
1903 2002-02-11 18:20  dan
1905         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1906         compile
1908 2002-02-11 17:59  simon
1910         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1911         classes/perlarray.pmc, classes/perlhash.pmc:
1912         Make it compile.
1914 2002-02-11 17:57  simon
1916         * packfile.c, include/parrot/packfile.h:
1917         Reduce warnings
1919         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1921 2002-02-11 17:55  dan
1923         * docs/parrot_assembly.pod: Document some key ops
1925 2002-02-11 09:20  brentdax
1927         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1928         disgustingly easy.
1930 2002-02-11 00:34  simon
1932         * core.ops, include/parrot/exceptions.h:
1933         This is what keyed set ops look like. Remember, however, that for
1934         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1935         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1936         obviously ambiguous that you ought to use the 4-arg version
1937         instead.
1939 2002-02-10 23:12  jgoff
1941         * classes/: array.pmc, perlarray.pmc: Properly allocate
1942         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1943         isn't tested yet, but should be fairly straightforward.  PerlHash
1944         needs to be finished before the system will compile again, and that
1945         should be done in the next few days.
1947 2002-02-09 04:46  jgoff
1949         * classes/: array.pmc, default.pmc, intqueue.pmc,
1950         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1951         Added basic _keyed member functions.  Unfortunately this still
1952         doesn't fix the problems that are causing the build to break. It's
1953         a start though. I'm not implementing the PMC add functions just
1954         yet.
1956 2002-02-08 15:59  simon
1958         * classes/array.pmc:
1959         Some more work on getting the array stuff up to date.
1961 2002-02-08 12:23  simon
1963         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1964         lib/Parrot/Vtable.pm:
1965         Got array->get_integer_keyed doing what I think it ought to. One
1966         down, all the rest to go.
1968 2002-02-08 11:47  simon
1970         * vtable.tbl:
1971         Although I didn't intend it to be quite that broken...
1973 2002-02-08 11:42  simon
1975         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1976         Completely break Parrot, but at least we get the key stuff right
1977         for now.
1979 2002-02-08 06:25  dan
1981         * hints/darwin.pl: Silences the warning about passing in
1982         -flat_namespace to the compile.  That's a link-only flag.
1984 2002-02-08 04:52  jgoff
1986         * classes/: array.pmc, default.pmc, intqueue.pmc,
1987         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1988         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1989         return values in *.pmc, added some missing casts to the repeat_foo
1990         members, and deleted the _index members from the perlscalar
1991         classes.  Basic cleanup, and getting ready for _keyed functions.
1993 2002-02-07 04:49  mrjoltcola
1995         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1996         added a nested subroutine call.
1998 2002-02-07 04:32  jgoff
2000         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2001         changes in order to give the whitespace rules a little workout, and
2002         do a little bit more testing. No actual structural changes were
2003         made.  lib/Parrot/Vtable.pm got an interface change, and more
2004         importantly should be ready to support the new '_keyed' attribute,
2005         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2006         src_value' followed by 'KEY* src_key'.  This will be how the new
2007         _keyed operators will function, and those should be written within
2008         a few days.
2010 2002-02-06 18:00  doughera
2012         * misc.c: Change C++-style comments to C comments (again).  Remove
2013         unused perl5 code that was in #if 0/#endif.
2015 2002-02-06 17:59  doughera
2017         * warnings.c: Add trailing newline.
2019 2002-02-06 04:14  mrjoltcola
2021         * include/parrot/io.h, io/io.c: Minor cleanup.
2023 2002-02-06 03:11  mrjoltcola
2025         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2026         couple of loose end in win32 IO stuff. Open behaves now but needs
2027         more work.
2029 2002-02-05 21:02  brentdax
2031         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2032         which showed up in Purify builds.
2034 2002-02-05 17:15  simon
2036         * misc.c:
2037         Warning fixes.
2039         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2041 2002-02-05 17:08  doughera
2043         * misc.c: Avoid C++-style comments.
2045 2002-02-05 17:07  doughera
2047         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2048         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2049         thanks to Jason Gloudon <perl@gloudon.com>.
2051 2002-02-05 14:04  simon
2053         * misc.c:
2054         Make the problem different, perhaps even better.
2056 2002-02-05 13:49  simon
2058         * misc.c:
2059         Possibly fix a `short int' is promoted to `int' when passed through
2060         `...' scary error, possibly make things absolutely worse.
2062 2002-02-05 13:15  simon
2064         * Configure.pl:
2065         Placate Tru64.
2067 2002-02-05 13:12  simon
2069         * warnings.c:
2070         Not going to get far without this one...
2072 2002-02-05 11:41  simon
2074         * string.c:
2075         Don't barf when handed null pointers.
2077 2002-02-05 10:04  simon
2079         * misc.c, include/parrot/misc.h:
2080         Fix some trivial bugs in warnings code.
2082 2002-02-05 09:27  simon
2084         * misc.c:
2085         Oops, forgot this one; also added %P support.
2087 2002-02-05 09:20  simon
2089         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2090         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2091         include/parrot/interpreter.h, include/parrot/misc.h,
2092         include/parrot/parrot.h, include/parrot/warnings.h:
2093         Warnings support.
2095         Courtesy of: Brent Dax <brentdax@cpan.org>
2097 2002-02-05 05:41  jgoff
2099         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2100         format of vtable.tbl to get rid of the tab-dependence.  The format
2101         now looks roughly like this:
2103         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2104         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2105         assumed here, but note the C-like prototyping.  Also had to disable
2106         one test that depended upon 'concat_p_p_s', which isn't necessary
2107         anyway.
2109         Vtable.pm will change again when the type '_keyed' is added,
2110         because that requires remapping parameters slightly differently
2111         again.  Also, note that it assumes 'value' is the first parameter
2112         in the list. This assumption will go away at the same time.
2114 2002-02-04 16:57  ajgough
2116         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2117         functions.  Thanks to Simon Glover.
2119 2002-02-04 02:47  ajgough
2121         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2122         needed.  I suspect that the entire hints file isn't really needed,
2123         but there's no one to actually tell us this.
2125 2002-02-02 15:45  ask
2127         * docs/ParrotFAQ.htm: fix internal links
2129 2002-02-02 04:06  jgoff
2131         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2132         Moving the internal KEY structure from the cache.struct_val member,
2133         where it doesn't really belong, to the internal SELF->data member.
2134         This frees up the cache/type members for other usage.
2136         This is the first step in moving PMCs to the point where we can do
2137         multidimensional PMC handles. The next step is to change the
2138         assembler to accept the syntax of 'set P0["foo"],7'.
2140 2002-02-02 00:13  nicholas
2142         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2143         prototype Parrot_Array_class_init
2145 2002-02-02 00:13  nicholas
2147         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2148         time to sum_time to avoid warning on FreeBSD about tracking a
2149         global [No, this warning does not appear on Linux. Yes, it is real
2150         :-)]
2152 2002-02-01 23:02  nicholas
2154         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2155         Glover
2157 2002-02-01 20:20  nicholas
2159         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2161 2002-02-01 18:20  nicholas
2163         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2164         you
2166 2002-02-01 13:22  nicholas
2168         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2170 2002-02-01 12:19  simon
2172         * core.ops, t/op/ifunless.t, t/op/integer.t:
2173         Added "unless" op.
2175 2002-02-01 12:11  simon
2177         * lib/Parrot/Test.pm:
2178         Remove a warning.
2180 2002-02-01 01:38  nicholas
2182         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2183         and a manitest target to Makefile.in that lets one test the
2184         manifest.
2186 2002-02-01 00:03  dan
2188         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2189         PMC dynaloading
2191 2002-01-31 21:46  gregor
2193         * Configure.pl, Makefile.in, hints/mswin32.pl:
2194         A few more things are now configable, so we are closer to win32
2195         shared library builds. Not there yet, but closer.
2197 2002-01-31 21:00  dan
2199         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2200         include/parrot/pmc.h: First step in dynamically loading PMC classes
2202 2002-01-31 19:38  dan
2204         * Makefile.in: Dependencies in the Makefile are currently too broad
2205         brush.  I don't enjoy waiting for everything to recompile every
2206         time I try to tweak the jit. The only file that #includes
2207         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2208         should reflect this, and not cause a gratuitous recompile of
2209         everything.  There are probably other auto-generated header files
2210         that world+dog should not depend on.
2212         Courtesy of  Nicholas Clark <nick@unfortu.net>
2214 2002-01-31 19:03  gregor
2216         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2217         Added two new make targets:
2219           * testp: Like 'make test', but passes -P to t/harness, so you get
2220         to
2221             see how broken predereferencing is.
2223           * testj: Like 'make test', but passes -j to t/harness, so you get
2224         to
2225             see how broken JIT is.
2227         Now, anyone who wants to see how good all three ways of running are
2228         can do so, at the cost of about 3x the time.
2230 2002-01-31 17:09  brentdax
2232         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2234 2002-01-31 03:41  grunblatt
2236         * docs/jit.pod: Update jit.pod
2238 2002-01-31 03:20  grunblatt
2240         * jit/i386/core.jit: Hold this until we get an assemble tool,
2241         because of the different objdump problems.
2243 2002-01-31 03:13  grunblatt
2245         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2246         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2247         of: Jason Gloudon <perl@gloudon.com>
2249 2002-01-31 02:22  grunblatt
2251         * jit/i386/core.jit: Continue if the register is null
2253 2002-01-30 23:50  grunblatt
2255         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2256         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2257         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2258         specific file.
2260 2002-01-30 23:35  mrjoltcola
2262         * io/io_win32.c: Change implementation of isatty on win32,
2263         suggested by Hong Zhang.
2265 2002-01-30 23:19  sfink
2267         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2268         Op::may_jump boolean method.
2270         Replaced jit2h's hardcoded pattern match to decide what ops might
2271         change the control flow.
2273 2002-01-30 22:13  dan
2275         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2276         parrot to mostly-build with tcc.  It allows one to skip compiling
2277         the JIT stuff (by specifying --define jitcapable=0), and it
2278         introduces a test program which gives a friendlier error in this
2279         case for compilers which are as picky as tcc is about function
2280         pointer conversion.
2282         If anyone figures out the proper way to cast these function
2283         pointers this may not be necessary.
2285         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2287 2002-01-30 20:54  dan
2289         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2290         Here's an update to docs/running.pod to better reflect the current
2291         state (both the test_parrot and assemble.pl improvements, plus
2292         documentation of a few more things.) And also a speling fiks
2293         s/POST_MORTERM/POST_MORTEM/.
2295         I could also replace some "perl foo" calls with "./foo" if someone
2296         wanted to set the executable flag in CVS on assemble.pl,
2297         optimize.pl, etc.
2299         Courtesy of Steve Fink <steve@fink.com>
2301 2002-01-30 20:43  dan
2303         * core.ops: find_global doesn't work, so stub out the wrong code
2305 2002-01-30 19:08  dan
2307         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2308         that perldoc
2309          can read it and just tidies it up generally. It also adds
2310         documentation
2311          for the constantize_integer and constantize_number functions.
2313         Courtesy of Simon Glover <scog@roe.ac.uk>
2315 2002-01-30 18:02  dan
2317         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2318         classes/genclass.pl, classes/pmc2c.pl,
2319         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2320         distribution (including assemble.pl !)
2321          can no longer find the Parrot::* modules. Enclosed patch fixes
2322         (although
2323          it would be nice if there were an easier way to do this).
2325         Courtesy of  Simon Glover <scog@roe.ac.uk>
2327 2002-01-30 16:00  mrjoltcola
2329         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2330         types.
2332 2002-01-30 15:50  mrjoltcola
2334         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2336 2002-01-30 15:42  grunblatt
2338         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2339         files around
2341 2002-01-30 15:38  grunblatt
2343         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2344         the manifest,  and also puts it back into alphabetical order.
2346         Courtesy of: Simon Glover <scog@roe.ac.uk>
2348 2002-01-30 14:41  nicholas
2350         * embed.c: Patch from Simon Glover to clean up warnings where
2351         prototype is () not (void)
2353 2002-01-30 13:54  nicholas
2355         * include/parrot/embed.h, test_main.c: Add void as an explicit
2356         parameter in test_main.c's usage(), version(void) and embed.h's
2357         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2358         warning: function declaration isn't a prototype
2360 2002-01-30 12:08  simon
2362         * lib/Parrot/.cvsignore:
2363         Ignore generated Perl modules.
2365 2002-01-30 12:07  simon
2367         * t/harness:
2368         Run the PMC tests as well.
2370 2002-01-30 12:04  simon
2372         * MANIFEST:
2373         Fix MANIFEST after recent t/pmc rejig.
2375 2002-01-30 11:42  simon
2377         * lib/Parrot/Test.pm:
2378         Report non-zero exit codes.
2380         Courtesy of: Michael G Schwern <schwern@pobox.com>
2382 2002-01-30 11:39  simon
2384         * t/op/rx.t:
2385         Skip final test, TODO doesn't work yet.
2387 2002-01-30 09:54  brentdax
2389         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2390         predereferencing works.
2392 2002-01-30 09:38  brentdax
2394         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2395         subsystem.
2397 2002-01-30 09:37  brentdax
2399         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2401 2002-01-30 09:37  brentdax
2403         * config_h.in: Expose another flag for embedders.
2405 2002-01-30 05:07  jgoff
2407         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2408         location for Parrot/, and t/harness wasn't able to run the new
2409         op/pmc tests. Both problems fixed, so I think I'm going to declare
2410         the build suitable for public consumption.
2412 2002-01-30 04:34  robert
2414         * docs/Makefile.in: update for CVS movement
2416 2002-01-30 04:32  robert
2418         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2419         .in file, not the real Makefile)
2421 2002-01-30 04:20  robert
2423         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2424         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2425         related to moving files around
2427 2002-01-30 04:10  robert
2429         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2431 2002-01-30 04:07  robert
2433         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2435 2002-01-30 03:56  robert
2437         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2438         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2439         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2440         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2441         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2442         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2443         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2444         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2445         lib/Parrot/
2447 2002-01-30 03:46  robert
2449         * languages/miniperl/miniperlc: renamed to mpc
2451 2002-01-30 03:45  robert
2453         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2454         pmc_perlstring.t: Moved to t/op/pmc/
2456 2002-01-30 03:40  robert
2458         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2460 2002-01-30 03:14  jgoff
2462         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2463         Fixed some problems with PerlArray and added tests.  Previously,
2464         only integers could be accessed by negative indices.  After this
2465         change, all basic types can be accessed by negative indices, and
2466         they can also be set at negative indices.
2468 2002-01-29 22:13  brentdax
2470         * TODO: Just look at the stupid diff.
2472 2002-01-29 21:53  simon
2474         * TODO, docs/vtables.pod:
2475         New TODO, and tiny addition to vtables.pod
2477 2002-01-29 21:47  mrjoltcola
2479         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2481 2002-01-29 21:38  mrjoltcola
2483         * Makefile.in: Makefile.in tweak for io depend.
2485 2002-01-29 21:15  brentdax
2487         * embed.c: Fix a segfault and some profiling formatting nits.
2489 2002-01-29 20:54  brentdax
2491         * pmc.c: Oops.
2493 2002-01-29 20:50  brentdax
2495         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2496         segfaults.
2498 2002-01-29 20:17  mrjoltcola
2500         * interpreter.c, core.ops, io.ops: CVS missed this.
2502 2002-01-29 20:17  mrjoltcola
2504         * io/io.c: These should have gone in Sunday with the rest. CVS is
2505         out to get me.
2507 2002-01-29 18:39  brentdax
2509         * platforms/win32.h: Fix Win32 whoops.
2511 2002-01-29 18:29  brentdax
2513         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2515 2002-01-29 17:51  simon
2517         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2518         include/parrot/embed.h, include/parrot/parrot.h:
2519         Embedding support. Cool.
2521         Courtesy of: <brentdax@cpan.org>
2523 2002-01-29 15:40  grunblatt
2525         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2526         Gloudon <perl@gloudon.com>
2528 2002-01-29 14:42  simon
2530         * include/parrot/parrot.h:
2531         Platform stuff has to be included *after* system headers.
2533 2002-01-29 14:05  grunblatt
2535         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2536         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2537         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2538         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2539         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2541 2002-01-29 10:56  simon
2543         * platforms/generic.h:
2544         If we don't have a S_ISREG, produce something close to it.
2546 2002-01-29 06:01  dan
2548         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2550 2002-01-29 04:38  jgoff
2552         * classes/array.pmc: Forgot to remove some C++-isms from the
2553         get_{foo}_index routines.
2555 2002-01-29 04:26  jgoff
2557         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2558         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2559         t/pmc/array.t: Added array class that languages other than perl can
2560         use for a basis.  It has no features like preextension, and the
2561         array index starts at 0.
2563         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2564         and classes/Makefile.in - Added array.pmc to the makefile.
2565         (Assuming rules like .pmc.o are portable (or even possible) I might
2566         alter classes/Makefile.in to autobuild the appropriate files.
2568 2002-01-29 02:32  dan
2570         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2571         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2572         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2573         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2574             Update to Test::More 0.41 which adds Test::Builder
2576             Delete the vestigal Test::Utils
2578             Change Parrot::Test so it uses Test::Builder instead of Evil
2579         Wrappers
2580             around Test::More
2582             output_* now returns whether the test passes or fails
2584             Parrot::Test no longer exports Test::More's functions.  Instead
2585         they
2586             can simply be used together.  The few tests which used
2587         Test::More
2588             features (ie. skip) have 'use Test::More' added.
2590             I ditched the export_to_level() crutch.  Do we expect parrot to
2591         work on
2592             5.004?  (literally 5.004, not 5.004_04)
2594         Courtesy of Michael G Schwern <schwern@pobox.com>
2596 2002-01-28 21:04  dan
2598         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2599         pointer should actually be to
2600          parrot_assembly.pod, as the canonical documentation.
2602         Courtesy of Simon Glover <scog@roe.ac.uk>
2604 2002-01-28 20:21  dan
2606         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2607         clone[inps]
2609 2002-01-28 19:18  dan
2611         * core.ops, register.c: clone[insp] is dead
2613 2002-01-28 17:46  grunblatt
2615         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2616         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2618 2002-01-28 16:45  dan
2620         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2621         the requirement for fink at the moment.
2623 2002-01-28 15:59  simon
2625         * test_main.c:
2626         People might try and run a directory file, with spectacular
2627         results.  We don't want that. No.
2629 2002-01-28 14:58  doughera
2631         * core.ops: Avoid C++-style comments.
2633 2002-01-28 14:16  grunblatt
2635         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2636         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2637         work again.
2639 2002-01-28 13:47  doughera
2641         * include/parrot/register.h: Avoid C++-style comment.
2643 2002-01-28 06:03  dan
2645         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2646         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2647         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2648         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2649         include/parrot/parrot.h, include/parrot/regfuncs.h,
2650         include/parrot/register.h, include/parrot/register_funcs.h,
2651         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2652         are now stored in the interpreter structure itself, rather than
2653         just a pointer to the top of the register structure. Pushes and
2654         pops now involve memcpys, but register access has one fewer
2655         dereference.
2657         Fails four of the register stack tests, though, so not perfect.
2658         Needs fixing, but this is a good place to start.
2660 2002-01-28 04:40  mrjoltcola
2662         * test_main.c: cvs commit missed this. ??
2664 2002-01-28 04:27  mrjoltcola
2666         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2667         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2668         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2669         interpreter now (at least in theory).  IO handle array added.  Misc
2670         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2671         we don't conflict         with system libraries.  Still have broken
2672         stuff in win32 and stdio layer.
2674 2002-01-28 04:01  mrjoltcola
2676         * include/parrot/chartype.h: Typo in chartype.h include guard.
2678 2002-01-28 03:41  mrjoltcola
2680         * t/op/interp.t: Fix flag for interp so we don't get "info"
2681         messages which break tests.
2683 2002-01-28 01:54  dan
2685         * include/parrot/string.h: A few more buffer/string flags
2687 2002-01-27 11:33  nicholas
2689         * chartypes/unicode.c: Cast unsigned argument to int in call to
2690         isdigit to silence gcc warning.
2692 2002-01-26 23:18  grunblatt
2694         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2695         off that flag.
2697 2002-01-26 23:17  grunblatt
2699         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2700         jit/i386/core.jit: [no log message]
2702 2002-01-26 22:18  simon
2704         * jit/i386/core.jit:
2705         Jumping to 0x0 is a recipe for segfaults.
2707 2002-01-26 18:35  simon
2709         * t/harness:
2710         Allow user to select which tests to harness
2712         Courtesy of: Nicholas Clark <nick@unfortu.net>
2714 2002-01-26 17:20  grunblatt
2716         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2717         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2718         to make the jit work in linux again.
2720 2002-01-26 16:52  dan
2722         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2723         headers can't cope with this. Darwin-only
2725 2002-01-26 16:04  dan
2727         * include/parrot/parrot.h: Quick note to remind folks that this
2728         isn't the file they're looking for if they're writing extensions or
2729         embedding parrot.
2731         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2733 2002-01-26 00:41  mrjoltcola
2735         * MANIFEST: Oopsy.
2737 2002-01-26 00:37  mrjoltcola
2739         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2740         Turoff
2742 2002-01-25 01:31  grunblatt
2744         * jit/alpha/core.jit: There is no neg or fneg.
2746 2002-01-25 01:27  grunblatt
2748         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2749         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2750         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2751         t/op/number.t: Added Parrot_neg.  Erase t.s
2753 2002-01-24 23:26  dan
2755         * interpreter.c: Best make sure unused elements are NULL
2757 2002-01-24 23:24  dan
2759         * interpreter.c: Fix stupid thinko
2761 2002-01-24 18:37  doughera
2763         * Makefile.in: Add a few missing dollar signs in the lifetest
2764         section so that ${exe} and the like get properly interpolated.
2766 2002-01-24 18:15  mrjoltcola
2768         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2769         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2770         Simon Glover <scog@roe.ac.uk>
2772 2002-01-24 06:43  mrjoltcola
2774         * io/io_stdio.c: Oops.
2776 2002-01-24 06:34  mrjoltcola
2778         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2779         of work on the buffering layer.  Decided to use shared read/write
2780         buffer (as do most implementations) for now since its the simplest
2781         way to keep everything synced, (flush on seeks, flush read on
2782         writes, etc.)
2784 2002-01-24 03:38  mrjoltcola
2786         * test_main.c: Cleaned up option handling code a bit for main().
2788 2002-01-23 23:22  dan
2790         * interpreter.c, include/parrot/interpreter.h,
2791         include/parrot/resources.h: Now each interpreter gets its own hash
2792         for globals.
2794 2002-01-23 20:45  dan
2796         * Configure.pl: Fix a warning when there's no - in an architecture
2798 2002-01-22 23:57  grunblatt
2800         * docs/running.pod: [no log message]
2802 2002-01-22 20:29  doughera
2804         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2805         appears to be a generic problem (if sizeof(long double) >
2806         sizeof(double)), not an x86-specific one.
2808 2002-01-22 16:57  doughera
2810         * runops_cores.c: Change variable name from time to starttime to
2811         avoid gcc warning about variable name shadowing.
2813 2002-01-22 16:55  doughera
2815         * classes/pmc2c.pl: Include class_init prototype too.
2817 2002-01-22 16:01  doughera
2819         * MANIFEST: [no log message]
2821 2002-01-22 01:04  ajgough
2823         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2824         classes/parrotpointer.pmc, classes/perlarray.pmc,
2825         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2826         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2827         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2828         warnings from pmc files.  Message-ID:
2829         <20020121224719.GE1726@Bagpuss.unfortu.net>
2831 2002-01-22 00:53  ajgough
2833         * test_main.c: Clears up a couple of warnings in test_main.c.
2834         Thanks to Nick Clark.  Message-ID:
2835         <20020121190457.GB1726@Bagpuss.unfortu.net>
2837 2002-01-22 00:47  ajgough
2839         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2840         include/parrot/chartype.h: Cause all codepoints to be treated as
2841         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2842         Nick Clark, see also: Message-ID:
2843         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2845 2002-01-22 00:24  dan
2847         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2849         Appended patch cures these warnings:
2851         key.c: In function `debug_key': key.c:29: warning: int format,
2852         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2853         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2854         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2855         format, INTVAL arg (arg 4)
2857         Courtesy of Nicholas Clark <nick@unfortu.net>
2859 2002-01-21 12:41  mrjoltcola
2861         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2862         be clock skew.
2864 2002-01-21 06:37  mrjoltcola
2866         * io/io.c: Cleanup a warning
2868 2002-01-21 06:28  mrjoltcola
2870         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2871         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2872         ops. Various other IO twiddlings.
2874 2002-01-21 03:25  grunblatt
2876         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2877         Melvin Smith for the catch up.
2879 2002-01-20 23:13  sfink
2881         * stacks.c: Fixed logic errors, need tests
2883 2002-01-20 22:17  brentdax
2885         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2886         prepare for /i to work.
2888 2002-01-20 20:52  grunblatt
2890         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2891         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2892         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2893         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2894         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2895         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2896         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2897         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2898         jit/alpha/string.jit:
2899         - Added support for ALPHA, by now linux and bsd.
2901         - Reduced jit2h.pl execution time by precompiling the call to the
2902         unimplemented op.
2904         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2905         Parrot/Jit/${cpuarch}Generic.pm
2907         - Changed the way to detect quads to what is written in "man
2908         perlfunc".
2910 2002-01-20 17:23  brentdax
2912         * rx.ops: There's no such thing as rx_allocateinfo.
2914 2002-01-19 08:26  brentdax
2916         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2918 2002-01-19 07:12  mrjoltcola
2920         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2921         into io.ops, leave the STDIO wrappers        in core.ops until they
2922         disappear.  Added debug op for switching on VM debug flag
2924 2002-01-19 01:55  mrjoltcola
2926         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2927         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2929 2002-01-19 00:55  brentdax
2931         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2932         include/parrot/rxstacks.h: Add regex-specific stacks for
2933         efficiency.
2935 2002-01-18 23:58  dan
2937         * Configure.pl: I think the optimal fix here is simply to remove
2938         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2939         man pages say "There is no reason to use this option [-pedantic];
2940         it exists only to satisfy pedants."
2942         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2944 2002-01-18 23:23  dan
2946         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2947         docs/running.pod, which lists the various executables Parrot
2948         currently includes, examples of running them, and mentions of where
2949         they fail to work. It's more of a cry for help than a useful
2950         reference. :-) I've been having trouble recently when making
2951         changes in figuring out whether I broke anything, because any
2952         non-default way of running the system seems to be already broken. I
2953         can't tell what brokenness is expected and what isn't.
2955         Courtesy of  Steve Fink <steve@fink.com>
2957 2002-01-15 22:13  brentdax
2959         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2960         substring use and enhance performance.
2962 2002-01-15 21:03  ajgough
2964         * string.c: Fix problem with string_transcode, &dest not being
2965         updated if src was already in desired encoding.
2967 2002-01-15 16:54  brentdax
2969         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2970         warnings.  Leaves only one warning, at rx.ops line 409, that I
2971         can't manage to get rid of.
2973 2002-01-15 16:50  dan
2975         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2976         code.  Also patches pbc2c.pl to work with rx.ops.
2978         Courtesy of Jason Gloudon <perl@gloudon.com>
2980 2002-01-15 16:15  dan
2982         * classes/Makefile.in: All the C files in classes/ weren't being
2983         compiled with an of the gcc warnings flags. With this patch they
2984         are, and there are an awful lot of warnings, more than I could hope
2985         to understand and clear up (within any sensible time period before
2986         submitting a rash of patches, by which time everyone else would
2987         have moved the code on)
2989         Courtesy of Nicholas Clark <nick@unfortu.net>
2991 2002-01-15 16:10  dan
2993         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2994         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2995         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2996         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2997         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2998         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2999         chartypes/usascii.c: This patch adds a few more macros for .ops
3000         files to use. In addition to the existing
3002          goto OFFSET(...)
3003          goto ADDRESS(...)
3004          goto POP()
3005          goto NEXT()
3007         it adds
3009          expr OFFSET(...)
3010          expr ADDRESS(...)
3011          expr POP()
3012          expr NEXT()
3014         This is intended mainly for use in helper functions in .ops files,
3015         but also for ops that need to eg push the address of the next
3016         opcode onto a stack. The only place this currently happens (outside
3017         of my private code) is in the bsr opcode, which previously
3018         hardcoded the computation.
3020         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3021         higher in the generated file so that it can be used by static
3022         functions in the preamble.
3024         Finally, I ran into a parentheses matching problem -- should goto
3025         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3026         \bgoto\s+OFFSET\((.*?)\)
3028         It was done inconsistently for the different calculations, and of
3029         course neither are correct because you really want matching
3030         parentheses. But that seems like too much bother. (Currently,
3031         there's only one place that uses anything other than $n in the
3032         parentheses, and that's the enternative() op.) So I made them all
3033         .*? but emulated recent POD by also allowing (( ... )) (that's two
3034         parenthesis with a space padding the body.)
3036         The generated core_ops.c and core_ops_prederef.c files after this
3037         patch are identical except for the CUR_OPCODE and REL_PC macros
3038         getting moved a little higher, and the bsr in the regular path (not
3039         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3041         In summary, this is a big wad of meaningless changes for the
3042         current code. But it will make adding some opcodes easier in the
3043         future, and cleans up a small nit in the current bsr.
3045         Courtesy of Steve Fink <steve@fink.com>
3047 2002-01-15 08:48  brentdax
3049         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3050         sort of).
3052 2002-01-15 08:45  brentdax
3054         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3056 2002-01-15 05:00  brentdax
3058         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3059         performance.
3061 2002-01-14 20:18  dan
3063         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3065         Courtesy of Nicholas Clark <nick@unfortu.net>
3067 2002-01-14 20:03  dan
3069         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3070         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3071         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3072         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3073         classes/parrotpointer.pmc, classes/perlarray.pmc,
3074         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3075         classes/perlstring.pmc, classes/perlundef.pmc,
3076         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3077         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3078         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3079         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3080         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3081         patch cleans up most of the MSVC-warnings when using warning level
3082         4 (the highest, one above the default level 3). It turns off two
3083         level-4 warnings for 'unreferenced formal parameter' and 'named
3084         type definition in parentheses', the latter of which was turning up
3085         warnings in MS VC headers.  Level 4 warnings also helped me find a
3086         couple of other lurking bugs in the parrot code.
3088         Replaces the various fprintf/exit combos with calls to
3089         internal_exception, which uses var_args to emulate printf. Various
3090         exception types were added as well. These are probably temporary
3091         until a real exception system arrives.
3093         Fixed some places in the IO code where wrong functions were being
3094         called, or put into the vtable.
3096         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3098 2002-01-14 19:00  dan
3100         * MANIFEST: D'oh! Forgot a file.
3102         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3104 2002-01-14 18:44  brentdax
3106         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3107         sense (and a few other enhancements to regexes).
3109 2002-01-14 07:07  brentdax
3111         * interpreter.c, runops_cores.c, test_main.c,
3112         include/parrot/interpreter.h: Make profiling a little more useful.
3114 2002-01-13 19:44  dan
3116         * Configure.pl: Turn off unsed things warnings for now
3118 2002-01-13 19:39  dan
3120         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3122         classes/perlarray.c:  * get_string: is casting
3123         SELF->cache.struct_val to a STRING*,    while all other methods are
3124         using it as a KEY*; don't know    what a perlarray stringifies to,
3125         so replacing with NULL  * get_bool: the default behaviour does not
3126         look right to me
3128         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3130 2002-01-13 19:37  dan
3132         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3133         flags to LDFLAGS, so that Configure.pl --debugging   works with
3134         MSVC
3136         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3137         pmc2c calls
3139         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3141 2002-01-13 19:36  dan
3143         * io/io_win32.c:   according to my MSVC docs, you should use
3144         _tcslen only after
3145           #including tchar.h
3147         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3149 2002-01-13 19:35  dan
3151         * docs/intro.pod: Doc tweak.
3153         Courtesy of Simon Glover <scog@roe.ac.uk>
3155 2002-01-13 19:34  dan
3157         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3158         that
3160           if Px, ...
3162          works with PerlString PMCs; these should be false if they are "",
3163         0, or
3164          are undefined, and true in every other case.
3166         Courtesy of Simon Glover <scog@roe.ac.uk>
3168 2002-01-13 19:23  dan
3170         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3171         NUMVAL_FMT to FLOATVAL_FMT.
3173         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3175 2002-01-13 17:45  jgoff
3177         * Makefile.in, global_setup.c, classes/Makefile.in,
3178         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3179         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3180         designing your own classes.
3182 2002-01-13 08:47  simon
3184         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3185         lib/Parrot/OpTrans/CPrederef.pm:
3186         Fix bsr in prederef mode.
3188         Courtesy of: Jason Gloudon <perl@gloudon.com>
3190 2002-01-12 15:33  dan
3192         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3193         string.c, encodings/singlebyte.c, encodings/utf32.c,
3194         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3195         Silence most of the unused variable warnings.
3197         Courtesy of Nicholas Clark <nick@unfortu.net>
3199 2002-01-12 15:18  dan
3201         * rx.ops: This patch fixes a warning and also changes an 'int' to
3202         an 'INTVAL'.  All tests should pass on Solaris.
3204         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3206 2002-01-12 15:13  dan
3208         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3209         examples/assembly/life.pasm, include/parrot/interpreter.h,
3210         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3211         io/io_win32.c: More IO work. (Plus some misc twiddles)
3213         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3215 2002-01-12 01:14  dan
3217         * include/parrot/string.h: fix a missing name
3219 2002-01-12 00:39  grunblatt
3221         * include/parrot/string.h: Few typos.
3223 2002-01-12 00:16  grunblatt
3225         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3226         that change the program control flow.
3228 2002-01-11 23:53  brentdax
3230         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3231         ParrotPointer's guts.
3233 2002-01-11 23:03  dan
3235         * include/parrot/string.h: flags for the buffers, for GC
3237 2002-01-11 22:31  dan
3239         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3241 2002-01-11 22:21  dan
3243         * include/parrot/pmc.h: Started with PMC flags
3245 2002-01-11 19:33  dan
3247         * config_h.in, memory.c, resources.c, string.c,
3248         include/parrot/resources.h: Beginnings of a memory allocation/gc
3249         system. Without the GC part.
3251 2002-01-11 18:05  dan
3253         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3254         systems
3256         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3258 2002-01-11 17:50  dan
3260         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3261         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3262         a patch that makes pbc2c generated code work with the bsr opcode.
3263         It creates a new opcode 'enternative', and uses this to support a
3264         mixed model of interpretation and execution of compiled C code.
3266         Courtesy of Jason Gloudon <perl@gloudon.com>
3268 2002-01-11 17:48  dan
3270         * Makefile.in: Add life as a potential .exe target
3272 2002-01-11 17:30  dan
3274         * include/parrot/resources.h: Start of arena stuff for GC
3276 2002-01-11 05:34  brentdax
3278         * rx.ops: Docs modifications.
3280 2002-01-11 04:19  brentdax
3282         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3283         regular expressions.
3285 2002-01-11 03:44  grunblatt
3287         * jit/i386/core.jit: off by one.
3289 2002-01-11 02:25  dan
3291         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3293         Courtesy of Steve Fink <steve@fink.com>
3295 2002-01-11 00:32  brentdax
3297         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3299 2002-01-10 23:22  ajgough
3301         * string.c, docs/strings.pod: Removed all the nul termination code,
3302         as this is in general a bad idea.  Note added to docs/strings.pod
3303         to warn people away from assuming termination.
3305 2002-01-10 23:14  dan
3307         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3308         testparrotsizes_c.in, include/parrot/interpreter.h,
3309         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3310         implementation
3312         Courtesy of Steve Fink <steve@fink.com>
3314 2002-01-10 22:48  dan
3316         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3317         sizeof(INTVAL)
3319         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3321 2002-01-10 22:46  dan
3323         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3324         t/pmc/perlhash.t:  Well, actually two bugs.
3326          The first is an off-by-one error in key.c than can cause parrot
3327          to segfault if hash % NUM_BUCKETS happens to be zero.
3329          The other is a bug in the PerlHash init() code that causes new
3330         PerlHash
3331          PMCs to start with the wrong size.
3333          Both fixed below; also tests to prevent them recurring.
3335         Courtesy of Simon Glover <scog@roe.ac.uk>
3337 2002-01-10 22:30  dan
3339         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3340         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3341         with a PerlArray,
3343         Courtesy of Simon Glover <scog@roe.ac.uk>
3345 2002-01-10 21:31  dan
3347         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3349 2002-01-10 20:30  grunblatt
3351         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3352         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3353         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3354         All the op codes that doesn't change the program control flow now
3355         work in the JIT by calling the code generated by the compiler when
3356         the op is not in core.jit TODO:     * Make all the ops that change
3357         the program control flow (and are not on core.jit) work.      *
3358         Remove the dispatch payload.
3360 2002-01-10 17:13  dan
3362         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3363         which tries to return 0 from a void function.
3365         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3367 2002-01-10 17:12  dan
3369         * t/op/macro.t: Skip tests, don't comment them out.
3371         Courtesy of Simon Glover <scog@roe.ac.uk>
3373 2002-01-10 17:10  dan
3375         * rx.c: This fixes a couple of nits in rx.c:
3377            1. There's no newline at the end, which makes gcc unhappy.
3378            2. We should use NULL, not 0 or "", for creating null pointers.
3380         Courtesy of Simon Glover <scog@roe.ac.uk>
3382 2002-01-10 17:09  dan
3384         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3385         back in
3386          alphabetical order.
3388         Courtesy of Simon Glover <scog@roe.ac.uk>
3390 2002-01-10 16:54  ajgough
3392         * resources.c: Made free_string check that there was a string to
3393         free.  In reponse to a bug spotted by Joshua Nye.
3395 2002-01-09 22:44  dan
3397         * global_setup.c: Forgot the setup
3399 2002-01-09 22:35  dan
3401         * rx.ops: Forgot this one
3403 2002-01-09 22:35  dan
3405         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3406         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3407         Tests don't work, though.
3409         Courtesy of "Brent Dax" <brentdax@cpan.org>
3411 2002-01-09 21:48  dan
3413         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3415 2002-01-09 21:22  dan
3417         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3418         Generic pointer holder class
3420         Courtesy of "Brent Dax" <brentdax@cpan.org>
3422 2002-01-09 21:19  dan
3424         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3425         patches.
3427 2002-01-09 19:54  dan
3429         * io/io_unix.c: Whoops. Forgot one
3431 2002-01-09 19:43  dan
3433         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3434         t/pmc/perlhash.t: Fix hash crash bugs
3436         Courtesy of Simon Glover <scog@roe.ac.uk>
3438 2002-01-09 19:13  dan
3440         * memory.c: Signedness whoops.
3442         Courtesy of Simon Glover <scog@roe.ac.uk>
3444 2002-01-09 18:23  dan
3446         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3447         io/io_stdio.c, io/io_win32.c: Changes:
3449         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3450         will be using the   Win32 API and company rather than the unix-ish
3451         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3452         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3453         stuff is   there. Soon we should be able to start using these
3454         rather than   fprintf(stderr, ...) and remove stdio linkage.
3456         Courtesy of <mrjoltcola@mindspring.com>
3458 2002-01-09 17:26  dan
3460         * test_main.c: Fixes bad code gen on x86.
3462         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3464 2002-01-09 17:24  dan
3466         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3467         classes/perlnum.pmc: This patch adds macros to the config.h file
3468         for INTVAL and NUMVAL printf formats.
3470         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3472 2002-01-08 22:55  ajgough
3474         * docs/vtables.pod: Clarify what get_string should do.
3476 2002-01-08 20:05  dan
3478         * key.c: Keep comments in sync.
3480         Courtesy of Simon Glover <scog@roe.ac.uk>
3482 2002-01-08 19:50  dan
3484         * memory.c, include/parrot/memory.h: Need a realloc
3486 2002-01-08 17:24  gregor
3488         * .cvsignore, Configure.pl, Makefile.in:
3489         Added 'reconfig' make target and corresponding --reconfig option to
3490         Configure.pl, so its very easy to re-run Configure.pl with the last
3491         (command-line) options you passed it.
3493 2002-01-08 16:33  dan
3495         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3496         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3497         in core.ops. Potential help for optimizers and JITters.
3499         Courtesy of gregor@linux1.kennedytech.com
3501 2002-01-08 16:32  dan
3503         * key.c: Grab key length from the right spot
3505         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3507 2002-01-08 13:27  ajgough
3509         * test_main.c: Fix slight thinko in realloc usage for reading from
3510         stdin.
3512 2002-01-08 11:34  ajgough
3514         * test_main.c: Allow test_parrot to read bytecode stream from
3515         stdin, adds -f command line option, with "-f -" doing the stdin
3516         stuff.
3518 2002-01-08 06:34  jgoff
3520         * key.c, include/parrot/key.h: key.c - Added simple implementation
3521         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3523 2002-01-08 03:21  jgoff
3525         * include/parrot/key.h: Added an undef type to the key structure,
3526         so we can delete keys without confusion.
3528 2002-01-07 22:09  dan
3530         * key.c, packfile.c, string.c, include/parrot/key.h,
3531         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3532         about index being redefined
3534         Courtesy of Nick Clark
3536 2002-01-07 21:15  dan
3538         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3540         Courtesy of Steve Fink <steve@fink.com>
3542 2002-01-07 20:48  dan
3544         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3545         failures
3547         Courtesy of "Brent Dax" <brentdax@cpan.org>
3549 2002-01-07 20:43  dan
3551         * docs/intro.pod: Missing a comma
3553         Courtesy of "coral" <coral@eekeek.org>
3555 2002-01-07 20:41  dan
3557         * global_setup.c: Quiet a warning
3559         Courtesy of Simon Glover <scog@roe.ac.uk>
3561 2002-01-07 18:58  gregor
3563         * t/op/.cvsignore:
3564         Ignore intermediate test files.
3566 2002-01-07 17:01  gregor
3568         * ops2c.pl:
3569         Print a warning if an .ops file is mentioned more than once on the
3570         command line.
3572 2002-01-07 16:12  ajgough
3574         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3575         these shouldn't fail.
3577 2002-01-07 15:15  simon
3579         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3580         Stop segfaults.
3582 2002-01-07 15:11  simon
3584         * key.c:
3585         Fix zero-termination bug in hash function.
3587 2002-01-07 13:37  ajgough
3589         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3590         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3592 2002-01-07 11:53  brentdax
3594         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3595         (:add{foo}) and a new deleting thing (:rem{foo})
3597 2002-01-07 11:43  simon
3599         * Configure.pl:
3600         Gobble the + before concatenating.
3602 2002-01-07 03:53  dan
3604         * Makefile.in: Dependency fix for new ops setup.
3606 2002-01-07 03:33  jgoff
3608         * classes/perlarray.pmc: Add negative indices, and fix a small
3609         allocation problem.
3611 2002-01-06 23:54  ajgough
3613         * hints/os2.pl: Makes the hints file take account of ldflags and
3614         ccflags being split.  This hints file is still very specific to
3615         builds with gnu tools, but a proper solution can wait.   Thanks to
3616         Nick Burch.
3618 2002-01-06 22:12  dan
3620         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3621             -changes Parrot::OpLib::core's dependencies to reflect the new
3622         selectable ops files    -allows some of the special forms of 'goto'
3623         inside the PREAMBLE of an opcode file
3625         Courtesy of "Brent Dax" <brentdax@cpan.org>
3627 2002-01-06 19:59  simon
3629         * Makefile.in:
3630         *cough*
3632 2002-01-06 18:19  dan
3634         * classes/perlhash.pmc: Fix some type issues.
3636         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3638 2002-01-06 18:03  dan
3640         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3641         for a list of opcode files to use.  The default is everything
3642         available except for obscure.ops.
3644         In addition, it makes it so that if your answer to a question
3645         starts with '+', it will concatenate it to the default.  For
3646         example:
3648         What C compiler do you want to use? [cl] +HAHAHA!!!
3650         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3651         is not terribly useful, it is quite useful with things like
3652         command-line flags and the like.
3654         Finally, it contains a couple tweaks so that my syntax-highlighting
3655         editor recognizes some heredocs correctly.  :^)
3657         Courtesy of "Brent Dax" <brentdax@cpan.org>
3659 2002-01-06 17:59  dan
3661         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3663         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3665 2002-01-06 17:58  dan
3667         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3669         Courtesy of Simon Glover <scog@roe.ac.uk>
3671 2002-01-06 17:57  dan
3673         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3674         Compiler directives, etc. in files other than core.ops will now
3675         work.   2.  Compiler warnings will now display the file and line
3676         number of the  opcode file.
3678         Courtesy of "Brent Dax" <brentdax@cpan.org>
3680 2002-01-06 17:52  dan
3682         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3684         Courtesy of Simon Glover <scog@roe.ac.uk>
3686 2002-01-06 17:36  dan
3688         * docs/intro.pod: Lots of updates
3690         Courtesy of Simon Glover <scog@roe.ac.uk>
3692 2002-01-06 02:34  gregor
3694         * interpreter.c:
3695         Add some internal documentation on the theory of operation of the
3696         prederef code.
3698 2002-01-06 02:17  gregor
3700         * interpreter.c:
3701         Removed unnecessary include.
3703 2002-01-05 12:37  simon
3705         * classes/.cvsignore:
3706         Ignore generated .h files.
3708         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3710 2002-01-05 12:37  simon
3712         * Configure.pl:
3713         Make lcc happier by adding a dummy structure.
3715         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3717 2002-01-05 12:35  simon
3719         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3720         Make perlundef work. (And coincidentally stop segfaults in the
3721         tests :)
3723         Courtesy of: Jason Gloudon <perl@gloudon.com>
3725 2002-01-05 04:59  dan
3727         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3729 2002-01-05 04:55  jgoff
3731         * classes/perlhash.pmc: Added perlhash class definition
3733 2002-01-05 04:48  dan
3735         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3737         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3739 2002-01-05 03:57  jgoff
3741         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3742         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3743         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3744         t/pmc/pmc.t: Initial hash commit.
3746         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3747          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3748         set_{integer,number,string}_index_s
3750         This does not yet do collision resolution, but will soon.
3752 2002-01-05 02:54  dan
3754         * interpreter.c: More unsigned fixes
3756         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3758 2002-01-04 22:13  dan
3760         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3761         test programs happier.
3763         Courtesy of "Jason Diamond" <jason@injektilo.org>
3765 2002-01-04 19:00  dan
3767         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3768         separate things
3770 2002-01-04 18:27  dan
3772         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3773         Fixes to get things configuring and building on Win32 Native.
3775         Courtesy of "Jason Diamond" <jason@injektilo.org>
3777 2002-01-04 17:39  dan
3779         * hints/vms.pl: debug cleanup
3781 2002-01-04 16:53  dan
3783         * docs/parrot.pod:  The enclosed patch brings the list of
3784         documentation in parrot.pod
3785          up to date.
3787         Courtesy of Simon Glover <scog@roe.ac.uk>
3789 2002-01-04 16:47  dan
3791         * test_main.c, Parrot/Jit/i386-linux.pm,
3792         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3793         off warnings..
3795         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3797 2002-01-04 16:44  dan
3799         * Configure.pl, Makefile.in: Fixed linking to use linker.
3801         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3803 2002-01-04 16:39  dan
3805         * io/io_stdio.c: Added CVS tag info
3807 2002-01-04 16:35  dan
3809         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3810         isn't it
3812 2002-01-04 16:26  dan
3814         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3815         Tokenizer test
3817         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3819 2002-01-04 16:17  dan
3821         * chartypes/unicode.c: Silence some warnings.
3823         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3825 2002-01-04 16:09  dan
3827         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3828         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3829         into generated files
3830            but the $Id$ string gets mangled when it's committed.
3831            This patch fixes the existing .pmc files and fixes genclass.pl.
3833          - Makes capitalization in .pmc header match actual filenames
3835          - The command for calling genclass.pl in vtables.pod is incorrect,
3836            since it assumes you're running in classes/ but genclass.pl
3837         assumes
3838            it's being run from the main directory. I changed genclass.pl to
3839         not
3840            care.
3842         Courtesy of Steve Fink <steve@fink.com>
3844 2002-01-04 03:57  dan
3846         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3847         me--I *had* the files:wq!
3849 2002-01-04 03:40  dan
3851         * MANIFEST: Whoops--remove files not really there
3853 2002-01-04 03:37  dan
3855         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3856         my sig adds a new_stack() function to take care of the allocation
3857         and setup of "generic" stacks.
3859         Courtesy of "Brent Dax" <brentdax@cpan.org>
3861 2002-01-04 02:36  dan
3863         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3864         and so
3865          writes a load of junk in core_ops.pod. Applied patch fixes.
3867         Courtesy of Simon Glover <scog@roe.ac.uk>
3869 2002-01-04 02:35  dan
3871         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3872         logical-or is using get_integer instead of get_bool for logical
3873         operations. This patch corrects that.
3875         Perlnum and perlstring have working get_bool's, so the default
3876         logical_or and logical_and should be sufficient. The empty methods
3877         are pointed to the default logical_or.
3879         Courtesy of Jason Gloudon <perl@gloudon.com>
3881 2002-01-04 02:31  dan
3883         * Makefile.in: docs/Makefile should be removed by realclean, but
3884         isn't
3886         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3888 2002-01-04 02:29  dan
3890         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3892         Courtesy of Steve Fink <steve@fink.com>
3894 2002-01-04 00:51  dan
3896         * docs/vtables.pod: More docs
3898         Courtesy of Steve Fink <steve@fink.com>
3900 2002-01-04 00:47  dan
3902         * Configure.pl: Updated 64-bit patch
3904         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3906 2002-01-04 00:43  dan
3908         * Configure.pl: 64-bit Fix.
3910         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3912 2002-01-03 22:37  dan
3914         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3915         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3916         some buffering work.       Additional work on other layers.
3918         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3920 2002-01-03 19:41  gregor
3922         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3923         Updated copyright messages on top-level files.
3925 2002-01-03 04:23  robert
3927         * make.pl: Add author information.  Bonsai test.
3929 2002-01-03 04:02  dan
3931         * io/io_os.c: Twig Bonsai
3933 2002-01-03 03:45  dan
3935         * io/: io_os.c, io_os.c: Twig Bonsai
3937 2002-01-03 03:41  dan
3939         * io/io_os.c: Twig Bonsai
3941 2002-01-02 21:42  gregor
3943         * packfile.c, include/parrot/packfile.h:
3944         Get rid of warnings in packfile.[hc]
3946 2002-01-02 20:39  gregor
3948         * manicheck.pl:
3949         Bracketed translated patterns with ^ and $.
3951 2002-01-02 20:11  dan
3953         * io/io_os.c: silence a warning
3955 2002-01-02 19:52  grunblatt
3957         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3958         op_assembly to jit_struct.h, so that we get the real number of ops.
3959          Removed some warnings.
3961 2002-01-02 19:31  tom
3963         * string.c: Fix string transcoding so that it actually works.
3965         Patch from Peter Gibbs <peter@emkel.co.za>
3967 2002-01-02 19:20  gregor
3969         * manicheck.pl:
3970         A program to check the MANIFEST file, accounting for .cvsignore
3971         files.
3973 2002-01-02 19:19  dan
3975         * t/harness: twig bonsai
3977 2002-01-02 19:13  dan
3979         * t/harness: twig bonsai
3981 2002-01-02 18:54  dan
3983         * t/harness: Tweak to test Bonsai
3985 2002-01-02 16:27  dan
3987         * Configure.pl: Allow 64-bit build of parrot on systems with a
3988         mixed 32/64 bit perl
3990         Courtesy of David M. Lloyd <dmlloyd@tds.net>
3992 2002-01-02 15:33  simon
3994         * MANIFEST, docs/Makefile:
3995         Fixed up MANIFEST. (And I removed the Makefile in docs/)
3997         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3999 2002-01-02 13:51  simon
4001         * Configure.pl:
4002         Die on broken manifest.
4004 2002-01-02 13:48  simon
4006         * jit2h.pl, examples/assembly/mops.pasm:
4007         Clear up JIT warnings.
4009         Courtesy of: Nick Clark <nick@unfortu.net>
4011 2002-01-02 04:10  dan
4013         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4014         only once, so new interp creation works again
4016         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4018 2002-01-02 03:32  dan
4020         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4021         moment.
4023 2002-01-02 00:55  dan
4025         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4026         io/io_os.c: Initial IO system patches
4028         Courtesy of <mrjoltcola@mindspring.com>
4030 2002-01-01 22:55  ajgough
4032         * classes/default.pmc: On second thoughts, and some prodding, the
4033         set_* methods now only set the appropriate part of the cache, and
4034         do nothing else.
4036 2002-01-01 22:29  ajgough
4038         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4040          set_* create appropriate Perl* result.
4041          get_* simply grabs needed bit of cache.*_val
4043          Other methods do the rightest thing I can think of, at the moment.
4045          None yet cope with overflow, the modulus operation needs to be
4046         checked as
4047         I don't know quite which semantics we really want.
4049         Not tested yet.
4051 2002-01-01 20:23  dan
4053         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4054         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4055         rid of unneeded tmp var and eliminated const from encode prototype
4056         since it does make changes to the string.
4058         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4060 2002-01-01 20:11  dan
4062         * Makefile.in: Make clean now tosses pdump.o
4064         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4066 2002-01-01 19:49  dan
4068         * pdump.c, test_main.c: Warnings cleanup
4070         Courtesy of Josh Wilmes <josh@sky.net>
4072 2002-01-01 19:45  dan
4074         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4075         hints/mswin32.pl, languages/jako/Makefile.in,
4076         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4077         platforms
4079         Courtesy of "Jason Diamond" <jason@injektilo.org>
4081 2002-01-01 19:41  dan
4083         * include/parrot/register.h: Clean up some warnings
4085         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4087 2002-01-01 19:10  simon
4089         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4090         Hack-around to enable compilation of code using vtable ops.
4092 2002-01-01 18:43  dan
4094         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4095         checks on unsigned things
4097         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4099 2002-01-01 18:26  dan
4101         * runops_cores.c: More warning silences.
4103         Courtesy of Nicholas Clark <nick@unfortu.net>
4105 2002-01-01 18:25  dan
4107         * trace.c: Shuts up a warning.
4109         Courtesy of Nicholas Clark <nick@unfortu.net>
4111 2002-01-01 18:24  dan
4113         * encodings/singlebyte.c: Clean up some warnings.
4115         Courtesy of Nicholas Clark <nick@unfortu.net>
4117 2002-01-01 18:20  dan
4119         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4120         thunk it?
4122         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4124 2002-01-01 18:17  dan
4126         * packfile.c: Warning cleanup
4128         Courtesy of Nicholas Clark <nick@unfortu.net>
4130 2002-01-01 17:53  dan
4132         * string.c: New string size should be based on output encoding's
4133         size, not input encoding's size.
4135         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4137 2002-01-01 17:22  dan
4139         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4140         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4141         include/parrot/interpreter.h, include/parrot/memory.h,
4142         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4143         Warnings fixups.
4145         Courtesy of Chip Turner <cturner@redhat.com>
4147 2002-01-01 17:09  dan
4149         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4150         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4151         now unsigned, as is proper.
4153         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4154         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4156 2002-01-01 16:59  dan
4158         * include/parrot/trace.h: Useless debugging prototype removed
4160         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4162 2002-01-01 16:58  dan
4164         * MANIFEST: We forgot a file.
4166         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4168 2002-01-01 03:53  dan
4170         * Configure.pl: Okay, I give. Removed some warnings because the
4171         darned system headers were triggering them. Sloppy, sloppy
4172         coding...
4174 2002-01-01 03:48  dan
4176         * config_h.in: Add in an unsigned INTVAL.
4178         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4180 2002-01-01 03:46  dan
4182         * global_setup.c: Clean up some compiler warnings.
4184         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4186 2002-01-01 03:43  dan
4188         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4189         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4190         include/parrot/op.h: Cleaned up some things to make the compiler
4191         happier.
4193         Courtesy of Nicholas Clark <nick@unfortu.net>
4195 2002-01-01 03:14  dan
4197         * Configure.pl: Quad updates.
4199         Courtesy of Nicholas Clark <nick@unfortu.net>
4201 2001-12-31 22:53  dan
4203         * include/parrot/op.h: Typedef had parameters backwards. Threw
4204         core.ops for a big whiny warnings loop.
4206 2001-12-31 22:37  dan
4208         * Makefile.in, resources.c: Tweaks to try and get things to build
4209         in the right order.
4211 2001-12-31 21:58  dan
4213         * Configure.pl: Stupid thinko fix
4215 2001-12-31 21:34  dan
4217         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4219         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4221 2001-12-31 21:32  dan
4223         * Configure.pl: Fix for non-gcc systems
4225 2001-12-31 20:22  dan
4227         * interpreter.c: Tweak so we can build on non-JIT platforms
4229 2001-12-31 20:11  dan
4231         * Configure.pl: Force the time on some copied files to be 'now' to
4232         make the Win builds much less annoying.
4234         Courtesy of "Jason Diamond" <jason@injektilo.org>
4236 2001-12-31 20:07  dan
4238         * Configure.pl: Nuke all object files in the parrot tree that
4239         matter when configuring.  Shouldn't be necessary with good
4240         dependencies in the makefile, but we don't have those yet.
4242 2001-12-31 20:00  gregor
4244         * chartypes/unicode.c:
4245         Silence unused variable warnings.
4247 2001-12-31 19:40  dan
4249         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4251 2001-12-31 19:37  gregor
4253         * interpreter.c, jit.c, include/parrot/jit.h:
4254         Created a prototype for JIT functions and used it in interpreter.c.
4256 2001-12-31 19:31  dan
4258         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4259         detection) with really cranky warnings if we find we're using it.
4261         Courtesy of: Nicholas Clark <nick@unfortu.net>
4263 2001-12-31 18:01  gregor
4265         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4267         Fixed a few warnings wrt prototypes, etc.
4269 2001-12-31 17:23  dan
4271         * string.c: Silenced most of the compiler whines
4273 2001-12-31 17:15  gregor
4275         * Configure.pl:
4276         Get the ccname from either ccname or just cc config var.
4278 2001-12-31 17:14  gregor
4280         * Parrot/Op.pm, lib/Parrot/Op.pm:
4281         Another intermediate opbody notation. Could come in handy. Explicit
4282         types.
4284 2001-12-31 17:05  dan
4286         * string.c: Minor warnings update
4288 2001-12-31 17:00  dan
4290         * include/parrot/string.h: Warnings cleanup
4292 2001-12-31 16:00  simon
4294         * encodings/utf8.c, include/parrot/encoding.h:
4295         Remove a couple more.
4297 2001-12-31 15:58  simon
4299         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4300         include/parrot/op.h:
4301         Rid ourselves of a few warnings.
4303 2001-12-31 15:32  dan
4305         * Configure.pl: Made GCC ever so much pickier.
4307         Switch list courtesy of Jarkko.
4309 2001-12-31 15:22  dan
4311         * string.c: Tightened up initial allocation.
4313         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4315 2001-12-31 06:48  dan
4317         * Configure.pl: Minor Windows tweak
4319 2001-12-31 05:32  dan
4321         * core.ops: Unused temp variable tossed.
4323         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4325 2001-12-31 05:09  grunblatt
4327         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4328         supported plataforms
4330 2001-12-31 03:05  dan
4332         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4333         platform-independent quote substitution for the makefiles.
4334         Hopefully this'll make the Win32 builds happier.
4336 2001-12-30 21:08  dan
4338         * string.c, include/parrot/string.h: More string system tweaks.
4340         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4342 2001-12-30 20:45  dan
4344         * core.ops: Some pod cleanup
4346         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4348 2001-12-30 20:22  ajgough
4350         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4351         we aren't using them right now.  Clarified the workings of set Px,
4352         Py and clone Px, Py.
4354 2001-12-30 20:15  grunblatt
4356         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4357         Added readjit() to read *.jit files Updated core.jit to the new
4358         set_n_i
4360 2001-12-30 20:14  ajgough
4362         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4364 2001-12-30 19:52  dan
4366         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4367         include/parrot/trace.h, platforms/generic.c: Compiler whine
4368         cleanups
4370         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4372 2001-12-30 19:13  dan
4374         * Configure.pl, Makefile.in: Make GCC pickier by default.
4376         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4378 2001-12-30 18:41  dan
4380         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4381         ntoi opcodes to sets.
4383         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4385 2001-12-30 17:58  gregor
4387         * Makefile.in:
4388         'make' no longer builds the mops test. Use 'make mops' for that. To
4389         run the test, you can do 'make mopstest'.
4391 2001-12-30 17:30  gregor
4393         * Makefile.in:
4394         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4395         Gregor.
4397 2001-12-30 17:26  gregor
4399         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4400         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4401         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4402         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4403         Build enhancements. Originally to support building shared
4404         libraries, but now of broader impact.
4406           * .cvsignore: Ignore the blib/ directory, about which more later.
4408           * Configure.pl:
4410               * Got rid of TAB formatting and lined a few things up.
4412               * Added header comment with CVS Id variable, and a few other
4413                 block header comments.
4415               * Uses new Parrot::BuildUtil module to determine the Parrot
4416                 version.
4418               * Reworded a few messages, added a couple, and wrapped
4419         messages
4420                 to 79 columns.
4422               * Added 2002 to the Copyright statement.
4424               * Added new configure variables: VERSION, MAJOR, MINOR and
4425         PATCH
4427               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4428         greater
4429               than 5.6.0, but the comment implies it isn't.
4431           * Makefile.in:
4433               * Added $(SO), $(A) and $(AR_CRS) defines for library
4434         building.
4436               * Added $(RM_RF) define for removing directory trees
4438               * Grouped generated files into two classes: "sticky" (made by
4439         configure,
4440                 persisting across 'make clean') and 'fluid' (made during
4441         the build
4442                 process, deleted by 'make clean').
4444               * Added header comments.
4446               * Added target for test_prog linked with shared library.
4448               * Added rules to build shared libraries in blib/lib. The
4449         libraries are
4450                 built with trailing version numbers in their file names,
4451         and then
4452                 symbolic links are created for shorter and no version tag
4453         variants.
4455               * Added some missing dependencies
4457               * Added some missing 'make clean' targets.
4459               * Added 'make realclean' target that deletes files created by
4460                 Configure.pl (including Makefile), forcing a re-configure.
4462               * Added a 'status' CVS target.
4464           * VERSION: New file, contains only the version. This version
4465         number is
4466             propagated to a few places, such as the core oplib version
4467         number. This
4468             reduces the amount of coordination that has to happen to get
4469         version
4470             number stuff throughout the tree in sync and updated prior to
4471         cutting
4472             a new release. Feel free to grep for '0.0.3' to see the other
4473         files
4474             that contain the version number (but, do that in a fresh CVS
4475         copy, or
4476             after doing 'make realclean').
4478           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4479         PARROT_*_VERSION,
4480             since the oplib and Parrot itself share a version number now.
4481         Added
4482             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4483         (a
4484             string).
4486           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4487         of
4488             specifying the version by hand. Non-core oplibs will set this
4489         to
4490             a quoted dot-string with three natural number components
4491         without
4492             leading zeros.
4494           * interpreter.c: Make use of PARROT_VERSION to simplify some
4495         sprintf()s, and
4496             to get the complete version number in the resulting strings
4497         (including the
4498             new PATCH portion).
4500           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4501         the
4502             generated file.
4504           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4506           * ops2c.pl: Account for the PATCH version, too. This affects the
4507         name of the
4508             oplib init function, and the oplib info struct initializer.
4510           * Parrot/BuildUtil.pm: New file for reading in and validating the
4511         contents of
4512             the new VERSION file. Other build utilities could go here in
4513         futuer.
4515           * Parrot/OpsFile.pm:
4517               * Allow three components in version number, and require that
4518         the value
4519                 be in double quotes.
4521               * Allow "VERSION = PARROT_VERSION", substituting the shared
4522         Parrot
4523                 VERSION in that case.
4525           * include/parrot/oplib.h: Add the patch_version member.
4527 2001-12-30 12:16  simon
4529         * MANIFEST, Makefile.in:
4530         More stuff forgotten from MANIFEST.
4532 2001-12-30 12:13  simon
4534         * MANIFEST:
4535         Missing JIT file.
4537 2001-12-30 12:12  simon
4539         * jit2h.pl:
4540         Safety first.
4542 2001-12-30 12:12  simon
4544         * Makefile.in:
4545         Gragh.
4547 2001-12-30 12:04  simon
4549         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4550         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4551         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4552         include/parrot/string.h, t/op/string.t:
4553         * Expand the strings test suite to be more complete * Make string
4554         commands more consistent (i.e, now the only string command that
4555         actually changes the original is chopn) * Significantly reduce the
4556         number of memory allocations and eliminate reallocations.
4558         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4560 2001-12-29 22:12  dan
4562         * interpreter.c, key.c, register.c, stacks.c, string.c,
4563         test_main.c, trace.c: Updates to match the coding standards.
4565         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4567 2001-12-29 20:42  grunblatt
4569         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4570         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4571         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4572         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4573         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4574         Kitover <caelum@debian.org>
4576 2001-12-28 21:20  dan
4578         * core.ops: Okay, now print takes a preceding file handle.
4580         I feel so dirty now.
4582 2001-12-28 20:46  dan
4584         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4585         changing the open op to use fopen under the hood.
4587         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4589 2001-12-28 18:20  ajgough
4591         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4592         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4593         include/parrot/exceptions.h, include/parrot/string.h,
4594         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4595         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4596         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4597         to hold tests specific to PerlStrings, as the pmc.t file is taking
4598         too long to run and slowing down my thought processes.
4600         Changes to strings.c etc to take string functions.
4602         Some changes to the strings docs, but not yet complete.
4604         Also, PerlString was copying pointers to strings, rather than
4605         strings themselves, so some action-at-a-distance bugs were creeping
4606         in, I think I've fixed this so everything works nicely.
4608 2001-12-28 04:56  gregor
4610         * examples/assembly/pmcmops.pasm:
4611         PMC-using version of mops.pasm.
4613         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4615 2001-12-28 04:56  gregor
4617         * examples/assembly/.cvsignore:
4618         Small tinkering. Removed old stuff, etc.
4620 2001-12-28 01:26  gregor
4622         * examples/mops/mops.scheme:
4623         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4624         to the very un-scheme-like implementation.
4626 2001-12-28 01:19  gregor
4628         * examples/mops/mops.c:
4629         Some people's picky compilers don't like us redefineing time(), so
4630         we call it time_n().  :)
4632 2001-12-28 00:28  gregor
4634         * examples/mops/: README, mops.ps:
4635         Added a PostScript example and a README.
4637 2001-12-27 23:57  gregor
4639         * Makefile.in:
4640         Build the C mops translation in examples/mops/mops.c
4642 2001-12-27 23:56  gregor
4644         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4645         Some translations of mops.pasm into other languages, for inner loop
4646         performance comparisons.
4648 2001-12-27 22:40  gregor
4650         * examples/assembly/mops.pasm:
4651         Fixed erroneous file name in header comment.
4653 2001-12-27 21:18  gregor
4655         * pbc2c.pl:
4656         One-liner to avoid no-op gotos to the next op.
4658 2001-12-27 21:06  gregor
4660         * runops_cores.c:
4661         Fixed -p (profiling). Slow runops core was doing unconditional
4662         tracing, when it should have been checking the flags.
4664 2001-12-27 18:50  ajgough
4666         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4667         classes/perlstring.pmc, include/parrot/chartype.h,
4668         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4669         dded get_digit() to chartypes  * Added string_bool() to strings  *
4670         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4671         to perlstring.pmc  * Tests for above, also a for couple of other
4672         ops without tests
4674         The unicode chartype has only had placeholders added for get_digit,
4675         string_to_num has been updated to use type->get_digit rather than
4676         the previous ascii-isms.  Some remain, but we need to carefully
4677         define what we mean by a number before we let thousands of code
4678         points act as a minus sign.
4680 2001-12-27 18:32  dan
4682         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4683         compiler warnings.
4685         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4687 2001-12-27 18:23  dan
4689         * t/op/bitwise.t: More tests.
4691         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4693 2001-12-27 17:08  gregor
4695         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4696         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4697         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4698         include/parrot/interpreter.h, include/parrot/oplib.h,
4699         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4700         platforms/win32.c, platforms/win32.h:
4701         Initial code for dynamic loading of oplibs, applied for now to the
4702         loading of the core_prederef oplib when the -P flag is passed to
4703         test_parrot.
4705           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4707           * Makefile.in:
4709               * Added libcore_prederef_0_3.so to the shared target.
4710               * Added build rule for libcore_prederef_0_3.so.
4711               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4712                 to Parrot/OpLib/core.pm, core_ops.c and
4713                 core_ops_prederef.c.
4715           * config_h.in: Added defines for constants used to locate the
4716             core oplib's init function, and the core_prederef oplib for
4717             dynaloading.
4719           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4720             required by Parrot/OpsFile.pm.
4722           * interpreter.c:
4724               * Added init_prederef() and stop_prederef() functions to load
4725                 and unload the core_prederef oplib when we are in prederef
4726                 mode.
4728                 NOTE: In all likelihood, the prederef stuff has a rapidly
4729                 dwindling time-to-live. The JIT should provide vastly
4730         superior
4731                 performance, and loading an alternate set of core_ops isn't
4732                 the real direction for the dynaloading stuff. Loading
4733                 *additional* ops is. It does provide a handy test case for
4734         the
4735                 general idea for now, though.
4737               * Gets the core copcode table, etc. via the core oplibs oplib
4738                 info pointer, as returned by the core oplib's init
4739         function.
4741           * ops2c.pl
4743               * Make use of the version, major version and minor version
4744                 stuff parsed by Parrot/OpsFile.pm
4746               * The only exported symbol in the generated files is the init
4747                 function now, since that returns an oplib info struct
4748                 pointer, and all the important stuff can be found there.
4750           * ops2pm.pl: Put the oplib version in the generated .pm file.
4752           * test_main.c: Small changes necessitated by changes in the names
4753             of some members of the interpreter struct.
4755           * trace.c: Small changes necessitated by changes in the names
4756             of some members of the interpreter struct.
4758           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4759             ops are found.
4761           * include/parrot/interp_guts.h: Small changes necessitated by
4762             changes in the names of some members of the interpreter struct.
4764           * include/parrot/interpreter.h: Include the new
4765             include/parrot/oplib.h header. Small changes to the oplib-
4766             related members.
4768           * include/parrot/oplib.h: Define the type of the oplib init
4769             function, and the struct type for the oplib info.
4771           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4772             since not all platforms have it. For those that do, a default
4773             second argument is provided.
4775 2001-12-26 05:12  gregor
4777         * Configure.pl:
4778         Make jitarch calculation not get tripped up by extra components to
4779         archname.
4781 2001-12-24 21:23  gregor
4783         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4784         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4785         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4786         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4787         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4788         Some more JIT work from Daniel Grunblatt.
4790           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4791         to C
4792             functions.
4794           * Added JUMP(END) to place the number of bytes to the end of the
4795         current
4796             op.
4798           * The *.jit files syntax changed.
4800           * Added jit/i386/lib.jit to place handly functions as jump that
4801         take as
4802             argument the address where is the opcode number to jump to.
4804           * There is a bug at some point, but I will start writing
4805             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4806         have use
4807             calls, which make the jit as slow as the interpreter.
4809         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4811 2001-12-24 03:46  dan
4813         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4814         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4815         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4816         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4817         Perls before 5.6.0 don't like it.
4819 2001-12-22 16:02  ajgough
4821         * t/op/stacks.t: stopped skipping tests we can run now.  added
4822         clonep tests.
4824 2001-12-21 21:13  gregor
4826         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4827         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4828         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4829         Fixed some package name goofs.
4831         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4833 2001-12-21 19:32  gregor
4835         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4836         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4837         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4838         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4839         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4840         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4841         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4842         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4843         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4844         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4845         pbc2c.pl.
4847           * Removed ops2c-prederef.pl
4849           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4851           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4852             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4853             for old functionality of ops2c-prederef.pl), and
4854             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4856             "OpTrans" == "Op Transformation"
4858           * Makefile.in modifications to call "ops2c.pl C" where it used
4859             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4860             to be "ops2c-prederef.pl".
4862           * core.ops and obscure.ops changes to syntax. Semantics are
4863             identical with previous version:
4865               return HALT         -->  HALT()
4866               return AUTO         -->  goto NEXT()
4867               return RETREL(...)  -->  goto OFFSET(...)
4868               return RESTART(*)   -->  restart NEXT()
4870             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4871             for dest-less branch ops replaced with new notation "goto
4872         POP()",
4873             which uses the new pop_dest() function in stacks.c. This also
4874             allowed these ops to become 'inline' ops, since they no longer
4875             have local variables.
4877             The 'ret' op also became simplified to just "goto POP()", and
4878             also became an inline op.
4880           * interpreter.c reflects the change in type name:
4882               prederef_op_func_t   -->  op_func_prederef_t
4884             that occurred in include/parrot/op.h
4886           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4887             "return AUTO".
4889           * ops2c.pl is now generic. Its first argument is the last
4890             package name component of a subclass of Parrot::OpTrans. These
4891             subclasses all have full names of the form Parrot::OpTrans::*.
4892             An instance of the class is created and later consulted for
4893             various bits of information needed to generate the C code.
4895           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4896             contain its transformation rules.
4898           * stacks.c has a new function pop_dest() that pops a destination
4899             off the control stack. include/parrot/stacks.h has the
4900         prototype.
4902           * Parrot/Op.pm now supports the syntax generated by
4903         Parrot::OpsFile
4904             for the "goto POP" case.
4906             Also, the source() method now expects its second argument to be
4907             an object that ISA Parrot::OpTrans. Methods of this object are
4908             called to perform the substitutions.
4910           * Parrot/OpsFile.pm supports the change in notation mentioned
4911             above.
4913           * docs/intro.pod reflects these changes.
4915           * include/parrot/op.h: Renamed type prederef_op_func_t to
4916             op_func_prederef_t because it made the implementation of the
4917             shared ops2c.pl easier.
4919 2001-12-21 13:47  gregor
4921         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4922         Both test_parrot (via test_main.c) and the intepreter itself (via
4923         interpreter.c) use the JIT_CAPABLE config to decide whether to
4924         actually attempt JIT operation, or to complain.
4926 2001-12-20 23:25  gregor
4928         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4929         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4930         Changes to the format of *.ops files. An attempt to provide hints
4931         for future opfunc processing logic that wants to know if an opfunc
4932         is simple enough to JIT (e.g.) inline, or not.
4934         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4935         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4936         info.
4938 2001-12-20 21:28  gregor
4940         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4941         jit/i386/core.jit:
4942         More JIT stuff:
4944           * A fix to Gregor's last Configure.pl update.
4946           * Remove the need for hardcoded "\n" at the end of the "%f"
4947             format for printing floating-point numbers.
4949           * New, improved *.jit syntax for references to registers,
4950             e.g. INT_REG[n].
4952           * Support for C() improved.
4954         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4956 2001-12-20 16:55  dan
4958         * MANIFEST: Added jit.c to the manifest.
4960 2001-12-20 15:24  simon
4962         * jit2h.pl:
4963         Off-by-one error fixed.
4965 2001-12-20 14:18  simon
4967         * jit/i386/core.jit:
4968         Just a noop. It's the only machine code I know.
4970 2001-12-20 13:10  gregor
4972         * Configure.pl, Makefile.in, jit2h.pl:
4973         Attempt to fix Win32 builds.
4975           * No more empty braces in include/parrot/jit_struct.h
4977         Also:
4979           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4980         ${archname}
4981             does not.
4983 2001-12-20 11:56  simon
4985         * Makefile.in:
4986         De-cp
4988 2001-12-20 01:57  gregor
4990         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4991         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4992         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4993         include/parrot/.cvsignore, include/parrot/interpreter.h,
4994         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4995         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4996         lib/Parrot/Jit/i386-nojit.pm:
4997         Initial JIT implementation.
4999           * Enabled with test_parrot -j. 20x speed boosts seen.
5001           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5003           * More to come.
5005         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5007 2001-12-20 01:53  jgoff
5009         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5010         core.ops - Removed key operators, they should be hidden from the
5011         assembler.  t/op/key.t - No need to test the nonexistent key
5012         operators.
5014 2001-12-20 00:13  ajgough
5016         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5017         that asking for type of entry at depth causes segfault as stack is
5018         zero based, fixed cmp in core.ops to reflect this.  Last test is
5019         skipped as we don't do exceptions right yet.
5021 2001-12-19 19:11  ajgough
5023         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5024         non-being was causing Irix "issues".
5026 2001-12-19 03:37  jgoff
5028         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5029         004_combined.t: Changed tests to make sure they pass with the
5030         addition of the clone operator.
5032 2001-12-18 20:06  gregor
5034         * interpreter.c, include/parrot/interp_guts.h:
5035         Performance improvements to the predereferencing code path
5036         suggested to me over lunch yesterday by my friend John Kennedy.
5037         The goal is to remove the additional test in the inner loop that
5038         was checking for NULL to decide whether or not to call the
5039         prederef() function. Also moved pc & pc_prederef syncing outside
5040         the inner loop.
5042           * Changed the prototype of the prederef() function in
5043             interpreter.c to match that of an opfunc.
5045           * Instead of initializing the prederef void * array with NULL,
5046             we initialize it with pointers to prederef().
5048           * prederef() now returns the prederef_pc passed in, so that
5049             after predereferencing, the same location is executed, but now
5050             with the real code being called.
5052         Thanks to: John Kennedy
5054 2001-12-18 19:59  ajgough
5056         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5057         (including some more in the skipped string -> int tests).
5059 2001-12-18 07:06  jgoff
5061         * MANIFEST: Forgot to add classes/perlarray.pmc
5063 2001-12-18 07:05  jgoff
5065         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5066         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5067         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5068         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5069         t/pmc/pmc.t: Big update...  Makefile.in - Added
5070         classes/perlarray.pmc core.ops - Added new series of set() ops for
5071         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5072         Added perlarray.pmc classes/*.pmc - Added
5073         set_{integer,number,string}_index and
5074         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5075         type t/op/pmc.t - Added basic array test
5077         classes/perlarray.pmc - Added
5079 2001-12-17 05:29  jgoff
5081         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5082         generator to use clone operator instead of set Px,Py
5084 2001-12-17 05:25  jgoff
5086         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5087         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5088         PMC,PMC operator. Uses the clone() vtable entries.
5090 2001-12-17 04:51  jgoff
5092         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5093         entry
5095 2001-12-17 04:41  jgoff
5097         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5098         directory...
5100 2001-12-17 04:41  jgoff
5102         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5104 2001-12-17 04:39  jgoff
5106         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5107         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5108         t/
5110 2001-12-17 04:27  jgoff
5112         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5113         Admittedly it's a little thin on true OO, but the algorithms are
5114         the key.
5116 2001-12-17 04:24  jgoff
5118         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5119         003_generator.t, 004_combined.t: Much more comprehensive test suite
5120         for the codegen et al
5122 2001-12-17 04:22  jgoff
5124         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5125         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5126         key handling
5128 2001-12-17 04:20  jgoff
5130         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5131         more comprehensive.
5133 2001-12-17 04:17  jgoff
5135         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5136         changes to the new compiler
5138 2001-12-17 04:11  jgoff
5140         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5141         files to Miniperl/
5143 2001-12-16 14:11  simon
5145         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5146         t/pmc/pmc.t:
5147         Fix bogus assumption that multiplying an integer by an integer
5148         yields an integer.
5150 2001-12-16 12:48  simon
5152         * make_vtable_ops.pl:
5153         Fixed op exploder.
5155 2001-12-16 12:45  simon
5157         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5158         Expand multimethod vtable ops.
5160 2001-12-16 12:04  simon
5162         * Makefile.in:
5163         Added 'cvsclean' which doesn't zap CVS/* directories.
5165 2001-12-15 01:50  dan
5167         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5168         indeed!
5170         Thanks to grunblatt fom #parrot for the catch
5172 2001-12-15 01:39  dan
5174         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5175         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5176         languages/miniperl/Makefile.in,
5177         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5178         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5179         tweaks.
5181         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5183 2001-12-14 17:39  dan
5185         * t/op/trans.t: More trans tests.
5187         Courtesy of: Simon Glover <scog@roe.ac.uk>
5189 2001-12-14 07:41  robert
5191         * make.pl: - define MAKE macro - topological sort and subgraph
5192         order - start of timestamp stuff   (still badly broken)
5194 2001-12-14 06:06  jgoff
5196         * optimizer.pl: Hopefully this should do the trick..
5198 2001-12-14 06:04  jgoff
5200         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5202           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5204           The optimizer performs its work on a file post-macro expansion.
5205           Run it on a .pasm file, preferably with some trivially reducible
5206         operations
5207           like 'add I0,5,-6' or 'mul I0,I1,0'
5209 2001-12-14 05:48  robert
5211         * Makefile.in: case error EXE -> exe
5213 2001-12-14 05:42  robert
5215         * Makefile.in: remove legacy PDISASM macro
5217 2001-12-14 04:01  dan
5219         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5220         better Win building
5222         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5224 2001-12-13 22:03  dan
5226         * Configure.pl, Makefile.in, Parrot/Test.pm,
5227         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5228         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5229         can change it without having to change the world.
5231 2001-12-13 21:57  dan
5233         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5234         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5235         file/line/package to interp structure, with ops to get and set
5236         them. Now we can know where we are!
5238 2001-12-13 19:43  dan
5240         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5241         WinXP builds work out of the box
5243 2001-12-13 17:05  dan
5245         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5246         name again--makes case-insensitive systems much happier.
5248 2001-12-13 16:21  dan
5250         * core.ops, key.c, string.c, test_main.c, trace.c,
5251         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5252         compiler warnings
5254         Courtesy of: Josh Wilmes <josh@sky.net>
5256 2001-12-13 13:33  gregor
5258         * languages/jako/Makefile.in:
5259         Improved the method of calling the assembler.
5261 2001-12-13 13:30  gregor
5263         * languages/jako/Makefile.in:
5264         Improve the build process. It now works from the main parrot dir,
5265         and from the languages/jako directory. Now uses the .SUFFIXES
5266         target and generic build rules to reduce clutter in the
5267         Makefile.in.
5269 2001-12-13 13:29  gregor
5271         * languages/jako/.cvsignore:
5272         Ignore the (now generated Makefile), and don't ignore .list files
5273         anymore, since we aren't generating them.
5275 2001-12-13 13:11  gregor
5277         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5278         languages/Makefile.in, languages/jako/Makefile,
5279         languages/jako/Makefile.in:
5280         Added a 'languages' target to the top-level Makefile.in, and
5281         modified the jako build procedure to involve Makefile.in -->
5282         Makefile too (done by Configure.pl).
5284         NOTE: languages/jako and language/scheme are built.
5285         languages/miniperl wasn't building right, so it was left off for
5286         now.
5288 2001-12-13 12:15  gregor
5290         * MANIFEST:
5291         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5292         the MANIFEST.
5294 2001-12-13 12:12  gregor
5296         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5297         ops2c-prederef.pl, ops2c.pl, test_main.c,
5298         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5299         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5300         Welcome to the Just-in-Time Predereferencing Patch!
5302         This patch implements a "predereferencing" mode for parrot. That
5303         means that a lot of the dereferencing you see in DO_OP and in the
5304         opfuncs is done up front (really, JIT) rather than as and each time
5305         we execute each op in the byte code stream.
5307         This works by creating an array of void pointers with the same
5308         number of elements as the byte code array. This array starts out
5309         life zero-initialized.  Each time we go to execute an op, we check
5310         first to see if we have a NULL pointer at *cur_opcode. If so, we
5311         know we haven't done our predereferencing yet (this is the JIT
5312         part), so we call the prederef() function with sufficient args that
5313         it can go look up opfunc pointers and op arg types and put the
5314         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5315         where N is the number of args (counting the op itself as one arg).
5317         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5318         to have inline INTVAL constants.
5320         I've been getting about a 22% speed increase over vanilla code path
5321         when I compile with -O0. Advantage decreases at -O9 here. I tested
5322         with mops.pbc, and also by temporarily putting the -P flag in
5323         Parrot/Test.pm and running all the tests. So, this code is as
5324         correct as the test suite can detect.
5326         Here's how it plays out in the code:
5328           * New script ops2c-prederef.pl
5330             Copy-paste code reuse from ops2c.pl. Modified to expect the
5331         args to give
5332             a void ** cur_opcode and to return a void **.
5334           * Modified ops2c.pl
5336               * opfuncs are now static. Who needs to call them by name from
5337         outside,
5338                 anyway? They are accessed via the opfunc table.
5340               * Some MACRO stuff to make things work whether we prederef or
5341         not. It
5342                 may be possible to get rid of these some day if other folks
5343         agree
5344                 that we should be using CODE object pointers + offsets as
5345         our PC
5346                 rather than raw pointers to either opcode_t's or (void *)'s
5347                 (depending on prederef mode or no).
5349           * core.ops modified to be usable to build both kinds of opfuncs.
5350         For now,
5351             this means:
5353               * calls to push_generic_entry(... cur_opcode ...) were
5354         changed to
5355                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5356         a
5357                 macro that does the right thing in both kinds of ops.c
5358         files.
5360                 This is applicable to the bsr op. If we treated
5361         destinations as
5362                 (Code PMC + local offset) rather than as
5363         pointer-to-memory-somewhere,
5364                 this wouldn't be a big deal. We may need to do that at some
5365         point
5366                 anyway, so that when you jump around and return not only do
5367         you have
5368                 the right PC (pointer, today), but you also have the
5369         thread/interpreter
5370                 knowing what chunk of bytecode it is in at all times
5371         (assuming we'll
5372                 allow reflection, as in ops that query or affect the
5373         current CODE PMC).
5375               * runinterp was modified. Instead of copying the top-level
5376         PackFile struct
5377                 and blasting its byte_code pointer, we simply call runops
5378         on the new
5379                 interp, passing in the pointer to the current interp's code
5380         and the
5381                 offset into that code at which to start (this last arg used
5382         to be a
5383                 pointer PC, now its an offset PC).
5385           * include/parrot/op.h
5387               * new typedef for prederef opfuncs (they return void **)
5389           * include/parrot/interp_guts.h
5391               * New DO_OP_PREDEREF() macro described above.
5393           * include/parrot/interpreter.h
5395               * New prototype of runops() -- see below.
5397               * resume_addr field changed to resume_flag and resume_offset
5398         pair of fields.
5399                 We might be resuming from interp using prederef to one not
5400         or vice-versa,
5401                 so pointers between the two don't play nice together.
5402         Offsets are beautiful.
5404               * New PARROT_PREDEREF_FLAG constant
5406           * interpreter.c
5408               * include "parrot/oplib/core_ops_prederef.h"
5410               * prederef() function described above.
5412               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5413         macro as its core.
5415               * runops() modified to take size_t CODE-relative offset PC
5416         rather than
5417                 pointer PC. This made other things workable and doesn't
5418         seem to have lost
5419                 anything important (IMO).
5421           * test_main.c
5423               * New flag '-P' to enable predereferencing.
5425           * Makefile modified to build core_ops_prederef.c from core.ops
5426         via
5427             ops2c-prederef.pl.
5429             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5431             Added core_ops_prederef$(O) to O_FILES
5433 2001-12-13 12:12  gregor
5435         * languages/jako/MAINTAINER:
5436         Thought it would be nice to put this right in the code...
5438 2001-12-13 04:36  jgoff
5440         * languages/miniperl/Miniperl/Generator.pm: Commented out
5441         debugging, fixed register spillover algorithm
5443 2001-12-13 04:23  jgoff
5445         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5446         line) Restructured a bit of the dependency generator to fix a
5447         different obob bug.
5449 2001-12-13 03:43  robert
5451         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5453 2001-12-13 03:03  jgoff
5455         * make.pl: Added make.pl
5457 2001-12-13 02:44  jgoff
5459         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5460         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5461         special flags...                     - Dies on undefined macros
5462         such as $(PDISASM) in current make                     - Dies on
5463         recursive macro expansions                       (Doesn't test for
5464         mutual or multipart loops)                     - In general it
5465         seems to be a little less lenient...  Missing bits - File
5466         mod/creation times aren't being looked at              - Actions
5467         aren't being taken              - The few funky variables ($@, $<)
5468         aren't being dealt with Bugs - Line numbers are slipping a bit.
5470 2001-12-13 02:29  jgoff
5472         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5473         Reconstructing files to make the parser flow a little better.
5475 2001-12-13 00:51  dan
5477         * resources.c: Be a bit less wasteful with resources that don't
5478         need to be aligned
5480 2001-12-12 18:22  dan
5482         * Makefile.in: D'oh! Fixed looping makefile bug.
5484         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5486 2001-12-12 16:23  jgoff
5488         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5490 2001-12-12 16:22  jgoff
5492         * MANIFEST: Manifest additions for languages/miniperl
5494 2001-12-12 16:19  jgoff
5496         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5497         tests. These are left over from the Scheme suite and shouldn't be
5498         used yet.
5500 2001-12-12 16:18  jgoff
5502         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5503         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5504         modules. Miniperl/ is where the real work gets done.  t/ is largely
5505         vacant because it isn't ready to survive real tests yet.
5507 2001-12-12 16:17  jgoff
5509         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5510         mpc: Final go-round, hopefully.
5512         languages/miniperl/Makefile - Used basically to run tests, as there
5513         is nothing                               here that needs to be
5514         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5515         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5516         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5517         compiler stub
5519 2001-12-12 16:09  dan
5521         * Configure.pl: Setting a variable with the make command name is
5522         useful.
5524 2001-12-12 15:07  simon
5526         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5527         Recursive make considered "ow, don't do that".
5529 2001-12-12 14:45  dan
5531         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5532         non-portable code) Killing builds on Win32 native. Small patch
5533         applied which hopefully fixes it.
5535 2001-12-12 06:12  ajgough
5537         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5539 2001-12-12 06:08  ajgough
5541         * Makefile.in: perl is $(PERL).
5543 2001-12-12 06:00  ajgough
5545         * t/op/integer.t: Added tests to integer.t so that all permutations
5546         of arguments are actually called at some point.
5548 2001-12-12 05:18  ajgough
5550         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5551          Tests for sleep i|ic
5553 2001-12-12 05:09  ajgough
5555         * t/op/stacks.t: Added pushp and popp register stack tests.
5557 2001-12-12 04:51  ajgough
5559         * t/op/stacks.t: Added tests for save and restore, for all register
5560         types.  Let there be Haiku.
5562 2001-12-12 04:27  ajgough
5564         * t/op/basic.t: bsr_i test.  You know you want it.
5566 2001-12-12 02:55  ajgough
5568         * MANIFEST: Added hints/os2.pl to MANIFEST.
5570 2001-12-12 02:52  jgoff
5572         * core.ops, key.c: Final checkin... These are actually the correct
5573         copies.
5575 2001-12-12 02:12  jgoff
5577         * include/parrot/key.h: key.c - Removed a few functions,
5578         generalized set_element_value and element_value         to accept
5579         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5580         core.ops - Modified to accept the new return style.
5582         This is a prelude to adding virtual-table methods to allow hashing
5583         &c. Expect at least one or two more redesigns before this settles
5584         down. However, it still passes the original tests.
5586 2001-12-11 13:35  gregor
5588         * runops_cores.c:
5589         Fixed a typo.
5591 2001-12-11 12:03  gregor
5593         * .cvsignore:
5594         Don't ignore test_prog, but do ignore parrot.
5596 2001-12-11 12:03  gregor
5598         * classes/.cvsignore:
5599         Ignore the generated file default.h
5601 2001-12-11 04:07  jgoff
5603         * key.c: Key source
5605 2001-12-11 04:05  jgoff
5607         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5609 2001-12-11 04:00  jgoff
5611         * core.ops: Added new key aggregate operations to core ops.
5613 2001-12-11 04:00  jgoff
5615         * include/parrot/parrot.h: Added key.h to header list
5617 2001-12-11 03:59  jgoff
5619         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5621 2001-12-11 03:58  jgoff
5623         * Makefile.in: Added implementation of key aggregates.
5625 2001-12-08 23:07  simon
5627         * README:
5628         README good to go.
5630 2001-12-08 23:05  simon
5632         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5633         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5634         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5635         test_prog? What is test_prog?
5637 2001-12-08 22:57  simon
5639         * ChangeLog:
5641         Oops, the changelog commit was on *this* machine.
5643 2001-12-08 22:56  simon
5645         * NEWS:
5646         Updates to NEWS and ChangeLog pre-release.
5648 2001-12-08 22:07  simon
5650         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5651         classes/perlnum.pmc, classes/pmc2c.pl:
5652         Add "default" PMC vtable so you can inherit implied stuff.
5654 2001-12-08 21:24  simon
5656         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5657         docs/vtables.pod, lib/Parrot/PackFile.pm:
5658         Getting the documentation up to scratch.
5660 2001-12-08 21:21  simon
5662         * classes/pmc2c.pl:
5663         Allow inheriting from default class.
5665 2001-12-07 20:43  gregor
5667         * examples/assembly/queens.pasm:
5668         Regenerated the file with the latest jakoc.
5670 2001-12-07 20:29  simon
5672         * core.ops, t/op/stacks.t:
5673         Rename "rotate" to "rotate_up".
5675 2001-12-07 20:15  simon
5677         * t/op/stacks.t:
5678         Some tests for rotate.
5680 2001-12-07 00:55  gregor
5682         * core.ops:
5683         Cast the result of the pointer arithmetic, since without the cast
5684         there are warnings with some compilers, and without the parens
5685         around the pointer arithmetic, precedence breaks the meaning and
5686         causes crashes.
5688 2001-12-06 23:37  simon
5690         * core.ops:
5691         Temporary. I prefer compiler warnings to segfaults, thanks.
5693 2001-12-06 23:34  simon
5695         * runops_cores.c:
5696         Make "trace" work again.
5698 2001-12-06 21:23  dan
5700         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5702 2001-12-06 21:22  dan
5704         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5705         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5707 2001-12-06 19:22  simon
5709         * core.ops:
5710         Yet another "How the *%$! did that compile?" moment.
5712 2001-12-06 18:28  dan
5714         * hints/vms.pl: Fix to build, with a HERE logical required
5716 2001-12-06 17:48  dan
5718         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5719         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5720         changes to the interpreter--flags are now part of the interp
5721         structure.
5723         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5725 2001-12-06 14:02  gregor
5727         * docs/intro.pod:
5728         s/little_languages/languages/ in Jako section.
5730 2001-12-06 13:15  simon
5732         * Makefile.in:
5733         Ensure the documentation gets made.
5735 2001-12-06 13:12  simon
5737         * MANIFEST, docs/intro.pod:
5738         Documentation! Added the "Some Assembly Required" article with
5739         minor updates.
5741 2001-12-06 00:39  simon
5743         * core.ops:
5744         More "eq" support.
5746         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5748 2001-12-06 00:37  simon
5750         * test_main.c:
5751         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5753         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5755 2001-12-06 00:11  tom
5757         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5758         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5759         include/parrot/chartype.h, include/parrot/encoding.h,
5760         include/parrot/parrot.h: Moved string to number conversion code out
5761         of the encoding layer and into the main string layer as neither the
5762         encoding layer nor the character type layer knows enough on it's
5763         own to do the conversion correctly.
5765 2001-12-05 23:12  tom
5767         * Makefile.in: Rebuild the classes directory if any of the object
5768         files for the classes are missing rather than only when perlint.o
5769         is missing.
5771 2001-12-05 19:43  gregor
5773         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5774           * Reworked the constantize_string() stuff a little bit because it
5775         was
5776             puking on things like "\033[H\033[2J\0" (which occurs in the
5777             languages/jako/mandelzoom.jako example).
5779 2001-12-05 19:39  gregor
5781         * languages/jako/: Makefile, mandelzoom.jako:
5782         Added 'mandelzoom' example.
5784 2001-12-05 19:38  gregor
5786         * languages/jako/jakoc:
5787           * Added sleep()
5789           * Changed some instances of die() to confess()
5791 2001-12-05 18:34  gregor
5793         * t/: op/pmc.t, pmc/pmc.t:
5794         s/sting->int/string->int/
5796 2001-12-05 18:08  gregor
5798         * Parrot/.cvsignore:
5799         Ignore PMC.pm
5801 2001-12-05 18:05  gregor
5803         * classes/.cvsignore:
5804         Ignore the generated files.
5806 2001-12-05 17:19  gregor
5808         * pbc2c.pl:
5809           * Reverted recent changes, since they broke the script. Real fix
5810         coming
5811             later.
5813 2001-12-05 17:03  simon
5815         * classes/Makefile.in:
5816         Remember: change Makefile.in, not Makefile. D'oh.
5818 2001-12-05 17:02  simon
5820         * Makefile.in:
5821         Ensure PMC.pm gets remade.
5823 2001-12-05 16:58  simon
5825         * MANIFEST, Makefile.in, classes/Makefile.in,
5826         classes/perlundef.pmc, include/parrot/pmc.h:
5827         Add perlundef class.
5829 2001-12-05 16:45  simon
5831         * core.ops:
5832         Document "new P0, foo"
5834 2001-12-05 16:43  simon
5836         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5837         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5838         Allow assembler to know about PMC class names.
5840 2001-12-04 13:39  ajgough
5842         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5844 2001-12-04 05:02  ajgough
5846         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5847         in perlnum.c
5849 2001-12-04 04:24  ajgough
5851         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5852         broken form of strtod and appropriate tests.  Does not yet check
5853         for overflow.
5855 2001-12-04 01:31  ajgough
5857         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5858         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5859         to extract_num and extract_int string vtables, without this it
5860         would be impossible to have strings with nulls in while still
5861         knowing where they ended.
5863 2001-12-03 18:40  ajgough
5865         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5866         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5867         include/parrot/string.h: Moved pmc string to number conversion into
5868         the string encoding tables.
5870 2001-12-03 00:21  ajgough
5872         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5873         for p-> integer.
5875 2001-12-02 23:09  jgoff
5877         * classes/Makefile.in: Removed some redundant targets.
5879 2001-12-02 19:02  ajgough
5881         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5882         equality macro rather than using perl to generate expected output,
5883         all tests now have <<OUTPUT.
5885 2001-12-02 17:44  ajgough
5887         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5888         for pmc.t as well.  Will probably move macros into another file at
5889         some point, although this might be best left until the tests are
5890         unperled.
5892 2001-12-02 06:16  jgoff
5894         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5895         within Parrot_Perl{Class}_init.
5897 2001-12-02 06:09  jgoff
5899         * classes/Makefile.in: I seem to have removed *$(O) twice..
5901 2001-12-02 05:06  jgoff
5903         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5904         Configure.pl - Removed '-I./include', added classes/Makefile
5905         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5906         Removed old classes/* make stuff                Added target for
5907         classes/Makefile
5909 2001-12-02 04:48  jgoff
5911         * classes/Makefile.in: Going to be used shortly...
5913 2001-12-02 04:40  jgoff
5915         * docs/Makefile: Configure.pl - Added automatic makefile creation
5916         for docs/ and classes/                Removed '-I./include' because
5917         it was getting incorrectly                passed to classes/
5918         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5919         - Removed classes/ build stuff, replaced with classes/Makefile.in
5920                     Added '-I./include' locally docs/Makefile - Should no
5921         longer be used, but I'm not brave enough to do a
5922         cvs delete.
5924 2001-12-02 01:21  ajgough
5926         * t/op/trans.t: Refactored trans math tests to have hard coded
5927         expected return values and be more ready to be unperled at some
5928         point in the future.  Added $fp_equality_macro which is a
5929         "nearly-equal-to" function.
5931 2001-12-02 01:18  ajgough
5933         * Makefile.in: Humph.  People really ought to use Makefile
5934         variables, s/perl/$(PERL)/ throughout.
5936 2001-12-01 18:15  jgoff
5938         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5939         figure out what to do vis-a-vis the lack of snprintf.
5941 2001-11-30 13:14  ajgough
5943         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5944         and integer.t
5946 2001-11-30 13:14  ajgough
5948         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5949         -, else ... form.
5951 2001-11-30 10:36  simon
5953         * core.ops:
5954         Rewrite print_p to do the right thing.
5956 2001-11-30 06:21  jgoff
5958         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5959         concat,               integer/number/string math
5961 2001-11-30 06:20  jgoff
5963         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5964         classes/perlint.pmc - Fixes and expanding for concat and math with
5965         strings classes/perlnum.pmc - Fixes and expanding for concat and
5966         math with strings classes/perlstring.pmc - Fixes and expanding for
5967         concat and math with strings
5969 2001-11-29 15:21  ajgough
5971         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5972         $^X lies, which confused bash which make uses to run things when
5973         doing its stuff.
5975 2001-11-29 04:58  jgoff
5977         * classes/perlstring.pmc: Removed C++-style comments for good
5978         measure
5980 2001-11-29 04:51  jgoff
5982         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5984 2001-11-29 04:28  jgoff
5986         * global_setup.c: Initialize PMC strings
5988 2001-11-29 04:25  jgoff
5990         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5991         string PMCs.
5993 2001-11-29 04:24  jgoff
5995         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5996         files to properly upgrade int to num, do calculations.  Also added
5997         basic string operations. Currently errors out on anything but set
5998         operations, but this will be fixed soon.
6000 2001-11-29 04:22  jgoff
6002         * Makefile.in: PMC .c files weren't getting cleaned out.
6004 2001-11-28 17:00  simon
6006         * t/harness:
6008         Make csh-glob happy.
6010         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6012 2001-11-28 16:40  simon
6014         * classes/perlnum.pmc:
6016         De-C++
6018 2001-11-28 15:22  simon
6020         * string.c:
6022         Fixes Alex's string concat worry.
6024 2001-11-28 14:27  ajgough
6026         * t/op/string.t: test "null onto null" incorrectly passing as it
6027         produced no output.  Output provided.
6029 2001-11-28 11:14  simon
6031         * include/parrot/pmc.h:
6033         Placate AIX.
6035 2001-11-26 21:03  dan
6037         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6039 2001-11-26 17:29  simon
6041         * classes/perlint.pmc:
6043         Various subtle but non-showstopper bugs.
6045 2001-11-26 11:23  simon
6047         * classes/pmc2c.pl:
6049         Replace dependency on Text::Balanced
6051         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6053 2001-11-26 05:22  jgoff
6055         * global_setup.c: Last file that should need to be committed. I
6056         swear.
6058 2001-11-26 05:09  jgoff
6060         * core.ops: Let's try this again... Changes to core.ops required
6062 2001-11-26 04:58  jgoff
6064         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6065         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6066         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6067         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6068         functions classes/perlnum.pmc - Set up basic number functions
6069         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6070         tests against numbers and numbers+integers
6072 2001-11-25 13:18  simon
6074         * Makefile.in:
6075         Windows XP make doesn't like $<
6077 2001-11-25 12:56  simon
6079         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6080         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6081         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6082         examples/assembly/mops_p.pasm:
6083         PMC preprocessor.
6085         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6087         I (Simon) also added a couple more integer methods, but no tests
6088         since I'm a Bad Person.
6090 2001-11-25 08:40  brentdax
6092         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6093         lib/Parrot/OpsFile.pm: Allow _ in op names
6095 2001-11-25 05:54  jgoff
6097         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6098         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6100 2001-11-23 18:27  simon
6102         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6103         Add everything you need to make MOPS use PMCs.
6105 2001-11-23 18:06  simon
6107         * core.ops:
6108         Eh, you'll need this for rewriting mops.pasm.
6110 2001-11-23 17:55  simon
6112         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6113         t/pmc/pmc.t:
6114         More work on integer PMCs.
6116 2001-11-23 17:29  simon
6118         * Makefile.in:
6119         Surprise! Whitespace! HLAGHLAGHLAGH
6121 2001-11-23 17:28  simon
6123         * Makefile.in, ops2c.pl, ops2pm.pl:
6124         Add vtables.ops to the core
6126         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6128 2001-11-22 18:39  simon
6130         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6131         t/pmc/pmc.t:
6132         We can now create PMCs.
6134 2001-11-21 05:49  jgoff
6136         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6138 2001-11-20 16:00  simon
6140         * docs/vtables.pod, include/parrot/pmc.h:
6141         Reorder PMC flags so there's a fixed number of user-defined flags.
6143         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6145 2001-11-19 03:39  jgoff
6147         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6148         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6149         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6150         escaped quotes, and proper                handling of newlines.
6152 2001-11-16 22:03  simon
6154         * classes/perlint.c:
6155         More work on the Perl Integer class. More needed, though.
6157 2001-11-16 21:57  simon
6159         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6160         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6162 2001-11-16 20:49  simon
6164         * interpreter.c, runops_cores.c, trace.c,
6165         include/parrot/runops_cores.h:
6166         Kill superfluous runops cores.
6168 2001-11-16 17:50  simon
6170         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6171         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6172         include/parrot/parrot.h, include/parrot/pmc.h:
6173         Skeleton for Perl scalar types, done right.
6175 2001-11-16 16:15  simon
6177         * classes/genclass.pl:
6178         This tidies up genclass to deal with the new-style multimethods.
6180 2001-11-16 15:29  simon
6182         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6183         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6184         Rework multimethods to be *true* multimethods - that is, have
6185         different types.
6187 2001-11-15 22:29  simon
6189         * MANIFEST, Makefile.in, pmc.c:
6190         pmc.c linkage and support. Oh, and making it compile.
6192 2001-11-15 22:26  dan
6194         * t/op/interp.t: Forgot to tell CVS about the test...
6196 2001-11-15 22:10  dan
6198         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6199         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6200         for PMC registers for the interpreter.
6202         Added in the docs for the runinterp opcode.
6204         Added in code for both the newinterp and runinterp opcodes, so we
6205         can now create new interpreters from within parrot and have them do
6206         things. (Though we can't pass data back and forth. Yet)
6208 2001-11-15 21:24  simon
6210         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6211         More documentation, and other changes as discussed with Dan.
6213 2001-11-15 19:51  simon
6215         * classes/scalarclass.c:
6216         De-cut-and-pasto.
6218 2001-11-15 19:50  simon
6220         * classes/scalarclass.c:
6221         A little code tidiness.
6223 2001-11-15 19:33  simon
6225         * include/parrot/pmc.h:
6226         Missed this in the previous commit - un-constantize the base for
6227         user-defined PMC flags.
6229 2001-11-15 19:28  simon
6231         * classes/scalarclass.c:
6232         Hey look, sanity.
6234 2001-11-15 17:09  simon
6236         * classes/scalarclass.c:
6237         It seems I have completely forgotten how to write C.
6239 2001-11-15 16:53  simon
6241         * docs/vtables.pod:
6242         Start of the PMC classes documentation.
6244 2001-11-15 14:46  simon
6246         * classes/scalarclass.c:
6247         Changing to use a Perl-style struct instead of the union cache.
6249 2001-11-13 23:56  tom
6251         * string.c: Removed leading _ from string_index as function names
6252         starting with _ are reserved to implementors by the C standard.
6254         Also fixed string_index to use the encoding routines instead of
6255         assuming a single byte encoding.
6257 2001-11-13 12:59  jgoff
6259         * string.c: Patched string_concat to accept null strings.  That
6260         test was failing. Nothing to do with ord().
6262 2001-11-13 12:43  jgoff
6264         * string.c: string_ord function, string_concat fixes
6266 2001-11-13 04:52  jgoff
6268         * core.ops: Added ord to core.ops
6270 2001-11-13 04:35  jgoff
6272         * docs/strings.pod, include/parrot/exceptions.h,
6273         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6274         operator, documentation string.c - Added string_ord, _string_index
6275         (_string_index is a static helper)              Patched
6276         string_concat to handle null strings properly.  docs/strings.pod -
6277         Description of string_ord include/parrot/exceptions.h - Added
6278         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6279         string_ord() t/op/string.t - Added full set of test for
6280         ord_i_(s|sc)(_(i|ic))?
6282         string.c contains a bit of documentation explaining the logic
6283         behind _string_index, primarily having to do with multiple encoding
6284         formats.
6286 2001-11-12 22:30  simon
6288         * t/op/macro.t:
6289         Count 'em.
6291 2001-11-12 22:28  simon
6293         * Makefile.in:
6294         Add a rule to compile "platform"
6296 2001-11-12 22:26  simon
6298         * Makefile.in:
6299         Tidy up distclean target.
6301 2001-11-12 16:54  dan
6303         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6304         t/op/macro.t: Fixes to the assembler's macro facility and a test
6306         Courtesy of: Jeff <jgoff@speakeasy.net>
6308 2001-11-12 16:50  dan
6310         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6311         stdin
6313         Courtesy of: Jeff <jgoff@speakeasy.net>
6315 2001-11-12 16:36  dan
6317         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6318         CygWin
6320         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6322 2001-11-12 11:22  simon
6324         * examples/assembly/mops.pasm:
6326         Trivial tightening of mops loop.
6328 2001-11-07 23:57  ajgough
6330         * docs/tests.pod: This is a basic quide to writing tests with
6331         assembler.
6333 2001-11-07 22:29  dan
6335         * stacks.c: Added a little documentation on the cleanup parameter
6336         for an entry
6338 2001-11-07 14:43  dan
6340         * MANIFEST, platforms/generic.c, platforms/linux.c,
6341         platforms/linux.h: Portability patches.
6343         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6345 2001-11-06 19:51  tom
6347         * Makefile.in: Clean up object files in the subdirectories as well
6348         as those in the top level directory.
6350         Enhanced version of patch from Daniel Grunblatt
6351         <daniel@grunblatt.com.ar>
6353 2001-11-06 16:14  dan
6355         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6356         platforms/generic.c, platforms/generic.h: Made things a bit more
6357         platform-independent. Makefile still needs work to pick up changes
6358         to the platform-specific files.
6360 2001-11-05 21:32  dan
6362         * docs/parrot_assembly.pod: Added docs for the GC control ops
6364 2001-11-04 02:52  gregor
6366         * platforms/: win32.c, win32.h:
6367           * win32 dynamic loading functions.
6369         Courtesy of Jason Diamond <jason@injektilo.org>
6371 2001-11-04 00:04  brentdax
6373         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6374         allows an absolute path to be used and gives a useful error message
6375         if the original source file can't be found
6377 2001-11-02 12:37  gregor
6379         * platforms/: linux.c, linux.h:
6380           * Beginning of dynamic loading support. Linux only for now.
6382 2001-11-02 12:13  gregor
6384         * MANIFEST, time.c, include/parrot/time.h:
6385           * Removed time.[hc], since they have been superseded by the new
6386         platform
6387             stuff.
6389 2001-11-02 12:11  gregor
6391         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6392         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6393         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6394         platforms/win32.c, platforms/win32.h:
6395         Patch from Jason Diamond to make win32 platform stuff work:
6397         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6398         platform specific files in the platforms directory gets copied to
6399         the correct directories. The Makefile will re-copy the platform.h
6400         and .c files if the original is modified.
6402         * #include platform.h in parrot.h instead of time.h.
6404         * Removed time.h and time.obj from the Makefile. time.h and time.c
6405         aren't being used anymore since that code was moved to linux.c and
6406         win32.c.
6408         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6409         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6410         windows.h. This required updating several files besides parrot.h.
6412         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6413         instead of the missing identifiers (on Windows) in core.ops in the
6414         calls to open.
6416         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6417         platform files and called those from core.ops. The Linux code for
6418         these functions came from core.ops so they should hopefully work.
6420         Courtesy of Jason Diamond <jason@injektilo.org>
6422 2001-11-02 06:43  brentdax
6424         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6425         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6427 2001-11-02 02:26  gregor
6429         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6430         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6431         platforms/win32.h:
6432           * Beginnings of platform support files in platform/*.[hc]
6434 2001-11-01 23:37  tom
6436         * classes/intclass.c: Added missing *'s to STRING arguments and
6437         return values to avoid compiler warnings.
6439 2001-11-01 22:21  gregor
6441         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6442         include/parrot/parrot.h, include/parrot/time.h:
6443         Initial "fix" of time(n) op for Win32:
6445           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6447           * time.c and include/parrot/time.h
6449             First attempt at getting this working across platforms. The
6450             macro WIN32 being tested might not be right.
6452           * New functions Parrot_intval_time() and Parrot_floatval_time()
6453             wrap the appropriate functionality depending upon platform.
6454             Changed core.ops to call these.
6456         Added obscure.ops with obscure transcendental ops.
6458         Added simple file I/O ops (close, open, read, write):
6460           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6462           * I changed some arg ordering stuff.
6464           * I added read/write of INTVALs and FLOATVALs.
6466         Added environment variable ops (getenv, setenv)
6468         Added system error ops (err(i) and err(s) for accessing errno and
6469         strerr().
6471         Moved print ops in with other "temporary" developer ops, since
6472         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6474 2001-10-31 22:51  tom
6476         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6477         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6478         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6479         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6480         encodings/utf8.c, include/parrot/chartype.h,
6481         include/parrot/encoding.h, include/parrot/exceptions.h,
6482         include/parrot/parrot.h, include/parrot/string.h,
6483         include/parrot/strnative.h, include/parrot/strutf16.h,
6484         include/parrot/strutf32.h, include/parrot/strutf8.h,
6485         include/parrot/transcode.h: Reworked the string code in line with
6486         Dan's latest design that separates character sets from encodings.
6488 2001-10-31 19:53  dan
6490         * docs/parrot_assembly.pod: Finished I/O section of docs
6492 2001-10-31 16:51  dan
6494         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6495         Moved includes out of core.ops and into parrot.h where they belong
6496         (suitably guarded with #ifdefs). Also some updates to
6497         parrot_assembly.pod
6499 2001-10-30 21:43  dan
6501         * core.ops, stacks.c, docs/parrot_assembly.pod,
6502         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6503         of the entry on the stack
6505 2001-10-29 18:30  dan
6507         * stacks.c: You can turn off stack entry type validation on pop by
6508         passing in a type of 0 now. (For those cases where you just want to
6509         throw the darned thing away)
6511 2001-10-29 14:37  gregor
6513         * core.ops, languages/jako/jakoc:
6514           * New variants of the save ops to save constants on the stack.
6515         This is
6516             useful for saving zero arg and result counts on the stack, for
6517         example.
6519           * Modified jakoc to to adapt to the newly announced calling
6520         conventions.
6521             Even though Jako source code appears to show subroutines with
6522         fixed
6523             numbers of arguments and results, they are implemented with the
6524             variable count calling convention. Future modifications will be
6525         needed
6526             to ensure that an exception is raised if the stack frame is of
6527         the
6528             wrong size (or, at least that we pop the complete frame off).
6529         We'll
6530             also have to make more changes to support the true
6531         fixed-arg-count
6532             and fixed-result-count parts of the calling convention spec.
6534 2001-10-28 16:53  simon
6536         * MANIFEST, stacks.c, classes/scalarclass.c,
6537         include/parrot/stacks.h:
6538         Unbelievably bad errors of mine, plus a type incompatibility of
6539         Dan's.
6541 2001-10-28 08:30  simon
6543         * classes/scalarclass.c:
6544         Beginning of a scalar class.
6546 2001-10-28 08:29  simon
6548         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6549         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6550         include/parrot/pmc.h:
6551         This fixes the problem with vtables and pointer arithmetic.
6553 2001-10-26 19:58  dan
6555         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6556         include/parrot/stacks.h: Split the generic stack into a user push
6557         stack and a control stack
6559 2001-10-26 02:59  bdwheele
6561         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6563 2001-10-24 20:27  dan
6565         * languages/scheme/: Makefile, Scheme.pm, schemec,
6566         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6567         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6568         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6569         Scheme compiler
6571 2001-10-24 20:23  dan
6573         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6574         interpreter needs in pdump.c. Added scheme bits to manifest
6576 2001-10-24 16:43  gregor
6578         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6579           * Make the assembler handle octal character code escapes in
6580         string
6581             constants.
6583 2001-10-24 15:56  dan
6585         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6586         play the game of life
6588 2001-10-24 15:54  dan
6590         * core.ops: Added sleep. We'll need to override this to do events
6591         properly anyway, so...
6593 2001-10-24 14:03  gregor
6595         * Makefile.in, pbc2c.pl, pdump.c:
6596           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6597         interpreter
6598             pointer into string functions.
6600         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6602 2001-10-23 20:09  gregor
6604         * languages/jako/jakoc:
6605           * Terminological refinement in regexp capture comment.
6607 2001-10-23 15:23  simon
6609         * classes/genclass.pl:
6610         Use a saner ANSI C construct to make MIPSPro happy.
6612         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6614 2001-10-23 00:34  tom
6616         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6617         strutf8.c, include/parrot/string.h: Make sure the interpreter
6618         structure is passed to the transcoder as necessary, including
6619         passing it to string_compare().
6621 2001-10-23 00:32  tom
6623         * Makefile.in: Make pdump build again by including resources.o in
6624         the link.
6626 2001-10-22 22:43  dan
6628         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6629         strutf32.c, strutf8.c, test_main.c, transcode.c,
6630         include/parrot/packfile.h, include/parrot/parrot.h,
6631         include/parrot/resources.h, include/parrot/string.h,
6632         include/parrot/transcode.h: Everything now uses the allocators and
6633         deallocators in resources.c.
6635         Unfortunately we lost standalone string-test mode, but I can cope
6636         with that.
6638         Please note that until we have a real allocation/deallocation/GC
6639         system, this'll leak. A *lot*.
6641 2001-10-22 20:27  dan
6643         * MANIFEST, Makefile.in, pmc.c, resources.c,
6644         include/parrot/resources.h: First cut to handle arena allocation of
6645         PMC headers. (Amongst other things)
6647 2001-10-22 19:02  dan
6649         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6650         Now each register type has its own mask macro, which is the right
6651         thing to do.
6653         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6655 2001-10-21 23:40  tom
6657         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6658         stack chunk and add a test to test this rollover in future.
6660         Courtesy of Jason Gloudon <perl@gloudon.com>.
6662 2001-10-21 19:14  dan
6664         * include/parrot/string.h: Changed string 'unused' field to the
6665         language field.
6667 2001-10-21 18:18  gregor
6669         * languages/jako/: Makefile, mops.jako:
6670           * Makefile: 'clean' target removes .list files, too. And, it does
6671         rm -f
6672             with wildcards rather than listing things explicitly.
6674           * mops.jako actually prints out the
6675         millions-of-operations-per-second
6676             (mops) value instead of just the operations-per-second value.
6678 2001-10-21 18:03  simon
6680         * classes/intclass.o:
6681         *smack*! WRONG!
6683 2001-10-21 17:47  simon
6685         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6686         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6687         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6688         lib/Parrot/Vtable.pm:
6689         Initial work on PMCs. Explanation to follow
6691 2001-10-21 15:20  gregor
6693         * examples/assembly/queens.pasm:
6694           * Modernize the calling conventions in queens.pasm. It was using
6695         swap,
6696             which now must be rotate. Also, changed to use return values on
6697         the
6698             stack instead of in I0.
6700 2001-10-19 18:14  gregor
6702         * core.ops, stacks.c, include/parrot/stacks.h,
6703         languages/jako/jakoc:
6704         Per Dan's request, replacing 'swap' op by 'rotate'.
6706           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6708           * stacks.c and stacks.h: Removed swap-related functions from my
6709             prior commit, replacing them with stack_depth(), stack_entry()
6710             and rotate_entries().
6712             NOTE: The stack_depth() and rotate_entries() routines could
6713             be made more efficient through the caching of the sum of chunk
6714             'used' members from lower chunks in a field in the upper
6715             chunks. Also, if the interpreter's stack_base was changed to
6716             hold the pointer to the *top* chunk (since we usually come
6717             at the stack from the top down) instead of the *bottom*
6718             chunk. The code here at least works, and we can decide about
6719             bigger changes separately.
6721             For now, rotate only handles rotates in one direction and
6722             of magnituded one. A fully general rotate would do handle
6723             rotates in both directions and of arbitrary amounts. Again,
6724             this implementation is sufficient for current applications,
6725             and a feature-complete version can be developed if this turns
6726             out to be otherwise the right type of implementation.
6728             This change includes a new exception for ERROR_STACK_SHALLOW,
6729             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6731           * jakoc: Changed the calling convention to use rotate instead
6732             of swap (of course). Also changed the convention for return
6733             value passing to use the stack as well.
6735 2001-10-19 13:36  gregor
6737         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6738         examples/assembly/queens.pasm, include/parrot/stacks.h,
6739         languages/jako/.cvsignore, languages/jako/Makefile,
6740         languages/jako/bench.jako, languages/jako/euclid.jako,
6741         languages/jako/fact.jako, languages/jako/jakoc,
6742         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6743         languages/jako/primes.jako, languages/jako/queens.jako,
6744         languages/jako/sub.jako:
6745           * New stack functions push_entry(), pop_entry() and swap_entry().
6746             The first two exist for the support of the last one. These
6747             functions don't care what is in the stack entries. These exist
6748             to support the new 'swap' op (see next bullet).
6750           * New op 'swap' for swapping the top two elements on the stack.
6751             This is necessary for passing arguments to functions, since
6752             the return address will be on top of any arguments that have
6753             been pushed on the stack. This way, you can use a (swap, pop)
6754             pair to retrieve each argument (for subroutine linkage).
6756           * Disassembler now prints numbers in decimal by default, with
6757             a new '-x' flag to turn on hexadecimal display. Since other
6758             members of the Parrot Tool Set use decimal by default, this
6759             makes it easier to compare output from the various tools.
6761           * Jako compiler has more explanatory comments and the following
6762             new features:
6764               * Lexically scoped variables.
6766               * Subroutines that take arguments and return values:
6768                   sub int foo(int bar) {
6769                     if (bar == 1) {
6770                       return 42;
6771                     } else {
6772                       return 13;
6773                     }
6774                   }
6775               * ... if (...) and ... unless (...) statement modifiers
6776                 can be used on next, last and redo.
6778               * Bitwise and (&, &=) and or (|, |=) ops.
6780               * Type names are just 'int', 'num', 'str', and 'poly' now.
6781                 The old long names 'integer', 'number', 'string', and
6782                 'polytype' are no longer valid.
6784               * Integer variable assignments can now use 0b (binary),
6785                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6787           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6788             solving the eight-queens problem. The assembly example is a
6789             hand-modified version of the assembly code produced by the
6790             Jako compiler from queens.jako. A few unnecessary ops have
6791             been removed, lots of unnecessary labels have been removed,
6792             and all the Jako source code comments have been removed.
6794           * Makefile and .cvsignore in languages/jako modified so that
6795             the assembler produces listings when assembling the programs,
6796             yet the *.list files are ignored by CVS.
6798           * Made the default target in languages/jako/Makefile 'all'.
6800           * Modified some of the Jako examples to use some of the new
6801             features of Jako, such as subroutines and lexical variable
6802             scoping.
6804 2001-10-19 02:43  gregor
6806         * runops_cores.c, include/parrot/runops_cores.h:
6807         Bug fix (gcc doesn't complain, but MIPSpro does):
6809           * Added missing extern to runops_cores array declaration in
6810             include/parrot/runops_cores.h
6812           * Also added 'const' there and in runops_cores.c
6814 2001-10-18 15:18  gregor
6816         * .cvsignore, include/parrot/oplib/.cvsignore:
6817           * Ignore the vtable-related generated files.
6819 2001-10-18 15:14  gregor
6821         * core.ops:
6822           * left and right shifts now allow the 2nd argument to be a
6823         constant.
6825 2001-10-18 14:55  simon
6827         * make_vtable_ops.pl:
6828         This is C, not Perl. How on earth did that even compile?
6830 2001-10-18 14:54  simon
6832         * make_vtable_ops.pl:
6833         More vtable ops.
6835 2001-10-18 12:33  simon
6837         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6838         Initial stab at vtable opcode creation stuff.
6840 2001-10-18 02:15  gregor
6842         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6843         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6844         include/parrot/trace.h: Preparation for autogenerated runops cores:
6846           * Split tracing and runops core stuff out of interpreter.c into
6847             trace.c and runops_cores.c
6849           * Similar split of stuff from include/parrot/interpreter.h
6851           * Manifest and Makefile.in updates to make things still compile.
6853 2001-10-18 01:21  gregor
6855         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6857           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6859           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6861           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6863           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6865           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6866         with
6867             copy of $ops->preamble.
6869 2001-10-17 22:32  bdwheele
6871         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6872         request.
6874 2001-10-17 22:08  gregor
6876         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6877           * Now handles label-and-comment-only lines.
6879 2001-10-17 22:04  bdwheele
6881         * interpreter.c: added more comprehensive trace output
6883 2001-10-17 16:50  tom
6885         * Makefile.in: Removed the explicit rule for building mops.o from
6886         mops.c so that the implicit rule for compiling C files is used
6887         instead. This means that the chosen C flags are used, including any
6888         optimisation options.
6890 2001-10-17 15:24  tom
6892         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6893         op explosion logic to be able to handle exploding this:
6895           sub(i, i|ic, i|ic)
6897         into these:
6899           sub(i, i, i)
6900           sub(i, i, ic)
6901           sub(i, ic, i)
6903         without also generating this unwanted version:
6905           sub(i, ic, ic)
6907         The enhanced version rejects any expansion where there is more than
6908         one expanded argument and all the expanded arguments are constants.
6910 2001-10-17 14:20  simon
6912         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6913         Build fixes to use correct Perl version and ensure that things are
6914         running in the right directory.
6916         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6918 2001-10-17 13:16  simon
6920         * Makefile.in:
6921         core.pm is more critical than that.
6923 2001-10-17 13:05  simon
6925         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6926         "Explode" ops into multiple versions for different parameters.
6928         Courtesy of: Tom Hughes <tom@compton.nu>
6930 2001-10-17 12:54  simon
6932         * Makefile.in:
6933         Fix dependencies and cleaning.
6935 2001-10-17 12:45  simon
6937         * Configure.pl, Makefile.in:
6938         Fixes to make Parrot compile without the temporary build hack
6940         Courtesy of: Jason Gloudon <perl@gloudon.com>
6942 2001-10-16 20:43  gregor
6944         * Makefile.in:
6945           * Fixed dependencies for building Parrot/OpLib/core.pm
6947 2001-10-16 19:35  bdwheele
6949         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6950         added test, thanks to Alex Gough
6952 2001-10-16 16:49  bdwheele
6954         * core.ops: added opcode variants for constants and 3 arg concat
6956 2001-10-16 15:12  bdwheele
6958         * core.ops: added "set Sx,Sy" as a string copy to match the other
6959         register-to-register copies available
6961 2001-10-16 13:09  gregor
6963         * core.ops:
6964           * Added #include <sys/time.h> in the preamble for gettimeofday().
6966 2001-10-16 13:09  gregor
6968         * Makefile.in:
6969           * Removed cd t; make, which no longer applies
6971 2001-10-16 03:18  bdwheele
6973         * core.ops: fix save & restore operations to push correct type onto
6974         stack. [good eye to Jason Gloudon for noticing this]
6976 2001-10-16 01:38  bdwheele
6978         * core.ops, register.c, examples/assembly/fact.pasm,
6979         include/parrot/register.h: send in the clones:  clone routines for
6980         parrot + example program
6982 2001-10-15 22:37  gregor
6984         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6985         examples/assembly/Makefile, examples/assembly/bsr.pasm,
6986         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6987         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6988         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6989         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6990         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6991         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6992         t/test4.pasm, t/test5.pasm, t/trace.pasm:
6993           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6994         some
6995             renames so the names match what they demonstrate.
6997 2001-10-15 22:18  gregor
6999         * core.ops, t/test.pasm:
7000           * time_n uses gettimeofday() to get sub-second times.
7002           * t/test.pasm uses time_n directly rather than doing int stuff
7003         and
7004             converting to num later.
7006 2001-10-15 12:28  gregor
7008         * t/: test.pasm, test2.pasm, trace.pasm:
7009           * t/test.pasm prints using string constants instead of string
7010         regs.
7012           * t/test2.pasm assembles (using implicit op modes)
7014           * t/trace.pasm updated for new behavior of trace_ic, which does
7015         not
7016             require an 'end' after 'trace'.
7018 2001-10-15 00:47  gregor
7020         * core.ops, interpreter.c, test_main.c,
7021         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7022         PARROT_PROFILE_FLAG
7024           * New runops cores to handle profiling
7026           * Support for -p flag in test_prog to enable profiling
7028           * New profile_ic op to control profiling at run-time
7030 2001-10-14 21:54  gregor
7032         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7033         lib/Parrot/OpsFile.pm: Integrated op documentation.
7035           * core.ops now contains POD documentation of ops, interspersed
7036         with the
7037             ops themselves
7039           * Ops are organized into POD =head2 sections
7041           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7042         anything
7043             up to the first POD directive OR op definition.
7045           * docs/Makefile now generates core_ops.pod from core.ops vi
7046         perldoc -u.
7048 2001-10-14 11:58  simon
7050         * Makefile.in:
7051         Unbreak Digital Un^W^WTru64
7053 2001-10-14 11:00  simon
7055         * Configure.pl:
7056         Remove weird typo.
7058 2001-10-14 10:56  tom
7060         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7061         op_info.c no longer exists and op.h is no longer a generated file.
7063 2001-10-14 10:54  tom
7065         * Makefile.in: Added vtable.h to the list of things removed by the
7066         clean target.
7068 2001-10-14 01:43  gregor
7070         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7071         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7072         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7073         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7074         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7075         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7076         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7077         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7078         include/parrot/interpreter.h, include/parrot/op.h,
7079         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7080         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7081         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7082         Moby Patch:
7084           * basic_opcodes.ops and opcode_table replaced by core.ops
7086           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7087             and ops2c.pl. These convert *.ops to *_ops.c and
7088             include/parrot/oplib/*_ops.h
7090           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7092           * disassemble.pl modified to use
7094           * interpreter.c modified to use structures in core_ops.c instead
7095             of the old op_info and op_func stuff. We're not yet to the
7096             point of handling multiple oplibs at a time, but we are getting
7097             there...
7099             Fingerprinting stuff disabled for now. We used to go off
7100             opcode_table. We need to rethink this. I have some ideas to
7101             make it unnecessary, but it remains to be seen whether others
7102             will like the direction they take us.
7104             Termination condition for while(){} loop in runops is now
7105             (pc) instead of (*pc). Any op can cause a HALT by returning
7106             a NULL pointer. Ops end, bounds and trace all do this. So, now
7107             the 'end' op body is actually executed, although all it does
7108             is HALT.
7110           * Makefile.in modified to perform a test build using pbc2c.pl,
7111             which is the bytecode --> C compiler I've posted to the
7112             list before.
7114           * Op full names are now autogenerated. Op root names must not
7115             contain underscores, so some op renamings have happened.
7116             Such as clear_i becoming cleari.
7118 2001-10-13 11:49  simon
7120         * Configure.pl, MANIFEST:
7121         Make parrot actually build again.
7123 2001-10-12 21:34  dan
7125         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7126         opcodes
7128 2001-10-12 20:56  dan
7130         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7131         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7132         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7133         generic stack now in. We also have subroutines, of a simple sort!
7135 2001-10-12 19:15  tom
7137         * t/op/string.t: Improved string comparison tests try all string
7138         combinations with each of the comparison ops.
7140 2001-10-12 19:09  dan
7142         * interpreter.c: Properly sets up generic stack now
7144 2001-10-12 19:09  dan
7146         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7147         interpreter structure
7149 2001-10-12 18:59  dan
7151         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7152         changes to get the generic stack working
7154 2001-10-12 18:59  dan
7156         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7157         hints/vms.pl: Made the changes to figure out mask bits for various
7158         register and stack chunks
7160 2001-10-11 22:09  dan
7162         * docs/parrot_assembly.pod: Tossed the parameter for return
7164 2001-10-11 19:28  tom
7166         * strnative.c: Assignment, not comparison.  (Plus formatted for
7167         coding standards)
7169         Courtesy of Bryan C. Warnock
7171 2001-10-10 19:21  tom
7173         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7174         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7175         include/parrot/string.h, t/op/string.t: Added support for string
7176         comparisons and extended the comparison ops to include comparison
7177         of strings.
7179 2001-10-10 17:58  dan
7181         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7183 2001-10-10 17:54  dan
7185         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7186         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7187         vtable type entries properly
7189 2001-10-10 15:37  dan
7191         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7192         parse new vtable.tbl file now that I've actually checked *in* the
7193         new format vtable.tbl file...
7195 2001-10-10 15:32  dan
7197         * vtable.tbl: New Column to indicate the type of the vtabel entry
7198         so we can know how many slots it takes
7200 2001-10-10 05:26  thgibbs
7202         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7203         allow parrot to compile.  PACKAGE is not defined, therefore, I
7204         added a struct before it to have it not complain until we define
7205         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7206         semicolon at the end of the struct declaration.
7208 2001-10-10 05:09  thgibbs
7210         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7211         string constants of the form U"string" become unicode encoded
7212         parrot strings and the form N"string" become native encoded parrot
7213         strings.
7215         Courtesy of: Tom Hughes <tom@compton.nu>
7217 2001-10-10 04:55  dan
7219         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7220         support for generating the vtable function table offset macros
7222 2001-10-10 01:05  simon
7224         * t/op/integer.t:
7225         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7226         compiles into the mod op, not the cmod_i op, hence wasn't testing
7227         what it thought it was.
7229         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7231 2001-10-09 03:45  thgibbs
7233         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7234         assembler to generate unicode strings.
7236         Courtesy of: Tom Hughes <tom@compton.nu>
7238 2001-10-08 19:30  brentdax
7240         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7241         info for Parrot::Config to remember, more flexible test.c stuff
7243 2001-10-08 15:04  gregor
7245         * basic_opcodes.ops:
7246           * Removed trash from early mod_i experiments (pardon our dust)
7248 2001-10-08 14:56  gregor
7250         * basic_opcodes.ops:
7251           * Fixed a couple of typos.
7253 2001-10-08 14:45  gregor
7255         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7256         Arithmetic enhancements:
7258           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7260             NOTE: This "uncorrected mod" algorithm uses the C language's
7261         built-in
7262             mod operator (x % y), which is
7264                 ... the remainder when x is divided by y, and thus is zero
7265         when y
7266                 divides x exactly.
7267                 ...
7268                 The direction of truncation for / and teh sign of the
7269         result for %
7270                 are machine-dependent for negative operands, as is the
7271         action taken
7272                 on overflow or underflow.
7273                                                                      --
7274         [1], page 41
7276             Also:
7278                 ... if the second operand is 0, the result is undefined.
7279         Otherwise, it
7280                 is always true that (a/b)*b + a%b is equal to z. I both
7281         operands are
7282                 non-negative, then teh remainder is non-negative and
7283         smaller than the
7284                 divisor; if not, it is guaranteed only that the absolute
7285         value of the
7286                 remainder is smaller than the absolute value of the
7287         divisor.
7288                                                                      --
7289         [1], page 205
7291             This op is provided for those who need it (such as
7292         speed-sensitive
7293             applications with heavy use of mod, but using it only with
7294         positive
7295             arguments), but a more mathematically useful numeric mod based
7296         on
7297             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7299               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7300         Programming
7301                   Language*, Second Edition. Prentice Hall, 1988.
7303           * Added "corrected" mod_i:
7305             NOTE: This "corrected mod" algorithm is based on the C code on
7306         page 70
7307             of [1]. Assuming correct behavior of C's built-in mod operator
7308         (%) with
7309             positive arguments, this algorithm implements a mathematically
7310         convenient
7311             version of mod, defined thus:
7313               x mod y = x - y * floor(x / y)
7315             For more information on this definition of mod, see section 3.4
7316         of [2],
7317             pages 81-85.
7319             References:
7321               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7322                   Millennium* Springer, 1999.
7324               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7325         *Concrete
7326                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7328           * Added mod_n, using the same formula as above, but with FLOATVAL
7329             arguments.
7331           * Added cmod_n, using the C math library's fmod() function:
7333             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7334         library's
7335             fmod() function, which computes
7337                 ... the remainder of dividing x by y. The return value is x
7338         - n * y,
7339                 where n is the quotient of x / y, rounded towards zero to
7340         an
7341                 integer.
7342                                                 -- fmod() manpage on RedHat
7343         Linux 7.0
7345             In addition, fmod() returns
7347                 the remainder, unless y is zero, when the function fails
7348         and errno
7349                 is set.
7351             According to page 251 of [1], the result when y is zero is
7352         implementation-
7353             defined.
7355             This op is provided for those who need it, but a more
7356         mathematically
7357             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7358         and
7359             defined with y == 0 is provided by the mod_n op.
7361               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7362         Programming
7363                   Language*, Second Edition. Prentice Hall, 1988.
7365           * Added and modified tests as appropriate for the above.
7367 2001-10-08 08:49  thgibbs
7369         * include/parrot/exceptions.h, include/parrot/parrot.h,
7370         include/parrot/string.h, include/parrot/strutf16.h,
7371         include/parrot/strutf32.h, include/parrot/strutf8.h,
7372         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7373         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7374         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7375         strings for utf8, utf16, and utf32.
7377         Courtesy of: Tom Hughes <tom@compton.nu>
7379 2001-10-08 08:10  thgibbs
7381         * memory.c: Fixed uninitialized variables.
7383         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7385 2001-10-08 01:21  gregor
7387         * packfile.c:   * Casting a return value
7389           * Potential uninitialized variable fix
7391         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7393 2001-10-08 01:15  gregor
7395         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7396         a few tweaks of my own):
7398           * Line wrapping
7400           * Printf format fixes
7402         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7404 2001-10-07 22:39  thgibbs
7406         * build_interp_starter.pl: No longer adds (void*) casts to
7407         interp_guts.c function table as they are not necessary in ANSI C.
7409 2001-10-07 16:27  gregor
7411         * basic_opcodes.ops, interpreter.c, opcode_table,
7412         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7413         t/trace.pasm:
7414           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7415             interpreter->flags and set interpreter->resume_addr.
7417           * Two new runops core variants, so now we cover the relevant
7418             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7420           * Runops core selection that converts the flags into an index
7421         into
7422             a core table (runops_cores) to get the core function pointer.
7424           * A new trace_op variant that doesn't do bounds checking (used by
7425             the non-bounds-checking-but-tracing runops core).
7427           * PC is passed into the cores so that they can be used when
7428             resuming (they used to assume starting at the beginning of the
7429             code, which would thwart resumption).
7431           * runops() itself is changed to have a while() loop in it so that
7432             any time we drop out of the core, we'll resume if we have an
7433             interpreter->resume_addr set (after reselecting the core,
7434         though).
7436           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7437             interpreter->resume_addr. This is used by the new ops. The new
7438             ops still return the new PC as the next op (which MUST be an
7439             'end' op to force the core loop to terminate -- *pc being false
7440             is the only termination condition we can count on for all
7441         cores).
7443           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7444             bounds checking core selection.
7446           * test_prog now has a '-b' flag in addition to the '-t' flag.
7447         Now,
7448             bounds checking is off by default (I saw a performance boost:
7449             6.3 Mop/s with -b, 7.0 Mop/s without).
7451           * A new sample/test program: t/trace.pasm that twiddles the trace
7452             flag while it is running.
7454 2001-10-07 15:41  gregor
7456         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7457         include/parrot/.cvsignore, include/parrot/interpreter.h:
7458         Now that 0.0.2 is released, I can clear out the backlog of approved
7459         but uncommitted patches. Here's one Dan approved on 2001-09-21
7460         (Simplified DO_OP):
7462           * test_prog and pdump are linked with only the files the need,
7463         not
7464             al the files.
7466           * build_interp_starter.pl writes out op_info.[hc], too. These
7467         files
7468             contain op name, arg count and arg type information. This will
7469         be
7470             useful for multiple things in the future, including better
7471         trace
7472             output and the crystalizing loader.
7474           * The DO_OP macro is now simpler and doesn't require explicit
7475             temporaries.
7477           * interpreter.c is modified to use the new op info in tracing
7478         output.
7480           * The interpreter just points its opcode_funcs and opcode_info
7481             members at the default tables rather than allocating memory on
7482             the fly.
7484 2001-10-07 03:58  thgibbs
7486         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7487         comment and adding vtable.h to .cvsignore as it is produced by
7488         vtable_h.in
7490 2001-10-06 20:58  thgibbs
7492         * vtable.tbl: Added * to REGEX type.
7494         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7496 2001-10-06 13:41  simon
7498         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7499         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7500         Framework for vtable functions.
7502 2001-10-06 06:52  thgibbs
7504         * make_op_header.pl: Removed confusing and unused typedef.
7506 2001-10-06 06:31  thgibbs
7508         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7509         are no longer used.
7511 2001-10-06 06:26  thgibbs
7513         * disassemble.pl: Changed intval to op in disassembler.
7515 2001-10-06 06:21  thgibbs
7517         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7518         Assembler, local labels, and integer constants.
7520 2001-10-06 03:11  ask
7522         * Makefile.in: make `make test` actually run the tests on
7523         darwin/macosx
7525 2001-10-06 02:04  thgibbs
7527         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7528         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7529         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7530         include/parrot/register.h, lib/Parrot/Assembler.pm,
7531         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7532         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7533         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7534         type make. :)
7536 2001-10-06 02:02  thgibbs
7538         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7539         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7540         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7541         include/parrot/register.h, lib/Parrot/Assembler.pm,
7542         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7543         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7544         t/op/integer.t: oops...this messed something up.  I must have
7545         missed something in the patch...I have reverted.
7547 2001-10-06 01:57  thgibbs
7549         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7550         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7551         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7552         include/parrot/register.h, lib/Parrot/Assembler.pm,
7553         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7554         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7555         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7556         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7557         This patch ensures that all bytecode is of type opcode_t except for
7558         the constant table constants.  That means that almost all of the
7559         INTVALs in the code were replaced with opcode_t and the i pack type
7560         was replaced with the op pack type in calls to pack_arg and such.
7561         Also, since it has been declared that ALL integer constants are to
7562         be 32 bits, some test cases were changed to ensure that an integer
7563         constant was no bigger than 2 ** 31.
7565         process_opfunc.pl was also cleaned up to no longer look at either
7566         opcode_table or interp_guts.h but gather all of its information
7567         from Opcode.pm.
7569         The Assembler.pm module was changed to do late binding of arguments
7570         so that 0 could be treated like 0.0 without having to be so
7571         declared.  Also, only strings now use the [sc:N] intermediate form
7572         as it was unnecessary for integer and float types.
7574 2001-10-05 21:59  gregor
7576         * MANIFEST, languages/jako/Makefile:
7577         Fixed things due to the movement of little_languages/* to
7578         languages/jako.
7580 2001-10-05 18:31  gregor
7582         * MANIFEST:
7583         Updated MANIFEST to reflect recent additions for Jako.
7585 2001-10-05 17:54  gregor
7587         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7588         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7589         mops.jako, primes.jako, sub.jako:
7590           * Compiler:
7592               * User-defined subroutines.
7593               * Generates assembly code with the Jako code in comments.
7594               * "end;" no longer required at the end of programs.
7595               * Better handling of const-reg and reg-const.
7596               * Optimizes const-const operations to compile-time
7597         evaluations.
7598               * Constants in addition to variables.
7599               * Arithmetic fixes.
7600               * Allow leading minus signs in integer and number constants
7601         (ahem).
7602               * goto's.
7604           * New sample programs:
7606               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7607         example)
7608               * mandelbrot.jako (based on Leon Brocard's translation of
7609         Glenn Rhodes' C code)
7610               * mops.jako (based on t/test.pasm)
7611               * primes.jako (based on Leon Brocard's primes.pasm example)
7612               * sub.jako (demonstrates a simple user-defined subroutine)
7614 2001-10-05 12:54  gregor
7616         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7617           * Removed mysterious extra copy of code after POD.
7619 2001-10-05 12:46  gregor
7621         * basic_opcodes.ops, t/op/string.t:
7622           * Enabled the previously SKIPped test of printing string regs
7623         after
7624             clear_s
7626           * Made print_s do nothing if the STRING pointer in the register
7627         file
7628             is NULL.
7630 2001-10-04 21:19  dan
7632         * Configure.pl: VMS tweaks
7634 2001-10-04 21:17  dan
7636         * hints/vms.pl: Hints file for VMS
7638 2001-10-04 00:58  bdwheele
7640         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7641         Assembler which stopped equates from working.
7643 2001-10-03 21:50  gregor
7645         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7647           * More documentation updates for the packfile stuff.
7649 2001-10-03 21:37  gregor
7651         * docs/parrotbyte.pod:
7652           * Pointed the reader at Parrot::PackFile.
7654 2001-10-03 21:34  gregor
7656         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7657           * Updated documentation to match current implementation.
7659 2001-10-03 18:30  gregor
7661         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7662         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7663         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7664         t/op/basic.t:
7665           * Added new syntax to the assembler to allow square-bracket
7666             arithmetic expressions involving (global) labels, the current
7667             instructions base address ('@'), numeric constants (not
7668         equates)
7669             and basic arithmetic operators (+, -, *, / -- although + and -
7670             are likely to be the only ones used in practice).
7672           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7673         to
7674             fail (argument passing wasn't working).
7676           * Enabled t/op/basic.t's last test, which is actually a copy of
7677         the
7678             code from t/call.pasm. Now all tests there are enabled and
7679         working.
7681           * Added new example/test program t/call.pasm to demonstrate
7682         working
7683             macros and poor-man's subroutine calls
7685           * Added header comments to t/*.pasm
7687 2001-10-03 18:00  simon
7689         * ChangeLog:
7690         Needed, since it's in the MANIFEST.
7692 2001-10-03 17:56  simon
7694         * t/op/: string.t, time.t:
7695         Small fixes to help Win32 on its way.
7697 2001-10-03 17:41  simon
7699         * MANIFEST, README:
7700         Oops. Tiny bugs.
7702 2001-10-03 17:39  simon
7704         * MANIFEST, NEWS, README:
7705         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7706         think so!
7708 2001-10-03 17:21  simon
7710         * basic_opcodes.ops, interpreter.c, packfile.c:
7711         Evil printf bandaid (which allows Sparc64 to pass tests)
7713         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7715 2001-10-03 16:58  simon
7717         * string.c, t/op/string.t:
7718         chop fixes for n < 0 and tests
7720         Courtesy of: Alex Gough <alex@rcon.org>
7722 2001-10-03 15:51  thgibbs
7724         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7726         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7728 2001-10-02 17:48  dan
7730         * include/parrot/stacks.h: Fix typo in function name
7732 2001-10-02 17:35  dan
7734         * include/parrot/stacks.h: changed to support new stack stuff
7735         coming after 0.02
7737 2001-10-02 15:01  simon
7739         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7740         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7741         process_opfunc.pl, register.c, string.c, strnative.c,
7742         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7743         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7744         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7745         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7746         include/parrot/memory.h, include/parrot/packfile.h,
7747         include/parrot/parrot.h, include/parrot/register.h,
7748         include/parrot/stacks.h, include/parrot/string.h,
7749         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7751         The Great Renaming.
7753 2001-10-02 12:49  gregor
7755         * process_opfunc.pl:
7756           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7758 2001-10-02 12:40  simon
7760         * basic_opcodes.ops, process_opfunc.pl, register.c,
7761         include/parrot/register.h:
7762         Move preprocessing of register accessors to process_opfunc.pl
7764         Courtesy of: Jason Gloudon <perl@gloudon.com>
7766 2001-10-02 01:20  ask
7768         * README: add a few lines about lists.
7770 2001-10-01 23:00  brentdax
7772         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7773         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7775 2001-10-01 22:50  brentdax
7777         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7779 2001-10-01 21:51  simon
7781         * process_opfunc.pl:
7782         Michael Fischer's patch broke conditionals.
7784 2001-10-01 15:38  simon
7786         * process_opfunc.pl:
7787         Small hack to keep process_opfunc.pl from generating extra return()
7788         statements.
7790         Courtesy of: Michael Fischer <michael@visv.net>
7792 2001-10-01 15:32  simon
7794         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7795         Documentation fix.
7797         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7799 2001-10-01 01:49  simon
7801         * packfile.c:
7802         Simon is an idiot. Don't trust him with your code.
7804         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7806 2001-10-01 00:59  simon
7808         * Parrot/String.pm, lib/Parrot/String.pm:
7809         Was in manifest, but not in CVS.
7811 2001-09-30 21:25  simon
7813         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7814         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7815         Parrot/Assembler.pm, Parrot/PackFile.pm,
7816         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7817         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7818         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7819         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7820         include/parrot/packfile.h, include/parrot/string.h:
7821         Move NVs to the constant table.    * Changes to Types_pm.in to make
7822         life easier for some of the      packing/etc. I'm doing elsewhere.
7823         Also, we now pack 'n' as      'i'.
7825           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7826             eventually we can use all these tools together inside scripts
7827             rather than call out to the shell to run the programs.
7829           * As I was tracking down problems, I converted the internal
7830             documentation of the assembler to POD from comments.
7832           * Changed the numeric regexp in the assembler to detect leading
7833             signs and trailing exponents.
7835           * Updated basic_opcodes.ops to fetch numeric constants from the
7836             constant table.
7838           * Enhanced the disassembler in a number of ways to make my life
7839             easier while tracking down bugs (try it out). It now puts in
7840             labels for ops that are the destinations of flow control ops.
7842           * packfile.c now has a TRACE_PACKFILE switch that can be set
7843             to get it to print info as it processes. I needed this while
7844             debugging, but I can remove it or change it before committing
7845             if its a problem.
7847           * Updated pdump.c because it was missing a call to init_world().
7849           * Updated process_opfunc.pl to deal with numeric constants
7850             being stored in the constant table instead of inline.
7852           * Added multiple type support to Parrot/PackFile/Constant.pm
7854           * Added Parrot/String.pm, to be used for constants.
7856           * Added packfile.[hc] functions for allocating new constants
7857             of various types.
7859           * Made string_copy visible to the world in parrot/string.h.
7861         Wow.
7863         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7865 2001-09-29 15:56  gregor
7867         * languages/jako/Makefile:
7868         Removed assumption that '.' is on the path.
7870 2001-09-29 15:55  gregor
7872         * languages/jako/Makefile:
7873         Removed references to leibnitz test program.
7875 2001-09-29 15:21  thgibbs
7877         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7878         math ops args to work on Solaris.
7880 2001-09-27 15:15  thgibbs
7882         * assemble.pl: Added case insensitive matches to hex and binary
7883         characters
7885         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7887 2001-09-27 04:46  thgibbs
7889         * assemble.pl: This patch makes integer constants of the form
7890         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7891         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7892         returning 0.  To fix this, I added a from_binary function that
7893         would take a binary string and return its decimal representation.
7894         Now, instead of blindly calilng oct, it makes a distinction between
7895         0/0x numbers and 0b numbers.
7897 2001-09-26 19:30  thgibbs
7899         * assemble.pl: Error now returns a non-zero status
7901         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7903 2001-09-26 19:13  gregor
7905         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7906         interpreter.c, packfile.c, pdump.c, test_main.c,
7907         include/parrot/bytecode.h, include/parrot/interpreter.h,
7908         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7909         t/op/stacks.t:
7910           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7911             packfile/bytecode file from C. May be renamed in the future.
7913           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7914             of 'PackFile *', just like the interpreter, etc.
7916           * Constants are accessed via the interpreter's 'code' member
7917             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7918             provided to access constants by index and the number of
7919             constants, respectively (assumes a variable 'interpreter' of
7920             the appropriate type is in scope).
7922           * Byte Code is accessed via the interpreter's 'code' member.
7924           * Changed PackFile_Constant to point to a STRING instead of
7925         having
7926             members for the string_make() arguments. Also has a 'type' IV
7927             in preparation for allowing multiple types of constants in
7928             const_table.
7930           * Removed hardcoded example program from test_main.c. We have
7931             plenty of test programs elsewhere.
7933           * test_prog now uses a PackFile to deal with the program before
7934             sending it on to the interpreter.
7936           * Added missing 'end' ops to some tests in t/op/integer.t and
7937             t/op/stacks.t.
7939 2001-09-26 18:38  thgibbs
7941         * assemble.pl: Separated code into functions and added comments.
7943 2001-09-26 18:29  simon
7945         * config_h.in:
7946         Fix 64-bit chunk-base issue.
7948 2001-09-26 06:55  thgibbs
7950         * t/op/bitwise.t: Added end to bitwise tests.
7952 2001-09-26 00:54  dan
7954         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7955         and interpreter creation. Skeleton only, but it's something to peer
7956         at.
7958 2001-09-25 21:44  thgibbs
7960         * t/op/trans.t: Removed loops in transcendtal op test.
7962 2001-09-25 10:12  simon
7964         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7965         t/op/string.t, t/op/time.t:
7966         More tests
7968         Courtesy of: Alex Gough <alex@rcon.org>
7970 2001-09-24 19:08  gregor
7972         * t/op/number.t:
7973           * Enabled the clear_n test.
7975 2001-09-24 18:56  gregor
7977         * Parrot/.cvsignore:
7978           * Ignore the generated Types.pm file.
7980 2001-09-24 18:52  gregor
7982         * languages/jako/Makefile, t/op/number.t:
7983           * No need to skip the inc and dec numeric tests anymore. I fixed
7984         the
7985             assembler earlier today.
7987 2001-09-24 18:21  simon
7989         * MANIFEST, t/op/stacks.t:
7990         Oops.
7992 2001-09-24 18:19  simon
7994         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7995         include/parrot/exceptions.h, include/parrot/interpreter.h,
7996         lib/Parrot/Test.pm, t/op/string.t:
7997         1) captured error output, so can test errors, this might be bad,
7998         not sure.  2) basic tests for register stack frames, including some
7999         errors 3) I think we can stop skipping one of the string tests 4) I
8000         added some more substr tests, but substr was broken, so 5) changed
8001         substr to work with out of range values, or 6) throw an error if
8002         they're far too silly
8004         Courtesy of: Alex Gough <alex@rcon.org>
8006 2001-09-24 17:27  gregor
8008         * basic_opcodes.ops, opcode_table, t/op/number.t:
8009           * Op set_n was missing. Added it and a test for it. We now have
8010         the
8011             same int and num ops, except mod is int-only.
8013 2001-09-24 17:01  gregor
8015         * assemble.pl:
8016           * Fixed a typo: s/Line/line/
8018 2001-09-24 16:02  gregor
8020         * basic_opcodes.ops:
8021           * Fixed dec_n_nc opcode, which had += where it should have had
8022         -=.
8024 2001-09-24 15:34  gregor
8026         * assemble.pl:
8027           * Fixed handling of constants starting with '0' that should not
8028         be
8029             sent through oct(). For example 'set N2 0.1' was being
8030         interpreted
8031             as 'set N2 0' (naughty).
8033             As reported by Leon Brocard <acme@astray.com> in the comments
8034         of
8035             his mandelbrot.pasm example.
8037 2001-09-24 02:21  bdwheele
8039         * assemble.pl: fixed dumb code when --include was not specified.
8041 2001-09-24 02:17  simon
8043         * assemble.pl:
8044         Shit-sweeping.
8046 2001-09-24 01:56  bdwheele
8048         * assemble.pl: * Added --include=dir option to assembler to provide
8049         a path to look for included files.  * Error message of a macro is
8050         defined inside of a macro
8052 2001-09-23 21:29  bdwheele
8054         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8056 2001-09-23 15:50  simon
8058         * Configure.pl:
8059         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8061 2001-09-23 02:03  ask
8063         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8064         Courtesy of: acme@astray.com (Leon Brocard)
8066         rename 'test' executable used in Configure process to test_siz.
8068 2001-09-23 01:03  simon
8070         * process_opfunc.pl:
8071         iPaq fix. No, really.
8073 2001-09-23 00:47  simon
8075         * MANIFEST:
8076         Missed several, in fact.
8078 2001-09-23 00:46  simon
8080         * MANIFEST:
8081         Missed one.
8083 2001-09-22 21:13  simon
8085         * assemble.pl:
8086         Assembler register numbering rigour.
8088         Courtesy of: Leon Brocard <acme@astray.com>
8090 2001-09-22 18:20  simon
8092         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8093         lib/Test/Utils.pm:
8094         I'm sick of having to install Test::More everywhere. Temporary
8095         measure until we remove this silly dependency.
8097         Also a typo in Makefile.in which suggests some things were only
8098         happening correctly by sheer chance. :)
8100 2001-09-22 18:06  simon
8102         * README:
8103         test.pasm is dead, long like make test.
8105 2001-09-22 17:47  simon
8107         * t/op/number.t:
8108         De-fang overzealous floating point test.
8110 2001-09-22 17:39  simon
8112         * process_opfunc.pl:
8113         Remove hard-coded NV size assumption. Tru64 is nearly there!
8115 2001-09-22 17:18  simon
8117         * assemble.pl, disassemble.pl:
8118         More portability fixups.
8120 2001-09-22 16:44  simon
8122         * assemble.pl, Parrot/PackFile/Constant.pm,
8123         lib/Parrot/PackFile/Constant.pm:
8124         And I *think* this fixes Tru64.
8126 2001-09-22 16:37  simon
8128         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8130         Oops.
8132 2001-09-22 16:36  simon
8134         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8135         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8136         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8138         More removal of hard-coded pack formats.
8140 2001-09-22 15:21  simon
8142         * assemble.pl:
8144         Grrr. Why isn't this working?
8146 2001-09-22 15:18  simon
8148         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8149         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8151         Make assemble use the PackFile modules; also fixed some bugs in
8152         them.
8154 2001-09-22 14:38  simon
8156         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8158         Abstract the argument and opcode packing types and functions out
8159         into a separate module. This *should* help us maintain consistency
8160         when we change the various types.
8162 2001-09-22 00:46  brentdax
8164         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8165         test program finishes.
8167 2001-09-21 21:24  brentdax
8169         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8170         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8172 2001-09-21 21:09  gregor
8174         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8175         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8177           * Fixed pad calculation (similar to recent bug fix on C library)
8179 2001-09-21 20:23  simon
8181         * disassemble.pl:
8182         Pack types and sizes have gone askew.
8184 2001-09-21 20:18  brentdax
8186         * Configure.pl: Fix typo in setting stuff from the C test program
8188 2001-09-21 10:25  simon
8190         * basic_opcodes.ops, process_opfunc.pl:
8191         Document patches.
8193         Courtesy of: Leon Brocard <acme@astray.com>
8195 2001-09-21 06:06  ask
8197         * Config_pm.in, assemble.pl: fix 5.005_03.
8199 2001-09-21 06:03  ask
8201         * Configure.pl: make the ivsize detection work for us normal people
8202         without . in our PATH.  :-)
8204 2001-09-21 05:56  brentdax
8206         * test_main.c: Change _read to read for portability to Tru64
8207         (Damien Neil <neild@misago.org> and likely many others)
8209 2001-09-21 05:46  ask
8211         * Makefile.in: "update" target to update from cvs.
8213 2001-09-21 05:44  brentdax
8215         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8217 2001-09-21 02:43  brentdax
8219         * Configure.pl: Fix a typo that forced the -g flag on
8221 2001-09-20 22:41  dan
8223         * packfile.c: Had some no-value returns. Naughty
8225 2001-09-20 22:40  dan
8227         * t/test.pasm: Added labels to output
8229 2001-09-20 15:39  simon
8231         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8232         lib/Parrot/Test.pm:
8233         This patch does two only somewhat related things.
8235         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8236         = 2*sizeof(iv) to a PConfig-type computed value.
8238         Parrot/Test.pm:  Change it to run with the perl that was used to
8239         generate this version of Parrot.  This is useful if, for example,
8240         you want to use bleadperl to build and test parrot (e.g. to try out
8241         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8242         installed as the default 'perl' on your system.  Since perl-5.7.x
8243         is installed 'version-only', a plain 'perl' is quite likely to pick
8244         up the older perl in such cases. Such an older perl might well not
8245         understand pack('q') used in the assembler.
8247         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8249 2001-09-20 15:14  gregor
8251         * packfile.c:
8252           * Fixed a typo in pad calculation that throwing off unpack and
8253         pack.
8255 2001-09-20 15:03  thgibbs
8257         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8258         tests now cover all registers.
8260         Courtesy of: Damien Neil neild@misago.org
8262 2001-09-20 14:48  thgibbs
8264         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8265         machines.
8267 2001-09-20 14:35  simon
8269         * Configure.pl, assemble.pl:
8270         Pack IVs correctly.
8272         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8274 2001-09-20 14:06  gregor
8276         * languages/jako/jakoc:
8277           * Fixed a tyop in the string interpolation regex.
8279         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8281 2001-09-20 13:56  gregor
8283         * languages/jako/jakoc:
8284           * Updated jakoc to work with the single-destination comp ops.
8286 2001-09-20 05:08  bdwheele
8288         * assemble.pl: macro expansion.  Here's the test macro I was using:
8290         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8291         label.  testi       macro   num,got,want    print   "Test #"
8292         print   num     print   "..."   set     I32,want        set
8293         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8294         $end $ok:       print   "OK\n" $end:    endm
8296         It is invoked as:
8298         Test1:  testi   1,I3,I2
8300 2001-09-20 03:52  dan
8302         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8303         generic stack support
8305 2001-09-20 02:49  bdwheele
8307         * assemble.pl: Added include processing to assemble.pl  the syntax
8308         is: include 'file.to.include'
8310 2001-09-19 23:57  thgibbs
8312         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8313         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8314         function to only use 2 args, but the opcode_table still had three
8315         listed.  Fixed integer.t and number.t to use the new comparison
8316         operators.  Improved assemble.pl ability to grok operators by
8317         constructing a function set and comparing operator types.
8319 2001-09-19 22:42  dan
8321         * assemble.pl: Binmodes the output filehandles now. (No more
8322         bytecode munching...)
8324 2001-09-19 22:32  dan
8326         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8327         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8328         conditional branches take a single argument, and fall through
8329         otherwise.
8331 2001-09-19 21:19  thgibbs
8333         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8334         Sugalski
8336         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8338 2001-09-19 21:04  thgibbs
8340         * include/parrot/interpreter.h, Configure.pl,
8341         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8342         process_opfunc.pl: Changed opcode_t from a union to a configurable
8343         type.
8345 2001-09-19 20:54  thgibbs
8347         * assemble.pl: Missed a couple of changes for 64 bit portability.
8349 2001-09-19 20:37  gregor
8351         * packfile.c, include/parrot/packfile.h:
8352           * Added "methods" for setting and getting all the various
8353         attributes,
8354             probably sufficient for an assembler to use the library.
8356 2001-09-19 20:04  thgibbs
8358         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8359         a 64 bit platform manually change the  setting for 'i' from 'l' to
8360         'q'.  This should be automatically done by a Configure setting in
8361         the near future.
8363 2001-09-19 19:10  thgibbs
8365         * config_h.in: changed c++ comment to c comment.
8367         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8369 2001-09-19 17:48  gregor
8371         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8372         include/parrot/packfile.h:
8373           * C code for dealing with PackFiles as if they were objects.
8374         Mostly
8375             read-only interface for now, but it would not be hard to make
8376         it
8377             read-write. [packfile.c, include/parrot/packfile.h]
8379           * PackFile Dumping program that falls short of disassembling, but
8380             tests the above code and provides a hex listing of the byte
8381         code
8382             contents of the PackFile. [pdump.c]
8384           * New Makefile target 'pdump' for the above program, and related
8385             Makefile.in changes.
8387           * Updated MANIFEST to reflect the added files
8389           * Update .cvsignore to ignore pdump.
8391 2001-09-19 14:55  thgibbs
8393         * MANIFEST: Added number.t and trans.t to MANIFEST
8395 2001-09-19 05:40  thgibbs
8397         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8398         of union opcode_t.  I hope this will be more portable for set_n_nc.
8400 2001-09-19 05:39  thgibbs
8402         * t/op/integer.t: Added end to test 1.
8404 2001-09-19 00:09  thgibbs
8406         * t/op/number.t: Added end to each test
8408 2001-09-19 00:00  simon
8410         * t/op/number.t:
8411         Number tests! Wooo!
8413         Courtesy of: Damien Neil <neild@misago.org>
8415 2001-09-18 23:52  thgibbs
8417         * interpreter.c: Added casts to appropriate types to make -Wall not
8418         complain on certain printf formats
8420 2001-09-18 23:31  thgibbs
8422         * t/op/integer.t: Added end to each test.
8424 2001-09-18 22:54  thgibbs
8426         * t/op/trans.t: Added trans.t for transcendental math function
8427         tests.
8429 2001-09-18 22:28  simon
8431         * MANIFEST:
8432         MANIFEST updates. (And notice how I carefully snuck in the
8433         t/op/integer.t there...)
8435         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8437 2001-09-18 22:26  simon
8439         * t/: integer.t, op/integer.t:
8440         Except it doesn't go there. Duh.
8442 2001-09-18 22:25  simon
8444         * t/integer.t:
8445         Tests for integer ops.
8447         Courtesy of: Damien Neil <neild@misago.org>
8449 2001-09-18 22:03  thgibbs
8451         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8452         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8453         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8454         opcode_t union for operators.  This required a few perl script
8455         changes to output the correct type.  There were also some changes
8456         to allow -pedantic in gcc
8458 2001-09-18 21:07  gregor
8460         * disassemble.pl, Parrot/PackFile.pm,
8461         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8462         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8463         lib/Parrot/PackFile/Constant.pm:
8464         Converted the disassembler to use the Parrot::PackFile Perl classes
8465         to do its job.
8467 2001-09-18 19:18  brentdax
8469         * Makefile.in: Fix missing functions for real this time.  (I
8470         swear!)
8472 2001-09-18 18:49  brentdax
8474         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8475         <doughera@lafayette.edu>}
8477 2001-09-18 18:47  brentdax
8479         * Makefile.in: Fix bugs with missing math, etc. functions
8481 2001-09-18 14:42  thgibbs
8483         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8484         char*.
8486 2001-09-18 13:59  thgibbs
8488         * strnative.c: Removed unnecessary IV cast in concat.
8490 2001-09-18 13:58  thgibbs
8492         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8493         to concat test in string.t
8495 2001-09-18 12:07  gregor
8497         * languages/jako/jakoc:
8498           * var num ... no longer requires assignment
8499           * automatic casting between int and num
8500           * Fixed an error message
8502         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8504 2001-09-18 11:57  simon
8506         * TODO:
8507         Gonna have to start thinking of more things to do, soon.
8509 2001-09-18 10:42  simon
8511         * opcode_table:
8512         Introduce a little more tidiness into the opcode table.
8514 2001-09-18 03:06  gregor
8516         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8517         Resurrected register-const ops per Dan's request.
8519 2001-09-18 02:20  gregor
8521         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8522         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8523         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8524         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8525         Committed some files that were missed in the last *.h moving
8526         commit.
8528 2001-09-18 02:17  gregor
8530         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8532 2001-09-18 02:16  gregor
8534         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8535         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8536         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8537         missed in last commit for the move of *.h to include/parrot.
8539 2001-09-18 01:32  simon
8541         * t/Makefile:
8542         Trivial "clean" target to t/Makefile.
8544 2001-09-18 01:32  simon
8546         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8547         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8548         Change icky Digest::MD5 for nice simple unpack()
8550         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8552 2001-09-18 00:35  simon
8554         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8555         t/op/string.t:
8556         New concat op. Hey, if I'm going to talk about it in an article,
8557         better implement it...
8559 2001-09-17 22:54  gregor
8561         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8562         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8563         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8564         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8566         Functions for reading, writing and manipulating Parrot Pack Files.
8567         NOTE: This is a proposed term based on the fact that the file
8568         contains more than just byte code, and another language (Java)
8569         calls its binary files by a broader notion of what's in them (Class
8570         Files). Since Perl has packages, and since we use pack() to write
8571         them, we'll call them PackFiles (at least for now).
8573         That does, however, beg the question of file extension. Should we
8574         name the files "foo.pack" instead of "foo.pbc"?
8576 2001-09-17 20:23  thgibbs
8578         * interpreter.c, test_main.c: Uncuddled else statements for coding
8579         standard.
8581 2001-09-17 19:57  gregor
8583         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8584         Added a $revision variable, parsing of the CVS Id line in
8585         opcode_table and a &revision() subroutine.
8587 2001-09-17 19:53  gregor
8589         * opcode_table:
8590         Added a CVS Id tag to it.
8592 2001-09-17 18:58  thgibbs
8594         * interpreter.c: Cleared interpreter flags on creation.
8596 2001-09-17 18:38  gregor
8598         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8599         interpreter.h, test_main.c:
8600           * Provides macros in interp_guts.h for setting up arrays with
8601             op names and op arg counts (done via build_interp_starter.pl).
8603             These are used in the op tracing
8605           * The functions in bytecode.[hc] pass around a pointer to the
8606         length
8607             of the bytecode so that later when we get to runops, we know
8608             how much bytecode we've got and we can detect out-of-bounds
8609             jumping. The documentation is updated, too.
8611           * runops in interpreter.c now looks at interpreter->flags to
8612             decide if the core of runops should be runops_trace_core or
8613             runops_notrace_core. These new functions contain just the
8614             while-loop portion of runops. A new function runops_generic
8615             does any other setup (such as checking the bytecode
8616             fingerprint) or wrapup (such as complaining if we ended up
8617             out-of-bounds). NOTE: I didn't know what we should do for
8618             functions in here that are not part of the api, so I gave
8619             them docs with 'TODO' marks mentioning they really aren't
8620             part of the api. Guidance appreciated.
8622           * test_main.c now checks for '-t' arg and sets the tracing flag
8623             on its interpreter instance as appropriate.
8625 2001-09-17 17:47  bdwheele
8627         * assemble.pl: added some default equates, and if they're sub
8628         references, they are computed each time it is referenced.
8630 2001-09-17 16:15  dan
8632         * interpreter.h:
8634         Added flags to the interpreter structure and defined a few.
8636 2001-09-17 15:51  simon
8638         * bytecode.h, string.h:
8639         VAR_SCOPE on globals.
8641 2001-09-17 15:20  simon
8643         * MANIFEST:
8644         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8646 2001-09-17 15:05  gregor
8648         * t/jump.pasm, MANIFEST:
8649         Added a test program to demonstrate jump_i.
8651 2001-09-17 14:44  thgibbs
8653         * register.c: Fixed register pop not using correct offset (off by
8654         one).
8656         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8658 2001-09-17 13:56  thgibbs
8660         * interpreter.c, register.c: Added code to call Parrot_clear_s
8661         during initialization and Parrot_clear_s and Parrot_clear_p when a
8662         new stack frame is pushed.
8664 2001-09-17 13:51  gregor
8666         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8667         fib.jako, hello.jako: Added bench.pasm to "clean"
8669 2001-09-17 13:49  gregor
8671         * languages/jako/: jakoc, Makefile:
8672         Added CVS Id tag.
8674 2001-09-17 13:49  gregor
8676         * languages/jako/jakoc:
8677         Code streamlining.
8679         Courtesy of: Buggs <buggs-perl6@splashground.de>
8681 2001-09-17 13:29  gregor
8683         * MANIFEST, opcheck.pl:
8684         Added an opcode_table checker to make sure that all opcodes listed
8685         there conform to a simple set of naming rules (rules themselves, of
8686         course, are subject to change).
8688 2001-09-17 13:23  thgibbs
8690         * string.c: Modified string.c to correctly use the return value of
8691         realloc.
8693 2001-09-17 05:26  brentdax
8695         * Makefile.in: Making the Makefile smarter
8697 2001-09-16 23:06  brentdax
8699         * hints/mswin32.pl: Finishing the Configure hints
8701 2001-09-16 23:05  brentdax
8703         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8704         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8705         Configure hints, 5.005 compatibility, MANIFEST checking
8707 2001-09-16 19:25  bdwheele
8709         * assemble.pl: parrot assembly equates
8711 2001-09-16 18:03  gregor
8713         * Makefile.in:
8714         Added 'test' target to run new test suite.
8716 2001-09-16 17:33  simon
8718         * basic_opcodes.ops:
8719         'not' was being !, rather than ~. Too many Perl programmers here, I
8720         suspect.
8722         Courtesy of: Tom Hughes <tom@compton.nu>
8724 2001-09-16 17:21  simon
8726         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8727         t/op/string.t:
8728         A *real* test suite!
8730         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8732 2001-09-16 16:49  gregor
8734         * basic_opcodes.ops, opcode_table:
8735         At Dan's request, my new register-constant comparison ops have been
8736         removed.
8738 2001-09-16 16:40  gregor
8740         * languages/jako/jakoc:
8741         Fixed a copy-paste error in one of jakoc's error messages.
8743         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8745 2001-09-16 16:37  gregor
8747         * languages/jako/jakoc:
8748         Modified comparison implementation to use temporary registers in
8749         the case of register-constant and constant-register comparisons.
8750         This will allow the compiler to emit code that works when the
8751         constant-comparison ops are backed out of Parrot. If the ops ever
8752         make their way back in, then jakoc can emit more efficient code
8753         again.
8755 2001-09-16 16:19  bdwheele
8757         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8758         ... though not subroutine based like the documentation wants, they
8759         are local to the last non-local label defined.
8761 2001-09-16 14:02  simon
8763         * MANIFEST:
8764         And remember, when you add stuff, keep the manifest up to date.
8766 2001-09-16 02:55  ask
8768         * Makefile.in: a "shared" target for building libparrot.so
8770 2001-09-16 02:45  thgibbs
8772         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8773         global_setup.h, interpreter.c, interpreter.h, io.h,
8774         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8775         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8776         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8777         use the coding standard PDD.  Also changed Perl_Interp to
8778         Parrot_Interp.
8780 2001-09-16 02:21  ask
8782         * README: emphasise the bits about the license not being worked out
8783         yet.
8785 2001-09-15 22:21  simon
8787         * process_opfunc.pl:
8788         basic_opcodes.c should *scream* that it's autogenerated.
8790 2001-09-15 21:58  gregor
8792         * languages/jako/Makefile:
8793         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8794         compile.
8796 2001-09-15 21:58  gregor
8798         * languages/jako/: jako_compiler.pl, jakoc:
8799         Renamed the Jako compiler to jakoc from jako_compiler.pl
8801 2001-09-15 21:51  gregor
8803         * languages/jako/: Makefile, bench.jako, euclid.jako,
8804         jako_compiler.pl:
8805         Added a new bench.jako example based on Leon Brocard's Bench.java.
8807         Jako Compiler:   * fix a bug in assignment handling   * add some
8808         more conditionals to while and if   * revert to using implicit
8809         opcodes in a few cases that were broken     before the assembler
8810         patch went in recently.
8812 2001-09-15 21:46  gregor
8814         * assemble.pl, basic_opcodes.ops, opcode_table:
8815         New ops for register-constant INTEGER comparisons:
8817           {eq,ne,lt,le,gt,ge}_ic_ic
8819         New ops for register-register and register-constant NUMERIC
8820         comparisons:
8822           eq_nc_ic
8823           {ne,lt,le,gt,ge}_{n,nc}_ic
8825         Assembler:
8827           Allow uppercase and underscores in labels.
8829           Tweaks to the op infer code to make it work with the examples
8830         I've been
8831           creating.
8833 2001-09-15 19:16  thgibbs
8835         * README: Updated README to include Configure.pl
8837 2001-09-15 17:05  simon
8839         * build_interp_starter.pl:
8840         Casting happiness
8842         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8844 2001-09-15 16:45  simon
8846         * assemble.pl:
8847         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8849 2001-09-15 16:40  simon
8851         * t/Makefile:
8852         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8853         test Makefile
8855 2001-09-15 12:26  simon
8857         * memory.c:
8858         Fixed to match the coding standards.
8860         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8862 2001-09-15 01:57  ask
8864         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8865         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8866         to run Configure.pl
8868 2001-09-15 01:48  ask
8870         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8871         say so. :-)
8873 2001-09-15 01:42  gregor
8875         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8876         jako_compiler.pl:
8877         Compiler: Added variable interpolation in double-quoted strings.
8878         Examples: Made use of variable interpolation.
8880 2001-09-15 01:28  gregor
8882         * Parrot/.cvsignore:
8883         Ignore the Config.pm generated file.
8885 2001-09-15 01:22  gregor
8887         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8888         fib.jako, hello.jako, jako_compiler.pl:
8889         gnp: Added some more sample Jako files and added many more
8890         operators to the compiler. Preparations for supporting all the Math
8891         and bitwise ops.
8893 2001-09-14 19:06  simon
8895         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8896         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8897         lib/Parrot/Opcode.pm:
8898         Move common table reading stuff to a module.
8900         Courtesy of: Damien Neil <neild@misago.org>
8902 2001-09-14 17:42  simon
8904         * .cvsignore:
8905         More .cvsignore foo.
8907 2001-09-14 17:40  simon
8909         * assemble.pl, config_h.in:
8910         De-coredump
8912         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8914 2001-09-14 17:38  simon
8916         * assemble.pl, t/Makefile:
8917         Make assemble.pl look in its parent directory if the data files it
8918         needs aren't in the current one. Plus a Makefile that lets "make
8919         foo.pbc" work in t/
8921         Courtesy of: Rocco Caputo <troc@netrus.net>
8923 2001-09-14 16:29  simon
8925         * make_op_header.pl:
8926         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8927         probably segfault everywhere else.)
8929 2001-09-14 15:58  dan
8931         * languages/jako/: euclid.jako, jako_compiler.pl:
8933         Added in the first mini-language that targets Parrot.
8935         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8937 2001-09-14 15:20  dan
8939         * memory.c: Was misaligning returned memory. Fixed.
8941 2001-09-14 15:08  simon
8943         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8944         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8945         register.c, register.h, string.c, string.h, strnative.c,
8946         test_main.c:
8947         Fixes to include <parrot/foo.h>
8949         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8951 2001-09-14 12:05  simon
8953         * strnative.c:
8954         Appease Tru64.
8956 2001-09-14 12:01  simon
8958         * memory.c:
8959         Appease Tru64.
8961 2001-09-14 11:54  simon
8963         * interpreter.c:
8964         Remove lvalue cast.
8966 2001-09-14 11:45  simon
8968         * Configure.pl:
8969         Be 5.005 friendly.
8971 2001-09-14 11:39  simon
8973         * Configure.pl:
8974         Tru64 cc doesn't like -Wall
8976 2001-09-14 10:57  simon
8978         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8979         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8980         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8981         Configure now generates Makefile
8983         Courtesy of: Brent Dax <brentdax@cpan.org>
8985 2001-09-14 10:08  simon
8987         * t/test3.pasm:
8988         Add "end"
8990         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8992 2001-09-14 10:07  simon
8994         * assemble.pl:
8995                 * uses Getopt::Long for options.  -c is now --checksyntax.
8996         I wasn't
8997         sure how to keep compatible (patches welcome!)         * options
8998         include:                 --help                 --version
8999               --verbose                 --output=file
9000         --listing=file                 --checksyntax         * produces
9001         verbose listing of what the assembler saw :)  Only one nitpick with
9002         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9003         includes symbols which may be defined later in the file (i.e.
9004         forward jumps).
9006         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9008 2001-09-14 10:06  simon
9010         * strnative.c:
9011         substr growth fixup
9013         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9015 2001-09-14 10:03  simon
9017         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9018         register.c, string.c, strnative.c, test_main.c:
9019         Coding standards conformance
9021         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9023 2001-09-14 09:46  simon
9025         * assemble.pl:
9026         Make the assembler grok transcendental maths again.  Courtesy of:
9027         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9029 2001-09-13 17:29  simon
9031         * assemble.pl:
9032         Better opcode guessing, from Brian Wheeler. (Again!)
9034 2001-09-13 17:20  dan
9036         * docs/parrot_assembly.pod:
9038         Took out duplicate entries for iton, ntoi, and tostring.
9040 2001-09-13 17:16  simon
9042         * assemble.pl, basic_opcodes.ops, opcode_table:
9043         From Brian Wheeler:
9045         This patch gives the assembler support of '\a','\n','\r','\t', and
9046         '\\' in string constants.
9048         In addition, it changes (for all registers) "I reg %li is ..." to
9049         just the value of the register.  Printing constants is also
9050         supported, but alas, you have to specify the type (print_sc,
9051         print_ic, print_nc).
9053 2001-09-13 15:38  simon
9055         * assemble.pl:
9056         Why don't I actually *test* this stuff before applying it, eh?
9058 2001-09-13 15:34  simon
9060         * TODO, t/euclid.pasm:
9061         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9062         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9063         inference
9065 2001-09-13 14:42  simon
9067         * assemble.pl:
9068         A new assembler, from Brian Wheeler.
9070 2001-09-13 09:44  simon
9072         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9073         test_main.c:
9074         Two more from Tom Hughes:     Patch to fix C++ style comments
9075         Patch to remove use of structure constant/cast
9077 2001-09-13 09:39  simon
9079         * TODO, docs/strings.pod:
9080         Update string docs.
9082 2001-09-13 09:36  simon
9084         * Makefile, basic_opcodes.ops:
9085         Tom Hughes      Patch to link with the maths library Tom Hughes
9086          Patch to fix += on rvalue
9088 2001-09-13 08:57  simon
9090         * MANIFEST:
9091         I guess nobody's been using the nightly builds...
9093 2001-09-13 08:27  simon
9095         * assemble.pl, basic_opcodes.ops, opcode_table:
9096         Bitwise ops, from Brian Wheeler.
9098 2001-09-13 08:23  simon
9100         * .cvsignore, t/.cvsignore:
9101         .cvsignore's, from Gregor Purdy.
9103 2001-09-13 08:22  simon
9105         * Makefile:
9106         Euclidean test and test output rearranging from Gregor Purdy.
9108 2001-09-13 08:21  simon
9110         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9111         Math ops from Gibbs Tanton.
9113 2001-09-13 08:14  simon
9115         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9116         t/test2.pasm:
9117         String substr op; also rearranged "encoding" to be a vtable
9118         pointer, not an array index. Haven't changed docs to reflect this,
9119         oops.
9121         Simon
9123 2001-09-12 19:48  dan
9125         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9126         Gregor Purdy
9128 2001-09-12 19:39  dan
9130         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9132 2001-09-12 19:23  dan
9134         * interpreter.h, parrot.h: Quick placeholder entry for string
9135         function tables
9137 2001-09-12 18:58  dan
9139         * memory.c: Added in a cast to make gcc happy.
9141 2001-09-12 16:44  dan
9143         * docs/parrot_assembly.pod:
9145         PDD describing parrot's assembly language and the opcodes in it
9147 2001-09-12 14:20  dan
9149         * memory.c:
9150         Fixed alignment issues with allocation
9152 2001-09-12 10:54  simon
9154         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9155         make_op_header.pl, opcode_table, process_opfunc.pl:
9156         Brian Wheeler's big patch:
9158         * Changes the opcode_table file to provide additional information
9159         about the operands.  Case shouldn't be a problem since that data
9160         never becomes a C symbol [this is pretty much as before]
9162         * Padding errors solved:  assemble.pl and bytecode.c were padding
9163         the constants incorrectly.  It should have been 4-(size % 4), not
9164         just (size % 4).  It is now fixed in both places.
9166         * assembler has less special cases, and should be easier to hang
9167         error checking on
9169         * disassembler dumps constant table and the format is a bit
9170         prettier, including register names, etc.
9172 2001-09-11 23:21  dan
9174         * build_interp_starter.pl, interpreter.c:
9176         Abstracted the runops function core into a macro for easy
9177         replacement later.
9179 2001-09-11 10:43  simon
9181         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9182         Configure system from Brent Dax <brentdax@cpan.org>
9184 2001-09-11 09:38  simon
9186         * assemble.pl, test.pbc:
9187         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9188         assembler deferred output
9190         Also got rid of the bytecode, since that's probably way out of
9191         date.
9193 2001-09-11 09:26  simon
9195         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9196         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9197         patch
9199 2001-09-10 23:20  simon
9201         * MANIFEST:
9202         And that move needs a MANIFEST change. So many things to remember!
9204 2001-09-10 23:18  simon
9206         * t/: test.pasm, test2.pasm, test3.pasm:
9207         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9209 2001-09-10 23:18  simon
9211         * test.pasm, test2.pasm, test3.pasm:
9212         Move tests to t/
9214 2001-09-10 23:04  dan
9216         * test3.pasm:
9218         Register push/pop test
9220 2001-09-10 22:47  simon
9222         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9223         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9224         (Modified to avoid conflict with Dan's changes.)
9226 2001-09-10 22:45  dan
9228         * disassemble.pl:
9230         Happier about blanks in opcode_table
9232 2001-09-10 22:40  dan
9234         * interpreter.c, register.c:
9236         Yanked out debugging code, since these work OK. The bug I want is
9237         elsewhere.
9239 2001-09-10 22:30  simon
9241         * MANIFEST:
9242         Uhm. We want make_op_header.pl. We really, really do.
9244 2001-09-10 22:26  simon
9246         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9247         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9248         opcode_table, process_opfunc.pl:
9249         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9250         This means we can add lots more opcodes without fiddling about with
9251         the numbers. Hooray!
9253         Don't forget that "end" needs to be op zero, else the interpreter
9254         falls off the end of the code. This is Bad, and I wonder if there's
9255         a way around it.
9257 2001-09-10 19:49  simon
9259         * MANIFEST, make_op_table_build.pl:
9260         Hey! This doesn't do anything...
9262 2001-09-10 19:46  simon
9264         * Makefile:
9265         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9267 2001-09-10 18:31  simon
9269         * MANIFEST:
9270         You know what this means...
9272 2001-09-10 18:30  simon
9274         * assemble.pl:
9275         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9276         wait for a release...? :)
9278 2001-09-10 18:13  simon
9280         * interpreter.c:
9281         Bad Dan! No cookie!
9283 2001-09-10 17:56  simon
9285         * README:
9286         A *real* README file, which doesn't claim it isn't for public
9287         consumption.
9289 2001-09-10 17:02  simon
9291         * TODO:
9292         More things to do.
9294 2001-09-10 16:56  dan
9296         * TODO: Added in assembler gripe. Also added a few blank lines for
9297         clarity
9299 2001-09-10 16:49  dan
9301         * register.h, register.c: Renamed the core functions so the opcodes
9302         can find 'em OK. (There were some conflicts)
9304 2001-09-10 16:48  dan
9306         * basic_opcodes.ops, opcode_table: Added register window ops
9308 2001-09-10 11:07  simon
9310         * TODO:
9311         Trivial TODO list.
9313 2001-09-10 11:05  simon
9315         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9316         note "-s" flag to test prog.
9318 2001-09-10 11:01  simon
9320         * docs/strings.pod:
9321         New string documentation.
9323 2001-09-10 11:01  simon
9325         * basic_opcodes.ops, opcode_table:
9326         String ops.
9328 2001-09-10 10:53  simon
9330         * global_setup.c:
9331         More string fu.
9333 2001-09-10 10:51  simon
9335         * memory.h:
9336         Just some more aliases for now. Used by string handling stuff.
9338 2001-09-10 10:50  simon
9340         * assemble.pl, bytecode.c, bytecode.h:
9341         Temporary hack to store string constants in bytecode and recreate
9342         them at runtime.
9344 2001-09-10 10:48  simon
9346         * op.h:
9347         op.h is now generated by the Makefile; remove it.
9349 2001-09-10 10:47  simon
9351         * Makefile:
9352         clean and op.h Makefile targets.
9354 2001-09-10 10:45  simon
9356         * string.c, string.h, strnative.c:
9357         More string vtable stuff.
9359 2001-09-07 21:07  dan
9361         * assemble.pl:
9363         Much less picky about whitespace in the opcode_table now. (Doesn't
9364         whine on blank lines)
9366 2001-09-07 16:23  dan
9368         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9369         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9370         this takes) Added global_setup.h to declare init_world function
9372         Moved variable declarations out of the interpreter loop for small
9373         speed boost.
9375         Changed end opcode to now be opcode #0. A function is provided for
9376         it, but isn't ever executed.
9378         When the interpreter sees an opcode 0 in the stream it means the
9379         end of stream. Things were coring on Cygwin otherwise. (I think I
9380         was dereferencing a zero, which is bad)
9382 2001-09-06 22:07  dan
9384         * basic_opcodes.ops, process_opfunc.pl:
9386         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9387         are minor changes now that things are in a fixed state.
9389 2001-09-06 16:13  dan
9391         * basic_opcodes.c, test_opcodes.c:
9392         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9394         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9395         should be nuked. So it is. :)
9397 2001-09-06 03:35  dan
9399         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9400         Scripts to build the header file that holds the function table
9401         creation code, as well as the script to turn an opcode file to C
9402         source. (And the basic opcode functions turned into an opcode
9403         source file)
9405 2001-09-06 03:31  dan
9407         * Makefile, interpreter.c:
9408         Changes to support the autogeneration of the opcode function
9409         pointer table in interpreter.c, along with the changes to the
9410         Makefile needed.
9412 2001-09-05 13:27  simon
9414         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9415         docs/parrotbyte.pod, docs/vtables.pod:
9416         Added stubs for the documents; working on them this week. (What's
9417         left of it.) config.h change is just to type VTABLE, and the
9418         bytecode thing you might want to revoke. It's apidoc for the
9419         functions in there.
9421 2001-09-03 18:26  simon
9423         * docs/strings.pod:
9424         A start on the string API documentation.
9426 2001-09-03 17:43  simon
9428         * opcode_table:
9429         Since we specify the opcode number, we can rearrange to a more
9430         human-friendly ordering.
9432 2001-09-03 17:42  simon
9434         * basic_opcodes.c:
9435         Coupl'a logic bugs. (I think)
9437 2001-09-03 17:41  simon
9439         * string.c, string.h, strnative.c:
9440         Tidying up the string vtables.
9442 2001-09-03 17:38  simon
9444         * make_op_header.pl:
9445         Spit out the whole of op.h, not just the bit in the middle.
9447 2001-08-29 13:16  ask
9449         * README: it seems like we indeed can commit. What about sending
9450         commit mails?
9452 2001-08-29 13:07  simon
9454         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9455         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9456         global_setup.c, interpreter.c, interpreter.h, io.h,
9457         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9458         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9459         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9460         test.pbc, test_main.c, test_opcodes.c:
9461         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9462          I'm still working on the string stuff, though.
9464 2001-08-29 12:44  ask
9466         * README: update README with list address
9468 2001-08-29 12:36  ask
9470         * README: first readme.