[cage] Fix some typos in docs/book/pct/ch03_compiler_tools.pod
[parrot.git] / ChangeLog
blob7ab31c30a15616c359315b94e86d37e6ac190185
1 #1 $Id$
3 2009.8.18     Whiteknight
4     * Released 1.5.0
5     See NEWS for more.
7 2009.7.21     cotto
8         * Released 1.4.0
9         See NEWS for more.
11 2009.06.16    Whiteknight
12         * Released 1.3.0
13         Ses NEWS for more.
15 2009.05.19    Infinoid
16         * Released 1.2.0
17         See NEWS for more.
19 2009.04.21    fperrad
20         * Released 1.1.0
21         See NEWS for more.
23 2009.03.17    allison
24         * Released 1.0.0
25         See NEWS for more.
27 2009.02.17    kjs
28         * Released 0.9.1
29         See NEWS for more.
31 2009.01.20    chromatic
32         * Released 0.9.0
33         See NEWS for more.
35 2008.12.16    Whiteknight
36         * Released 0.8.2
37         See NEWS for more.
39 2008.11.18    chromatic
40         * Released 0.8.1
41         See NEWS for more.
43 2008.10.21    particle
44         * Released 0.8.0
45         See NEWS for more.
47 2008.09.16    pmichaud
48         * Released 0.7.1
49         See NEWS for more.
51 2008.08.19    rgrjr
52         * Released 0.7.0
53         See NEWS for more.
55 2008.07.15    barney
56         * Released 0.6.4
57         See NEWS for more.
59 2008.06.17    smash
60         * Released 0.6.3
61         See NEWS for more.
63 2008.05.20    chromatic
64         * Released 0.6.2
65         See NEWS for more.
67 2008.04.15    particle
68         * Released 0.6.1
69         See NEWS for more.
71 2008.03.18    bernhard
72         * Released 0.6.0
73         See NEWS for more.
75 2008.02.20    pmichaud
76         * Released 0.5.3
77         See NEWS for more.
79 2008.01.15    rgrjr
80         * Released 0.5.2
81         See NEWS for more.
83 2007.12.18    jonathan
84         * Released 0.5.1
85         See NEWS for more.
87 2007.11.20    chromatic
88         * Released 0.5.0
89         See NEWS for more.
91 2007.10.17    coke
92         * Released 0.4.17
93         See NEWS for more.
95 2007.09.18    particle
96         * Released 0.4.16
97         See NEWS for more.
99 2007.08.22    pmichaud
100         * Released 0.4.15
101         See NEWS for more.
103 2007.07.17    particle
104         * Released 0.4.14
105         See NEWS for more.
107 2007.06.19    allison
108         * Released 0.4.13
109         See NEWS for more.
111 2007.05.15    chromatic
112         * Released 0.4.12
113         See NEWS for more.
115 2007.04.17    mdiep
116         * Released 0.4.11
117         See NEWS for more.
119 2007.03.20    coke
120         * Released 0.4.10
121         See NEWS for more.
123 2007.3.10     coke
124         * removed parakeet
126 2007.02.22    pmichaud
127         * Released 0.4.9
128         See NEWS for more.
130 2007.01.17    chromatic
131         * changed 'name' method on namespaces to 'get_name' per pdd21
133 2007.01.16    particle
134         * Released 0.4.8
135         See NEWS for more.
137 2006.12.12    particle
138         * added C<isnull> opcode
140 2006.11.14    chip
141         * Released 0.4.7
142         See NEWS for more.
144 2006.11.07      tewk
145         * added :init pragma functionality to subs
147 2006.10.28      jonathan
148         * added :vtable pragma functionality to subs
150 2006.09.18    chromatic
151         * added Parrot::Embed under ext/Parrot-Embed
153 2006.08.18    leo
154         * remove the None PMC - if needed it can trivially be reimplemented
155           in languages from r14189
157 2006.08.16    creiss
158         Merged Software Transactional Memory branch into trunk, adds:
159         * several new opcodes whose names start with stm_
160         * read-only PMC support
161         * several new PMC types (whose names start with STM*)
162         * support for threads (again)
164 2006.08.08    chip
165         * Released 0.4.6
166         See NEWS for more.
168 2006.08.02    chip
169         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
170         there are opcodes now that want the real "in PMC".
171         * namespace and global opcodes now accept name arrays again, as
172         well as keys; the corresponding namespace PMC methods are gone.
174 2006.07.21    leo
175         * Parrot_exit, Parrot_on_exit take now an Interp * argument
177 2006.07.25    chip
178         * add experimental op find_type_i_p
179         * fix longstanding bug that sometimes didn't encode pasm keys as
180         Key PMCs (specifically "[S0]" and "['stringliteral']").
182 2006.07.24    chip
183         further implementation of new pdd21:
184         * new opcodes {get,set}*global
185           (old {find,store}*global will be supported for a short while)
187 2006.07.20    audreyt
188         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
189           (or some such --leo)
190           (at the moment code is checking for 2.0 -- ambs)
192 2006.07.17    chip
193         partial implementation of new pdd21:
194         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
195         * get_namespace and find_global opcodes no longer accept arrays
196           of strings.  To use arrays, call namespace object methods.
198 2006.06.19    leo
199         * Released 0.4.5
200         See NEWS for more.
202 2006.06.03    leo
203         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
205 2006.05.14    leo
206         * Released 0.4.4
207         See NEWS for more.
209 2006.04.30    bernhard
210         * Make the Perl PMCs dynamic and move them to src/dynpmc
212 2006.04.02    leo
213         * Released 0.4.3
214         See NEWS for more.
216 2006.03.06    leo
217         * Shifted argument type bits left by 2 according to r11754
218           change of docs/pdds/pdd03_calling_conventions.pod
219         * if you are creating PASM then code needs adjustment
221 2006.02.22    leo
222         * Released 0.4.2
223         See NEWS for more.
225 2006.01.16    bernhard
226          * rename src/dynclasses to src/dynpmc
227          * rename src/classes to src/pmc
229 2006.01.15    leo
231          * find_global and friends returns a .Null PMC instead of .Undef on
232           lookup failure, iff lookup exceptions are off
234 2006.01.08    leo
235         * Released 0.4.1
236         See NEWS for more.
238 2005.12.28    particle
239         * renamed all .imc files to .pir
240         * modified all doc references to .pir as well
242 2005.12.13    particle
243         * moved jit/ directory to src/jit/
245 2005.12.12    particle
246         * moved io/ directory to src/io/
247         * moved classes/ directory to src/classes/
248         * moved dynclasses/ directory to src/dynclasses/
250 2005.12.08    particle
251         * moved types/ directory to src/types/
252         * moved pf/ directory to src/packfile/
253         * moved ops/ directory to src/ops/
255 2005.12.08    particle
256         * moved charset/ directory to src/charset/
257         * moved encodings/ directory to src/encodings/
259 2005.12.07    particle
260         * moved imcc/ directory to compilers/imcc/
262 2005.12.06    particle
263         * moved util/ directory to tools/util/
264         * removed imcc/examples/ directory
265         * moved ast/ directory to compilers/ast/
267 2005.12.05    particle
268         * moved imcc/docs/ directory to docs/imcc/
269         * moved build_tools/ directory to tools/build/
270         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
272 2005.12.04    leo
273         * Released 0.4.0
274         * See NEWS for changes
276 2005.11.06    leo
277         * Released 0.3.1
278         * See NEWS for changes
280 2005.10.01    leo
281         * Released 0.3.0
282         * See NEWS for changes
284 2005.08.05    leo
285         * Released 0.2.3
286         * See NEWS for changes
288 2005.07.03    leo
289         * Released 0.2.2
290         * See NEWS for changes
292 2005.06.04    leo
293         * Released 0.2.1
294         * allow short names for object attributes
295         * string encoding and charset can now be set independently
296         * experimental mmap IO layer for slurping files
297         * enable compile opcode support for compilers written in PASM/PIR
298         * improved HLL support with .HLL and n_operators pragmas
299         * simplified hash code
300         * more strength reduce optimizations
301         * distinct debug and trace flag settings
302         * glob support in PGE
303         * new character classification opcodes and interfaces
304         * numerous bug fixes and enhancements
306 2005-05-08    leo
307         * Released 0.2.0
308         * parrot repository is now under subversion
309         * MMD (Multi Method Dispatch) enhanced
310         * new unary and infix opcodes that return new result PMCs
311         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
312         * more unification of PMCs and ParrotObjects
313         * tailcalls for functions and methods
314         * PGE (Parrot Grammar Engine) reworked
315         * Pugs creates Parrot code and Pugs is a registered compiler now
316         * new languages/lisp
317         * the usual bug fixes and improvements
319 2005-03-06    leo
320         * Released 0.1.2
321         * big rewrite of string code, not yet finished but ...
322         * partial implementation of a generational garbage collector
323         * indirect register frame addressing
324         * .return(args) PIR syntax
325         * moved most of the Python code to dynclasses
326         * a lot more Python functionality
327         * precalculate opcodes with all constants
328         * PGE - Parrot Grammar Engine
329         * scalar classes refactoring
330         * much more tests and big test system cleanup
331         * improved documentation
332         * and as always a lot more
334 2004-10-09    leo
335         * Released 0.1.1
336         * Need Perl 5.6 now for building
337         * Basic AST support, PAST file parser, bits of code generation
338         * BigInt PMC using GMP
339         * Complex PMC
340         * Dynamic loading improved including bundles of PMC classes
341         * Experimental support for "make install"
342         * IA64 and hppa JIT support
343         * ICU unicode support
344         * IO layer handling code
345         * IO readline and buffered IO fixes
346         * Incremental GC
347         * Internal pythonic functions: filter, map, reduce, max, min ...
348         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
349         * Library updates, Stream and SDL library
350         * MMD - multi method dispatch for binary vtable methods
351         * Many new array PMCs
352         * Method call syntax in PIR obj."meth"(...)
353         * More OS stuff: stat, exec, system, gmtime, piped read and write
354         * New Python PMCs like Enumerate, None
355         * Non-branching compare opcodes
356         * PIR support for += and friends
357         * Python language subdir
358         * Python types mapped to existing PMCs
359         * Slices and range support
360         * Tons of bug fixes, documentation updates, new tests
361         * Win32 COFF exec support
362         * ... and a lot more
364 2004-02-29    leo
365         * Released 0.1.0
366         * "Ladies and gentlemen, I give you... objects!"
367         * Huge documentation overhaul
368         * More supported platforms, s. PLATFORMS
369         * Basic thread support for pthread based architectures
370         * Basic event handling for timers and signals including:
371         * PASM callbacks for NCI (native C) functions.
372         * Improved platform configuration
373         * COW stacks now working, stacks code redone
374         * Structure handling vastly improved
375         * Random PMC and rand primitives
376         * Better subroutine call syntax in PIR
377         * Make PIR subroutines compliant with pdd03
378         * Improved profiling (DOD, GC timings)
379         * Hash code improvements, incl. random key order support
380         * Experimental freeze/thaw code for some PMC types
381         * IO improvements for buffered layer and Win32
382         * String iterators
383         * String bitwise vtables
384         * Many new opcodes
385         * Support for JIT, where malloced memory isn't executable
386         * Priority DOD scheme for objects that need timely destruction
387         * Improved bytecode loading (e.g. onLoad functions)
388         * Language updates: forth, Perl6/P6C, m4
389         * Libraries: Getopt_Long, SDL, Dumper, Sort
390         * new JAPH examples
391         * Unified imcc and parrot test handling
392         * Many new tests (make test reports 1386 tests)
393         * Numerous bug fixes
396 2003-10-31    leo
397         * Released 0.0.13
398         * Yep thirteen - haunted by the ghost of 0.0.12
399         * Build imcc as parrot
400         * Objects more finished
401         * Delegate vtable methods to byte code
402         * Binary multi-method dispatching
403         * Isa and does methods for PMCs
404         * Call byte code from C
405         * Start of extension interface
406         * Experimental struct handling
407         * Catch access to NULL PMCs
408         * Experimental network socket interface code and opcodes
409         * IO fixes and improvements
410         * Dynamic opcode libraries
411         * Fix-assigned opcode numbers
412         * Argument flattening for function calls
413         * More native call interface (NCI) signatures
414         * Ncurses, postgres, and pcre interface libraries
415         * Forth language is vastly improved
416         * BSD and Win32 build improvements
417         * Many new tests and fixes
419 2003-10-22    melvin
420         * imcc moved from parrot/languages/ to parrot/
422 2003-09-20    sfink
424         * updated the native_pbc test files (from Leo)
425         * built 0.0.11.1 release tarball
427 2003-09-20    sfink
429         * CHANGES BUNDLED INTO 0.0.11:
430         * Executable output
431         * Dynamic PMC registration
432         * Trial exception system
433         * Beginnings of object system
434         * Iterators
435         * Ordered hashes
436         * I/O system improvements
437         * References
438         * Documentation for basic PMC types
439         * IMCC support of Parrot Calling Conventions
440         * Runtime loading of chartypes (and other string improvements)
441         * Conditional breakpoints
442         * Dramatically accelerated sweeps for finalizable objects
443         * Small PMCs (PMCs split into core and extensions)
444         * Loadable bytecode packfiles
445         * Constant PMCs
446         * Sub variants that deal with the stack correctly
447         * Switched runops core
448         * Line numbers in warnings
449         * Environment access
450         * Many documentation cleanups
451         * Conversion to CPS style!
452         * BASIC debugger and many other wacky features
453         * Filename, line number parsing support in IMCC
455 2003-07-21 17:31 chromatic
456         * applied copyright patch from Josh Wilmes
458 2003-06-14 13:50 dan
459         * Moved the registers out of the context structure, since they
460           really aren't context
461         * Changed the register stack frames to hold only 16 registers
462           rather than 32, added half-set push and pop ops, and reworked
463           the full set push/pops to do two half-set push/pops. Should
464           speed up saving register data on calls, since we usually only
465           care about the top half of the registers anyway.
466         * Started committing some of the new class/object framework
467         * Remembered to finally start updating the Changelog
469 2003-03-18 03:50  ask
471         * Various files
472           Update Yet Another copyright statements to reflect the (no longer
473           so) shiny new year.
475 2003-03-11 22:06  chip
477         * Configure.pl: print help on non-option command line args
479 2002-12-18 20:38  sfink: changes since 0.0.8
481         - Allow suppression of cgoto core to save memory during compile
482         * Native function calling interface
483         * Major rewrite of stack and list aggregates
484         - Scalar PMC added
485         * Scratchpads implemented
486         - Win32 libraries
487         - Internal memory subsystem documentation
488         * Preliminary DotGNU support
489         - Packfile fingerprinting
490         * Buffer/PMC unification (into PObjs)
491         * stabs debugging information support
492         * Major Jako overhaul, including:
493           - imcc integration
494           - native function calling
495         - Perl6 string interpolation
496         - languages/regex now targets IMCC
497         * Optional Lea memory allocator
498         * Full sprintf implementation
499         * Many, many new tests
500         * Miniparrot
501         - exchange ops
502         - runtime-controllable gc debugging
503         * PMC properties
504         - Crash info
505         * JIT: various improvements
506           - register usage tracking
507           - block register allocation
508           - optimizations
509           - more jitted ops
510           - restartable
511           - architecture abstraction layer
512           - debugging via GDB
513         * Beginning support for extensible packfiles
514         * Much better key support, generally
515         * splice()
516         * Restructured PMC hierarchy with better functionality inheritance
517         * IMCC: many, many improvements. See imcc/ChangeLog
518         * Perl6: index map grep join reverse defined
519         * Scheme with functions!
522 2002-03-19 22:54  nicholas
524         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
526          We can now get usage information for test_parrot without having to
527          grep the source.
529 2002-03-19 22:53  simon
531         * Configure.pl:
532         Parrot is called parrot.
534 2002-03-19 22:53  nicholas
536         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
538          1. There are tests in t/pmc as well as t/op now.
539          2. Adds a comment about Parrot::Test
541 2002-03-19 18:09  dan
543         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
544         messes up automated builds
546         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
548 2002-03-19 00:33  mrjoltcola
550         * core.ops: Doc cleanup from Simon Glover.
552 2002-03-18 23:52  mrjoltcola
554         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
556 2002-03-18 22:09  dan
558         * include/parrot/resources.h: Checked in old version
560 2002-03-18 20:17  dan
562         * include/parrot/resources.h: Forgot a prototype
564 2002-03-18 20:15  dan
566         * resources.c: D'oh! Thinko, fixed.
568         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
570 2002-03-18 17:33  josh
572         * Configure.pl: Lowering the bar a bit.
574 2002-03-18 17:33  sfink
576         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
577         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
578         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
579         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
580         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
581         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
582         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
583         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
584         t/example.t: Whoops, wrong time to check this in.
586 2002-03-18 16:42  dan
588         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
589         least we consider the PMC and Buffer free pools worth collecting,
590         and initialize the Buffer pool stuff.  Still not 100% correct,
591         though.
593 2002-03-18 15:35  simon
595         * packfile.c:
596         Fix format arg bug.
598 2002-03-18 07:45  brentdax
600         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
601         system.
603 2002-03-18 00:09  sfink
605         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
606         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
607         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
608         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
609         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
610         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
611         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
612         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
613         t/example.t: Buggy 1st version of regex compiler implementation.
614         Warning: the test code depends on features of the assembler that do
615         not yet exist.
617 2002-03-17 21:35  ajgough
619         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
620         through addition and subtraction.  Also added the ability to run
621         all the tests, including the ones which deal with overflow and
622         underflow.  These fail, but that's expected.  Soon they'll pass.
623         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
624         passsssssssings tesssstsssss.
626 2002-03-17 20:06  ajgough
628         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
629         check_(under|over)flow to test bignumbers, rather than values.
630         context now carries E_limit, from which max and min exp are found.
632         Added a default-context-creating function (although this isn't the
633         same as either of the default contexts defined in the eda).
635 2002-03-17 13:31  ajgough
637         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
638         exported version matches prototypes of other public functions.
640 2002-03-17 06:44  josh
642         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
643         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
644         last-minute re-indenting.
646 2002-03-17 05:07  mrjoltcola
648         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
650 2002-03-16 23:17  nicholas
652         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
653         remove warnings:
655          default.pmc: In function `Parrot_default_get_integer_keyed':
656          default.pmc:50: warning: control reaches end of non-void function
657          default.pmc: In function `Parrot_default_get_number_keyed':
658          default.pmc:58: warning: control reaches end of non-void function
659          default.pmc: In function `Parrot_default_get_string_keyed':
660          default.pmc:67: warning: control reaches end of non-void function
661          default.pmc: In function `Parrot_default_get_pmc_keyed':
662          default.pmc:87: warning: control reaches end of non-void function
664 2002-03-16 18:50  ajgough
666         * types/: bignum.c, bignum.h: Lots of prototypes changed in
667         readiness for nicely telling your caller about any oddness you've
668         caused in the persuit of flow.
670 2002-03-16 17:38  dan
672         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
673         include/parrot/interpreter.h, include/parrot/resources.h: Now we
674         can control the GC and DOD, to stop it when we don't really want
675         it.
677 2002-03-16 16:58  dan
679         * resources.c, vtable.tbl, classes/default.pmc,
680         include/parrot/resources.h: Added the last code to let PMCs control
681         their marking at DOD time
683 2002-03-16 16:57  ajgough
685         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
686         feel a little more virtuous now.  Really I do.  You might not
687         believe me, but you should.  perl -pne 's/\t/        /g', if you're
688         curious.
690 2002-03-16 16:57  josh
692         * packfile.c, packout.c: M-x untabify is my new friend.
694 2002-03-16 16:50  josh
696         * trace.c, resources.c: Minor whitespace tweak for the benefit of
697         check_source_standards.pl
699 2002-03-16 16:50  ajgough
701         * types/: bignum.c, bignum.h: More documentation, separate
702         functions into public and private sorts, some initial stuff to cope
703         with over and underflow correctly.
705 2002-03-16 16:49  josh
707         * resources.c: Re-indented (sorry bout the big diff)
709 2002-03-16 16:47  bdwheele
711         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
712         assemble again, both with Simon's new assembler and with the old
713         one.
715 2002-03-16 16:33  mrjoltcola
717         * io/TODO: Get the TODO up-to-date for 0.0.4.
719 2002-03-16 16:11  josh
721         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
722         silly people (such as me) running Configure with
723         /usr/local/bin/perl (which is 5.004_05) and not realising their
724         mistake until the pmc subdirectory, where the first qr// is
725         encountered.
727         Syntax error messages don't tell you what you did wrong. This does:
729         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
730         only version 5.00405, stopped at Configure.pl line 10.
732 2002-03-16 14:38  ajgough
734         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
735         with commenting.
737 2002-03-16 11:45  simon
739         * MANIFEST, examples/assembly/xml_parser.pasm:
740         Added Clint Pierce's XML parser.
742 2002-03-15 22:24  simon
744         * packout.c:
745         Don't need that function.
747 2002-03-15 21:56  simon
749         * Makefile.in, include/parrot/packfile.h:
750         Rebuild packout.o, since it'll be used for the Packfile XS module
752 2002-03-15 19:45  dan
754         * include/parrot/: memory.h, pmc.h: Another add-in for GC
756 2002-03-14 19:48  dan
758         * core.ops: No string to int for some reason
760 2002-03-14 18:45  dan
762         * string.c, t/op/string.t: Fix 0-length substr problem
764 2002-03-14 14:46  dan
766         * core.ops, interpreter.c, resources.c, classes/array.pmc,
767         classes/perlarray.pmc, examples/assembly/life.pasm,
768         include/parrot/interpreter.h, include/parrot/resources.h: Added in
769         a counter for copied memory, with a display in life.pasm
771 2002-03-14 03:16  mrjoltcola
773         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
775 2002-03-13 23:43  simon
777         * packfile.c:
778         Oops.
780 2002-03-13 23:43  simon
782         * packfile.c:
783         Hangs head in shame.
785 2002-03-13 21:31  simon
787         * MANIFEST:
788         FAQ moved.
790 2002-03-13 18:06  simon
792         * string.c:
794         Fix string_compare screw-up.
796 2002-03-13 18:02  brentdax
798         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
799         and add a new question/answer pair.
801 2002-03-12 22:53  mrjoltcola
803         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
805 2002-03-12 22:48  mrjoltcola
807         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
808         warranty provided.
810 2002-03-12 22:29  ajgough
812         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
814 2002-03-12 22:24  ajgough
816         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
817         version 1.1, Don't know if this is the correct number, but I don't
818         want this stuck on my harddrive where it will get lost, so 14 it is
819         :)
821 2002-03-12 11:35  simon
823         * MANIFEST, packdump.c, packout.c:
825         Just so the functionality doesn't disappear.
827 2002-03-12 11:33  simon
829         * Makefile.in, chartype.c, encoding.c, packfile.c,
830         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
831         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
832         include/parrot/chartype.h, include/parrot/encoding.h,
833         include/parrot/packfile.h:
835         Packfile axing.
837 2002-03-11 23:06  nicholas
839         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
841           Core.ops documentation nits
843 2002-03-11 23:05  nicholas
845         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
847           Most of the PerlUndef tests in pmc.t appear to have been added
848         twice.
849           Enclosed patch removes the duplicates.
851 2002-03-10 23:40  nicholas
853         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
855          More tests for the PerlString test-suite.
857 2002-03-10 23:40  nicholas
859         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
861         test for sleep with negative argument
863 2002-03-10 21:58  nicholas
865         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
867          Enclosed patch fixes up a few more holes in our test coverage.
869 2002-03-10 21:18  mrjoltcola
871         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
872         classes/parrotpointer.pmc, classes/perlarray.pmc,
873         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
874         classes/perlstring.pmc, classes/perlundef.pmc,
875         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
876         argument to the init() vtable method so PMCs have the option to
877         know how to size themselves at creation. size could be N elements
878         or a byte count, depending on the PMC or it may simply be ignored.
879         Overloaded 'new' opcode for optional arg.
881 2002-03-10 21:15  mrjoltcola
883         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
884         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
885         class).
887         Also added small hack for .sub directive (which simply translates
888         to a label, however we might eventually want to collect these to
889         validate bsr calls.
891 2002-03-10 15:09  ajgough
893         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
894         Added round_floor and round_ceiling.  3403 tests pass, none fail.
896 2002-03-10 03:56  ajgough
898         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
899         divide, divide integer and remainder.  All filled in functions now
900         have special values capability.
902         Much remains to be done though, and the pdd needs to catch up.
904 2002-03-10 01:36  ajgough
906         * types/bignum.c: Added extended stuff to _add, _subtract.
908 2002-03-10 00:14  nicholas
910         * t/op/: integer.t, number.t: Patch from Simon Glover
911         <scog@roe.ac.uk>:
913          The enclosed patch fixes a few of the holes in our test coverage
914          uncovered by Josh Wilmes
916 2002-03-09 23:03  ajgough
918         * types/: bignum.c, bignum.h: Modified compare to work with
919         extended values.  Made a couple of changes here and there to allow
920         BN_comp to take a context, so that an is_zero check doesn't clobber
921         negative zeros.
923 2002-03-09 22:19  ajgough
925         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
926         Unary plus now copes with special values.
928 2002-03-09 04:25  ajgough
930         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
931         traps and flags are now enabled and tested for all the standard
932         tests for all the functions which are currently implemented.  Test
933         harness faffed with to allow these to be tested.
935 2002-03-09 02:29  josh
937         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
938         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
939         Re-indented
941 2002-03-09 02:22  josh
943         * config_h.in: tab-blastin'
945 2002-03-09 02:21  josh
947         * check_source_standards.pl: Play nicer with M-x compile- don't
948         bother giving line numbers for things you don't want to look at.
950 2002-03-09 02:10  josh
952         * examples/mops/mops.c: re-indented
954 2002-03-09 02:07  josh
956         * classes/pmc2c.pl: Use the usual header so that we can detect the
957         autogeneratedness.
959 2002-03-09 02:05  josh
961         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
962         compiler warning
964 2002-03-09 01:59  josh
966         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
967         patch- re-indent io/*.c.
969 2002-03-09 01:52  ajgough
971         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
972         special values to the string conversion functions, some other
973         functions now need context (to let -0 pass through really_zero)
974         which have also been added.
976 2002-03-09 01:47  josh
978         * test_main.c: Re-indented.
980 2002-03-09 01:41  josh
982         * rx.c: killed a stray tab
984 2002-03-09 01:38  josh
986         * rx.c: Re-indented.
988 2002-03-09 01:36  josh
990         * misc.c: Oops, some tabs remained- cleaned up.
992 2002-03-09 01:31  josh
994         * misc.c: Re-indented (major patch, sorry)
996 2002-03-09 00:59  josh
998         * embed.c: Re-indented.
1000 2002-03-08 23:08  simon
1002         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1003         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1004         docs/pdds/pdd13_bytecode.pod:
1005         Placeholder PDDs.
1007 2002-03-08 21:12  ajgough
1009         * include/parrot/string.h: Added private flags to string.h, mostly
1010         so that other GCed stuff can also have its very own private flags.
1012 2002-03-08 19:53  simon
1014         * MANIFEST:
1015         Great PDD Renaming
1017 2002-03-08 19:41  robert
1019         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1020         pdd6.pod, pdd7.pod: Renamed...
1022 2002-03-08 18:51  simon
1024         * MANIFEST, docs/pdds/pdd08_keys.pod:
1025         Add keys PDD.
1027 2002-03-08 18:20  ajgough
1029         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1030         Introduced exception handlers and exception flags to context, will
1031         allow support of extended standard.  Unified exception checking
1032         mechanism (sort of) and made minimal changes to bulk of code to use
1033         this.  Tests pass, I'm happy, and further changes will happen more
1034         gradually.
1036 2002-03-08 04:38  josh
1038         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1039         tweaks.
1041 2002-03-08 04:37  josh
1043         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1045 2002-03-08 04:24  josh
1047         * embed.c: A bit more re-indenting
1049 2002-03-08 04:20  josh
1051         * embed.c: Indenting fixes
1053 2002-03-08 04:14  josh
1055         * jit.c: Re-indented (run_indent.pl)
1057 2002-03-08 03:36  josh
1059         * ops2c.pl: Fix the line numbers which get reported while compiling
1060         core_ops*.c
1062 2002-03-08 03:22  josh
1064         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1065         The variable "type" is set but never used.
1067               opcode_t type;
1069 2002-03-08 03:04  josh
1071         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1072         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1073         noticed by the sgi compiler.
1075 2002-03-08 03:02  josh
1077         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1078         misc.c, Line = 417   The indicated type qualifier is meaningless on
1079         cast type.
1082         (const char) 'f');
1083                                                                          ^
1085 2002-03-08 02:55  josh
1087         * Makefile.in: Clean up one of the object files it was missing
1089 2002-03-08 01:15  josh
1091         * include/parrot/interpreter.h: Fixes the following error (tcc):
1092         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1093         comma at end of list.
1095 2002-03-06 22:15  simon
1097         * stacks.c:
1098         Tidy up stack chunk allocation.
1100 2002-03-06 21:00  simon
1102         * interpreter.c:
1103         Create strings only once we've got string register heads set up.
1105 2002-03-06 20:31  simon
1107         * classes/perlarray.pmc:
1108         malloc(0) considered harmful.
1110 2002-03-06 20:24  simon
1112         * include/parrot/resources.h:
1113         I like it when Parrot compiles.
1115 2002-03-06 17:02  dan
1117         * classes/array.pmc: Changed over to data pointing to a Buffer.
1119 2002-03-06 15:45  dan
1121         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1122         packfile.c, pbc2c.pl, pdump.c, resources.c,
1123         include/parrot/interpreter.h, include/parrot/memory.h,
1124         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1125         and opcode_t > longs will now be even more suspect than what they
1126         were beforehand.  2) Feel free to bicker with names.  I don't think
1127         we've come to *any* sort of agreement with these, although we
1128         really, really, need to.  3) I forget the third thing.  4) But I
1129         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1130         ANSI C states that enums will fit within the smallest type (int or
1131         greater) that can hold the values. Is that actually correct, and
1132         does it state whether unsigned is preferred to signed for
1133         non-negative enums? 6) Since I'm no longer constrained by "three"
1134         or "quick", I'm going size_t happy for a lot of memory-related
1135         storage.  (That's good.  No sense wasting the size or performance
1136         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1137         a couple other internal things (like the GC stat counters, seen
1138         here).  Size and performance, again, and unpromotable to a bigint,
1139         so we know that we (theoretically) will wrap.  However, size_t
1140         isn't the best choice for the type.  (Not that there's anything
1141         wrong with size_t, just that it shouldn't be called size_t.)  Any
1142         thoughts?  I was thinking of just doing unsigned int, because,
1143         IIRC, int is usually the natural word size, and will be most
1144         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1145         of was while writing down the others.  Sorry.
1147         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1149 2002-03-06 15:26  dan
1151         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1152         include/parrot/resources.h: Now we allocate generic Buffers from
1153         arenas too
1155 2002-03-05 21:42  brentdax
1157         * Configure.pl: Minor cleanup and enhancements.
1159 2002-03-05 21:25  dan
1161         * resources.c: non-special GC now works with PMCs
1163 2002-03-05 19:48  brentdax
1165         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1166         Parrot now "knows" if it's a development version or a release
1167         version.  See the instructions in the DEVELOPING file.
1169 2002-03-05 18:05  brentdax
1171         * MANIFEST: pasm.vim wasn't in the manifest.
1173 2002-03-05 17:57  simon
1175         * Makefile.in:
1176         Now, through much evilness, make distclean and make cvsclean work
1177         again.
1179 2002-03-05 17:38  dan
1181         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1182         include/parrot/interpreter.h, include/parrot/pmc.h,
1183         include/parrot/resources.h: PMC tracing complete
1185 2002-03-05 16:28  gregor
1187         * languages/jako/Makefile.in:
1188         Changed -I ../../ to -I ../../lib when calling the assembler, since
1189         the perl modules have moved.
1191 2002-03-05 05:30  josh
1193         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1194         string.c: More re-indenting via run_indent.pl.
1196 2002-03-05 05:17  josh
1198         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1199         run_indent.pl)
1201 2002-03-05 04:26  josh
1203         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1204         using run_indent.pl and some minor tweaking.
1206 2002-03-05 04:21  josh
1208         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1209         interpreter.c: Re-indented using run_indent.pl and some minor
1210         tweaking.
1212 2002-03-05 03:30  josh
1214         * include/parrot/trace.h: These functions are no longer used (or
1215         even implemented)
1217 2002-03-04 18:21  josh
1219         * include/parrot/trace.h: Fix a typo in the argument type.
1221         Patch from <daniel.ritz@gmx.ch>
1223 2002-03-04 03:39  josh
1225         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1226         header to jit_struct.h so we don't try to check it for conformance.
1227          (no way will it conform)
1229 2002-03-04 03:38  josh
1231         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1232         unicode.h, warnings.h: Remove some remaining tabs and split some of
1233         the remaining long lines.
1235 2002-03-04 03:17  josh
1237         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1238         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1239         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1240         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1241         string_funcs.h, trace.h, warnings.h: This is the first batch of
1242         re-indenting.   This patch is the result of running run_indent.pl
1243         on the header files and manually tweaking the results where errors
1244         were noticed.   This should get us closed, but some refinement may
1245         follow.
1247 2002-03-04 03:06  josh
1249         * resources.c: Return without parens, as mentioned in PDD 7
1251 2002-03-04 03:01  josh
1253         * core.ops: POD fixes.
1255 2002-03-04 02:58  josh
1257         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1258         on autogenerated files- used by the check_source_standards.pl
1259         script (for now) to exempt autogenerated files from the checks.
1261 2002-03-04 02:51  josh
1263         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1264         warnings.c: Added the editor "boilerplate" footer to a few files
1265         which were missing it.
1267 2002-03-04 02:34  josh
1269         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1270         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1271         c preprocessor directive indentation to comply with pdd 7.
1273         (also fixes the check for this indentation in
1274         check_source_standards.pl)
1276 2002-03-04 02:32  josh
1278         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1279         irix.
1281         perl t/harness t/op/basic..........Use of uninitialized value at
1282         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1283         line 6) #          got: undef #     expected: ''
1285 2002-03-04 02:30  josh
1287         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1288         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1289         "indent" program to enforce some of the code style standards
1290         outlined in PDD 7.
1292         Usage: ./run_indent.pl <file>
1294 2002-03-03 19:04  simon
1296         * examples/mops/mops.c:
1297         Let's make it compile, huh?
1299 2002-03-03 19:04  simon
1301         * examples/mops/mops.cs:
1302         I R AN IDIOT
1304 2002-03-03 18:11  simon
1306         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1307         Added C# and MS-IL versions of mops tester.
1309 2002-03-03 14:52  simon
1311         * core.ops:
1312         Add a sub() op to make mops_p work.
1314 2002-03-02 18:12  nicholas
1316         * examples/mops/mops.c, include/parrot/embed.h,
1317         include/parrot/interp_guts.h, include/parrot/jit.h,
1318         include/parrot/misc.h, include/parrot/packfile.h,
1319         include/parrot/rx.h, include/parrot/warnings.h,
1320         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1321         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1322         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1323         indent variables correctly.
1325 2002-03-02 17:41  nicholas
1327         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1328         patch to fix a compiler warning.
1330 2002-03-01 22:35  dan
1332         * memory.c, resources.c, include/parrot/pmc.h,
1333         include/parrot/resources.h: PMCs now come out of arenas.
1335 2002-03-01 06:15  dan
1337         * string.c:
1338         A non-existing buffer + a non-existing buffer should be a
1339         non-existing buffer, not "", which is really '\0'.
1341         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1343 2002-03-01 06:02  dan
1345         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1347         TMTOWTDI, but strcmp is probably the worse.
1349         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1351 2002-03-01 02:32  brentdax
1353         * embed.c: Debug mode now prints out the GC data.
1355 2002-02-28 23:44  dan
1357         * core.ops, resources.c, include/parrot/resources.h: Added collect
1358         and sweep opcodes
1360 2002-02-28 22:58  dan
1362         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1363         opcode
1365 2002-02-28 22:50  dan
1367         * core.ops, interpreter.c, resources.c,
1368         examples/assembly/life.pasm, include/parrot/interpreter.h,
1369         include/parrot/resources.h: Add some stat gathering to the resource
1370         allocation code.
1372         Also add an interpreter info retrieval op, and teach it about the
1373         different things it can retrieve.
1375         Finally, add some stat info to life.pasm as an example
1377 2002-02-28 21:27  dan
1379         * editor/pasm.vim: VIM mode commands for parrot assembly files
1381         Courtesy of Scott Beck <scott@gossamer-threads.com>
1383 2002-02-28 19:20  dan
1385         * examples/assembly/life.pasm: Fix a creeping string length leak.
1387         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1389 2002-02-28 18:26  dan
1391         * string.c: When you clone a constant, it ain't constant no mo'.
1393         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1395 2002-02-28 00:51  dan
1397         * MANIFEST: Add missing files
1399         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1401 2002-02-28 00:49  dan
1403         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1404         CVS seems to have several chunks missing out of it, too.  This
1405         patch is simply an administrative patch, with the differences
1406         between my last version, and the one currently in there.  There
1407         will be a forthcoming patch for some minor tweaking to the PDD, but
1408         I wanted a common baseline before I make any (potential) semantic
1409         changes.
1411         There's only one semi-major change, which noone needs to worry
1412         about just yet.  That's a change from PDD Format 1 to PDD Format
1413         6.0 - rationale can be found under 'Standard (Version #)' of the
1414         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1415         should be 6.0.0, and we need to discuss Perl versus Parrot with
1416         PDDs.
1418         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1420 2002-02-28 00:27  dan
1422         * packfile.c, resources.c, examples/assembly/life.pasm,
1423         include/parrot/register.h, include/parrot/resources.h,
1424         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1425         no PMCs yet)
1427         This patch now implements a real copying collector. We trace from
1428         our root set and compact the contents of Buffer structs.
1430         Todo:
1432         *) It's very STRING-centric and doesn't handle memory stuffed in
1433         Buffers.  But, then, we don't have pool allocation for Buffers
1434         either, and we need to have that soonish for this to work.
1436         *) Doesn't trace PMCs, so if you trigger a collection and there's
1437         memory or STRING structs only accessible from PMCs, you'll fail
1438         horribly. That needs fixing too
1440         *) Better algorithms for when to trace or collect vs when to just
1441         go allocate more memory from the system. Should probably be more
1442         cache friendly too.
1444 2002-02-27 21:04  dan
1446         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1447         examples/assembly/life.pasm, include/parrot/resources.h,
1448         include/parrot/string.h, include/parrot/string_funcs.h,
1449         jit/i386/core.jit: Start of GC in
1451 2002-02-26 16:41  dan
1453         * jit/i386/string.jit: Fix a typo
1455         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1457 2002-02-26 16:37  dan
1459         * interpreter.c: Fix solaris test failures
1461         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1463 2002-02-26 16:36  dan
1465         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1466         unicode.h, warnings.h: Fixes various warts in header files, such
1467         as: * macros   -added parens to prevent problems with operator
1468         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1469         is no longer used * added some more INLINE definitions for MSVC and
1470         C99 compilers
1472         Courtesy of Brian Lee Ray <blray@ualr.edu>
1474 2002-02-26 16:20  dan
1476         * Configure.pl: Turns out we were using a warning flag which
1477         doesn't exist on 2.7.  Simple tweak though:
1479         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1481 2002-02-25 22:58  dan
1483         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1485 2002-02-25 17:36  dan
1487         * include/parrot/pmc.h: Fix the bits
1489 2002-02-23 21:57  dan
1491         * include/parrot/resources.h: Another 1.5% never hurts
1493 2002-02-23 21:44  dan
1495         * global_setup.c, memory.c, resources.c, string.c,
1496         include/parrot/resources.h: Allocate STRING headers from an arena
1497         with freelist rather than with the system malloc. First step in a
1498         good (or even a bad) GC system.
1500 2002-02-23 20:37  brentdax
1502         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1504 2002-02-22 14:59  ajgough
1506         * types/bignum.c: BN_multiply split into BN_multiply and
1507         BN_imultiply, the internal version to be used by idivide so that
1508         rounding isn't performed during intermediate stages of division.
1510         following test scripts now all pass: divide divideint add multiply
1511         subtract remainder compare rounding plus minus (these are all the
1512         operations currently implemented, rescale and power must still be
1513         written, so don't pass right now).
1515 2002-02-22 13:13  ajgough
1517         * types/bignum_atest.pl: Test harness modified to understand
1518         comments better, and be able to run unary (and rounding) tests.
1519         Currently a few rounding tests fail, which are being investigated.
1521 2002-02-22 01:41  dan
1523         * key.c: Although there's more work being done on the key stuff and
1524         this isn't the final fix, applying this patch does get parrot to
1525         build with two more compilers, so it's probably worthwhile.
1527         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1529 2002-02-22 00:53  dan
1531         * config_h.in, misc.c, include/parrot/embed.h,
1532         include/parrot/exceptions.h, include/parrot/interpreter.h,
1533         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1534         include/parrot/resources.h, include/parrot/rx.h,
1535         include/parrot/string.h, include/parrot/unicode.h,
1536         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1537         io/io_win32.c: Fixes the following (lcc) warnings:
1539           - interpreter.c:470: warning: expression with no effect elided
1540                (related to the way warnings flags were defined)
1542           - misc.c:352: warning: unreachable code
1543             misc.c:483: warning: unreachable code
1544                (i introduced these with some overzealous de-linting)
1546           - numerous warnings like this:
1547             io/io_unix.c:383: warning: conversion from pointer to void' to
1548         pointer to
1549             pointer to struct _ParrotIO function(pointer to struct
1550         Parrot_Interp,pointer
1551             to struct _ParrotIOLayer,pointer to const char,pointer to const
1552         char,pointer
1553             to pointer to void)' is compiler dependent
1555         Fixes the following nits:    - remove bad indenting (tabs) in the
1556         includes
1558         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1560 2002-02-21 21:12  ajgough
1562         * types/: bignum.c, bignum.h: These might look like massive
1563         changes, but really it's just he imposition of coding standards.
1564         The file still isn't entirely compliant, but is now much more so.
1566         Also changed:
1568          o a few more comments
1569          o BN_compare uses internal BN_comp to compare
1570          o lost_digits behaviour is now correct (test harness modified to
1571         test
1572            this).
1574         All binary functions now pass all the tests in the basic standard.
1575         Unary functions not yet tested, will be soon.
1577 2002-02-21 18:20  dan
1579         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1580         was no longer needed, and the ssize_t thing really shouldn't be
1581         needed either.
1583         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1585 2002-02-21 18:15  dan
1587         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1588         include/parrot/parrot.h: this patch adds support for the freely
1589         available borland c++ 5.5.1 compiler
1591         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1592         working borland compiler (compiler must know where to find headers
1593         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1594         cc='cl.exe' - a working make utility (borland make doesn't work,
1595         nmake does)
1597         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1598         hints/mswin32.pl - remove a space from Configure.pl (very very
1599         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1600         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1601         (win32 knows it, linux not)
1603         and the why: - parrot is MUCH faster when compiled with borland c
1604         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1605         seconds
1607         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1609 2002-02-21 18:09  dan
1611         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1612         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1613         cuddled elses, as required by PDD 7.
1615         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1617 2002-02-21 18:04  dan
1619         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1620         a new Makefile target called "check_source".  This target scans all
1621         the .c and .h files in the directory and checks for conformance to
1622         a number of the standards outlined in PDD 7.
1624         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1626 2002-02-21 16:38  ajgough
1628         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1629         allow arithmetic with numbers with a fixed fractional part, buffer
1630         structures now more ready to be integrated into the parrot memory
1631         allocation game, test harness modified to allow lost_digits
1632         condition to be checked.  Some more comments.
1634 2002-02-21 15:53  simon
1636         * io/io_unix.c:
1637         Fix typo
1639         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1641 2002-02-20 16:41  dan
1643         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1645 2002-02-18 18:25  dan
1647         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1649         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1651 2002-02-18 18:21  dan
1653         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1654         CPrederef.pm to make to generated code compile with the MS
1655         compiler.
1657         fixes: - ms compiler allows inline only for c++, for c there's
1658         __inline - ms header files knows nothing about ssize_t
1660         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1662 2002-02-18 17:49  dan
1664         * MANIFEST: Add the PDDs
1666 2002-02-18 17:47  dan
1668         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1669         coding standards PDD.
1671 2002-02-18 17:40  dan
1673         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1675 2002-02-18 12:41  gregor
1677         * test_main.c:
1678         Remove warning about exit() not being declared.
1680 2002-02-18 08:29  simon
1682         * misc.c, warnings.c, include/parrot/misc.h,
1683         include/parrot/warnings.h:
1684         This patch adds some missing const's to silence a number of gcc
1685         warnings.
1687         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1689 2002-02-18 08:26  simon
1691         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1692         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1693         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1694         include/parrot/parrot.h, include/parrot/rx.h,
1695         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1696         lib/Parrot/OpTrans/CPrederef.pm:
1697            - add makefile target and script to test for external libc
1698         dependencies
1699            - fix return values in hash and array PMCs (returning 0 in a
1700         void func)
1701            - remove unnecessary data pointer <=> function pointer
1702         conversions
1703              outside of the JIT code.
1704            - move the definition of the "INLINE" macro out of the rx header
1705         and make
1706              available for general use on C++ compilers and gcc.
1707            - remove a few unused variables
1709         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1711 2002-02-17 16:29  simon
1713         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1714         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1715         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1716         We're organised and responsible. Honest.
1718 2002-02-17 02:46  sfink
1720         * Makefile.in: Remove $^ for nmake compatibility.
1722 2002-02-16 09:20  brentdax
1724         * config_h.in, test_main.c, include/parrot/chartype.h,
1725         include/parrot/embed.h, include/parrot/encoding.h,
1726         include/parrot/string.h, include/parrot/string_funcs.h: Better
1727         embedding exposure and hiding, part 1.
1729 2002-02-16 04:38  dan
1731         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1732         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1733         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1734         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1735         typecasts in various places throughout the code. It probably won't
1736         work for Windows yet. The libparrot.a target might need to be
1737         modified to at least prevent it from confusing make on Windows; I
1738         don't know.
1740         Preliminary instructions for using pbc2c.pl are in
1741         docs/running.pod.  I'll try to do better later.
1743         Courtesy of Steve Fink <steve@fink.com>
1745 2002-02-16 04:15  dan
1747         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1749         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1751 2002-02-16 00:03  simon
1753         * classes/: perlarray.pmc, perlhash.pmc:
1755         pmc is already defined!
1757 2002-02-15 23:20  brentdax
1759         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1760         include/parrot/exceptions.h: Far more informative panic messages.
1762 2002-02-15 03:24  dan
1764         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1765         much more extensive patch that fixes it to work properly, and
1766         deletes a bazillion casts as well.  It also points to the question
1767         "can we make the byte_code be an opcode_t* already?"
1769         Oh, and it makes some of the formatting prettier, so it's gotta be
1770         good.
1772         Courtesy of * Steve Fink <steve@fink.com>
1774 2002-02-15 02:30  dan
1776         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1777         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1778         of the things it finds.  Attaching the patch as well as the current
1779         lint output.
1781         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1783 2002-02-15 01:59  dan
1785         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1786         moment.
1788 2002-02-15 01:48  dan
1790         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1792 2002-02-15 01:40  dan
1794         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1795         things
1797 2002-02-14 23:30  dan
1799         * resources.c: Added comment for buffer tag routine. D'oh!
1801 2002-02-14 23:28  dan
1803         * resources.c, include/parrot/resources.h: Added buffer mark
1804         routine for GC
1806 2002-02-14 23:17  dan
1808         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1809         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1810         Rejigged memory system a bit. Now should be ready for the horror
1811         that is garbage collection.
1813 2002-02-14 19:33  gregor
1815         * ops2c.pl, include/parrot/oplib.h:
1816         Added code to automatically generate a function within an oplib to
1817         lookup opinfos given the op name. This will come in handy in future
1818         when we want to twiddle opcode tables at run time and possibly at
1819         startup time.
1821 2002-02-14 19:25  gregor
1823         * examples/assembly/queens.pasm:
1824         Regenerated queens.pasm from queens.jako since the clone_* stuff
1825         went away.
1827 2002-02-14 17:12  dan
1829         * resources.c, include/parrot/resources.h: Finished up the
1830         interface for memory and tracked interpreter thingies.
1832 2002-02-14 16:53  dan
1834         * memory.c, include/parrot/memory.h: intercept free and realloc
1836 2002-02-14 05:53  dan
1838         * interpreter.c, runops_cores.c: The type changes in struct
1839         Packfile break the pointer math used in a few places to calculate
1840         the address of the end of the loaded byte code. This causes
1841         segfaults in build_asm in jit.c when using -j. It also breaks the
1842         bounds checking on opcode address in runops_slow_core.
1844         The patch adds the necessary cast to correct the code_end
1845         calculations.
1847         Courtesy of Jason Gloudon <perl@gloudon.com>
1849 2002-02-14 01:01  ajgough
1851         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1852         BigInt operations (I think), tests for normal operation continue to
1853         pass.  Also a shed load of comments.
1855 2002-02-13 01:34  ajgough
1857         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1858         is a (mostly) working bignumber library.  There remains much work
1859         to do though, some functions are not yet implemented and headers
1860         need to find their way to the correct place RSN.  Also support for
1861         bigints and a sensible error reporting mechanism are needed.
1863 2002-02-12 18:51  dan
1865         * misc.c: Fix some warnings
1867 2002-02-12 17:10  dan
1869         * misc.c: Run through indent -kr -nce so I can read it
1871 2002-02-12 16:49  dan
1873         * misc.c: Need standard header/footer comments
1875 2002-02-11 20:32  simon
1877         * classes/array.pmc:
1878         get and set pmc methods.
1880 2002-02-11 20:19  simon
1882         * classes/array.pmc:
1883         Maybe the keys aren't integer...
1885 2002-02-11 20:03  simon
1887         * core.ops, vtable.tbl, classes/default.pmc:
1888         {g,s}et_pmc_keyed
1890 2002-02-11 19:07  simon
1892         * vtable.tbl, classes/default.pmc:
1893         Add set_pmc. Usee with caution.
1895 2002-02-11 18:20  dan
1897         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1898         compile
1900 2002-02-11 17:59  simon
1902         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1903         classes/perlarray.pmc, classes/perlhash.pmc:
1904         Make it compile.
1906 2002-02-11 17:57  simon
1908         * packfile.c, include/parrot/packfile.h:
1909         Reduce warnings
1911         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1913 2002-02-11 17:55  dan
1915         * docs/parrot_assembly.pod: Document some key ops
1917 2002-02-11 09:20  brentdax
1919         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1920         disgustingly easy.
1922 2002-02-11 00:34  simon
1924         * core.ops, include/parrot/exceptions.h:
1925         This is what keyed set ops look like. Remember, however, that for
1926         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1927         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1928         obviously ambiguous that you ought to use the 4-arg version
1929         instead.
1931 2002-02-10 23:12  jgoff
1933         * classes/: array.pmc, perlarray.pmc: Properly allocate
1934         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1935         isn't tested yet, but should be fairly straightforward.  PerlHash
1936         needs to be finished before the system will compile again, and that
1937         should be done in the next few days.
1939 2002-02-09 04:46  jgoff
1941         * classes/: array.pmc, default.pmc, intqueue.pmc,
1942         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1943         Added basic _keyed member functions.  Unfortunately this still
1944         doesn't fix the problems that are causing the build to break. It's
1945         a start though. I'm not implementing the PMC add functions just
1946         yet.
1948 2002-02-08 15:59  simon
1950         * classes/array.pmc:
1951         Some more work on getting the array stuff up to date.
1953 2002-02-08 12:23  simon
1955         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1956         lib/Parrot/Vtable.pm:
1957         Got array->get_integer_keyed doing what I think it ought to. One
1958         down, all the rest to go.
1960 2002-02-08 11:47  simon
1962         * vtable.tbl:
1963         Although I didn't intend it to be quite that broken...
1965 2002-02-08 11:42  simon
1967         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1968         Completely break Parrot, but at least we get the key stuff right
1969         for now.
1971 2002-02-08 06:25  dan
1973         * hints/darwin.pl: Silences the warning about passing in
1974         -flat_namespace to the compile.  That's a link-only flag.
1976 2002-02-08 04:52  jgoff
1978         * classes/: array.pmc, default.pmc, intqueue.pmc,
1979         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1980         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1981         return values in *.pmc, added some missing casts to the repeat_foo
1982         members, and deleted the _index members from the perlscalar
1983         classes.  Basic cleanup, and getting ready for _keyed functions.
1985 2002-02-07 04:49  mrjoltcola
1987         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1988         added a nested subroutine call.
1990 2002-02-07 04:32  jgoff
1992         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1993         changes in order to give the whitespace rules a little workout, and
1994         do a little bit more testing. No actual structural changes were
1995         made.  lib/Parrot/Vtable.pm got an interface change, and more
1996         importantly should be ready to support the new '_keyed' attribute,
1997         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1998         src_value' followed by 'KEY* src_key'.  This will be how the new
1999         _keyed operators will function, and those should be written within
2000         a few days.
2002 2002-02-06 18:00  doughera
2004         * misc.c: Change C++-style comments to C comments (again).  Remove
2005         unused perl5 code that was in #if 0/#endif.
2007 2002-02-06 17:59  doughera
2009         * warnings.c: Add trailing newline.
2011 2002-02-06 04:14  mrjoltcola
2013         * include/parrot/io.h, io/io.c: Minor cleanup.
2015 2002-02-06 03:11  mrjoltcola
2017         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2018         couple of loose end in win32 IO stuff. Open behaves now but needs
2019         more work.
2021 2002-02-05 21:02  brentdax
2023         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2024         which showed up in Purify builds.
2026 2002-02-05 17:15  simon
2028         * misc.c:
2029         Warning fixes.
2031         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2033 2002-02-05 17:08  doughera
2035         * misc.c: Avoid C++-style comments.
2037 2002-02-05 17:07  doughera
2039         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2040         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2041         thanks to Jason Gloudon <perl@gloudon.com>.
2043 2002-02-05 14:04  simon
2045         * misc.c:
2046         Make the problem different, perhaps even better.
2048 2002-02-05 13:49  simon
2050         * misc.c:
2051         Possibly fix a `short int' is promoted to `int' when passed through
2052         `...' scary error, possibly make things absolutely worse.
2054 2002-02-05 13:15  simon
2056         * Configure.pl:
2057         Placate Tru64.
2059 2002-02-05 13:12  simon
2061         * warnings.c:
2062         Not going to get far without this one...
2064 2002-02-05 11:41  simon
2066         * string.c:
2067         Don't barf when handed null pointers.
2069 2002-02-05 10:04  simon
2071         * misc.c, include/parrot/misc.h:
2072         Fix some trivial bugs in warnings code.
2074 2002-02-05 09:27  simon
2076         * misc.c:
2077         Oops, forgot this one; also added %P support.
2079 2002-02-05 09:20  simon
2081         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2082         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2083         include/parrot/interpreter.h, include/parrot/misc.h,
2084         include/parrot/parrot.h, include/parrot/warnings.h:
2085         Warnings support.
2087         Courtesy of: Brent Dax <brentdax@cpan.org>
2089 2002-02-05 05:41  jgoff
2091         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2092         format of vtable.tbl to get rid of the tab-dependence.  The format
2093         now looks roughly like this:
2095         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2096         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2097         assumed here, but note the C-like prototyping.  Also had to disable
2098         one test that depended upon 'concat_p_p_s', which isn't necessary
2099         anyway.
2101         Vtable.pm will change again when the type '_keyed' is added,
2102         because that requires remapping parameters slightly differently
2103         again.  Also, note that it assumes 'value' is the first parameter
2104         in the list. This assumption will go away at the same time.
2106 2002-02-04 16:57  ajgough
2108         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2109         functions.  Thanks to Simon Glover.
2111 2002-02-04 02:47  ajgough
2113         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2114         needed.  I suspect that the entire hints file isn't really needed,
2115         but there's no one to actually tell us this.
2117 2002-02-02 15:45  ask
2119         * docs/ParrotFAQ.htm: fix internal links
2121 2002-02-02 04:06  jgoff
2123         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2124         Moving the internal KEY structure from the cache.struct_val member,
2125         where it doesn't really belong, to the internal SELF->data member.
2126         This frees up the cache/type members for other usage.
2128         This is the first step in moving PMCs to the point where we can do
2129         multidimensional PMC handles. The next step is to change the
2130         assembler to accept the syntax of 'set P0["foo"],7'.
2132 2002-02-02 00:13  nicholas
2134         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2135         prototype Parrot_Array_class_init
2137 2002-02-02 00:13  nicholas
2139         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2140         time to sum_time to avoid warning on FreeBSD about tracking a
2141         global [No, this warning does not appear on Linux. Yes, it is real
2142         :-)]
2144 2002-02-01 23:02  nicholas
2146         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2147         Glover
2149 2002-02-01 20:20  nicholas
2151         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2153 2002-02-01 18:20  nicholas
2155         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2156         you
2158 2002-02-01 13:22  nicholas
2160         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2162 2002-02-01 12:19  simon
2164         * core.ops, t/op/ifunless.t, t/op/integer.t:
2165         Added "unless" op.
2167 2002-02-01 12:11  simon
2169         * lib/Parrot/Test.pm:
2170         Remove a warning.
2172 2002-02-01 01:38  nicholas
2174         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2175         and a manitest target to Makefile.in that lets one test the
2176         manifest.
2178 2002-02-01 00:03  dan
2180         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2181         PMC dynaloading
2183 2002-01-31 21:46  gregor
2185         * Configure.pl, Makefile.in, hints/mswin32.pl:
2186         A few more things are now configable, so we are closer to win32
2187         shared library builds. Not there yet, but closer.
2189 2002-01-31 21:00  dan
2191         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2192         include/parrot/pmc.h: First step in dynamically loading PMC classes
2194 2002-01-31 19:38  dan
2196         * Makefile.in: Dependencies in the Makefile are currently too broad
2197         brush.  I don't enjoy waiting for everything to recompile every
2198         time I try to tweak the jit. The only file that #includes
2199         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2200         should reflect this, and not cause a gratuitous recompile of
2201         everything.  There are probably other auto-generated header files
2202         that world+dog should not depend on.
2204         Courtesy of  Nicholas Clark <nick@unfortu.net>
2206 2002-01-31 19:03  gregor
2208         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2209         Added two new make targets:
2211           * testp: Like 'make test', but passes -P to t/harness, so you get
2212         to
2213             see how broken predereferencing is.
2215           * testj: Like 'make test', but passes -j to t/harness, so you get
2216         to
2217             see how broken JIT is.
2219         Now, anyone who wants to see how good all three ways of running are
2220         can do so, at the cost of about 3x the time.
2222 2002-01-31 17:09  brentdax
2224         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2226 2002-01-31 03:41  grunblatt
2228         * docs/jit.pod: Update jit.pod
2230 2002-01-31 03:20  grunblatt
2232         * jit/i386/core.jit: Hold this until we get an assemble tool,
2233         because of the different objdump problems.
2235 2002-01-31 03:13  grunblatt
2237         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2238         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2239         of: Jason Gloudon <perl@gloudon.com>
2241 2002-01-31 02:22  grunblatt
2243         * jit/i386/core.jit: Continue if the register is null
2245 2002-01-30 23:50  grunblatt
2247         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2248         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2249         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2250         specific file.
2252 2002-01-30 23:35  mrjoltcola
2254         * io/io_win32.c: Change implementation of isatty on win32,
2255         suggested by Hong Zhang.
2257 2002-01-30 23:19  sfink
2259         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2260         Op::may_jump boolean method.
2262         Replaced jit2h's hardcoded pattern match to decide what ops might
2263         change the control flow.
2265 2002-01-30 22:13  dan
2267         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2268         parrot to mostly-build with tcc.  It allows one to skip compiling
2269         the JIT stuff (by specifying --define jitcapable=0), and it
2270         introduces a test program which gives a friendlier error in this
2271         case for compilers which are as picky as tcc is about function
2272         pointer conversion.
2274         If anyone figures out the proper way to cast these function
2275         pointers this may not be necessary.
2277         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2279 2002-01-30 20:54  dan
2281         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2282         Here's an update to docs/running.pod to better reflect the current
2283         state (both the test_parrot and assemble.pl improvements, plus
2284         documentation of a few more things.) And also a speling fiks
2285         s/POST_MORTERM/POST_MORTEM/.
2287         I could also replace some "perl foo" calls with "./foo" if someone
2288         wanted to set the executable flag in CVS on assemble.pl,
2289         optimize.pl, etc.
2291         Courtesy of Steve Fink <steve@fink.com>
2293 2002-01-30 20:43  dan
2295         * core.ops: find_global doesn't work, so stub out the wrong code
2297 2002-01-30 19:08  dan
2299         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2300         that perldoc
2301          can read it and just tidies it up generally. It also adds
2302         documentation
2303          for the constantize_integer and constantize_number functions.
2305         Courtesy of Simon Glover <scog@roe.ac.uk>
2307 2002-01-30 18:02  dan
2309         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2310         classes/genclass.pl, classes/pmc2c.pl,
2311         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2312         distribution (including assemble.pl !)
2313          can no longer find the Parrot::* modules. Enclosed patch fixes
2314         (although
2315          it would be nice if there were an easier way to do this).
2317         Courtesy of  Simon Glover <scog@roe.ac.uk>
2319 2002-01-30 16:00  mrjoltcola
2321         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2322         types.
2324 2002-01-30 15:50  mrjoltcola
2326         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2328 2002-01-30 15:42  grunblatt
2330         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2331         files around
2333 2002-01-30 15:38  grunblatt
2335         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2336         the manifest,  and also puts it back into alphabetical order.
2338         Courtesy of: Simon Glover <scog@roe.ac.uk>
2340 2002-01-30 14:41  nicholas
2342         * embed.c: Patch from Simon Glover to clean up warnings where
2343         prototype is () not (void)
2345 2002-01-30 13:54  nicholas
2347         * include/parrot/embed.h, test_main.c: Add void as an explicit
2348         parameter in test_main.c's usage(), version(void) and embed.h's
2349         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2350         warning: function declaration isn't a prototype
2352 2002-01-30 12:08  simon
2354         * lib/Parrot/.cvsignore:
2355         Ignore generated Perl modules.
2357 2002-01-30 12:07  simon
2359         * t/harness:
2360         Run the PMC tests as well.
2362 2002-01-30 12:04  simon
2364         * MANIFEST:
2365         Fix MANIFEST after recent t/pmc rejig.
2367 2002-01-30 11:42  simon
2369         * lib/Parrot/Test.pm:
2370         Report non-zero exit codes.
2372         Courtesy of: Michael G Schwern <schwern@pobox.com>
2374 2002-01-30 11:39  simon
2376         * t/op/rx.t:
2377         Skip final test, TODO doesn't work yet.
2379 2002-01-30 09:54  brentdax
2381         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2382         predereferencing works.
2384 2002-01-30 09:38  brentdax
2386         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2387         subsystem.
2389 2002-01-30 09:37  brentdax
2391         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2393 2002-01-30 09:37  brentdax
2395         * config_h.in: Expose another flag for embedders.
2397 2002-01-30 05:07  jgoff
2399         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2400         location for Parrot/, and t/harness wasn't able to run the new
2401         op/pmc tests. Both problems fixed, so I think I'm going to declare
2402         the build suitable for public consumption.
2404 2002-01-30 04:34  robert
2406         * docs/Makefile.in: update for CVS movement
2408 2002-01-30 04:32  robert
2410         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2411         .in file, not the real Makefile)
2413 2002-01-30 04:20  robert
2415         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2416         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2417         related to moving files around
2419 2002-01-30 04:10  robert
2421         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2423 2002-01-30 04:07  robert
2425         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2427 2002-01-30 03:56  robert
2429         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2430         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2431         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2432         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2433         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2434         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2435         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2436         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2437         lib/Parrot/
2439 2002-01-30 03:46  robert
2441         * languages/miniperl/miniperlc: renamed to mpc
2443 2002-01-30 03:45  robert
2445         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2446         pmc_perlstring.t: Moved to t/op/pmc/
2448 2002-01-30 03:40  robert
2450         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2452 2002-01-30 03:14  jgoff
2454         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2455         Fixed some problems with PerlArray and added tests.  Previously,
2456         only integers could be accessed by negative indices.  After this
2457         change, all basic types can be accessed by negative indices, and
2458         they can also be set at negative indices.
2460 2002-01-29 22:13  brentdax
2462         * TODO: Just look at the stupid diff.
2464 2002-01-29 21:53  simon
2466         * TODO, docs/vtables.pod:
2467         New TODO, and tiny addition to vtables.pod
2469 2002-01-29 21:47  mrjoltcola
2471         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2473 2002-01-29 21:38  mrjoltcola
2475         * Makefile.in: Makefile.in tweak for io depend.
2477 2002-01-29 21:15  brentdax
2479         * embed.c: Fix a segfault and some profiling formatting nits.
2481 2002-01-29 20:54  brentdax
2483         * pmc.c: Oops.
2485 2002-01-29 20:50  brentdax
2487         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2488         segfaults.
2490 2002-01-29 20:17  mrjoltcola
2492         * interpreter.c, core.ops, io.ops: CVS missed this.
2494 2002-01-29 20:17  mrjoltcola
2496         * io/io.c: These should have gone in Sunday with the rest. CVS is
2497         out to get me.
2499 2002-01-29 18:39  brentdax
2501         * platforms/win32.h: Fix Win32 whoops.
2503 2002-01-29 18:29  brentdax
2505         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2507 2002-01-29 17:51  simon
2509         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2510         include/parrot/embed.h, include/parrot/parrot.h:
2511         Embedding support. Cool.
2513         Courtesy of: <brentdax@cpan.org>
2515 2002-01-29 15:40  grunblatt
2517         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2518         Gloudon <perl@gloudon.com>
2520 2002-01-29 14:42  simon
2522         * include/parrot/parrot.h:
2523         Platform stuff has to be included *after* system headers.
2525 2002-01-29 14:05  grunblatt
2527         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2528         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2529         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2530         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2531         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2533 2002-01-29 10:56  simon
2535         * platforms/generic.h:
2536         If we don't have a S_ISREG, produce something close to it.
2538 2002-01-29 06:01  dan
2540         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2542 2002-01-29 04:38  jgoff
2544         * classes/array.pmc: Forgot to remove some C++-isms from the
2545         get_{foo}_index routines.
2547 2002-01-29 04:26  jgoff
2549         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2550         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2551         t/pmc/array.t: Added array class that languages other than perl can
2552         use for a basis.  It has no features like preextension, and the
2553         array index starts at 0.
2555         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2556         and classes/Makefile.in - Added array.pmc to the makefile.
2557         (Assuming rules like .pmc.o are portable (or even possible) I might
2558         alter classes/Makefile.in to autobuild the appropriate files.
2560 2002-01-29 02:32  dan
2562         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2563         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2564         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2565         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2566             Update to Test::More 0.41 which adds Test::Builder
2568             Delete the vestigal Test::Utils
2570             Change Parrot::Test so it uses Test::Builder instead of Evil
2571         Wrappers
2572             around Test::More
2574             output_* now returns whether the test passes or fails
2576             Parrot::Test no longer exports Test::More's functions.  Instead
2577         they
2578             can simply be used together.  The few tests which used
2579         Test::More
2580             features (ie. skip) have 'use Test::More' added.
2582             I ditched the export_to_level() crutch.  Do we expect parrot to
2583         work on
2584             5.004?  (literally 5.004, not 5.004_04)
2586         Courtesy of Michael G Schwern <schwern@pobox.com>
2588 2002-01-28 21:04  dan
2590         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2591         pointer should actually be to
2592          parrot_assembly.pod, as the canonical documentation.
2594         Courtesy of Simon Glover <scog@roe.ac.uk>
2596 2002-01-28 20:21  dan
2598         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2599         clone[inps]
2601 2002-01-28 19:18  dan
2603         * core.ops, register.c: clone[insp] is dead
2605 2002-01-28 17:46  grunblatt
2607         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2608         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2610 2002-01-28 16:45  dan
2612         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2613         the requirement for fink at the moment.
2615 2002-01-28 15:59  simon
2617         * test_main.c:
2618         People might try and run a directory file, with spectacular
2619         results.  We don't want that. No.
2621 2002-01-28 14:58  doughera
2623         * core.ops: Avoid C++-style comments.
2625 2002-01-28 14:16  grunblatt
2627         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2628         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2629         work again.
2631 2002-01-28 13:47  doughera
2633         * include/parrot/register.h: Avoid C++-style comment.
2635 2002-01-28 06:03  dan
2637         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2638         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2639         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2640         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2641         include/parrot/parrot.h, include/parrot/regfuncs.h,
2642         include/parrot/register.h, include/parrot/register_funcs.h,
2643         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2644         are now stored in the interpreter structure itself, rather than
2645         just a pointer to the top of the register structure. Pushes and
2646         pops now involve memcpys, but register access has one fewer
2647         dereference.
2649         Fails four of the register stack tests, though, so not perfect.
2650         Needs fixing, but this is a good place to start.
2652 2002-01-28 04:40  mrjoltcola
2654         * test_main.c: cvs commit missed this. ??
2656 2002-01-28 04:27  mrjoltcola
2658         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2659         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2660         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2661         interpreter now (at least in theory).  IO handle array added.  Misc
2662         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2663         we don't conflict         with system libraries.  Still have broken
2664         stuff in win32 and stdio layer.
2666 2002-01-28 04:01  mrjoltcola
2668         * include/parrot/chartype.h: Typo in chartype.h include guard.
2670 2002-01-28 03:41  mrjoltcola
2672         * t/op/interp.t: Fix flag for interp so we don't get "info"
2673         messages which break tests.
2675 2002-01-28 01:54  dan
2677         * include/parrot/string.h: A few more buffer/string flags
2679 2002-01-27 11:33  nicholas
2681         * chartypes/unicode.c: Cast unsigned argument to int in call to
2682         isdigit to silence gcc warning.
2684 2002-01-26 23:18  grunblatt
2686         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2687         off that flag.
2689 2002-01-26 23:17  grunblatt
2691         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2692         jit/i386/core.jit: [no log message]
2694 2002-01-26 22:18  simon
2696         * jit/i386/core.jit:
2697         Jumping to 0x0 is a recipe for segfaults.
2699 2002-01-26 18:35  simon
2701         * t/harness:
2702         Allow user to select which tests to harness
2704         Courtesy of: Nicholas Clark <nick@unfortu.net>
2706 2002-01-26 17:20  grunblatt
2708         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2709         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2710         to make the jit work in linux again.
2712 2002-01-26 16:52  dan
2714         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2715         headers can't cope with this. Darwin-only
2717 2002-01-26 16:04  dan
2719         * include/parrot/parrot.h: Quick note to remind folks that this
2720         isn't the file they're looking for if they're writing extensions or
2721         embedding parrot.
2723         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2725 2002-01-26 00:41  mrjoltcola
2727         * MANIFEST: Oopsy.
2729 2002-01-26 00:37  mrjoltcola
2731         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2732         Turoff
2734 2002-01-25 01:31  grunblatt
2736         * jit/alpha/core.jit: There is no neg or fneg.
2738 2002-01-25 01:27  grunblatt
2740         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2741         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2742         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2743         t/op/number.t: Added Parrot_neg.  Erase t.s
2745 2002-01-24 23:26  dan
2747         * interpreter.c: Best make sure unused elements are NULL
2749 2002-01-24 23:24  dan
2751         * interpreter.c: Fix stupid thinko
2753 2002-01-24 18:37  doughera
2755         * Makefile.in: Add a few missing dollar signs in the lifetest
2756         section so that ${exe} and the like get properly interpolated.
2758 2002-01-24 18:15  mrjoltcola
2760         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2761         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2762         Simon Glover <scog@roe.ac.uk>
2764 2002-01-24 06:43  mrjoltcola
2766         * io/io_stdio.c: Oops.
2768 2002-01-24 06:34  mrjoltcola
2770         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2771         of work on the buffering layer.  Decided to use shared read/write
2772         buffer (as do most implementations) for now since its the simplest
2773         way to keep everything synced, (flush on seeks, flush read on
2774         writes, etc.)
2776 2002-01-24 03:38  mrjoltcola
2778         * test_main.c: Cleaned up option handling code a bit for main().
2780 2002-01-23 23:22  dan
2782         * interpreter.c, include/parrot/interpreter.h,
2783         include/parrot/resources.h: Now each interpreter gets its own hash
2784         for globals.
2786 2002-01-23 20:45  dan
2788         * Configure.pl: Fix a warning when there's no - in an architecture
2790 2002-01-22 23:57  grunblatt
2792         * docs/running.pod: [no log message]
2794 2002-01-22 20:29  doughera
2796         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2797         appears to be a generic problem (if sizeof(long double) >
2798         sizeof(double)), not an x86-specific one.
2800 2002-01-22 16:57  doughera
2802         * runops_cores.c: Change variable name from time to starttime to
2803         avoid gcc warning about variable name shadowing.
2805 2002-01-22 16:55  doughera
2807         * classes/pmc2c.pl: Include class_init prototype too.
2809 2002-01-22 16:01  doughera
2811         * MANIFEST: [no log message]
2813 2002-01-22 01:04  ajgough
2815         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2816         classes/parrotpointer.pmc, classes/perlarray.pmc,
2817         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2818         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2819         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2820         warnings from pmc files.  Message-ID:
2821         <20020121224719.GE1726@Bagpuss.unfortu.net>
2823 2002-01-22 00:53  ajgough
2825         * test_main.c: Clears up a couple of warnings in test_main.c.
2826         Thanks to Nick Clark.  Message-ID:
2827         <20020121190457.GB1726@Bagpuss.unfortu.net>
2829 2002-01-22 00:47  ajgough
2831         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2832         include/parrot/chartype.h: Cause all codepoints to be treated as
2833         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2834         Nick Clark, see also: Message-ID:
2835         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2837 2002-01-22 00:24  dan
2839         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2841         Appended patch cures these warnings:
2843         key.c: In function `debug_key': key.c:29: warning: int format,
2844         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2845         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2846         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2847         format, INTVAL arg (arg 4)
2849         Courtesy of Nicholas Clark <nick@unfortu.net>
2851 2002-01-21 12:41  mrjoltcola
2853         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2854         be clock skew.
2856 2002-01-21 06:37  mrjoltcola
2858         * io/io.c: Cleanup a warning
2860 2002-01-21 06:28  mrjoltcola
2862         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2863         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2864         ops. Various other IO twiddlings.
2866 2002-01-21 03:25  grunblatt
2868         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2869         Melvin Smith for the catch up.
2871 2002-01-20 23:13  sfink
2873         * stacks.c: Fixed logic errors, need tests
2875 2002-01-20 22:17  brentdax
2877         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2878         prepare for /i to work.
2880 2002-01-20 20:52  grunblatt
2882         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2883         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2884         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2885         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2886         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2887         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2888         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2889         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2890         jit/alpha/string.jit:
2891         - Added support for ALPHA, by now linux and bsd.
2893         - Reduced jit2h.pl execution time by precompiling the call to the
2894         unimplemented op.
2896         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2897         Parrot/Jit/${cpuarch}Generic.pm
2899         - Changed the way to detect quads to what is written in "man
2900         perlfunc".
2902 2002-01-20 17:23  brentdax
2904         * rx.ops: There's no such thing as rx_allocateinfo.
2906 2002-01-19 08:26  brentdax
2908         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2910 2002-01-19 07:12  mrjoltcola
2912         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2913         into io.ops, leave the STDIO wrappers        in core.ops until they
2914         disappear.  Added debug op for switching on VM debug flag
2916 2002-01-19 01:55  mrjoltcola
2918         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2919         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2921 2002-01-19 00:55  brentdax
2923         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2924         include/parrot/rxstacks.h: Add regex-specific stacks for
2925         efficiency.
2927 2002-01-18 23:58  dan
2929         * Configure.pl: I think the optimal fix here is simply to remove
2930         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2931         man pages say "There is no reason to use this option [-pedantic];
2932         it exists only to satisfy pedants."
2934         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2936 2002-01-18 23:23  dan
2938         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2939         docs/running.pod, which lists the various executables Parrot
2940         currently includes, examples of running them, and mentions of where
2941         they fail to work. It's more of a cry for help than a useful
2942         reference. :-) I've been having trouble recently when making
2943         changes in figuring out whether I broke anything, because any
2944         non-default way of running the system seems to be already broken. I
2945         can't tell what brokenness is expected and what isn't.
2947         Courtesy of  Steve Fink <steve@fink.com>
2949 2002-01-15 22:13  brentdax
2951         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2952         substring use and enhance performance.
2954 2002-01-15 21:03  ajgough
2956         * string.c: Fix problem with string_transcode, &dest not being
2957         updated if src was already in desired encoding.
2959 2002-01-15 16:54  brentdax
2961         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2962         warnings.  Leaves only one warning, at rx.ops line 409, that I
2963         can't manage to get rid of.
2965 2002-01-15 16:50  dan
2967         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2968         code.  Also patches pbc2c.pl to work with rx.ops.
2970         Courtesy of Jason Gloudon <perl@gloudon.com>
2972 2002-01-15 16:15  dan
2974         * classes/Makefile.in: All the C files in classes/ weren't being
2975         compiled with an of the gcc warnings flags. With this patch they
2976         are, and there are an awful lot of warnings, more than I could hope
2977         to understand and clear up (within any sensible time period before
2978         submitting a rash of patches, by which time everyone else would
2979         have moved the code on)
2981         Courtesy of Nicholas Clark <nick@unfortu.net>
2983 2002-01-15 16:10  dan
2985         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2986         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2987         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2988         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2989         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2990         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2991         chartypes/usascii.c: This patch adds a few more macros for .ops
2992         files to use. In addition to the existing
2994          goto OFFSET(...)
2995          goto ADDRESS(...)
2996          goto POP()
2997          goto NEXT()
2999         it adds
3001          expr OFFSET(...)
3002          expr ADDRESS(...)
3003          expr POP()
3004          expr NEXT()
3006         This is intended mainly for use in helper functions in .ops files,
3007         but also for ops that need to eg push the address of the next
3008         opcode onto a stack. The only place this currently happens (outside
3009         of my private code) is in the bsr opcode, which previously
3010         hardcoded the computation.
3012         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3013         higher in the generated file so that it can be used by static
3014         functions in the preamble.
3016         Finally, I ran into a parentheses matching problem -- should goto
3017         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3018         \bgoto\s+OFFSET\((.*?)\)
3020         It was done inconsistently for the different calculations, and of
3021         course neither are correct because you really want matching
3022         parentheses. But that seems like too much bother. (Currently,
3023         there's only one place that uses anything other than $n in the
3024         parentheses, and that's the enternative() op.) So I made them all
3025         .*? but emulated recent POD by also allowing (( ... )) (that's two
3026         parenthesis with a space padding the body.)
3028         The generated core_ops.c and core_ops_prederef.c files after this
3029         patch are identical except for the CUR_OPCODE and REL_PC macros
3030         getting moved a little higher, and the bsr in the regular path (not
3031         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3033         In summary, this is a big wad of meaningless changes for the
3034         current code. But it will make adding some opcodes easier in the
3035         future, and cleans up a small nit in the current bsr.
3037         Courtesy of Steve Fink <steve@fink.com>
3039 2002-01-15 08:48  brentdax
3041         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3042         sort of).
3044 2002-01-15 08:45  brentdax
3046         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3048 2002-01-15 05:00  brentdax
3050         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3051         performance.
3053 2002-01-14 20:18  dan
3055         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3057         Courtesy of Nicholas Clark <nick@unfortu.net>
3059 2002-01-14 20:03  dan
3061         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3062         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3063         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3064         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3065         classes/parrotpointer.pmc, classes/perlarray.pmc,
3066         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3067         classes/perlstring.pmc, classes/perlundef.pmc,
3068         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3069         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3070         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3071         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3072         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3073         patch cleans up most of the MSVC-warnings when using warning level
3074         4 (the highest, one above the default level 3). It turns off two
3075         level-4 warnings for 'unreferenced formal parameter' and 'named
3076         type definition in parentheses', the latter of which was turning up
3077         warnings in MS VC headers.  Level 4 warnings also helped me find a
3078         couple of other lurking bugs in the parrot code.
3080         Replaces the various fprintf/exit combos with calls to
3081         internal_exception, which uses var_args to emulate printf. Various
3082         exception types were added as well. These are probably temporary
3083         until a real exception system arrives.
3085         Fixed some places in the IO code where wrong functions were being
3086         called, or put into the vtable.
3088         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3090 2002-01-14 19:00  dan
3092         * MANIFEST: D'oh! Forgot a file.
3094         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3096 2002-01-14 18:44  brentdax
3098         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3099         sense (and a few other enhancements to regexes).
3101 2002-01-14 07:07  brentdax
3103         * interpreter.c, runops_cores.c, test_main.c,
3104         include/parrot/interpreter.h: Make profiling a little more useful.
3106 2002-01-13 19:44  dan
3108         * Configure.pl: Turn off unsed things warnings for now
3110 2002-01-13 19:39  dan
3112         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3114         classes/perlarray.c:  * get_string: is casting
3115         SELF->cache.struct_val to a STRING*,    while all other methods are
3116         using it as a KEY*; don't know    what a perlarray stringifies to,
3117         so replacing with NULL  * get_bool: the default behaviour does not
3118         look right to me
3120         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3122 2002-01-13 19:37  dan
3124         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3125         flags to LDFLAGS, so that Configure.pl --debugging   works with
3126         MSVC
3128         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3129         pmc2c calls
3131         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3133 2002-01-13 19:36  dan
3135         * io/io_win32.c:   according to my MSVC docs, you should use
3136         _tcslen only after
3137           #including tchar.h
3139         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3141 2002-01-13 19:35  dan
3143         * docs/intro.pod: Doc tweak.
3145         Courtesy of Simon Glover <scog@roe.ac.uk>
3147 2002-01-13 19:34  dan
3149         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3150         that
3152           if Px, ...
3154          works with PerlString PMCs; these should be false if they are "",
3155         0, or
3156          are undefined, and true in every other case.
3158         Courtesy of Simon Glover <scog@roe.ac.uk>
3160 2002-01-13 19:23  dan
3162         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3163         NUMVAL_FMT to FLOATVAL_FMT.
3165         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3167 2002-01-13 17:45  jgoff
3169         * Makefile.in, global_setup.c, classes/Makefile.in,
3170         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3171         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3172         designing your own classes.
3174 2002-01-13 08:47  simon
3176         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3177         lib/Parrot/OpTrans/CPrederef.pm:
3178         Fix bsr in prederef mode.
3180         Courtesy of: Jason Gloudon <perl@gloudon.com>
3182 2002-01-12 15:33  dan
3184         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3185         string.c, encodings/singlebyte.c, encodings/utf32.c,
3186         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3187         Silence most of the unused variable warnings.
3189         Courtesy of Nicholas Clark <nick@unfortu.net>
3191 2002-01-12 15:18  dan
3193         * rx.ops: This patch fixes a warning and also changes an 'int' to
3194         an 'INTVAL'.  All tests should pass on Solaris.
3196         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3198 2002-01-12 15:13  dan
3200         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3201         examples/assembly/life.pasm, include/parrot/interpreter.h,
3202         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3203         io/io_win32.c: More IO work. (Plus some misc twiddles)
3205         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3207 2002-01-12 01:14  dan
3209         * include/parrot/string.h: fix a missing name
3211 2002-01-12 00:39  grunblatt
3213         * include/parrot/string.h: Few typos.
3215 2002-01-12 00:16  grunblatt
3217         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3218         that change the program control flow.
3220 2002-01-11 23:53  brentdax
3222         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3223         ParrotPointer's guts.
3225 2002-01-11 23:03  dan
3227         * include/parrot/string.h: flags for the buffers, for GC
3229 2002-01-11 22:31  dan
3231         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3233 2002-01-11 22:21  dan
3235         * include/parrot/pmc.h: Started with PMC flags
3237 2002-01-11 19:33  dan
3239         * config_h.in, memory.c, resources.c, string.c,
3240         include/parrot/resources.h: Beginnings of a memory allocation/gc
3241         system. Without the GC part.
3243 2002-01-11 18:05  dan
3245         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3246         systems
3248         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3250 2002-01-11 17:50  dan
3252         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3253         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3254         a patch that makes pbc2c generated code work with the bsr opcode.
3255         It creates a new opcode 'enternative', and uses this to support a
3256         mixed model of interpretation and execution of compiled C code.
3258         Courtesy of Jason Gloudon <perl@gloudon.com>
3260 2002-01-11 17:48  dan
3262         * Makefile.in: Add life as a potential .exe target
3264 2002-01-11 17:30  dan
3266         * include/parrot/resources.h: Start of arena stuff for GC
3268 2002-01-11 05:34  brentdax
3270         * rx.ops: Docs modifications.
3272 2002-01-11 04:19  brentdax
3274         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3275         regular expressions.
3277 2002-01-11 03:44  grunblatt
3279         * jit/i386/core.jit: off by one.
3281 2002-01-11 02:25  dan
3283         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3285         Courtesy of Steve Fink <steve@fink.com>
3287 2002-01-11 00:32  brentdax
3289         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3291 2002-01-10 23:22  ajgough
3293         * string.c, docs/strings.pod: Removed all the nul termination code,
3294         as this is in general a bad idea.  Note added to docs/strings.pod
3295         to warn people away from assuming termination.
3297 2002-01-10 23:14  dan
3299         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3300         testparrotsizes_c.in, include/parrot/interpreter.h,
3301         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3302         implementation
3304         Courtesy of Steve Fink <steve@fink.com>
3306 2002-01-10 22:48  dan
3308         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3309         sizeof(INTVAL)
3311         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3313 2002-01-10 22:46  dan
3315         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3316         t/pmc/perlhash.t:  Well, actually two bugs.
3318          The first is an off-by-one error in key.c than can cause parrot
3319          to segfault if hash % NUM_BUCKETS happens to be zero.
3321          The other is a bug in the PerlHash init() code that causes new
3322         PerlHash
3323          PMCs to start with the wrong size.
3325          Both fixed below; also tests to prevent them recurring.
3327         Courtesy of Simon Glover <scog@roe.ac.uk>
3329 2002-01-10 22:30  dan
3331         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3332         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3333         with a PerlArray,
3335         Courtesy of Simon Glover <scog@roe.ac.uk>
3337 2002-01-10 21:31  dan
3339         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3341 2002-01-10 20:30  grunblatt
3343         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3344         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3345         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3346         All the op codes that doesn't change the program control flow now
3347         work in the JIT by calling the code generated by the compiler when
3348         the op is not in core.jit TODO:     * Make all the ops that change
3349         the program control flow (and are not on core.jit) work.      *
3350         Remove the dispatch payload.
3352 2002-01-10 17:13  dan
3354         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3355         which tries to return 0 from a void function.
3357         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3359 2002-01-10 17:12  dan
3361         * t/op/macro.t: Skip tests, don't comment them out.
3363         Courtesy of Simon Glover <scog@roe.ac.uk>
3365 2002-01-10 17:10  dan
3367         * rx.c: This fixes a couple of nits in rx.c:
3369            1. There's no newline at the end, which makes gcc unhappy.
3370            2. We should use NULL, not 0 or "", for creating null pointers.
3372         Courtesy of Simon Glover <scog@roe.ac.uk>
3374 2002-01-10 17:09  dan
3376         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3377         back in
3378          alphabetical order.
3380         Courtesy of Simon Glover <scog@roe.ac.uk>
3382 2002-01-10 16:54  ajgough
3384         * resources.c: Made free_string check that there was a string to
3385         free.  In reponse to a bug spotted by Joshua Nye.
3387 2002-01-09 22:44  dan
3389         * global_setup.c: Forgot the setup
3391 2002-01-09 22:35  dan
3393         * rx.ops: Forgot this one
3395 2002-01-09 22:35  dan
3397         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3398         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3399         Tests don't work, though.
3401         Courtesy of "Brent Dax" <brentdax@cpan.org>
3403 2002-01-09 21:48  dan
3405         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3407 2002-01-09 21:22  dan
3409         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3410         Generic pointer holder class
3412         Courtesy of "Brent Dax" <brentdax@cpan.org>
3414 2002-01-09 21:19  dan
3416         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3417         patches.
3419 2002-01-09 19:54  dan
3421         * io/io_unix.c: Whoops. Forgot one
3423 2002-01-09 19:43  dan
3425         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3426         t/pmc/perlhash.t: Fix hash crash bugs
3428         Courtesy of Simon Glover <scog@roe.ac.uk>
3430 2002-01-09 19:13  dan
3432         * memory.c: Signedness whoops.
3434         Courtesy of Simon Glover <scog@roe.ac.uk>
3436 2002-01-09 18:23  dan
3438         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3439         io/io_stdio.c, io/io_win32.c: Changes:
3441         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3442         will be using the   Win32 API and company rather than the unix-ish
3443         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3444         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3445         stuff is   there. Soon we should be able to start using these
3446         rather than   fprintf(stderr, ...) and remove stdio linkage.
3448         Courtesy of <mrjoltcola@mindspring.com>
3450 2002-01-09 17:26  dan
3452         * test_main.c: Fixes bad code gen on x86.
3454         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3456 2002-01-09 17:24  dan
3458         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3459         classes/perlnum.pmc: This patch adds macros to the config.h file
3460         for INTVAL and NUMVAL printf formats.
3462         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3464 2002-01-08 22:55  ajgough
3466         * docs/vtables.pod: Clarify what get_string should do.
3468 2002-01-08 20:05  dan
3470         * key.c: Keep comments in sync.
3472         Courtesy of Simon Glover <scog@roe.ac.uk>
3474 2002-01-08 19:50  dan
3476         * memory.c, include/parrot/memory.h: Need a realloc
3478 2002-01-08 17:24  gregor
3480         * .cvsignore, Configure.pl, Makefile.in:
3481         Added 'reconfig' make target and corresponding --reconfig option to
3482         Configure.pl, so its very easy to re-run Configure.pl with the last
3483         (command-line) options you passed it.
3485 2002-01-08 16:33  dan
3487         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3488         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3489         in core.ops. Potential help for optimizers and JITters.
3491         Courtesy of gregor@linux1.kennedytech.com
3493 2002-01-08 16:32  dan
3495         * key.c: Grab key length from the right spot
3497         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3499 2002-01-08 13:27  ajgough
3501         * test_main.c: Fix slight thinko in realloc usage for reading from
3502         stdin.
3504 2002-01-08 11:34  ajgough
3506         * test_main.c: Allow test_parrot to read bytecode stream from
3507         stdin, adds -f command line option, with "-f -" doing the stdin
3508         stuff.
3510 2002-01-08 06:34  jgoff
3512         * key.c, include/parrot/key.h: key.c - Added simple implementation
3513         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3515 2002-01-08 03:21  jgoff
3517         * include/parrot/key.h: Added an undef type to the key structure,
3518         so we can delete keys without confusion.
3520 2002-01-07 22:09  dan
3522         * key.c, packfile.c, string.c, include/parrot/key.h,
3523         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3524         about index being redefined
3526         Courtesy of Nick Clark
3528 2002-01-07 21:15  dan
3530         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3532         Courtesy of Steve Fink <steve@fink.com>
3534 2002-01-07 20:48  dan
3536         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3537         failures
3539         Courtesy of "Brent Dax" <brentdax@cpan.org>
3541 2002-01-07 20:43  dan
3543         * docs/intro.pod: Missing a comma
3545         Courtesy of "coral" <coral@eekeek.org>
3547 2002-01-07 20:41  dan
3549         * global_setup.c: Quiet a warning
3551         Courtesy of Simon Glover <scog@roe.ac.uk>
3553 2002-01-07 18:58  gregor
3555         * t/op/.cvsignore:
3556         Ignore intermediate test files.
3558 2002-01-07 17:01  gregor
3560         * ops2c.pl:
3561         Print a warning if an .ops file is mentioned more than once on the
3562         command line.
3564 2002-01-07 16:12  ajgough
3566         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3567         these shouldn't fail.
3569 2002-01-07 15:15  simon
3571         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3572         Stop segfaults.
3574 2002-01-07 15:11  simon
3576         * key.c:
3577         Fix zero-termination bug in hash function.
3579 2002-01-07 13:37  ajgough
3581         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3582         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3584 2002-01-07 11:53  brentdax
3586         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3587         (:add{foo}) and a new deleting thing (:rem{foo})
3589 2002-01-07 11:43  simon
3591         * Configure.pl:
3592         Gobble the + before concatenating.
3594 2002-01-07 03:53  dan
3596         * Makefile.in: Dependency fix for new ops setup.
3598 2002-01-07 03:33  jgoff
3600         * classes/perlarray.pmc: Add negative indices, and fix a small
3601         allocation problem.
3603 2002-01-06 23:54  ajgough
3605         * hints/os2.pl: Makes the hints file take account of ldflags and
3606         ccflags being split.  This hints file is still very specific to
3607         builds with gnu tools, but a proper solution can wait.   Thanks to
3608         Nick Burch.
3610 2002-01-06 22:12  dan
3612         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3613             -changes Parrot::OpLib::core's dependencies to reflect the new
3614         selectable ops files    -allows some of the special forms of 'goto'
3615         inside the PREAMBLE of an opcode file
3617         Courtesy of "Brent Dax" <brentdax@cpan.org>
3619 2002-01-06 19:59  simon
3621         * Makefile.in:
3622         *cough*
3624 2002-01-06 18:19  dan
3626         * classes/perlhash.pmc: Fix some type issues.
3628         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3630 2002-01-06 18:03  dan
3632         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3633         for a list of opcode files to use.  The default is everything
3634         available except for obscure.ops.
3636         In addition, it makes it so that if your answer to a question
3637         starts with '+', it will concatenate it to the default.  For
3638         example:
3640         What C compiler do you want to use? [cl] +HAHAHA!!!
3642         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3643         is not terribly useful, it is quite useful with things like
3644         command-line flags and the like.
3646         Finally, it contains a couple tweaks so that my syntax-highlighting
3647         editor recognizes some heredocs correctly.  :^)
3649         Courtesy of "Brent Dax" <brentdax@cpan.org>
3651 2002-01-06 17:59  dan
3653         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3655         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3657 2002-01-06 17:58  dan
3659         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3661         Courtesy of Simon Glover <scog@roe.ac.uk>
3663 2002-01-06 17:57  dan
3665         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3666         Compiler directives, etc. in files other than core.ops will now
3667         work.   2.  Compiler warnings will now display the file and line
3668         number of the  opcode file.
3670         Courtesy of "Brent Dax" <brentdax@cpan.org>
3672 2002-01-06 17:52  dan
3674         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3676         Courtesy of Simon Glover <scog@roe.ac.uk>
3678 2002-01-06 17:36  dan
3680         * docs/intro.pod: Lots of updates
3682         Courtesy of Simon Glover <scog@roe.ac.uk>
3684 2002-01-06 02:34  gregor
3686         * interpreter.c:
3687         Add some internal documentation on the theory of operation of the
3688         prederef code.
3690 2002-01-06 02:17  gregor
3692         * interpreter.c:
3693         Removed unnecessary include.
3695 2002-01-05 12:37  simon
3697         * classes/.cvsignore:
3698         Ignore generated .h files.
3700         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3702 2002-01-05 12:37  simon
3704         * Configure.pl:
3705         Make lcc happier by adding a dummy structure.
3707         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3709 2002-01-05 12:35  simon
3711         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3712         Make perlundef work. (And coincidentally stop segfaults in the
3713         tests :)
3715         Courtesy of: Jason Gloudon <perl@gloudon.com>
3717 2002-01-05 04:59  dan
3719         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3721 2002-01-05 04:55  jgoff
3723         * classes/perlhash.pmc: Added perlhash class definition
3725 2002-01-05 04:48  dan
3727         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3729         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3731 2002-01-05 03:57  jgoff
3733         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3734         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3735         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3736         t/pmc/pmc.t: Initial hash commit.
3738         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3739          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3740         set_{integer,number,string}_index_s
3742         This does not yet do collision resolution, but will soon.
3744 2002-01-05 02:54  dan
3746         * interpreter.c: More unsigned fixes
3748         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3750 2002-01-04 22:13  dan
3752         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3753         test programs happier.
3755         Courtesy of "Jason Diamond" <jason@injektilo.org>
3757 2002-01-04 19:00  dan
3759         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3760         separate things
3762 2002-01-04 18:27  dan
3764         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3765         Fixes to get things configuring and building on Win32 Native.
3767         Courtesy of "Jason Diamond" <jason@injektilo.org>
3769 2002-01-04 17:39  dan
3771         * hints/vms.pl: debug cleanup
3773 2002-01-04 16:53  dan
3775         * docs/parrot.pod:  The enclosed patch brings the list of
3776         documentation in parrot.pod
3777          up to date.
3779         Courtesy of Simon Glover <scog@roe.ac.uk>
3781 2002-01-04 16:47  dan
3783         * test_main.c, Parrot/Jit/i386-linux.pm,
3784         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3785         off warnings..
3787         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3789 2002-01-04 16:44  dan
3791         * Configure.pl, Makefile.in: Fixed linking to use linker.
3793         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3795 2002-01-04 16:39  dan
3797         * io/io_stdio.c: Added CVS tag info
3799 2002-01-04 16:35  dan
3801         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3802         isn't it
3804 2002-01-04 16:26  dan
3806         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3807         Tokenizer test
3809         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3811 2002-01-04 16:17  dan
3813         * chartypes/unicode.c: Silence some warnings.
3815         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3817 2002-01-04 16:09  dan
3819         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3820         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3821         into generated files
3822            but the $Id$ string gets mangled when it's committed.
3823            This patch fixes the existing .pmc files and fixes genclass.pl.
3825          - Makes capitalization in .pmc header match actual filenames
3827          - The command for calling genclass.pl in vtables.pod is incorrect,
3828            since it assumes you're running in classes/ but genclass.pl
3829         assumes
3830            it's being run from the main directory. I changed genclass.pl to
3831         not
3832            care.
3834         Courtesy of Steve Fink <steve@fink.com>
3836 2002-01-04 03:57  dan
3838         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3839         me--I *had* the files:wq!
3841 2002-01-04 03:40  dan
3843         * MANIFEST: Whoops--remove files not really there
3845 2002-01-04 03:37  dan
3847         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3848         my sig adds a new_stack() function to take care of the allocation
3849         and setup of "generic" stacks.
3851         Courtesy of "Brent Dax" <brentdax@cpan.org>
3853 2002-01-04 02:36  dan
3855         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3856         and so
3857          writes a load of junk in core_ops.pod. Applied patch fixes.
3859         Courtesy of Simon Glover <scog@roe.ac.uk>
3861 2002-01-04 02:35  dan
3863         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3864         logical-or is using get_integer instead of get_bool for logical
3865         operations. This patch corrects that.
3867         Perlnum and perlstring have working get_bool's, so the default
3868         logical_or and logical_and should be sufficient. The empty methods
3869         are pointed to the default logical_or.
3871         Courtesy of Jason Gloudon <perl@gloudon.com>
3873 2002-01-04 02:31  dan
3875         * Makefile.in: docs/Makefile should be removed by realclean, but
3876         isn't
3878         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3880 2002-01-04 02:29  dan
3882         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3884         Courtesy of Steve Fink <steve@fink.com>
3886 2002-01-04 00:51  dan
3888         * docs/vtables.pod: More docs
3890         Courtesy of Steve Fink <steve@fink.com>
3892 2002-01-04 00:47  dan
3894         * Configure.pl: Updated 64-bit patch
3896         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3898 2002-01-04 00:43  dan
3900         * Configure.pl: 64-bit Fix.
3902         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3904 2002-01-03 22:37  dan
3906         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3907         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3908         some buffering work.       Additional work on other layers.
3910         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3912 2002-01-03 19:41  gregor
3914         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3915         Updated copyright messages on top-level files.
3917 2002-01-03 04:23  robert
3919         * make.pl: Add author information.  Bonsai test.
3921 2002-01-03 04:02  dan
3923         * io/io_os.c: Twig Bonsai
3925 2002-01-03 03:45  dan
3927         * io/: io_os.c, io_os.c: Twig Bonsai
3929 2002-01-03 03:41  dan
3931         * io/io_os.c: Twig Bonsai
3933 2002-01-02 21:42  gregor
3935         * packfile.c, include/parrot/packfile.h:
3936         Get rid of warnings in packfile.[hc]
3938 2002-01-02 20:39  gregor
3940         * manicheck.pl:
3941         Bracketed translated patterns with ^ and $.
3943 2002-01-02 20:11  dan
3945         * io/io_os.c: silence a warning
3947 2002-01-02 19:52  grunblatt
3949         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3950         op_assembly to jit_struct.h, so that we get the real number of ops.
3951          Removed some warnings.
3953 2002-01-02 19:31  tom
3955         * string.c: Fix string transcoding so that it actually works.
3957         Patch from Peter Gibbs <peter@emkel.co.za>
3959 2002-01-02 19:20  gregor
3961         * manicheck.pl:
3962         A program to check the MANIFEST file, accounting for .cvsignore
3963         files.
3965 2002-01-02 19:19  dan
3967         * t/harness: twig bonsai
3969 2002-01-02 19:13  dan
3971         * t/harness: twig bonsai
3973 2002-01-02 18:54  dan
3975         * t/harness: Tweak to test Bonsai
3977 2002-01-02 16:27  dan
3979         * Configure.pl: Allow 64-bit build of parrot on systems with a
3980         mixed 32/64 bit perl
3982         Courtesy of David M. Lloyd <dmlloyd@tds.net>
3984 2002-01-02 15:33  simon
3986         * MANIFEST, docs/Makefile:
3987         Fixed up MANIFEST. (And I removed the Makefile in docs/)
3989         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3991 2002-01-02 13:51  simon
3993         * Configure.pl:
3994         Die on broken manifest.
3996 2002-01-02 13:48  simon
3998         * jit2h.pl, examples/assembly/mops.pasm:
3999         Clear up JIT warnings.
4001         Courtesy of: Nick Clark <nick@unfortu.net>
4003 2002-01-02 04:10  dan
4005         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4006         only once, so new interp creation works again
4008         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4010 2002-01-02 03:32  dan
4012         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4013         moment.
4015 2002-01-02 00:55  dan
4017         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4018         io/io_os.c: Initial IO system patches
4020         Courtesy of <mrjoltcola@mindspring.com>
4022 2002-01-01 22:55  ajgough
4024         * classes/default.pmc: On second thoughts, and some prodding, the
4025         set_* methods now only set the appropriate part of the cache, and
4026         do nothing else.
4028 2002-01-01 22:29  ajgough
4030         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4032          set_* create appropriate Perl* result.
4033          get_* simply grabs needed bit of cache.*_val
4035          Other methods do the rightest thing I can think of, at the moment.
4037          None yet cope with overflow, the modulus operation needs to be
4038         checked as
4039         I don't know quite which semantics we really want.
4041         Not tested yet.
4043 2002-01-01 20:23  dan
4045         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4046         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4047         rid of unneeded tmp var and eliminated const from encode prototype
4048         since it does make changes to the string.
4050         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4052 2002-01-01 20:11  dan
4054         * Makefile.in: Make clean now tosses pdump.o
4056         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4058 2002-01-01 19:49  dan
4060         * pdump.c, test_main.c: Warnings cleanup
4062         Courtesy of Josh Wilmes <josh@sky.net>
4064 2002-01-01 19:45  dan
4066         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4067         hints/mswin32.pl, languages/jako/Makefile.in,
4068         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4069         platforms
4071         Courtesy of "Jason Diamond" <jason@injektilo.org>
4073 2002-01-01 19:41  dan
4075         * include/parrot/register.h: Clean up some warnings
4077         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4079 2002-01-01 19:10  simon
4081         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4082         Hack-around to enable compilation of code using vtable ops.
4084 2002-01-01 18:43  dan
4086         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4087         checks on unsigned things
4089         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4091 2002-01-01 18:26  dan
4093         * runops_cores.c: More warning silences.
4095         Courtesy of Nicholas Clark <nick@unfortu.net>
4097 2002-01-01 18:25  dan
4099         * trace.c: Shuts up a warning.
4101         Courtesy of Nicholas Clark <nick@unfortu.net>
4103 2002-01-01 18:24  dan
4105         * encodings/singlebyte.c: Clean up some warnings.
4107         Courtesy of Nicholas Clark <nick@unfortu.net>
4109 2002-01-01 18:20  dan
4111         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4112         thunk it?
4114         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4116 2002-01-01 18:17  dan
4118         * packfile.c: Warning cleanup
4120         Courtesy of Nicholas Clark <nick@unfortu.net>
4122 2002-01-01 17:53  dan
4124         * string.c: New string size should be based on output encoding's
4125         size, not input encoding's size.
4127         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4129 2002-01-01 17:22  dan
4131         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4132         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4133         include/parrot/interpreter.h, include/parrot/memory.h,
4134         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4135         Warnings fixups.
4137         Courtesy of Chip Turner <cturner@redhat.com>
4139 2002-01-01 17:09  dan
4141         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4142         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4143         now unsigned, as is proper.
4145         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4146         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4148 2002-01-01 16:59  dan
4150         * include/parrot/trace.h: Useless debugging prototype removed
4152         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4154 2002-01-01 16:58  dan
4156         * MANIFEST: We forgot a file.
4158         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4160 2002-01-01 03:53  dan
4162         * Configure.pl: Okay, I give. Removed some warnings because the
4163         darned system headers were triggering them. Sloppy, sloppy
4164         coding...
4166 2002-01-01 03:48  dan
4168         * config_h.in: Add in an unsigned INTVAL.
4170         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4172 2002-01-01 03:46  dan
4174         * global_setup.c: Clean up some compiler warnings.
4176         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4178 2002-01-01 03:43  dan
4180         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4181         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4182         include/parrot/op.h: Cleaned up some things to make the compiler
4183         happier.
4185         Courtesy of Nicholas Clark <nick@unfortu.net>
4187 2002-01-01 03:14  dan
4189         * Configure.pl: Quad updates.
4191         Courtesy of Nicholas Clark <nick@unfortu.net>
4193 2001-12-31 22:53  dan
4195         * include/parrot/op.h: Typedef had parameters backwards. Threw
4196         core.ops for a big whiny warnings loop.
4198 2001-12-31 22:37  dan
4200         * Makefile.in, resources.c: Tweaks to try and get things to build
4201         in the right order.
4203 2001-12-31 21:58  dan
4205         * Configure.pl: Stupid thinko fix
4207 2001-12-31 21:34  dan
4209         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4211         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4213 2001-12-31 21:32  dan
4215         * Configure.pl: Fix for non-gcc systems
4217 2001-12-31 20:22  dan
4219         * interpreter.c: Tweak so we can build on non-JIT platforms
4221 2001-12-31 20:11  dan
4223         * Configure.pl: Force the time on some copied files to be 'now' to
4224         make the Win builds much less annoying.
4226         Courtesy of "Jason Diamond" <jason@injektilo.org>
4228 2001-12-31 20:07  dan
4230         * Configure.pl: Nuke all object files in the parrot tree that
4231         matter when configuring.  Shouldn't be necessary with good
4232         dependencies in the makefile, but we don't have those yet.
4234 2001-12-31 20:00  gregor
4236         * chartypes/unicode.c:
4237         Silence unused variable warnings.
4239 2001-12-31 19:40  dan
4241         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4243 2001-12-31 19:37  gregor
4245         * interpreter.c, jit.c, include/parrot/jit.h:
4246         Created a prototype for JIT functions and used it in interpreter.c.
4248 2001-12-31 19:31  dan
4250         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4251         detection) with really cranky warnings if we find we're using it.
4253         Courtesy of: Nicholas Clark <nick@unfortu.net>
4255 2001-12-31 18:01  gregor
4257         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4259         Fixed a few warnings wrt prototypes, etc.
4261 2001-12-31 17:23  dan
4263         * string.c: Silenced most of the compiler whines
4265 2001-12-31 17:15  gregor
4267         * Configure.pl:
4268         Get the ccname from either ccname or just cc config var.
4270 2001-12-31 17:14  gregor
4272         * Parrot/Op.pm, lib/Parrot/Op.pm:
4273         Another intermediate opbody notation. Could come in handy. Explicit
4274         types.
4276 2001-12-31 17:05  dan
4278         * string.c: Minor warnings update
4280 2001-12-31 17:00  dan
4282         * include/parrot/string.h: Warnings cleanup
4284 2001-12-31 16:00  simon
4286         * encodings/utf8.c, include/parrot/encoding.h:
4287         Remove a couple more.
4289 2001-12-31 15:58  simon
4291         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4292         include/parrot/op.h:
4293         Rid ourselves of a few warnings.
4295 2001-12-31 15:32  dan
4297         * Configure.pl: Made GCC ever so much pickier.
4299         Switch list courtesy of Jarkko.
4301 2001-12-31 15:22  dan
4303         * string.c: Tightened up initial allocation.
4305         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4307 2001-12-31 06:48  dan
4309         * Configure.pl: Minor Windows tweak
4311 2001-12-31 05:32  dan
4313         * core.ops: Unused temp variable tossed.
4315         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4317 2001-12-31 05:09  grunblatt
4319         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4320         supported plataforms
4322 2001-12-31 03:05  dan
4324         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4325         platform-independent quote substitution for the makefiles.
4326         Hopefully this'll make the Win32 builds happier.
4328 2001-12-30 21:08  dan
4330         * string.c, include/parrot/string.h: More string system tweaks.
4332         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4334 2001-12-30 20:45  dan
4336         * core.ops: Some pod cleanup
4338         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4340 2001-12-30 20:22  ajgough
4342         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4343         we aren't using them right now.  Clarified the workings of set Px,
4344         Py and clone Px, Py.
4346 2001-12-30 20:15  grunblatt
4348         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4349         Added readjit() to read *.jit files Updated core.jit to the new
4350         set_n_i
4352 2001-12-30 20:14  ajgough
4354         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4356 2001-12-30 19:52  dan
4358         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4359         include/parrot/trace.h, platforms/generic.c: Compiler whine
4360         cleanups
4362         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4364 2001-12-30 19:13  dan
4366         * Configure.pl, Makefile.in: Make GCC pickier by default.
4368         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4370 2001-12-30 18:41  dan
4372         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4373         ntoi opcodes to sets.
4375         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4377 2001-12-30 17:58  gregor
4379         * Makefile.in:
4380         'make' no longer builds the mops test. Use 'make mops' for that. To
4381         run the test, you can do 'make mopstest'.
4383 2001-12-30 17:30  gregor
4385         * Makefile.in:
4386         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4387         Gregor.
4389 2001-12-30 17:26  gregor
4391         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4392         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4393         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4394         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4395         Build enhancements. Originally to support building shared
4396         libraries, but now of broader impact.
4398           * .cvsignore: Ignore the blib/ directory, about which more later.
4400           * Configure.pl:
4402               * Got rid of TAB formatting and lined a few things up.
4404               * Added header comment with CVS Id variable, and a few other
4405                 block header comments.
4407               * Uses new Parrot::BuildUtil module to determine the Parrot
4408                 version.
4410               * Reworded a few messages, added a couple, and wrapped
4411         messages
4412                 to 79 columns.
4414               * Added 2002 to the Copyright statement.
4416               * Added new configure variables: VERSION, MAJOR, MINOR and
4417         PATCH
4419               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4420         greater
4421               than 5.6.0, but the comment implies it isn't.
4423           * Makefile.in:
4425               * Added $(SO), $(A) and $(AR_CRS) defines for library
4426         building.
4428               * Added $(RM_RF) define for removing directory trees
4430               * Grouped generated files into two classes: "sticky" (made by
4431         configure,
4432                 persisting across 'make clean') and 'fluid' (made during
4433         the build
4434                 process, deleted by 'make clean').
4436               * Added header comments.
4438               * Added target for test_prog linked with shared library.
4440               * Added rules to build shared libraries in blib/lib. The
4441         libraries are
4442                 built with trailing version numbers in their file names,
4443         and then
4444                 symbolic links are created for shorter and no version tag
4445         variants.
4447               * Added some missing dependencies
4449               * Added some missing 'make clean' targets.
4451               * Added 'make realclean' target that deletes files created by
4452                 Configure.pl (including Makefile), forcing a re-configure.
4454               * Added a 'status' CVS target.
4456           * VERSION: New file, contains only the version. This version
4457         number is
4458             propagated to a few places, such as the core oplib version
4459         number. This
4460             reduces the amount of coordination that has to happen to get
4461         version
4462             number stuff throughout the tree in sync and updated prior to
4463         cutting
4464             a new release. Feel free to grep for '0.0.3' to see the other
4465         files
4466             that contain the version number (but, do that in a fresh CVS
4467         copy, or
4468             after doing 'make realclean').
4470           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4471         PARROT_*_VERSION,
4472             since the oplib and Parrot itself share a version number now.
4473         Added
4474             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4475         (a
4476             string).
4478           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4479         of
4480             specifying the version by hand. Non-core oplibs will set this
4481         to
4482             a quoted dot-string with three natural number components
4483         without
4484             leading zeros.
4486           * interpreter.c: Make use of PARROT_VERSION to simplify some
4487         sprintf()s, and
4488             to get the complete version number in the resulting strings
4489         (including the
4490             new PATCH portion).
4492           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4493         the
4494             generated file.
4496           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4498           * ops2c.pl: Account for the PATCH version, too. This affects the
4499         name of the
4500             oplib init function, and the oplib info struct initializer.
4502           * Parrot/BuildUtil.pm: New file for reading in and validating the
4503         contents of
4504             the new VERSION file. Other build utilities could go here in
4505         futuer.
4507           * Parrot/OpsFile.pm:
4509               * Allow three components in version number, and require that
4510         the value
4511                 be in double quotes.
4513               * Allow "VERSION = PARROT_VERSION", substituting the shared
4514         Parrot
4515                 VERSION in that case.
4517           * include/parrot/oplib.h: Add the patch_version member.
4519 2001-12-30 12:16  simon
4521         * MANIFEST, Makefile.in:
4522         More stuff forgotten from MANIFEST.
4524 2001-12-30 12:13  simon
4526         * MANIFEST:
4527         Missing JIT file.
4529 2001-12-30 12:12  simon
4531         * jit2h.pl:
4532         Safety first.
4534 2001-12-30 12:12  simon
4536         * Makefile.in:
4537         Gragh.
4539 2001-12-30 12:04  simon
4541         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4542         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4543         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4544         include/parrot/string.h, t/op/string.t:
4545         * Expand the strings test suite to be more complete * Make string
4546         commands more consistent (i.e, now the only string command that
4547         actually changes the original is chopn) * Significantly reduce the
4548         number of memory allocations and eliminate reallocations.
4550         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4552 2001-12-29 22:12  dan
4554         * interpreter.c, key.c, register.c, stacks.c, string.c,
4555         test_main.c, trace.c: Updates to match the coding standards.
4557         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4559 2001-12-29 20:42  grunblatt
4561         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4562         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4563         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4564         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4565         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4566         Kitover <caelum@debian.org>
4568 2001-12-28 21:20  dan
4570         * core.ops: Okay, now print takes a preceding file handle.
4572         I feel so dirty now.
4574 2001-12-28 20:46  dan
4576         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4577         changing the open op to use fopen under the hood.
4579         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4581 2001-12-28 18:20  ajgough
4583         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4584         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4585         include/parrot/exceptions.h, include/parrot/string.h,
4586         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4587         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4588         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4589         to hold tests specific to PerlStrings, as the pmc.t file is taking
4590         too long to run and slowing down my thought processes.
4592         Changes to strings.c etc to take string functions.
4594         Some changes to the strings docs, but not yet complete.
4596         Also, PerlString was copying pointers to strings, rather than
4597         strings themselves, so some action-at-a-distance bugs were creeping
4598         in, I think I've fixed this so everything works nicely.
4600 2001-12-28 04:56  gregor
4602         * examples/assembly/pmcmops.pasm:
4603         PMC-using version of mops.pasm.
4605         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4607 2001-12-28 04:56  gregor
4609         * examples/assembly/.cvsignore:
4610         Small tinkering. Removed old stuff, etc.
4612 2001-12-28 01:26  gregor
4614         * examples/mops/mops.scheme:
4615         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4616         to the very un-scheme-like implementation.
4618 2001-12-28 01:19  gregor
4620         * examples/mops/mops.c:
4621         Some people's picky compilers don't like us redefineing time(), so
4622         we call it time_n().  :)
4624 2001-12-28 00:28  gregor
4626         * examples/mops/: README, mops.ps:
4627         Added a PostScript example and a README.
4629 2001-12-27 23:57  gregor
4631         * Makefile.in:
4632         Build the C mops translation in examples/mops/mops.c
4634 2001-12-27 23:56  gregor
4636         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4637         Some translations of mops.pasm into other languages, for inner loop
4638         performance comparisons.
4640 2001-12-27 22:40  gregor
4642         * examples/assembly/mops.pasm:
4643         Fixed erroneous file name in header comment.
4645 2001-12-27 21:18  gregor
4647         * pbc2c.pl:
4648         One-liner to avoid no-op gotos to the next op.
4650 2001-12-27 21:06  gregor
4652         * runops_cores.c:
4653         Fixed -p (profiling). Slow runops core was doing unconditional
4654         tracing, when it should have been checking the flags.
4656 2001-12-27 18:50  ajgough
4658         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4659         classes/perlstring.pmc, include/parrot/chartype.h,
4660         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4661         dded get_digit() to chartypes  * Added string_bool() to strings  *
4662         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4663         to perlstring.pmc  * Tests for above, also a for couple of other
4664         ops without tests
4666         The unicode chartype has only had placeholders added for get_digit,
4667         string_to_num has been updated to use type->get_digit rather than
4668         the previous ascii-isms.  Some remain, but we need to carefully
4669         define what we mean by a number before we let thousands of code
4670         points act as a minus sign.
4672 2001-12-27 18:32  dan
4674         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4675         compiler warnings.
4677         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4679 2001-12-27 18:23  dan
4681         * t/op/bitwise.t: More tests.
4683         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4685 2001-12-27 17:08  gregor
4687         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4688         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4689         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4690         include/parrot/interpreter.h, include/parrot/oplib.h,
4691         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4692         platforms/win32.c, platforms/win32.h:
4693         Initial code for dynamic loading of oplibs, applied for now to the
4694         loading of the core_prederef oplib when the -P flag is passed to
4695         test_parrot.
4697           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4699           * Makefile.in:
4701               * Added libcore_prederef_0_3.so to the shared target.
4702               * Added build rule for libcore_prederef_0_3.so.
4703               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4704                 to Parrot/OpLib/core.pm, core_ops.c and
4705                 core_ops_prederef.c.
4707           * config_h.in: Added defines for constants used to locate the
4708             core oplib's init function, and the core_prederef oplib for
4709             dynaloading.
4711           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4712             required by Parrot/OpsFile.pm.
4714           * interpreter.c:
4716               * Added init_prederef() and stop_prederef() functions to load
4717                 and unload the core_prederef oplib when we are in prederef
4718                 mode.
4720                 NOTE: In all likelihood, the prederef stuff has a rapidly
4721                 dwindling time-to-live. The JIT should provide vastly
4722         superior
4723                 performance, and loading an alternate set of core_ops isn't
4724                 the real direction for the dynaloading stuff. Loading
4725                 *additional* ops is. It does provide a handy test case for
4726         the
4727                 general idea for now, though.
4729               * Gets the core copcode table, etc. via the core oplibs oplib
4730                 info pointer, as returned by the core oplib's init
4731         function.
4733           * ops2c.pl
4735               * Make use of the version, major version and minor version
4736                 stuff parsed by Parrot/OpsFile.pm
4738               * The only exported symbol in the generated files is the init
4739                 function now, since that returns an oplib info struct
4740                 pointer, and all the important stuff can be found there.
4742           * ops2pm.pl: Put the oplib version in the generated .pm file.
4744           * test_main.c: Small changes necessitated by changes in the names
4745             of some members of the interpreter struct.
4747           * trace.c: Small changes necessitated by changes in the names
4748             of some members of the interpreter struct.
4750           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4751             ops are found.
4753           * include/parrot/interp_guts.h: Small changes necessitated by
4754             changes in the names of some members of the interpreter struct.
4756           * include/parrot/interpreter.h: Include the new
4757             include/parrot/oplib.h header. Small changes to the oplib-
4758             related members.
4760           * include/parrot/oplib.h: Define the type of the oplib init
4761             function, and the struct type for the oplib info.
4763           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4764             since not all platforms have it. For those that do, a default
4765             second argument is provided.
4767 2001-12-26 05:12  gregor
4769         * Configure.pl:
4770         Make jitarch calculation not get tripped up by extra components to
4771         archname.
4773 2001-12-24 21:23  gregor
4775         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4776         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4777         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4778         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4779         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4780         Some more JIT work from Daniel Grunblatt.
4782           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4783         to C
4784             functions.
4786           * Added JUMP(END) to place the number of bytes to the end of the
4787         current
4788             op.
4790           * The *.jit files syntax changed.
4792           * Added jit/i386/lib.jit to place handly functions as jump that
4793         take as
4794             argument the address where is the opcode number to jump to.
4796           * There is a bug at some point, but I will start writing
4797             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4798         have use
4799             calls, which make the jit as slow as the interpreter.
4801         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4803 2001-12-24 03:46  dan
4805         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4806         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4807         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4808         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4809         Perls before 5.6.0 don't like it.
4811 2001-12-22 16:02  ajgough
4813         * t/op/stacks.t: stopped skipping tests we can run now.  added
4814         clonep tests.
4816 2001-12-21 21:13  gregor
4818         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4819         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4820         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4821         Fixed some package name goofs.
4823         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4825 2001-12-21 19:32  gregor
4827         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4828         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4829         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4830         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4831         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4832         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4833         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4834         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4835         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4836         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4837         pbc2c.pl.
4839           * Removed ops2c-prederef.pl
4841           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4843           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4844             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4845             for old functionality of ops2c-prederef.pl), and
4846             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4848             "OpTrans" == "Op Transformation"
4850           * Makefile.in modifications to call "ops2c.pl C" where it used
4851             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4852             to be "ops2c-prederef.pl".
4854           * core.ops and obscure.ops changes to syntax. Semantics are
4855             identical with previous version:
4857               return HALT         -->  HALT()
4858               return AUTO         -->  goto NEXT()
4859               return RETREL(...)  -->  goto OFFSET(...)
4860               return RESTART(*)   -->  restart NEXT()
4862             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4863             for dest-less branch ops replaced with new notation "goto
4864         POP()",
4865             which uses the new pop_dest() function in stacks.c. This also
4866             allowed these ops to become 'inline' ops, since they no longer
4867             have local variables.
4869             The 'ret' op also became simplified to just "goto POP()", and
4870             also became an inline op.
4872           * interpreter.c reflects the change in type name:
4874               prederef_op_func_t   -->  op_func_prederef_t
4876             that occurred in include/parrot/op.h
4878           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4879             "return AUTO".
4881           * ops2c.pl is now generic. Its first argument is the last
4882             package name component of a subclass of Parrot::OpTrans. These
4883             subclasses all have full names of the form Parrot::OpTrans::*.
4884             An instance of the class is created and later consulted for
4885             various bits of information needed to generate the C code.
4887           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4888             contain its transformation rules.
4890           * stacks.c has a new function pop_dest() that pops a destination
4891             off the control stack. include/parrot/stacks.h has the
4892         prototype.
4894           * Parrot/Op.pm now supports the syntax generated by
4895         Parrot::OpsFile
4896             for the "goto POP" case.
4898             Also, the source() method now expects its second argument to be
4899             an object that ISA Parrot::OpTrans. Methods of this object are
4900             called to perform the substitutions.
4902           * Parrot/OpsFile.pm supports the change in notation mentioned
4903             above.
4905           * docs/intro.pod reflects these changes.
4907           * include/parrot/op.h: Renamed type prederef_op_func_t to
4908             op_func_prederef_t because it made the implementation of the
4909             shared ops2c.pl easier.
4911 2001-12-21 13:47  gregor
4913         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4914         Both test_parrot (via test_main.c) and the intepreter itself (via
4915         interpreter.c) use the JIT_CAPABLE config to decide whether to
4916         actually attempt JIT operation, or to complain.
4918 2001-12-20 23:25  gregor
4920         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4921         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4922         Changes to the format of *.ops files. An attempt to provide hints
4923         for future opfunc processing logic that wants to know if an opfunc
4924         is simple enough to JIT (e.g.) inline, or not.
4926         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4927         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4928         info.
4930 2001-12-20 21:28  gregor
4932         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4933         jit/i386/core.jit:
4934         More JIT stuff:
4936           * A fix to Gregor's last Configure.pl update.
4938           * Remove the need for hardcoded "\n" at the end of the "%f"
4939             format for printing floating-point numbers.
4941           * New, improved *.jit syntax for references to registers,
4942             e.g. INT_REG[n].
4944           * Support for C() improved.
4946         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4948 2001-12-20 16:55  dan
4950         * MANIFEST: Added jit.c to the manifest.
4952 2001-12-20 15:24  simon
4954         * jit2h.pl:
4955         Off-by-one error fixed.
4957 2001-12-20 14:18  simon
4959         * jit/i386/core.jit:
4960         Just a noop. It's the only machine code I know.
4962 2001-12-20 13:10  gregor
4964         * Configure.pl, Makefile.in, jit2h.pl:
4965         Attempt to fix Win32 builds.
4967           * No more empty braces in include/parrot/jit_struct.h
4969         Also:
4971           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4972         ${archname}
4973             does not.
4975 2001-12-20 11:56  simon
4977         * Makefile.in:
4978         De-cp
4980 2001-12-20 01:57  gregor
4982         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4983         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4984         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4985         include/parrot/.cvsignore, include/parrot/interpreter.h,
4986         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4987         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4988         lib/Parrot/Jit/i386-nojit.pm:
4989         Initial JIT implementation.
4991           * Enabled with test_parrot -j. 20x speed boosts seen.
4993           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4995           * More to come.
4997         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4999 2001-12-20 01:53  jgoff
5001         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5002         core.ops - Removed key operators, they should be hidden from the
5003         assembler.  t/op/key.t - No need to test the nonexistent key
5004         operators.
5006 2001-12-20 00:13  ajgough
5008         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5009         that asking for type of entry at depth causes segfault as stack is
5010         zero based, fixed cmp in core.ops to reflect this.  Last test is
5011         skipped as we don't do exceptions right yet.
5013 2001-12-19 19:11  ajgough
5015         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5016         non-being was causing Irix "issues".
5018 2001-12-19 03:37  jgoff
5020         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5021         004_combined.t: Changed tests to make sure they pass with the
5022         addition of the clone operator.
5024 2001-12-18 20:06  gregor
5026         * interpreter.c, include/parrot/interp_guts.h:
5027         Performance improvements to the predereferencing code path
5028         suggested to me over lunch yesterday by my friend John Kennedy.
5029         The goal is to remove the additional test in the inner loop that
5030         was checking for NULL to decide whether or not to call the
5031         prederef() function. Also moved pc & pc_prederef syncing outside
5032         the inner loop.
5034           * Changed the prototype of the prederef() function in
5035             interpreter.c to match that of an opfunc.
5037           * Instead of initializing the prederef void * array with NULL,
5038             we initialize it with pointers to prederef().
5040           * prederef() now returns the prederef_pc passed in, so that
5041             after predereferencing, the same location is executed, but now
5042             with the real code being called.
5044         Thanks to: John Kennedy
5046 2001-12-18 19:59  ajgough
5048         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5049         (including some more in the skipped string -> int tests).
5051 2001-12-18 07:06  jgoff
5053         * MANIFEST: Forgot to add classes/perlarray.pmc
5055 2001-12-18 07:05  jgoff
5057         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5058         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5059         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5060         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5061         t/pmc/pmc.t: Big update...  Makefile.in - Added
5062         classes/perlarray.pmc core.ops - Added new series of set() ops for
5063         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5064         Added perlarray.pmc classes/*.pmc - Added
5065         set_{integer,number,string}_index and
5066         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5067         type t/op/pmc.t - Added basic array test
5069         classes/perlarray.pmc - Added
5071 2001-12-17 05:29  jgoff
5073         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5074         generator to use clone operator instead of set Px,Py
5076 2001-12-17 05:25  jgoff
5078         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5079         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5080         PMC,PMC operator. Uses the clone() vtable entries.
5082 2001-12-17 04:51  jgoff
5084         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5085         entry
5087 2001-12-17 04:41  jgoff
5089         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5090         directory...
5092 2001-12-17 04:41  jgoff
5094         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5096 2001-12-17 04:39  jgoff
5098         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5099         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5100         t/
5102 2001-12-17 04:27  jgoff
5104         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5105         Admittedly it's a little thin on true OO, but the algorithms are
5106         the key.
5108 2001-12-17 04:24  jgoff
5110         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5111         003_generator.t, 004_combined.t: Much more comprehensive test suite
5112         for the codegen et al
5114 2001-12-17 04:22  jgoff
5116         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5117         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5118         key handling
5120 2001-12-17 04:20  jgoff
5122         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5123         more comprehensive.
5125 2001-12-17 04:17  jgoff
5127         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5128         changes to the new compiler
5130 2001-12-17 04:11  jgoff
5132         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5133         files to Miniperl/
5135 2001-12-16 14:11  simon
5137         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5138         t/pmc/pmc.t:
5139         Fix bogus assumption that multiplying an integer by an integer
5140         yields an integer.
5142 2001-12-16 12:48  simon
5144         * make_vtable_ops.pl:
5145         Fixed op exploder.
5147 2001-12-16 12:45  simon
5149         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5150         Expand multimethod vtable ops.
5152 2001-12-16 12:04  simon
5154         * Makefile.in:
5155         Added 'cvsclean' which doesn't zap CVS/* directories.
5157 2001-12-15 01:50  dan
5159         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5160         indeed!
5162         Thanks to grunblatt fom #parrot for the catch
5164 2001-12-15 01:39  dan
5166         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5167         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5168         languages/miniperl/Makefile.in,
5169         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5170         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5171         tweaks.
5173         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5175 2001-12-14 17:39  dan
5177         * t/op/trans.t: More trans tests.
5179         Courtesy of: Simon Glover <scog@roe.ac.uk>
5181 2001-12-14 07:41  robert
5183         * make.pl: - define MAKE macro - topological sort and subgraph
5184         order - start of timestamp stuff   (still badly broken)
5186 2001-12-14 06:06  jgoff
5188         * optimizer.pl: Hopefully this should do the trick..
5190 2001-12-14 06:04  jgoff
5192         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5194           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5196           The optimizer performs its work on a file post-macro expansion.
5197           Run it on a .pasm file, preferably with some trivially reducible
5198         operations
5199           like 'add I0,5,-6' or 'mul I0,I1,0'
5201 2001-12-14 05:48  robert
5203         * Makefile.in: case error EXE -> exe
5205 2001-12-14 05:42  robert
5207         * Makefile.in: remove legacy PDISASM macro
5209 2001-12-14 04:01  dan
5211         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5212         better Win building
5214         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5216 2001-12-13 22:03  dan
5218         * Configure.pl, Makefile.in, Parrot/Test.pm,
5219         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5220         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5221         can change it without having to change the world.
5223 2001-12-13 21:57  dan
5225         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5226         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5227         file/line/package to interp structure, with ops to get and set
5228         them. Now we can know where we are!
5230 2001-12-13 19:43  dan
5232         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5233         WinXP builds work out of the box
5235 2001-12-13 17:05  dan
5237         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5238         name again--makes case-insensitive systems much happier.
5240 2001-12-13 16:21  dan
5242         * core.ops, key.c, string.c, test_main.c, trace.c,
5243         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5244         compiler warnings
5246         Courtesy of: Josh Wilmes <josh@sky.net>
5248 2001-12-13 13:33  gregor
5250         * languages/jako/Makefile.in:
5251         Improved the method of calling the assembler.
5253 2001-12-13 13:30  gregor
5255         * languages/jako/Makefile.in:
5256         Improve the build process. It now works from the main parrot dir,
5257         and from the languages/jako directory. Now uses the .SUFFIXES
5258         target and generic build rules to reduce clutter in the
5259         Makefile.in.
5261 2001-12-13 13:29  gregor
5263         * languages/jako/.cvsignore:
5264         Ignore the (now generated Makefile), and don't ignore .list files
5265         anymore, since we aren't generating them.
5267 2001-12-13 13:11  gregor
5269         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5270         languages/Makefile.in, languages/jako/Makefile,
5271         languages/jako/Makefile.in:
5272         Added a 'languages' target to the top-level Makefile.in, and
5273         modified the jako build procedure to involve Makefile.in -->
5274         Makefile too (done by Configure.pl).
5276         NOTE: languages/jako and language/scheme are built.
5277         languages/miniperl wasn't building right, so it was left off for
5278         now.
5280 2001-12-13 12:15  gregor
5282         * MANIFEST:
5283         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5284         the MANIFEST.
5286 2001-12-13 12:12  gregor
5288         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5289         ops2c-prederef.pl, ops2c.pl, test_main.c,
5290         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5291         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5292         Welcome to the Just-in-Time Predereferencing Patch!
5294         This patch implements a "predereferencing" mode for parrot. That
5295         means that a lot of the dereferencing you see in DO_OP and in the
5296         opfuncs is done up front (really, JIT) rather than as and each time
5297         we execute each op in the byte code stream.
5299         This works by creating an array of void pointers with the same
5300         number of elements as the byte code array. This array starts out
5301         life zero-initialized.  Each time we go to execute an op, we check
5302         first to see if we have a NULL pointer at *cur_opcode. If so, we
5303         know we haven't done our predereferencing yet (this is the JIT
5304         part), so we call the prederef() function with sufficient args that
5305         it can go look up opfunc pointers and op arg types and put the
5306         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5307         where N is the number of args (counting the op itself as one arg).
5309         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5310         to have inline INTVAL constants.
5312         I've been getting about a 22% speed increase over vanilla code path
5313         when I compile with -O0. Advantage decreases at -O9 here. I tested
5314         with mops.pbc, and also by temporarily putting the -P flag in
5315         Parrot/Test.pm and running all the tests. So, this code is as
5316         correct as the test suite can detect.
5318         Here's how it plays out in the code:
5320           * New script ops2c-prederef.pl
5322             Copy-paste code reuse from ops2c.pl. Modified to expect the
5323         args to give
5324             a void ** cur_opcode and to return a void **.
5326           * Modified ops2c.pl
5328               * opfuncs are now static. Who needs to call them by name from
5329         outside,
5330                 anyway? They are accessed via the opfunc table.
5332               * Some MACRO stuff to make things work whether we prederef or
5333         not. It
5334                 may be possible to get rid of these some day if other folks
5335         agree
5336                 that we should be using CODE object pointers + offsets as
5337         our PC
5338                 rather than raw pointers to either opcode_t's or (void *)'s
5339                 (depending on prederef mode or no).
5341           * core.ops modified to be usable to build both kinds of opfuncs.
5342         For now,
5343             this means:
5345               * calls to push_generic_entry(... cur_opcode ...) were
5346         changed to
5347                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5348         a
5349                 macro that does the right thing in both kinds of ops.c
5350         files.
5352                 This is applicable to the bsr op. If we treated
5353         destinations as
5354                 (Code PMC + local offset) rather than as
5355         pointer-to-memory-somewhere,
5356                 this wouldn't be a big deal. We may need to do that at some
5357         point
5358                 anyway, so that when you jump around and return not only do
5359         you have
5360                 the right PC (pointer, today), but you also have the
5361         thread/interpreter
5362                 knowing what chunk of bytecode it is in at all times
5363         (assuming we'll
5364                 allow reflection, as in ops that query or affect the
5365         current CODE PMC).
5367               * runinterp was modified. Instead of copying the top-level
5368         PackFile struct
5369                 and blasting its byte_code pointer, we simply call runops
5370         on the new
5371                 interp, passing in the pointer to the current interp's code
5372         and the
5373                 offset into that code at which to start (this last arg used
5374         to be a
5375                 pointer PC, now its an offset PC).
5377           * include/parrot/op.h
5379               * new typedef for prederef opfuncs (they return void **)
5381           * include/parrot/interp_guts.h
5383               * New DO_OP_PREDEREF() macro described above.
5385           * include/parrot/interpreter.h
5387               * New prototype of runops() -- see below.
5389               * resume_addr field changed to resume_flag and resume_offset
5390         pair of fields.
5391                 We might be resuming from interp using prederef to one not
5392         or vice-versa,
5393                 so pointers between the two don't play nice together.
5394         Offsets are beautiful.
5396               * New PARROT_PREDEREF_FLAG constant
5398           * interpreter.c
5400               * include "parrot/oplib/core_ops_prederef.h"
5402               * prederef() function described above.
5404               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5405         macro as its core.
5407               * runops() modified to take size_t CODE-relative offset PC
5408         rather than
5409                 pointer PC. This made other things workable and doesn't
5410         seem to have lost
5411                 anything important (IMO).
5413           * test_main.c
5415               * New flag '-P' to enable predereferencing.
5417           * Makefile modified to build core_ops_prederef.c from core.ops
5418         via
5419             ops2c-prederef.pl.
5421             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5423             Added core_ops_prederef$(O) to O_FILES
5425 2001-12-13 12:12  gregor
5427         * languages/jako/MAINTAINER:
5428         Thought it would be nice to put this right in the code...
5430 2001-12-13 04:36  jgoff
5432         * languages/miniperl/Miniperl/Generator.pm: Commented out
5433         debugging, fixed register spillover algorithm
5435 2001-12-13 04:23  jgoff
5437         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5438         line) Restructured a bit of the dependency generator to fix a
5439         different obob bug.
5441 2001-12-13 03:43  robert
5443         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5445 2001-12-13 03:03  jgoff
5447         * make.pl: Added make.pl
5449 2001-12-13 02:44  jgoff
5451         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5452         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5453         special flags...                     - Dies on undefined macros
5454         such as $(PDISASM) in current make                     - Dies on
5455         recursive macro expansions                       (Doesn't test for
5456         mutual or multipart loops)                     - In general it
5457         seems to be a little less lenient...  Missing bits - File
5458         mod/creation times aren't being looked at              - Actions
5459         aren't being taken              - The few funky variables ($@, $<)
5460         aren't being dealt with Bugs - Line numbers are slipping a bit.
5462 2001-12-13 02:29  jgoff
5464         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5465         Reconstructing files to make the parser flow a little better.
5467 2001-12-13 00:51  dan
5469         * resources.c: Be a bit less wasteful with resources that don't
5470         need to be aligned
5472 2001-12-12 18:22  dan
5474         * Makefile.in: D'oh! Fixed looping makefile bug.
5476         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5478 2001-12-12 16:23  jgoff
5480         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5482 2001-12-12 16:22  jgoff
5484         * MANIFEST: Manifest additions for languages/miniperl
5486 2001-12-12 16:19  jgoff
5488         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5489         tests. These are left over from the Scheme suite and shouldn't be
5490         used yet.
5492 2001-12-12 16:18  jgoff
5494         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5495         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5496         modules. Miniperl/ is where the real work gets done.  t/ is largely
5497         vacant because it isn't ready to survive real tests yet.
5499 2001-12-12 16:17  jgoff
5501         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5502         mpc: Final go-round, hopefully.
5504         languages/miniperl/Makefile - Used basically to run tests, as there
5505         is nothing                               here that needs to be
5506         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5507         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5508         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5509         compiler stub
5511 2001-12-12 16:09  dan
5513         * Configure.pl: Setting a variable with the make command name is
5514         useful.
5516 2001-12-12 15:07  simon
5518         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5519         Recursive make considered "ow, don't do that".
5521 2001-12-12 14:45  dan
5523         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5524         non-portable code) Killing builds on Win32 native. Small patch
5525         applied which hopefully fixes it.
5527 2001-12-12 06:12  ajgough
5529         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5531 2001-12-12 06:08  ajgough
5533         * Makefile.in: perl is $(PERL).
5535 2001-12-12 06:00  ajgough
5537         * t/op/integer.t: Added tests to integer.t so that all permutations
5538         of arguments are actually called at some point.
5540 2001-12-12 05:18  ajgough
5542         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5543          Tests for sleep i|ic
5545 2001-12-12 05:09  ajgough
5547         * t/op/stacks.t: Added pushp and popp register stack tests.
5549 2001-12-12 04:51  ajgough
5551         * t/op/stacks.t: Added tests for save and restore, for all register
5552         types.  Let there be Haiku.
5554 2001-12-12 04:27  ajgough
5556         * t/op/basic.t: bsr_i test.  You know you want it.
5558 2001-12-12 02:55  ajgough
5560         * MANIFEST: Added hints/os2.pl to MANIFEST.
5562 2001-12-12 02:52  jgoff
5564         * core.ops, key.c: Final checkin... These are actually the correct
5565         copies.
5567 2001-12-12 02:12  jgoff
5569         * include/parrot/key.h: key.c - Removed a few functions,
5570         generalized set_element_value and element_value         to accept
5571         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5572         core.ops - Modified to accept the new return style.
5574         This is a prelude to adding virtual-table methods to allow hashing
5575         &c. Expect at least one or two more redesigns before this settles
5576         down. However, it still passes the original tests.
5578 2001-12-11 13:35  gregor
5580         * runops_cores.c:
5581         Fixed a typo.
5583 2001-12-11 12:03  gregor
5585         * .cvsignore:
5586         Don't ignore test_prog, but do ignore parrot.
5588 2001-12-11 12:03  gregor
5590         * classes/.cvsignore:
5591         Ignore the generated file default.h
5593 2001-12-11 04:07  jgoff
5595         * key.c: Key source
5597 2001-12-11 04:05  jgoff
5599         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5601 2001-12-11 04:00  jgoff
5603         * core.ops: Added new key aggregate operations to core ops.
5605 2001-12-11 04:00  jgoff
5607         * include/parrot/parrot.h: Added key.h to header list
5609 2001-12-11 03:59  jgoff
5611         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5613 2001-12-11 03:58  jgoff
5615         * Makefile.in: Added implementation of key aggregates.
5617 2001-12-08 23:07  simon
5619         * README:
5620         README good to go.
5622 2001-12-08 23:05  simon
5624         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5625         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5626         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5627         test_prog? What is test_prog?
5629 2001-12-08 22:57  simon
5631         * ChangeLog:
5633         Oops, the changelog commit was on *this* machine.
5635 2001-12-08 22:56  simon
5637         * NEWS:
5638         Updates to NEWS and ChangeLog pre-release.
5640 2001-12-08 22:07  simon
5642         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5643         classes/perlnum.pmc, classes/pmc2c.pl:
5644         Add "default" PMC vtable so you can inherit implied stuff.
5646 2001-12-08 21:24  simon
5648         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5649         docs/vtables.pod, lib/Parrot/PackFile.pm:
5650         Getting the documentation up to scratch.
5652 2001-12-08 21:21  simon
5654         * classes/pmc2c.pl:
5655         Allow inheriting from default class.
5657 2001-12-07 20:43  gregor
5659         * examples/assembly/queens.pasm:
5660         Regenerated the file with the latest jakoc.
5662 2001-12-07 20:29  simon
5664         * core.ops, t/op/stacks.t:
5665         Rename "rotate" to "rotate_up".
5667 2001-12-07 20:15  simon
5669         * t/op/stacks.t:
5670         Some tests for rotate.
5672 2001-12-07 00:55  gregor
5674         * core.ops:
5675         Cast the result of the pointer arithmetic, since without the cast
5676         there are warnings with some compilers, and without the parens
5677         around the pointer arithmetic, precedence breaks the meaning and
5678         causes crashes.
5680 2001-12-06 23:37  simon
5682         * core.ops:
5683         Temporary. I prefer compiler warnings to segfaults, thanks.
5685 2001-12-06 23:34  simon
5687         * runops_cores.c:
5688         Make "trace" work again.
5690 2001-12-06 21:23  dan
5692         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5694 2001-12-06 21:22  dan
5696         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5697         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5699 2001-12-06 19:22  simon
5701         * core.ops:
5702         Yet another "How the *%$! did that compile?" moment.
5704 2001-12-06 18:28  dan
5706         * hints/vms.pl: Fix to build, with a HERE logical required
5708 2001-12-06 17:48  dan
5710         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5711         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5712         changes to the interpreter--flags are now part of the interp
5713         structure.
5715         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5717 2001-12-06 14:02  gregor
5719         * docs/intro.pod:
5720         s/little_languages/languages/ in Jako section.
5722 2001-12-06 13:15  simon
5724         * Makefile.in:
5725         Ensure the documentation gets made.
5727 2001-12-06 13:12  simon
5729         * MANIFEST, docs/intro.pod:
5730         Documentation! Added the "Some Assembly Required" article with
5731         minor updates.
5733 2001-12-06 00:39  simon
5735         * core.ops:
5736         More "eq" support.
5738         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5740 2001-12-06 00:37  simon
5742         * test_main.c:
5743         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5745         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5747 2001-12-06 00:11  tom
5749         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5750         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5751         include/parrot/chartype.h, include/parrot/encoding.h,
5752         include/parrot/parrot.h: Moved string to number conversion code out
5753         of the encoding layer and into the main string layer as neither the
5754         encoding layer nor the character type layer knows enough on it's
5755         own to do the conversion correctly.
5757 2001-12-05 23:12  tom
5759         * Makefile.in: Rebuild the classes directory if any of the object
5760         files for the classes are missing rather than only when perlint.o
5761         is missing.
5763 2001-12-05 19:43  gregor
5765         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5766           * Reworked the constantize_string() stuff a little bit because it
5767         was
5768             puking on things like "\033[H\033[2J\0" (which occurs in the
5769             languages/jako/mandelzoom.jako example).
5771 2001-12-05 19:39  gregor
5773         * languages/jako/: Makefile, mandelzoom.jako:
5774         Added 'mandelzoom' example.
5776 2001-12-05 19:38  gregor
5778         * languages/jako/jakoc:
5779           * Added sleep()
5781           * Changed some instances of die() to confess()
5783 2001-12-05 18:34  gregor
5785         * t/: op/pmc.t, pmc/pmc.t:
5786         s/sting->int/string->int/
5788 2001-12-05 18:08  gregor
5790         * Parrot/.cvsignore:
5791         Ignore PMC.pm
5793 2001-12-05 18:05  gregor
5795         * classes/.cvsignore:
5796         Ignore the generated files.
5798 2001-12-05 17:19  gregor
5800         * pbc2c.pl:
5801           * Reverted recent changes, since they broke the script. Real fix
5802         coming
5803             later.
5805 2001-12-05 17:03  simon
5807         * classes/Makefile.in:
5808         Remember: change Makefile.in, not Makefile. D'oh.
5810 2001-12-05 17:02  simon
5812         * Makefile.in:
5813         Ensure PMC.pm gets remade.
5815 2001-12-05 16:58  simon
5817         * MANIFEST, Makefile.in, classes/Makefile.in,
5818         classes/perlundef.pmc, include/parrot/pmc.h:
5819         Add perlundef class.
5821 2001-12-05 16:45  simon
5823         * core.ops:
5824         Document "new P0, foo"
5826 2001-12-05 16:43  simon
5828         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5829         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5830         Allow assembler to know about PMC class names.
5832 2001-12-04 13:39  ajgough
5834         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5836 2001-12-04 05:02  ajgough
5838         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5839         in perlnum.c
5841 2001-12-04 04:24  ajgough
5843         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5844         broken form of strtod and appropriate tests.  Does not yet check
5845         for overflow.
5847 2001-12-04 01:31  ajgough
5849         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5850         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5851         to extract_num and extract_int string vtables, without this it
5852         would be impossible to have strings with nulls in while still
5853         knowing where they ended.
5855 2001-12-03 18:40  ajgough
5857         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5858         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5859         include/parrot/string.h: Moved pmc string to number conversion into
5860         the string encoding tables.
5862 2001-12-03 00:21  ajgough
5864         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5865         for p-> integer.
5867 2001-12-02 23:09  jgoff
5869         * classes/Makefile.in: Removed some redundant targets.
5871 2001-12-02 19:02  ajgough
5873         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5874         equality macro rather than using perl to generate expected output,
5875         all tests now have <<OUTPUT.
5877 2001-12-02 17:44  ajgough
5879         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5880         for pmc.t as well.  Will probably move macros into another file at
5881         some point, although this might be best left until the tests are
5882         unperled.
5884 2001-12-02 06:16  jgoff
5886         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5887         within Parrot_Perl{Class}_init.
5889 2001-12-02 06:09  jgoff
5891         * classes/Makefile.in: I seem to have removed *$(O) twice..
5893 2001-12-02 05:06  jgoff
5895         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5896         Configure.pl - Removed '-I./include', added classes/Makefile
5897         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5898         Removed old classes/* make stuff                Added target for
5899         classes/Makefile
5901 2001-12-02 04:48  jgoff
5903         * classes/Makefile.in: Going to be used shortly...
5905 2001-12-02 04:40  jgoff
5907         * docs/Makefile: Configure.pl - Added automatic makefile creation
5908         for docs/ and classes/                Removed '-I./include' because
5909         it was getting incorrectly                passed to classes/
5910         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5911         - Removed classes/ build stuff, replaced with classes/Makefile.in
5912                     Added '-I./include' locally docs/Makefile - Should no
5913         longer be used, but I'm not brave enough to do a
5914         cvs delete.
5916 2001-12-02 01:21  ajgough
5918         * t/op/trans.t: Refactored trans math tests to have hard coded
5919         expected return values and be more ready to be unperled at some
5920         point in the future.  Added $fp_equality_macro which is a
5921         "nearly-equal-to" function.
5923 2001-12-02 01:18  ajgough
5925         * Makefile.in: Humph.  People really ought to use Makefile
5926         variables, s/perl/$(PERL)/ throughout.
5928 2001-12-01 18:15  jgoff
5930         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5931         figure out what to do vis-a-vis the lack of snprintf.
5933 2001-11-30 13:14  ajgough
5935         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5936         and integer.t
5938 2001-11-30 13:14  ajgough
5940         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5941         -, else ... form.
5943 2001-11-30 10:36  simon
5945         * core.ops:
5946         Rewrite print_p to do the right thing.
5948 2001-11-30 06:21  jgoff
5950         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5951         concat,               integer/number/string math
5953 2001-11-30 06:20  jgoff
5955         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5956         classes/perlint.pmc - Fixes and expanding for concat and math with
5957         strings classes/perlnum.pmc - Fixes and expanding for concat and
5958         math with strings classes/perlstring.pmc - Fixes and expanding for
5959         concat and math with strings
5961 2001-11-29 15:21  ajgough
5963         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5964         $^X lies, which confused bash which make uses to run things when
5965         doing its stuff.
5967 2001-11-29 04:58  jgoff
5969         * classes/perlstring.pmc: Removed C++-style comments for good
5970         measure
5972 2001-11-29 04:51  jgoff
5974         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5976 2001-11-29 04:28  jgoff
5978         * global_setup.c: Initialize PMC strings
5980 2001-11-29 04:25  jgoff
5982         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5983         string PMCs.
5985 2001-11-29 04:24  jgoff
5987         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5988         files to properly upgrade int to num, do calculations.  Also added
5989         basic string operations. Currently errors out on anything but set
5990         operations, but this will be fixed soon.
5992 2001-11-29 04:22  jgoff
5994         * Makefile.in: PMC .c files weren't getting cleaned out.
5996 2001-11-28 17:00  simon
5998         * t/harness:
6000         Make csh-glob happy.
6002         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6004 2001-11-28 16:40  simon
6006         * classes/perlnum.pmc:
6008         De-C++
6010 2001-11-28 15:22  simon
6012         * string.c:
6014         Fixes Alex's string concat worry.
6016 2001-11-28 14:27  ajgough
6018         * t/op/string.t: test "null onto null" incorrectly passing as it
6019         produced no output.  Output provided.
6021 2001-11-28 11:14  simon
6023         * include/parrot/pmc.h:
6025         Placate AIX.
6027 2001-11-26 21:03  dan
6029         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6031 2001-11-26 17:29  simon
6033         * classes/perlint.pmc:
6035         Various subtle but non-showstopper bugs.
6037 2001-11-26 11:23  simon
6039         * classes/pmc2c.pl:
6041         Replace dependency on Text::Balanced
6043         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6045 2001-11-26 05:22  jgoff
6047         * global_setup.c: Last file that should need to be committed. I
6048         swear.
6050 2001-11-26 05:09  jgoff
6052         * core.ops: Let's try this again... Changes to core.ops required
6054 2001-11-26 04:58  jgoff
6056         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6057         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6058         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6059         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6060         functions classes/perlnum.pmc - Set up basic number functions
6061         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6062         tests against numbers and numbers+integers
6064 2001-11-25 13:18  simon
6066         * Makefile.in:
6067         Windows XP make doesn't like $<
6069 2001-11-25 12:56  simon
6071         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6072         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6073         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6074         examples/assembly/mops_p.pasm:
6075         PMC preprocessor.
6077         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6079         I (Simon) also added a couple more integer methods, but no tests
6080         since I'm a Bad Person.
6082 2001-11-25 08:40  brentdax
6084         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6085         lib/Parrot/OpsFile.pm: Allow _ in op names
6087 2001-11-25 05:54  jgoff
6089         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6090         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6092 2001-11-23 18:27  simon
6094         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6095         Add everything you need to make MOPS use PMCs.
6097 2001-11-23 18:06  simon
6099         * core.ops:
6100         Eh, you'll need this for rewriting mops.pasm.
6102 2001-11-23 17:55  simon
6104         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6105         t/pmc/pmc.t:
6106         More work on integer PMCs.
6108 2001-11-23 17:29  simon
6110         * Makefile.in:
6111         Surprise! Whitespace! HLAGHLAGHLAGH
6113 2001-11-23 17:28  simon
6115         * Makefile.in, ops2c.pl, ops2pm.pl:
6116         Add vtables.ops to the core
6118         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6120 2001-11-22 18:39  simon
6122         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6123         t/pmc/pmc.t:
6124         We can now create PMCs.
6126 2001-11-21 05:49  jgoff
6128         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6130 2001-11-20 16:00  simon
6132         * docs/vtables.pod, include/parrot/pmc.h:
6133         Reorder PMC flags so there's a fixed number of user-defined flags.
6135         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6137 2001-11-19 03:39  jgoff
6139         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6140         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6141         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6142         escaped quotes, and proper                handling of newlines.
6144 2001-11-16 22:03  simon
6146         * classes/perlint.c:
6147         More work on the Perl Integer class. More needed, though.
6149 2001-11-16 21:57  simon
6151         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6152         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6154 2001-11-16 20:49  simon
6156         * interpreter.c, runops_cores.c, trace.c,
6157         include/parrot/runops_cores.h:
6158         Kill superfluous runops cores.
6160 2001-11-16 17:50  simon
6162         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6163         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6164         include/parrot/parrot.h, include/parrot/pmc.h:
6165         Skeleton for Perl scalar types, done right.
6167 2001-11-16 16:15  simon
6169         * classes/genclass.pl:
6170         This tidies up genclass to deal with the new-style multimethods.
6172 2001-11-16 15:29  simon
6174         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6175         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6176         Rework multimethods to be *true* multimethods - that is, have
6177         different types.
6179 2001-11-15 22:29  simon
6181         * MANIFEST, Makefile.in, pmc.c:
6182         pmc.c linkage and support. Oh, and making it compile.
6184 2001-11-15 22:26  dan
6186         * t/op/interp.t: Forgot to tell CVS about the test...
6188 2001-11-15 22:10  dan
6190         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6191         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6192         for PMC registers for the interpreter.
6194         Added in the docs for the runinterp opcode.
6196         Added in code for both the newinterp and runinterp opcodes, so we
6197         can now create new interpreters from within parrot and have them do
6198         things. (Though we can't pass data back and forth. Yet)
6200 2001-11-15 21:24  simon
6202         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6203         More documentation, and other changes as discussed with Dan.
6205 2001-11-15 19:51  simon
6207         * classes/scalarclass.c:
6208         De-cut-and-pasto.
6210 2001-11-15 19:50  simon
6212         * classes/scalarclass.c:
6213         A little code tidiness.
6215 2001-11-15 19:33  simon
6217         * include/parrot/pmc.h:
6218         Missed this in the previous commit - un-constantize the base for
6219         user-defined PMC flags.
6221 2001-11-15 19:28  simon
6223         * classes/scalarclass.c:
6224         Hey look, sanity.
6226 2001-11-15 17:09  simon
6228         * classes/scalarclass.c:
6229         It seems I have completely forgotten how to write C.
6231 2001-11-15 16:53  simon
6233         * docs/vtables.pod:
6234         Start of the PMC classes documentation.
6236 2001-11-15 14:46  simon
6238         * classes/scalarclass.c:
6239         Changing to use a Perl-style struct instead of the union cache.
6241 2001-11-13 23:56  tom
6243         * string.c: Removed leading _ from string_index as function names
6244         starting with _ are reserved to implementors by the C standard.
6246         Also fixed string_index to use the encoding routines instead of
6247         assuming a single byte encoding.
6249 2001-11-13 12:59  jgoff
6251         * string.c: Patched string_concat to accept null strings.  That
6252         test was failing. Nothing to do with ord().
6254 2001-11-13 12:43  jgoff
6256         * string.c: string_ord function, string_concat fixes
6258 2001-11-13 04:52  jgoff
6260         * core.ops: Added ord to core.ops
6262 2001-11-13 04:35  jgoff
6264         * docs/strings.pod, include/parrot/exceptions.h,
6265         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6266         operator, documentation string.c - Added string_ord, _string_index
6267         (_string_index is a static helper)              Patched
6268         string_concat to handle null strings properly.  docs/strings.pod -
6269         Description of string_ord include/parrot/exceptions.h - Added
6270         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6271         string_ord() t/op/string.t - Added full set of test for
6272         ord_i_(s|sc)(_(i|ic))?
6274         string.c contains a bit of documentation explaining the logic
6275         behind _string_index, primarily having to do with multiple encoding
6276         formats.
6278 2001-11-12 22:30  simon
6280         * t/op/macro.t:
6281         Count 'em.
6283 2001-11-12 22:28  simon
6285         * Makefile.in:
6286         Add a rule to compile "platform"
6288 2001-11-12 22:26  simon
6290         * Makefile.in:
6291         Tidy up distclean target.
6293 2001-11-12 16:54  dan
6295         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6296         t/op/macro.t: Fixes to the assembler's macro facility and a test
6298         Courtesy of: Jeff <jgoff@speakeasy.net>
6300 2001-11-12 16:50  dan
6302         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6303         stdin
6305         Courtesy of: Jeff <jgoff@speakeasy.net>
6307 2001-11-12 16:36  dan
6309         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6310         CygWin
6312         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6314 2001-11-12 11:22  simon
6316         * examples/assembly/mops.pasm:
6318         Trivial tightening of mops loop.
6320 2001-11-07 23:57  ajgough
6322         * docs/tests.pod: This is a basic quide to writing tests with
6323         assembler.
6325 2001-11-07 22:29  dan
6327         * stacks.c: Added a little documentation on the cleanup parameter
6328         for an entry
6330 2001-11-07 14:43  dan
6332         * MANIFEST, platforms/generic.c, platforms/linux.c,
6333         platforms/linux.h: Portability patches.
6335         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6337 2001-11-06 19:51  tom
6339         * Makefile.in: Clean up object files in the subdirectories as well
6340         as those in the top level directory.
6342         Enhanced version of patch from Daniel Grunblatt
6343         <daniel@grunblatt.com.ar>
6345 2001-11-06 16:14  dan
6347         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6348         platforms/generic.c, platforms/generic.h: Made things a bit more
6349         platform-independent. Makefile still needs work to pick up changes
6350         to the platform-specific files.
6352 2001-11-05 21:32  dan
6354         * docs/parrot_assembly.pod: Added docs for the GC control ops
6356 2001-11-04 02:52  gregor
6358         * platforms/: win32.c, win32.h:
6359           * win32 dynamic loading functions.
6361         Courtesy of Jason Diamond <jason@injektilo.org>
6363 2001-11-04 00:04  brentdax
6365         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6366         allows an absolute path to be used and gives a useful error message
6367         if the original source file can't be found
6369 2001-11-02 12:37  gregor
6371         * platforms/: linux.c, linux.h:
6372           * Beginning of dynamic loading support. Linux only for now.
6374 2001-11-02 12:13  gregor
6376         * MANIFEST, time.c, include/parrot/time.h:
6377           * Removed time.[hc], since they have been superseded by the new
6378         platform
6379             stuff.
6381 2001-11-02 12:11  gregor
6383         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6384         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6385         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6386         platforms/win32.c, platforms/win32.h:
6387         Patch from Jason Diamond to make win32 platform stuff work:
6389         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6390         platform specific files in the platforms directory gets copied to
6391         the correct directories. The Makefile will re-copy the platform.h
6392         and .c files if the original is modified.
6394         * #include platform.h in parrot.h instead of time.h.
6396         * Removed time.h and time.obj from the Makefile. time.h and time.c
6397         aren't being used anymore since that code was moved to linux.c and
6398         win32.c.
6400         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6401         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6402         windows.h. This required updating several files besides parrot.h.
6404         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6405         instead of the missing identifiers (on Windows) in core.ops in the
6406         calls to open.
6408         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6409         platform files and called those from core.ops. The Linux code for
6410         these functions came from core.ops so they should hopefully work.
6412         Courtesy of Jason Diamond <jason@injektilo.org>
6414 2001-11-02 06:43  brentdax
6416         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6417         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6419 2001-11-02 02:26  gregor
6421         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6422         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6423         platforms/win32.h:
6424           * Beginnings of platform support files in platform/*.[hc]
6426 2001-11-01 23:37  tom
6428         * classes/intclass.c: Added missing *'s to STRING arguments and
6429         return values to avoid compiler warnings.
6431 2001-11-01 22:21  gregor
6433         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6434         include/parrot/parrot.h, include/parrot/time.h:
6435         Initial "fix" of time(n) op for Win32:
6437           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6439           * time.c and include/parrot/time.h
6441             First attempt at getting this working across platforms. The
6442             macro WIN32 being tested might not be right.
6444           * New functions Parrot_intval_time() and Parrot_floatval_time()
6445             wrap the appropriate functionality depending upon platform.
6446             Changed core.ops to call these.
6448         Added obscure.ops with obscure transcendental ops.
6450         Added simple file I/O ops (close, open, read, write):
6452           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6454           * I changed some arg ordering stuff.
6456           * I added read/write of INTVALs and FLOATVALs.
6458         Added environment variable ops (getenv, setenv)
6460         Added system error ops (err(i) and err(s) for accessing errno and
6461         strerr().
6463         Moved print ops in with other "temporary" developer ops, since
6464         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6466 2001-10-31 22:51  tom
6468         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6469         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6470         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6471         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6472         encodings/utf8.c, include/parrot/chartype.h,
6473         include/parrot/encoding.h, include/parrot/exceptions.h,
6474         include/parrot/parrot.h, include/parrot/string.h,
6475         include/parrot/strnative.h, include/parrot/strutf16.h,
6476         include/parrot/strutf32.h, include/parrot/strutf8.h,
6477         include/parrot/transcode.h: Reworked the string code in line with
6478         Dan's latest design that separates character sets from encodings.
6480 2001-10-31 19:53  dan
6482         * docs/parrot_assembly.pod: Finished I/O section of docs
6484 2001-10-31 16:51  dan
6486         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6487         Moved includes out of core.ops and into parrot.h where they belong
6488         (suitably guarded with #ifdefs). Also some updates to
6489         parrot_assembly.pod
6491 2001-10-30 21:43  dan
6493         * core.ops, stacks.c, docs/parrot_assembly.pod,
6494         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6495         of the entry on the stack
6497 2001-10-29 18:30  dan
6499         * stacks.c: You can turn off stack entry type validation on pop by
6500         passing in a type of 0 now. (For those cases where you just want to
6501         throw the darned thing away)
6503 2001-10-29 14:37  gregor
6505         * core.ops, languages/jako/jakoc:
6506           * New variants of the save ops to save constants on the stack.
6507         This is
6508             useful for saving zero arg and result counts on the stack, for
6509         example.
6511           * Modified jakoc to to adapt to the newly announced calling
6512         conventions.
6513             Even though Jako source code appears to show subroutines with
6514         fixed
6515             numbers of arguments and results, they are implemented with the
6516             variable count calling convention. Future modifications will be
6517         needed
6518             to ensure that an exception is raised if the stack frame is of
6519         the
6520             wrong size (or, at least that we pop the complete frame off).
6521         We'll
6522             also have to make more changes to support the true
6523         fixed-arg-count
6524             and fixed-result-count parts of the calling convention spec.
6526 2001-10-28 16:53  simon
6528         * MANIFEST, stacks.c, classes/scalarclass.c,
6529         include/parrot/stacks.h:
6530         Unbelievably bad errors of mine, plus a type incompatibility of
6531         Dan's.
6533 2001-10-28 08:30  simon
6535         * classes/scalarclass.c:
6536         Beginning of a scalar class.
6538 2001-10-28 08:29  simon
6540         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6541         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6542         include/parrot/pmc.h:
6543         This fixes the problem with vtables and pointer arithmetic.
6545 2001-10-26 19:58  dan
6547         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6548         include/parrot/stacks.h: Split the generic stack into a user push
6549         stack and a control stack
6551 2001-10-26 02:59  bdwheele
6553         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6555 2001-10-24 20:27  dan
6557         * languages/scheme/: Makefile, Scheme.pm, schemec,
6558         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6559         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6560         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6561         Scheme compiler
6563 2001-10-24 20:23  dan
6565         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6566         interpreter needs in pdump.c. Added scheme bits to manifest
6568 2001-10-24 16:43  gregor
6570         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6571           * Make the assembler handle octal character code escapes in
6572         string
6573             constants.
6575 2001-10-24 15:56  dan
6577         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6578         play the game of life
6580 2001-10-24 15:54  dan
6582         * core.ops: Added sleep. We'll need to override this to do events
6583         properly anyway, so...
6585 2001-10-24 14:03  gregor
6587         * Makefile.in, pbc2c.pl, pdump.c:
6588           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6589         interpreter
6590             pointer into string functions.
6592         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6594 2001-10-23 20:09  gregor
6596         * languages/jako/jakoc:
6597           * Terminological refinement in regexp capture comment.
6599 2001-10-23 15:23  simon
6601         * classes/genclass.pl:
6602         Use a saner ANSI C construct to make MIPSPro happy.
6604         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6606 2001-10-23 00:34  tom
6608         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6609         strutf8.c, include/parrot/string.h: Make sure the interpreter
6610         structure is passed to the transcoder as necessary, including
6611         passing it to string_compare().
6613 2001-10-23 00:32  tom
6615         * Makefile.in: Make pdump build again by including resources.o in
6616         the link.
6618 2001-10-22 22:43  dan
6620         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6621         strutf32.c, strutf8.c, test_main.c, transcode.c,
6622         include/parrot/packfile.h, include/parrot/parrot.h,
6623         include/parrot/resources.h, include/parrot/string.h,
6624         include/parrot/transcode.h: Everything now uses the allocators and
6625         deallocators in resources.c.
6627         Unfortunately we lost standalone string-test mode, but I can cope
6628         with that.
6630         Please note that until we have a real allocation/deallocation/GC
6631         system, this'll leak. A *lot*.
6633 2001-10-22 20:27  dan
6635         * MANIFEST, Makefile.in, pmc.c, resources.c,
6636         include/parrot/resources.h: First cut to handle arena allocation of
6637         PMC headers. (Amongst other things)
6639 2001-10-22 19:02  dan
6641         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6642         Now each register type has its own mask macro, which is the right
6643         thing to do.
6645         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6647 2001-10-21 23:40  tom
6649         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6650         stack chunk and add a test to test this rollover in future.
6652         Courtesy of Jason Gloudon <perl@gloudon.com>.
6654 2001-10-21 19:14  dan
6656         * include/parrot/string.h: Changed string 'unused' field to the
6657         language field.
6659 2001-10-21 18:18  gregor
6661         * languages/jako/: Makefile, mops.jako:
6662           * Makefile: 'clean' target removes .list files, too. And, it does
6663         rm -f
6664             with wildcards rather than listing things explicitly.
6666           * mops.jako actually prints out the
6667         millions-of-operations-per-second
6668             (mops) value instead of just the operations-per-second value.
6670 2001-10-21 18:03  simon
6672         * classes/intclass.o:
6673         *smack*! WRONG!
6675 2001-10-21 17:47  simon
6677         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6678         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6679         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6680         lib/Parrot/Vtable.pm:
6681         Initial work on PMCs. Explanation to follow
6683 2001-10-21 15:20  gregor
6685         * examples/assembly/queens.pasm:
6686           * Modernize the calling conventions in queens.pasm. It was using
6687         swap,
6688             which now must be rotate. Also, changed to use return values on
6689         the
6690             stack instead of in I0.
6692 2001-10-19 18:14  gregor
6694         * core.ops, stacks.c, include/parrot/stacks.h,
6695         languages/jako/jakoc:
6696         Per Dan's request, replacing 'swap' op by 'rotate'.
6698           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6700           * stacks.c and stacks.h: Removed swap-related functions from my
6701             prior commit, replacing them with stack_depth(), stack_entry()
6702             and rotate_entries().
6704             NOTE: The stack_depth() and rotate_entries() routines could
6705             be made more efficient through the caching of the sum of chunk
6706             'used' members from lower chunks in a field in the upper
6707             chunks. Also, if the interpreter's stack_base was changed to
6708             hold the pointer to the *top* chunk (since we usually come
6709             at the stack from the top down) instead of the *bottom*
6710             chunk. The code here at least works, and we can decide about
6711             bigger changes separately.
6713             For now, rotate only handles rotates in one direction and
6714             of magnituded one. A fully general rotate would do handle
6715             rotates in both directions and of arbitrary amounts. Again,
6716             this implementation is sufficient for current applications,
6717             and a feature-complete version can be developed if this turns
6718             out to be otherwise the right type of implementation.
6720             This change includes a new exception for ERROR_STACK_SHALLOW,
6721             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6723           * jakoc: Changed the calling convention to use rotate instead
6724             of swap (of course). Also changed the convention for return
6725             value passing to use the stack as well.
6727 2001-10-19 13:36  gregor
6729         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6730         examples/assembly/queens.pasm, include/parrot/stacks.h,
6731         languages/jako/.cvsignore, languages/jako/Makefile,
6732         languages/jako/bench.jako, languages/jako/euclid.jako,
6733         languages/jako/fact.jako, languages/jako/jakoc,
6734         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6735         languages/jako/primes.jako, languages/jako/queens.jako,
6736         languages/jako/sub.jako:
6737           * New stack functions push_entry(), pop_entry() and swap_entry().
6738             The first two exist for the support of the last one. These
6739             functions don't care what is in the stack entries. These exist
6740             to support the new 'swap' op (see next bullet).
6742           * New op 'swap' for swapping the top two elements on the stack.
6743             This is necessary for passing arguments to functions, since
6744             the return address will be on top of any arguments that have
6745             been pushed on the stack. This way, you can use a (swap, pop)
6746             pair to retrieve each argument (for subroutine linkage).
6748           * Disassembler now prints numbers in decimal by default, with
6749             a new '-x' flag to turn on hexadecimal display. Since other
6750             members of the Parrot Tool Set use decimal by default, this
6751             makes it easier to compare output from the various tools.
6753           * Jako compiler has more explanatory comments and the following
6754             new features:
6756               * Lexically scoped variables.
6758               * Subroutines that take arguments and return values:
6760                   sub int foo(int bar) {
6761                     if (bar == 1) {
6762                       return 42;
6763                     } else {
6764                       return 13;
6765                     }
6766                   }
6767               * ... if (...) and ... unless (...) statement modifiers
6768                 can be used on next, last and redo.
6770               * Bitwise and (&, &=) and or (|, |=) ops.
6772               * Type names are just 'int', 'num', 'str', and 'poly' now.
6773                 The old long names 'integer', 'number', 'string', and
6774                 'polytype' are no longer valid.
6776               * Integer variable assignments can now use 0b (binary),
6777                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6779           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6780             solving the eight-queens problem. The assembly example is a
6781             hand-modified version of the assembly code produced by the
6782             Jako compiler from queens.jako. A few unnecessary ops have
6783             been removed, lots of unnecessary labels have been removed,
6784             and all the Jako source code comments have been removed.
6786           * Makefile and .cvsignore in languages/jako modified so that
6787             the assembler produces listings when assembling the programs,
6788             yet the *.list files are ignored by CVS.
6790           * Made the default target in languages/jako/Makefile 'all'.
6792           * Modified some of the Jako examples to use some of the new
6793             features of Jako, such as subroutines and lexical variable
6794             scoping.
6796 2001-10-19 02:43  gregor
6798         * runops_cores.c, include/parrot/runops_cores.h:
6799         Bug fix (gcc doesn't complain, but MIPSpro does):
6801           * Added missing extern to runops_cores array declaration in
6802             include/parrot/runops_cores.h
6804           * Also added 'const' there and in runops_cores.c
6806 2001-10-18 15:18  gregor
6808         * .cvsignore, include/parrot/oplib/.cvsignore:
6809           * Ignore the vtable-related generated files.
6811 2001-10-18 15:14  gregor
6813         * core.ops:
6814           * left and right shifts now allow the 2nd argument to be a
6815         constant.
6817 2001-10-18 14:55  simon
6819         * make_vtable_ops.pl:
6820         This is C, not Perl. How on earth did that even compile?
6822 2001-10-18 14:54  simon
6824         * make_vtable_ops.pl:
6825         More vtable ops.
6827 2001-10-18 12:33  simon
6829         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6830         Initial stab at vtable opcode creation stuff.
6832 2001-10-18 02:15  gregor
6834         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6835         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6836         include/parrot/trace.h: Preparation for autogenerated runops cores:
6838           * Split tracing and runops core stuff out of interpreter.c into
6839             trace.c and runops_cores.c
6841           * Similar split of stuff from include/parrot/interpreter.h
6843           * Manifest and Makefile.in updates to make things still compile.
6845 2001-10-18 01:21  gregor
6847         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6849           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6851           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6853           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6855           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6857           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6858         with
6859             copy of $ops->preamble.
6861 2001-10-17 22:32  bdwheele
6863         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6864         request.
6866 2001-10-17 22:08  gregor
6868         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6869           * Now handles label-and-comment-only lines.
6871 2001-10-17 22:04  bdwheele
6873         * interpreter.c: added more comprehensive trace output
6875 2001-10-17 16:50  tom
6877         * Makefile.in: Removed the explicit rule for building mops.o from
6878         mops.c so that the implicit rule for compiling C files is used
6879         instead. This means that the chosen C flags are used, including any
6880         optimisation options.
6882 2001-10-17 15:24  tom
6884         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6885         op explosion logic to be able to handle exploding this:
6887           sub(i, i|ic, i|ic)
6889         into these:
6891           sub(i, i, i)
6892           sub(i, i, ic)
6893           sub(i, ic, i)
6895         without also generating this unwanted version:
6897           sub(i, ic, ic)
6899         The enhanced version rejects any expansion where there is more than
6900         one expanded argument and all the expanded arguments are constants.
6902 2001-10-17 14:20  simon
6904         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6905         Build fixes to use correct Perl version and ensure that things are
6906         running in the right directory.
6908         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6910 2001-10-17 13:16  simon
6912         * Makefile.in:
6913         core.pm is more critical than that.
6915 2001-10-17 13:05  simon
6917         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6918         "Explode" ops into multiple versions for different parameters.
6920         Courtesy of: Tom Hughes <tom@compton.nu>
6922 2001-10-17 12:54  simon
6924         * Makefile.in:
6925         Fix dependencies and cleaning.
6927 2001-10-17 12:45  simon
6929         * Configure.pl, Makefile.in:
6930         Fixes to make Parrot compile without the temporary build hack
6932         Courtesy of: Jason Gloudon <perl@gloudon.com>
6934 2001-10-16 20:43  gregor
6936         * Makefile.in:
6937           * Fixed dependencies for building Parrot/OpLib/core.pm
6939 2001-10-16 19:35  bdwheele
6941         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6942         added test, thanks to Alex Gough
6944 2001-10-16 16:49  bdwheele
6946         * core.ops: added opcode variants for constants and 3 arg concat
6948 2001-10-16 15:12  bdwheele
6950         * core.ops: added "set Sx,Sy" as a string copy to match the other
6951         register-to-register copies available
6953 2001-10-16 13:09  gregor
6955         * core.ops:
6956           * Added #include <sys/time.h> in the preamble for gettimeofday().
6958 2001-10-16 13:09  gregor
6960         * Makefile.in:
6961           * Removed cd t; make, which no longer applies
6963 2001-10-16 03:18  bdwheele
6965         * core.ops: fix save & restore operations to push correct type onto
6966         stack. [good eye to Jason Gloudon for noticing this]
6968 2001-10-16 01:38  bdwheele
6970         * core.ops, register.c, examples/assembly/fact.pasm,
6971         include/parrot/register.h: send in the clones:  clone routines for
6972         parrot + example program
6974 2001-10-15 22:37  gregor
6976         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6977         examples/assembly/Makefile, examples/assembly/bsr.pasm,
6978         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6979         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6980         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6981         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6982         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6983         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6984         t/test4.pasm, t/test5.pasm, t/trace.pasm:
6985           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6986         some
6987             renames so the names match what they demonstrate.
6989 2001-10-15 22:18  gregor
6991         * core.ops, t/test.pasm:
6992           * time_n uses gettimeofday() to get sub-second times.
6994           * t/test.pasm uses time_n directly rather than doing int stuff
6995         and
6996             converting to num later.
6998 2001-10-15 12:28  gregor
7000         * t/: test.pasm, test2.pasm, trace.pasm:
7001           * t/test.pasm prints using string constants instead of string
7002         regs.
7004           * t/test2.pasm assembles (using implicit op modes)
7006           * t/trace.pasm updated for new behavior of trace_ic, which does
7007         not
7008             require an 'end' after 'trace'.
7010 2001-10-15 00:47  gregor
7012         * core.ops, interpreter.c, test_main.c,
7013         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7014         PARROT_PROFILE_FLAG
7016           * New runops cores to handle profiling
7018           * Support for -p flag in test_prog to enable profiling
7020           * New profile_ic op to control profiling at run-time
7022 2001-10-14 21:54  gregor
7024         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7025         lib/Parrot/OpsFile.pm: Integrated op documentation.
7027           * core.ops now contains POD documentation of ops, interspersed
7028         with the
7029             ops themselves
7031           * Ops are organized into POD =head2 sections
7033           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7034         anything
7035             up to the first POD directive OR op definition.
7037           * docs/Makefile now generates core_ops.pod from core.ops vi
7038         perldoc -u.
7040 2001-10-14 11:58  simon
7042         * Makefile.in:
7043         Unbreak Digital Un^W^WTru64
7045 2001-10-14 11:00  simon
7047         * Configure.pl:
7048         Remove weird typo.
7050 2001-10-14 10:56  tom
7052         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7053         op_info.c no longer exists and op.h is no longer a generated file.
7055 2001-10-14 10:54  tom
7057         * Makefile.in: Added vtable.h to the list of things removed by the
7058         clean target.
7060 2001-10-14 01:43  gregor
7062         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7063         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7064         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7065         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7066         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7067         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7068         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7069         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7070         include/parrot/interpreter.h, include/parrot/op.h,
7071         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7072         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7073         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7074         Moby Patch:
7076           * basic_opcodes.ops and opcode_table replaced by core.ops
7078           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7079             and ops2c.pl. These convert *.ops to *_ops.c and
7080             include/parrot/oplib/*_ops.h
7082           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7084           * disassemble.pl modified to use
7086           * interpreter.c modified to use structures in core_ops.c instead
7087             of the old op_info and op_func stuff. We're not yet to the
7088             point of handling multiple oplibs at a time, but we are getting
7089             there...
7091             Fingerprinting stuff disabled for now. We used to go off
7092             opcode_table. We need to rethink this. I have some ideas to
7093             make it unnecessary, but it remains to be seen whether others
7094             will like the direction they take us.
7096             Termination condition for while(){} loop in runops is now
7097             (pc) instead of (*pc). Any op can cause a HALT by returning
7098             a NULL pointer. Ops end, bounds and trace all do this. So, now
7099             the 'end' op body is actually executed, although all it does
7100             is HALT.
7102           * Makefile.in modified to perform a test build using pbc2c.pl,
7103             which is the bytecode --> C compiler I've posted to the
7104             list before.
7106           * Op full names are now autogenerated. Op root names must not
7107             contain underscores, so some op renamings have happened.
7108             Such as clear_i becoming cleari.
7110 2001-10-13 11:49  simon
7112         * Configure.pl, MANIFEST:
7113         Make parrot actually build again.
7115 2001-10-12 21:34  dan
7117         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7118         opcodes
7120 2001-10-12 20:56  dan
7122         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7123         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7124         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7125         generic stack now in. We also have subroutines, of a simple sort!
7127 2001-10-12 19:15  tom
7129         * t/op/string.t: Improved string comparison tests try all string
7130         combinations with each of the comparison ops.
7132 2001-10-12 19:09  dan
7134         * interpreter.c: Properly sets up generic stack now
7136 2001-10-12 19:09  dan
7138         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7139         interpreter structure
7141 2001-10-12 18:59  dan
7143         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7144         changes to get the generic stack working
7146 2001-10-12 18:59  dan
7148         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7149         hints/vms.pl: Made the changes to figure out mask bits for various
7150         register and stack chunks
7152 2001-10-11 22:09  dan
7154         * docs/parrot_assembly.pod: Tossed the parameter for return
7156 2001-10-11 19:28  tom
7158         * strnative.c: Assignment, not comparison.  (Plus formatted for
7159         coding standards)
7161         Courtesy of Bryan C. Warnock
7163 2001-10-10 19:21  tom
7165         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7166         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7167         include/parrot/string.h, t/op/string.t: Added support for string
7168         comparisons and extended the comparison ops to include comparison
7169         of strings.
7171 2001-10-10 17:58  dan
7173         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7175 2001-10-10 17:54  dan
7177         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7178         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7179         vtable type entries properly
7181 2001-10-10 15:37  dan
7183         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7184         parse new vtable.tbl file now that I've actually checked *in* the
7185         new format vtable.tbl file...
7187 2001-10-10 15:32  dan
7189         * vtable.tbl: New Column to indicate the type of the vtabel entry
7190         so we can know how many slots it takes
7192 2001-10-10 05:26  thgibbs
7194         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7195         allow parrot to compile.  PACKAGE is not defined, therefore, I
7196         added a struct before it to have it not complain until we define
7197         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7198         semicolon at the end of the struct declaration.
7200 2001-10-10 05:09  thgibbs
7202         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7203         string constants of the form U"string" become unicode encoded
7204         parrot strings and the form N"string" become native encoded parrot
7205         strings.
7207         Courtesy of: Tom Hughes <tom@compton.nu>
7209 2001-10-10 04:55  dan
7211         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7212         support for generating the vtable function table offset macros
7214 2001-10-10 01:05  simon
7216         * t/op/integer.t:
7217         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7218         compiles into the mod op, not the cmod_i op, hence wasn't testing
7219         what it thought it was.
7221         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7223 2001-10-09 03:45  thgibbs
7225         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7226         assembler to generate unicode strings.
7228         Courtesy of: Tom Hughes <tom@compton.nu>
7230 2001-10-08 19:30  brentdax
7232         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7233         info for Parrot::Config to remember, more flexible test.c stuff
7235 2001-10-08 15:04  gregor
7237         * basic_opcodes.ops:
7238           * Removed trash from early mod_i experiments (pardon our dust)
7240 2001-10-08 14:56  gregor
7242         * basic_opcodes.ops:
7243           * Fixed a couple of typos.
7245 2001-10-08 14:45  gregor
7247         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7248         Arithmetic enhancements:
7250           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7252             NOTE: This "uncorrected mod" algorithm uses the C language's
7253         built-in
7254             mod operator (x % y), which is
7256                 ... the remainder when x is divided by y, and thus is zero
7257         when y
7258                 divides x exactly.
7259                 ...
7260                 The direction of truncation for / and teh sign of the
7261         result for %
7262                 are machine-dependent for negative operands, as is the
7263         action taken
7264                 on overflow or underflow.
7265                                                                      --
7266         [1], page 41
7268             Also:
7270                 ... if the second operand is 0, the result is undefined.
7271         Otherwise, it
7272                 is always true that (a/b)*b + a%b is equal to z. I both
7273         operands are
7274                 non-negative, then teh remainder is non-negative and
7275         smaller than the
7276                 divisor; if not, it is guaranteed only that the absolute
7277         value of the
7278                 remainder is smaller than the absolute value of the
7279         divisor.
7280                                                                      --
7281         [1], page 205
7283             This op is provided for those who need it (such as
7284         speed-sensitive
7285             applications with heavy use of mod, but using it only with
7286         positive
7287             arguments), but a more mathematically useful numeric mod based
7288         on
7289             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7291               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7292         Programming
7293                   Language*, Second Edition. Prentice Hall, 1988.
7295           * Added "corrected" mod_i:
7297             NOTE: This "corrected mod" algorithm is based on the C code on
7298         page 70
7299             of [1]. Assuming correct behavior of C's built-in mod operator
7300         (%) with
7301             positive arguments, this algorithm implements a mathematically
7302         convenient
7303             version of mod, defined thus:
7305               x mod y = x - y * floor(x / y)
7307             For more information on this definition of mod, see section 3.4
7308         of [2],
7309             pages 81-85.
7311             References:
7313               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7314                   Millennium* Springer, 1999.
7316               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7317         *Concrete
7318                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7320           * Added mod_n, using the same formula as above, but with FLOATVAL
7321             arguments.
7323           * Added cmod_n, using the C math library's fmod() function:
7325             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7326         library's
7327             fmod() function, which computes
7329                 ... the remainder of dividing x by y. The return value is x
7330         - n * y,
7331                 where n is the quotient of x / y, rounded towards zero to
7332         an
7333                 integer.
7334                                                 -- fmod() manpage on RedHat
7335         Linux 7.0
7337             In addition, fmod() returns
7339                 the remainder, unless y is zero, when the function fails
7340         and errno
7341                 is set.
7343             According to page 251 of [1], the result when y is zero is
7344         implementation-
7345             defined.
7347             This op is provided for those who need it, but a more
7348         mathematically
7349             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7350         and
7351             defined with y == 0 is provided by the mod_n op.
7353               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7354         Programming
7355                   Language*, Second Edition. Prentice Hall, 1988.
7357           * Added and modified tests as appropriate for the above.
7359 2001-10-08 08:49  thgibbs
7361         * include/parrot/exceptions.h, include/parrot/parrot.h,
7362         include/parrot/string.h, include/parrot/strutf16.h,
7363         include/parrot/strutf32.h, include/parrot/strutf8.h,
7364         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7365         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7366         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7367         strings for utf8, utf16, and utf32.
7369         Courtesy of: Tom Hughes <tom@compton.nu>
7371 2001-10-08 08:10  thgibbs
7373         * memory.c: Fixed uninitialized variables.
7375         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7377 2001-10-08 01:21  gregor
7379         * packfile.c:   * Casting a return value
7381           * Potential uninitialized variable fix
7383         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7385 2001-10-08 01:15  gregor
7387         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7388         a few tweaks of my own):
7390           * Line wrapping
7392           * Printf format fixes
7394         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7396 2001-10-07 22:39  thgibbs
7398         * build_interp_starter.pl: No longer adds (void*) casts to
7399         interp_guts.c function table as they are not necessary in ANSI C.
7401 2001-10-07 16:27  gregor
7403         * basic_opcodes.ops, interpreter.c, opcode_table,
7404         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7405         t/trace.pasm:
7406           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7407             interpreter->flags and set interpreter->resume_addr.
7409           * Two new runops core variants, so now we cover the relevant
7410             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7412           * Runops core selection that converts the flags into an index
7413         into
7414             a core table (runops_cores) to get the core function pointer.
7416           * A new trace_op variant that doesn't do bounds checking (used by
7417             the non-bounds-checking-but-tracing runops core).
7419           * PC is passed into the cores so that they can be used when
7420             resuming (they used to assume starting at the beginning of the
7421             code, which would thwart resumption).
7423           * runops() itself is changed to have a while() loop in it so that
7424             any time we drop out of the core, we'll resume if we have an
7425             interpreter->resume_addr set (after reselecting the core,
7426         though).
7428           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7429             interpreter->resume_addr. This is used by the new ops. The new
7430             ops still return the new PC as the next op (which MUST be an
7431             'end' op to force the core loop to terminate -- *pc being false
7432             is the only termination condition we can count on for all
7433         cores).
7435           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7436             bounds checking core selection.
7438           * test_prog now has a '-b' flag in addition to the '-t' flag.
7439         Now,
7440             bounds checking is off by default (I saw a performance boost:
7441             6.3 Mop/s with -b, 7.0 Mop/s without).
7443           * A new sample/test program: t/trace.pasm that twiddles the trace
7444             flag while it is running.
7446 2001-10-07 15:41  gregor
7448         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7449         include/parrot/.cvsignore, include/parrot/interpreter.h:
7450         Now that 0.0.2 is released, I can clear out the backlog of approved
7451         but uncommitted patches. Here's one Dan approved on 2001-09-21
7452         (Simplified DO_OP):
7454           * test_prog and pdump are linked with only the files the need,
7455         not
7456             al the files.
7458           * build_interp_starter.pl writes out op_info.[hc], too. These
7459         files
7460             contain op name, arg count and arg type information. This will
7461         be
7462             useful for multiple things in the future, including better
7463         trace
7464             output and the crystalizing loader.
7466           * The DO_OP macro is now simpler and doesn't require explicit
7467             temporaries.
7469           * interpreter.c is modified to use the new op info in tracing
7470         output.
7472           * The interpreter just points its opcode_funcs and opcode_info
7473             members at the default tables rather than allocating memory on
7474             the fly.
7476 2001-10-07 03:58  thgibbs
7478         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7479         comment and adding vtable.h to .cvsignore as it is produced by
7480         vtable_h.in
7482 2001-10-06 20:58  thgibbs
7484         * vtable.tbl: Added * to REGEX type.
7486         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7488 2001-10-06 13:41  simon
7490         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7491         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7492         Framework for vtable functions.
7494 2001-10-06 06:52  thgibbs
7496         * make_op_header.pl: Removed confusing and unused typedef.
7498 2001-10-06 06:31  thgibbs
7500         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7501         are no longer used.
7503 2001-10-06 06:26  thgibbs
7505         * disassemble.pl: Changed intval to op in disassembler.
7507 2001-10-06 06:21  thgibbs
7509         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7510         Assembler, local labels, and integer constants.
7512 2001-10-06 03:11  ask
7514         * Makefile.in: make `make test` actually run the tests on
7515         darwin/macosx
7517 2001-10-06 02:04  thgibbs
7519         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7520         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7521         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7522         include/parrot/register.h, lib/Parrot/Assembler.pm,
7523         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7524         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7525         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7526         type make. :)
7528 2001-10-06 02:02  thgibbs
7530         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7531         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7532         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7533         include/parrot/register.h, lib/Parrot/Assembler.pm,
7534         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7535         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7536         t/op/integer.t: oops...this messed something up.  I must have
7537         missed something in the patch...I have reverted.
7539 2001-10-06 01:57  thgibbs
7541         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7542         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7543         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7544         include/parrot/register.h, lib/Parrot/Assembler.pm,
7545         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7546         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7547         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7548         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7549         This patch ensures that all bytecode is of type opcode_t except for
7550         the constant table constants.  That means that almost all of the
7551         INTVALs in the code were replaced with opcode_t and the i pack type
7552         was replaced with the op pack type in calls to pack_arg and such.
7553         Also, since it has been declared that ALL integer constants are to
7554         be 32 bits, some test cases were changed to ensure that an integer
7555         constant was no bigger than 2 ** 31.
7557         process_opfunc.pl was also cleaned up to no longer look at either
7558         opcode_table or interp_guts.h but gather all of its information
7559         from Opcode.pm.
7561         The Assembler.pm module was changed to do late binding of arguments
7562         so that 0 could be treated like 0.0 without having to be so
7563         declared.  Also, only strings now use the [sc:N] intermediate form
7564         as it was unnecessary for integer and float types.
7566 2001-10-05 21:59  gregor
7568         * MANIFEST, languages/jako/Makefile:
7569         Fixed things due to the movement of little_languages/* to
7570         languages/jako.
7572 2001-10-05 18:31  gregor
7574         * MANIFEST:
7575         Updated MANIFEST to reflect recent additions for Jako.
7577 2001-10-05 17:54  gregor
7579         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7580         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7581         mops.jako, primes.jako, sub.jako:
7582           * Compiler:
7584               * User-defined subroutines.
7585               * Generates assembly code with the Jako code in comments.
7586               * "end;" no longer required at the end of programs.
7587               * Better handling of const-reg and reg-const.
7588               * Optimizes const-const operations to compile-time
7589         evaluations.
7590               * Constants in addition to variables.
7591               * Arithmetic fixes.
7592               * Allow leading minus signs in integer and number constants
7593         (ahem).
7594               * goto's.
7596           * New sample programs:
7598               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7599         example)
7600               * mandelbrot.jako (based on Leon Brocard's translation of
7601         Glenn Rhodes' C code)
7602               * mops.jako (based on t/test.pasm)
7603               * primes.jako (based on Leon Brocard's primes.pasm example)
7604               * sub.jako (demonstrates a simple user-defined subroutine)
7606 2001-10-05 12:54  gregor
7608         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7609           * Removed mysterious extra copy of code after POD.
7611 2001-10-05 12:46  gregor
7613         * basic_opcodes.ops, t/op/string.t:
7614           * Enabled the previously SKIPped test of printing string regs
7615         after
7616             clear_s
7618           * Made print_s do nothing if the STRING pointer in the register
7619         file
7620             is NULL.
7622 2001-10-04 21:19  dan
7624         * Configure.pl: VMS tweaks
7626 2001-10-04 21:17  dan
7628         * hints/vms.pl: Hints file for VMS
7630 2001-10-04 00:58  bdwheele
7632         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7633         Assembler which stopped equates from working.
7635 2001-10-03 21:50  gregor
7637         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7639           * More documentation updates for the packfile stuff.
7641 2001-10-03 21:37  gregor
7643         * docs/parrotbyte.pod:
7644           * Pointed the reader at Parrot::PackFile.
7646 2001-10-03 21:34  gregor
7648         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7649           * Updated documentation to match current implementation.
7651 2001-10-03 18:30  gregor
7653         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7654         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7655         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7656         t/op/basic.t:
7657           * Added new syntax to the assembler to allow square-bracket
7658             arithmetic expressions involving (global) labels, the current
7659             instructions base address ('@'), numeric constants (not
7660         equates)
7661             and basic arithmetic operators (+, -, *, / -- although + and -
7662             are likely to be the only ones used in practice).
7664           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7665         to
7666             fail (argument passing wasn't working).
7668           * Enabled t/op/basic.t's last test, which is actually a copy of
7669         the
7670             code from t/call.pasm. Now all tests there are enabled and
7671         working.
7673           * Added new example/test program t/call.pasm to demonstrate
7674         working
7675             macros and poor-man's subroutine calls
7677           * Added header comments to t/*.pasm
7679 2001-10-03 18:00  simon
7681         * ChangeLog:
7682         Needed, since it's in the MANIFEST.
7684 2001-10-03 17:56  simon
7686         * t/op/: string.t, time.t:
7687         Small fixes to help Win32 on its way.
7689 2001-10-03 17:41  simon
7691         * MANIFEST, README:
7692         Oops. Tiny bugs.
7694 2001-10-03 17:39  simon
7696         * MANIFEST, NEWS, README:
7697         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7698         think so!
7700 2001-10-03 17:21  simon
7702         * basic_opcodes.ops, interpreter.c, packfile.c:
7703         Evil printf bandaid (which allows Sparc64 to pass tests)
7705         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7707 2001-10-03 16:58  simon
7709         * string.c, t/op/string.t:
7710         chop fixes for n < 0 and tests
7712         Courtesy of: Alex Gough <alex@rcon.org>
7714 2001-10-03 15:51  thgibbs
7716         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7718         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7720 2001-10-02 17:48  dan
7722         * include/parrot/stacks.h: Fix typo in function name
7724 2001-10-02 17:35  dan
7726         * include/parrot/stacks.h: changed to support new stack stuff
7727         coming after 0.02
7729 2001-10-02 15:01  simon
7731         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7732         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7733         process_opfunc.pl, register.c, string.c, strnative.c,
7734         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7735         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7736         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7737         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7738         include/parrot/memory.h, include/parrot/packfile.h,
7739         include/parrot/parrot.h, include/parrot/register.h,
7740         include/parrot/stacks.h, include/parrot/string.h,
7741         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7743         The Great Renaming.
7745 2001-10-02 12:49  gregor
7747         * process_opfunc.pl:
7748           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7750 2001-10-02 12:40  simon
7752         * basic_opcodes.ops, process_opfunc.pl, register.c,
7753         include/parrot/register.h:
7754         Move preprocessing of register accessors to process_opfunc.pl
7756         Courtesy of: Jason Gloudon <perl@gloudon.com>
7758 2001-10-02 01:20  ask
7760         * README: add a few lines about lists.
7762 2001-10-01 23:00  brentdax
7764         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7765         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7767 2001-10-01 22:50  brentdax
7769         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7771 2001-10-01 21:51  simon
7773         * process_opfunc.pl:
7774         Michael Fischer's patch broke conditionals.
7776 2001-10-01 15:38  simon
7778         * process_opfunc.pl:
7779         Small hack to keep process_opfunc.pl from generating extra return()
7780         statements.
7782         Courtesy of: Michael Fischer <michael@visv.net>
7784 2001-10-01 15:32  simon
7786         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7787         Documentation fix.
7789         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7791 2001-10-01 01:49  simon
7793         * packfile.c:
7794         Simon is an idiot. Don't trust him with your code.
7796         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7798 2001-10-01 00:59  simon
7800         * Parrot/String.pm, lib/Parrot/String.pm:
7801         Was in manifest, but not in CVS.
7803 2001-09-30 21:25  simon
7805         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7806         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7807         Parrot/Assembler.pm, Parrot/PackFile.pm,
7808         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7809         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7810         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7811         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7812         include/parrot/packfile.h, include/parrot/string.h:
7813         Move NVs to the constant table.    * Changes to Types_pm.in to make
7814         life easier for some of the      packing/etc. I'm doing elsewhere.
7815         Also, we now pack 'n' as      'i'.
7817           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7818             eventually we can use all these tools together inside scripts
7819             rather than call out to the shell to run the programs.
7821           * As I was tracking down problems, I converted the internal
7822             documentation of the assembler to POD from comments.
7824           * Changed the numeric regexp in the assembler to detect leading
7825             signs and trailing exponents.
7827           * Updated basic_opcodes.ops to fetch numeric constants from the
7828             constant table.
7830           * Enhanced the disassembler in a number of ways to make my life
7831             easier while tracking down bugs (try it out). It now puts in
7832             labels for ops that are the destinations of flow control ops.
7834           * packfile.c now has a TRACE_PACKFILE switch that can be set
7835             to get it to print info as it processes. I needed this while
7836             debugging, but I can remove it or change it before committing
7837             if its a problem.
7839           * Updated pdump.c because it was missing a call to init_world().
7841           * Updated process_opfunc.pl to deal with numeric constants
7842             being stored in the constant table instead of inline.
7844           * Added multiple type support to Parrot/PackFile/Constant.pm
7846           * Added Parrot/String.pm, to be used for constants.
7848           * Added packfile.[hc] functions for allocating new constants
7849             of various types.
7851           * Made string_copy visible to the world in parrot/string.h.
7853         Wow.
7855         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7857 2001-09-29 15:56  gregor
7859         * languages/jako/Makefile:
7860         Removed assumption that '.' is on the path.
7862 2001-09-29 15:55  gregor
7864         * languages/jako/Makefile:
7865         Removed references to leibnitz test program.
7867 2001-09-29 15:21  thgibbs
7869         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7870         math ops args to work on Solaris.
7872 2001-09-27 15:15  thgibbs
7874         * assemble.pl: Added case insensitive matches to hex and binary
7875         characters
7877         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7879 2001-09-27 04:46  thgibbs
7881         * assemble.pl: This patch makes integer constants of the form
7882         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7883         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7884         returning 0.  To fix this, I added a from_binary function that
7885         would take a binary string and return its decimal representation.
7886         Now, instead of blindly calilng oct, it makes a distinction between
7887         0/0x numbers and 0b numbers.
7889 2001-09-26 19:30  thgibbs
7891         * assemble.pl: Error now returns a non-zero status
7893         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7895 2001-09-26 19:13  gregor
7897         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7898         interpreter.c, packfile.c, pdump.c, test_main.c,
7899         include/parrot/bytecode.h, include/parrot/interpreter.h,
7900         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7901         t/op/stacks.t:
7902           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7903             packfile/bytecode file from C. May be renamed in the future.
7905           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7906             of 'PackFile *', just like the interpreter, etc.
7908           * Constants are accessed via the interpreter's 'code' member
7909             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7910             provided to access constants by index and the number of
7911             constants, respectively (assumes a variable 'interpreter' of
7912             the appropriate type is in scope).
7914           * Byte Code is accessed via the interpreter's 'code' member.
7916           * Changed PackFile_Constant to point to a STRING instead of
7917         having
7918             members for the string_make() arguments. Also has a 'type' IV
7919             in preparation for allowing multiple types of constants in
7920             const_table.
7922           * Removed hardcoded example program from test_main.c. We have
7923             plenty of test programs elsewhere.
7925           * test_prog now uses a PackFile to deal with the program before
7926             sending it on to the interpreter.
7928           * Added missing 'end' ops to some tests in t/op/integer.t and
7929             t/op/stacks.t.
7931 2001-09-26 18:38  thgibbs
7933         * assemble.pl: Separated code into functions and added comments.
7935 2001-09-26 18:29  simon
7937         * config_h.in:
7938         Fix 64-bit chunk-base issue.
7940 2001-09-26 06:55  thgibbs
7942         * t/op/bitwise.t: Added end to bitwise tests.
7944 2001-09-26 00:54  dan
7946         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7947         and interpreter creation. Skeleton only, but it's something to peer
7948         at.
7950 2001-09-25 21:44  thgibbs
7952         * t/op/trans.t: Removed loops in transcendtal op test.
7954 2001-09-25 10:12  simon
7956         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7957         t/op/string.t, t/op/time.t:
7958         More tests
7960         Courtesy of: Alex Gough <alex@rcon.org>
7962 2001-09-24 19:08  gregor
7964         * t/op/number.t:
7965           * Enabled the clear_n test.
7967 2001-09-24 18:56  gregor
7969         * Parrot/.cvsignore:
7970           * Ignore the generated Types.pm file.
7972 2001-09-24 18:52  gregor
7974         * languages/jako/Makefile, t/op/number.t:
7975           * No need to skip the inc and dec numeric tests anymore. I fixed
7976         the
7977             assembler earlier today.
7979 2001-09-24 18:21  simon
7981         * MANIFEST, t/op/stacks.t:
7982         Oops.
7984 2001-09-24 18:19  simon
7986         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7987         include/parrot/exceptions.h, include/parrot/interpreter.h,
7988         lib/Parrot/Test.pm, t/op/string.t:
7989         1) captured error output, so can test errors, this might be bad,
7990         not sure.  2) basic tests for register stack frames, including some
7991         errors 3) I think we can stop skipping one of the string tests 4) I
7992         added some more substr tests, but substr was broken, so 5) changed
7993         substr to work with out of range values, or 6) throw an error if
7994         they're far too silly
7996         Courtesy of: Alex Gough <alex@rcon.org>
7998 2001-09-24 17:27  gregor
8000         * basic_opcodes.ops, opcode_table, t/op/number.t:
8001           * Op set_n was missing. Added it and a test for it. We now have
8002         the
8003             same int and num ops, except mod is int-only.
8005 2001-09-24 17:01  gregor
8007         * assemble.pl:
8008           * Fixed a typo: s/Line/line/
8010 2001-09-24 16:02  gregor
8012         * basic_opcodes.ops:
8013           * Fixed dec_n_nc opcode, which had += where it should have had
8014         -=.
8016 2001-09-24 15:34  gregor
8018         * assemble.pl:
8019           * Fixed handling of constants starting with '0' that should not
8020         be
8021             sent through oct(). For example 'set N2 0.1' was being
8022         interpreted
8023             as 'set N2 0' (naughty).
8025             As reported by Leon Brocard <acme@astray.com> in the comments
8026         of
8027             his mandelbrot.pasm example.
8029 2001-09-24 02:21  bdwheele
8031         * assemble.pl: fixed dumb code when --include was not specified.
8033 2001-09-24 02:17  simon
8035         * assemble.pl:
8036         Shit-sweeping.
8038 2001-09-24 01:56  bdwheele
8040         * assemble.pl: * Added --include=dir option to assembler to provide
8041         a path to look for included files.  * Error message of a macro is
8042         defined inside of a macro
8044 2001-09-23 21:29  bdwheele
8046         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8048 2001-09-23 15:50  simon
8050         * Configure.pl:
8051         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8053 2001-09-23 02:03  ask
8055         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8056         Courtesy of: acme@astray.com (Leon Brocard)
8058         rename 'test' executable used in Configure process to test_siz.
8060 2001-09-23 01:03  simon
8062         * process_opfunc.pl:
8063         iPaq fix. No, really.
8065 2001-09-23 00:47  simon
8067         * MANIFEST:
8068         Missed several, in fact.
8070 2001-09-23 00:46  simon
8072         * MANIFEST:
8073         Missed one.
8075 2001-09-22 21:13  simon
8077         * assemble.pl:
8078         Assembler register numbering rigour.
8080         Courtesy of: Leon Brocard <acme@astray.com>
8082 2001-09-22 18:20  simon
8084         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8085         lib/Test/Utils.pm:
8086         I'm sick of having to install Test::More everywhere. Temporary
8087         measure until we remove this silly dependency.
8089         Also a typo in Makefile.in which suggests some things were only
8090         happening correctly by sheer chance. :)
8092 2001-09-22 18:06  simon
8094         * README:
8095         test.pasm is dead, long like make test.
8097 2001-09-22 17:47  simon
8099         * t/op/number.t:
8100         De-fang overzealous floating point test.
8102 2001-09-22 17:39  simon
8104         * process_opfunc.pl:
8105         Remove hard-coded NV size assumption. Tru64 is nearly there!
8107 2001-09-22 17:18  simon
8109         * assemble.pl, disassemble.pl:
8110         More portability fixups.
8112 2001-09-22 16:44  simon
8114         * assemble.pl, Parrot/PackFile/Constant.pm,
8115         lib/Parrot/PackFile/Constant.pm:
8116         And I *think* this fixes Tru64.
8118 2001-09-22 16:37  simon
8120         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8122         Oops.
8124 2001-09-22 16:36  simon
8126         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8127         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8128         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8130         More removal of hard-coded pack formats.
8132 2001-09-22 15:21  simon
8134         * assemble.pl:
8136         Grrr. Why isn't this working?
8138 2001-09-22 15:18  simon
8140         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8141         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8143         Make assemble use the PackFile modules; also fixed some bugs in
8144         them.
8146 2001-09-22 14:38  simon
8148         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8150         Abstract the argument and opcode packing types and functions out
8151         into a separate module. This *should* help us maintain consistency
8152         when we change the various types.
8154 2001-09-22 00:46  brentdax
8156         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8157         test program finishes.
8159 2001-09-21 21:24  brentdax
8161         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8162         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8164 2001-09-21 21:09  gregor
8166         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8167         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8169           * Fixed pad calculation (similar to recent bug fix on C library)
8171 2001-09-21 20:23  simon
8173         * disassemble.pl:
8174         Pack types and sizes have gone askew.
8176 2001-09-21 20:18  brentdax
8178         * Configure.pl: Fix typo in setting stuff from the C test program
8180 2001-09-21 10:25  simon
8182         * basic_opcodes.ops, process_opfunc.pl:
8183         Document patches.
8185         Courtesy of: Leon Brocard <acme@astray.com>
8187 2001-09-21 06:06  ask
8189         * Config_pm.in, assemble.pl: fix 5.005_03.
8191 2001-09-21 06:03  ask
8193         * Configure.pl: make the ivsize detection work for us normal people
8194         without . in our PATH.  :-)
8196 2001-09-21 05:56  brentdax
8198         * test_main.c: Change _read to read for portability to Tru64
8199         (Damien Neil <neild@misago.org> and likely many others)
8201 2001-09-21 05:46  ask
8203         * Makefile.in: "update" target to update from cvs.
8205 2001-09-21 05:44  brentdax
8207         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8209 2001-09-21 02:43  brentdax
8211         * Configure.pl: Fix a typo that forced the -g flag on
8213 2001-09-20 22:41  dan
8215         * packfile.c: Had some no-value returns. Naughty
8217 2001-09-20 22:40  dan
8219         * t/test.pasm: Added labels to output
8221 2001-09-20 15:39  simon
8223         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8224         lib/Parrot/Test.pm:
8225         This patch does two only somewhat related things.
8227         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8228         = 2*sizeof(iv) to a PConfig-type computed value.
8230         Parrot/Test.pm:  Change it to run with the perl that was used to
8231         generate this version of Parrot.  This is useful if, for example,
8232         you want to use bleadperl to build and test parrot (e.g. to try out
8233         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8234         installed as the default 'perl' on your system.  Since perl-5.7.x
8235         is installed 'version-only', a plain 'perl' is quite likely to pick
8236         up the older perl in such cases. Such an older perl might well not
8237         understand pack('q') used in the assembler.
8239         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8241 2001-09-20 15:14  gregor
8243         * packfile.c:
8244           * Fixed a typo in pad calculation that throwing off unpack and
8245         pack.
8247 2001-09-20 15:03  thgibbs
8249         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8250         tests now cover all registers.
8252         Courtesy of: Damien Neil neild@misago.org
8254 2001-09-20 14:48  thgibbs
8256         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8257         machines.
8259 2001-09-20 14:35  simon
8261         * Configure.pl, assemble.pl:
8262         Pack IVs correctly.
8264         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8266 2001-09-20 14:06  gregor
8268         * languages/jako/jakoc:
8269           * Fixed a tyop in the string interpolation regex.
8271         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8273 2001-09-20 13:56  gregor
8275         * languages/jako/jakoc:
8276           * Updated jakoc to work with the single-destination comp ops.
8278 2001-09-20 05:08  bdwheele
8280         * assemble.pl: macro expansion.  Here's the test macro I was using:
8282         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8283         label.  testi       macro   num,got,want    print   "Test #"
8284         print   num     print   "..."   set     I32,want        set
8285         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8286         $end $ok:       print   "OK\n" $end:    endm
8288         It is invoked as:
8290         Test1:  testi   1,I3,I2
8292 2001-09-20 03:52  dan
8294         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8295         generic stack support
8297 2001-09-20 02:49  bdwheele
8299         * assemble.pl: Added include processing to assemble.pl  the syntax
8300         is: include 'file.to.include'
8302 2001-09-19 23:57  thgibbs
8304         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8305         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8306         function to only use 2 args, but the opcode_table still had three
8307         listed.  Fixed integer.t and number.t to use the new comparison
8308         operators.  Improved assemble.pl ability to grok operators by
8309         constructing a function set and comparing operator types.
8311 2001-09-19 22:42  dan
8313         * assemble.pl: Binmodes the output filehandles now. (No more
8314         bytecode munching...)
8316 2001-09-19 22:32  dan
8318         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8319         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8320         conditional branches take a single argument, and fall through
8321         otherwise.
8323 2001-09-19 21:19  thgibbs
8325         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8326         Sugalski
8328         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8330 2001-09-19 21:04  thgibbs
8332         * include/parrot/interpreter.h, Configure.pl,
8333         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8334         process_opfunc.pl: Changed opcode_t from a union to a configurable
8335         type.
8337 2001-09-19 20:54  thgibbs
8339         * assemble.pl: Missed a couple of changes for 64 bit portability.
8341 2001-09-19 20:37  gregor
8343         * packfile.c, include/parrot/packfile.h:
8344           * Added "methods" for setting and getting all the various
8345         attributes,
8346             probably sufficient for an assembler to use the library.
8348 2001-09-19 20:04  thgibbs
8350         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8351         a 64 bit platform manually change the  setting for 'i' from 'l' to
8352         'q'.  This should be automatically done by a Configure setting in
8353         the near future.
8355 2001-09-19 19:10  thgibbs
8357         * config_h.in: changed c++ comment to c comment.
8359         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8361 2001-09-19 17:48  gregor
8363         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8364         include/parrot/packfile.h:
8365           * C code for dealing with PackFiles as if they were objects.
8366         Mostly
8367             read-only interface for now, but it would not be hard to make
8368         it
8369             read-write. [packfile.c, include/parrot/packfile.h]
8371           * PackFile Dumping program that falls short of disassembling, but
8372             tests the above code and provides a hex listing of the byte
8373         code
8374             contents of the PackFile. [pdump.c]
8376           * New Makefile target 'pdump' for the above program, and related
8377             Makefile.in changes.
8379           * Updated MANIFEST to reflect the added files
8381           * Update .cvsignore to ignore pdump.
8383 2001-09-19 14:55  thgibbs
8385         * MANIFEST: Added number.t and trans.t to MANIFEST
8387 2001-09-19 05:40  thgibbs
8389         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8390         of union opcode_t.  I hope this will be more portable for set_n_nc.
8392 2001-09-19 05:39  thgibbs
8394         * t/op/integer.t: Added end to test 1.
8396 2001-09-19 00:09  thgibbs
8398         * t/op/number.t: Added end to each test
8400 2001-09-19 00:00  simon
8402         * t/op/number.t:
8403         Number tests! Wooo!
8405         Courtesy of: Damien Neil <neild@misago.org>
8407 2001-09-18 23:52  thgibbs
8409         * interpreter.c: Added casts to appropriate types to make -Wall not
8410         complain on certain printf formats
8412 2001-09-18 23:31  thgibbs
8414         * t/op/integer.t: Added end to each test.
8416 2001-09-18 22:54  thgibbs
8418         * t/op/trans.t: Added trans.t for transcendental math function
8419         tests.
8421 2001-09-18 22:28  simon
8423         * MANIFEST:
8424         MANIFEST updates. (And notice how I carefully snuck in the
8425         t/op/integer.t there...)
8427         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8429 2001-09-18 22:26  simon
8431         * t/: integer.t, op/integer.t:
8432         Except it doesn't go there. Duh.
8434 2001-09-18 22:25  simon
8436         * t/integer.t:
8437         Tests for integer ops.
8439         Courtesy of: Damien Neil <neild@misago.org>
8441 2001-09-18 22:03  thgibbs
8443         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8444         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8445         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8446         opcode_t union for operators.  This required a few perl script
8447         changes to output the correct type.  There were also some changes
8448         to allow -pedantic in gcc
8450 2001-09-18 21:07  gregor
8452         * disassemble.pl, Parrot/PackFile.pm,
8453         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8454         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8455         lib/Parrot/PackFile/Constant.pm:
8456         Converted the disassembler to use the Parrot::PackFile Perl classes
8457         to do its job.
8459 2001-09-18 19:18  brentdax
8461         * Makefile.in: Fix missing functions for real this time.  (I
8462         swear!)
8464 2001-09-18 18:49  brentdax
8466         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8467         <doughera@lafayette.edu>}
8469 2001-09-18 18:47  brentdax
8471         * Makefile.in: Fix bugs with missing math, etc. functions
8473 2001-09-18 14:42  thgibbs
8475         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8476         char*.
8478 2001-09-18 13:59  thgibbs
8480         * strnative.c: Removed unnecessary IV cast in concat.
8482 2001-09-18 13:58  thgibbs
8484         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8485         to concat test in string.t
8487 2001-09-18 12:07  gregor
8489         * languages/jako/jakoc:
8490           * var num ... no longer requires assignment
8491           * automatic casting between int and num
8492           * Fixed an error message
8494         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8496 2001-09-18 11:57  simon
8498         * TODO:
8499         Gonna have to start thinking of more things to do, soon.
8501 2001-09-18 10:42  simon
8503         * opcode_table:
8504         Introduce a little more tidiness into the opcode table.
8506 2001-09-18 03:06  gregor
8508         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8509         Resurrected register-const ops per Dan's request.
8511 2001-09-18 02:20  gregor
8513         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8514         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8515         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8516         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8517         Committed some files that were missed in the last *.h moving
8518         commit.
8520 2001-09-18 02:17  gregor
8522         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8524 2001-09-18 02:16  gregor
8526         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8527         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8528         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8529         missed in last commit for the move of *.h to include/parrot.
8531 2001-09-18 01:32  simon
8533         * t/Makefile:
8534         Trivial "clean" target to t/Makefile.
8536 2001-09-18 01:32  simon
8538         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8539         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8540         Change icky Digest::MD5 for nice simple unpack()
8542         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8544 2001-09-18 00:35  simon
8546         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8547         t/op/string.t:
8548         New concat op. Hey, if I'm going to talk about it in an article,
8549         better implement it...
8551 2001-09-17 22:54  gregor
8553         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8554         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8555         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8556         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8558         Functions for reading, writing and manipulating Parrot Pack Files.
8559         NOTE: This is a proposed term based on the fact that the file
8560         contains more than just byte code, and another language (Java)
8561         calls its binary files by a broader notion of what's in them (Class
8562         Files). Since Perl has packages, and since we use pack() to write
8563         them, we'll call them PackFiles (at least for now).
8565         That does, however, beg the question of file extension. Should we
8566         name the files "foo.pack" instead of "foo.pbc"?
8568 2001-09-17 20:23  thgibbs
8570         * interpreter.c, test_main.c: Uncuddled else statements for coding
8571         standard.
8573 2001-09-17 19:57  gregor
8575         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8576         Added a $revision variable, parsing of the CVS Id line in
8577         opcode_table and a &revision() subroutine.
8579 2001-09-17 19:53  gregor
8581         * opcode_table:
8582         Added a CVS Id tag to it.
8584 2001-09-17 18:58  thgibbs
8586         * interpreter.c: Cleared interpreter flags on creation.
8588 2001-09-17 18:38  gregor
8590         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8591         interpreter.h, test_main.c:
8592           * Provides macros in interp_guts.h for setting up arrays with
8593             op names and op arg counts (done via build_interp_starter.pl).
8595             These are used in the op tracing
8597           * The functions in bytecode.[hc] pass around a pointer to the
8598         length
8599             of the bytecode so that later when we get to runops, we know
8600             how much bytecode we've got and we can detect out-of-bounds
8601             jumping. The documentation is updated, too.
8603           * runops in interpreter.c now looks at interpreter->flags to
8604             decide if the core of runops should be runops_trace_core or
8605             runops_notrace_core. These new functions contain just the
8606             while-loop portion of runops. A new function runops_generic
8607             does any other setup (such as checking the bytecode
8608             fingerprint) or wrapup (such as complaining if we ended up
8609             out-of-bounds). NOTE: I didn't know what we should do for
8610             functions in here that are not part of the api, so I gave
8611             them docs with 'TODO' marks mentioning they really aren't
8612             part of the api. Guidance appreciated.
8614           * test_main.c now checks for '-t' arg and sets the tracing flag
8615             on its interpreter instance as appropriate.
8617 2001-09-17 17:47  bdwheele
8619         * assemble.pl: added some default equates, and if they're sub
8620         references, they are computed each time it is referenced.
8622 2001-09-17 16:15  dan
8624         * interpreter.h:
8626         Added flags to the interpreter structure and defined a few.
8628 2001-09-17 15:51  simon
8630         * bytecode.h, string.h:
8631         VAR_SCOPE on globals.
8633 2001-09-17 15:20  simon
8635         * MANIFEST:
8636         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8638 2001-09-17 15:05  gregor
8640         * t/jump.pasm, MANIFEST:
8641         Added a test program to demonstrate jump_i.
8643 2001-09-17 14:44  thgibbs
8645         * register.c: Fixed register pop not using correct offset (off by
8646         one).
8648         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8650 2001-09-17 13:56  thgibbs
8652         * interpreter.c, register.c: Added code to call Parrot_clear_s
8653         during initialization and Parrot_clear_s and Parrot_clear_p when a
8654         new stack frame is pushed.
8656 2001-09-17 13:51  gregor
8658         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8659         fib.jako, hello.jako: Added bench.pasm to "clean"
8661 2001-09-17 13:49  gregor
8663         * languages/jako/: jakoc, Makefile:
8664         Added CVS Id tag.
8666 2001-09-17 13:49  gregor
8668         * languages/jako/jakoc:
8669         Code streamlining.
8671         Courtesy of: Buggs <buggs-perl6@splashground.de>
8673 2001-09-17 13:29  gregor
8675         * MANIFEST, opcheck.pl:
8676         Added an opcode_table checker to make sure that all opcodes listed
8677         there conform to a simple set of naming rules (rules themselves, of
8678         course, are subject to change).
8680 2001-09-17 13:23  thgibbs
8682         * string.c: Modified string.c to correctly use the return value of
8683         realloc.
8685 2001-09-17 05:26  brentdax
8687         * Makefile.in: Making the Makefile smarter
8689 2001-09-16 23:06  brentdax
8691         * hints/mswin32.pl: Finishing the Configure hints
8693 2001-09-16 23:05  brentdax
8695         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8696         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8697         Configure hints, 5.005 compatibility, MANIFEST checking
8699 2001-09-16 19:25  bdwheele
8701         * assemble.pl: parrot assembly equates
8703 2001-09-16 18:03  gregor
8705         * Makefile.in:
8706         Added 'test' target to run new test suite.
8708 2001-09-16 17:33  simon
8710         * basic_opcodes.ops:
8711         'not' was being !, rather than ~. Too many Perl programmers here, I
8712         suspect.
8714         Courtesy of: Tom Hughes <tom@compton.nu>
8716 2001-09-16 17:21  simon
8718         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8719         t/op/string.t:
8720         A *real* test suite!
8722         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8724 2001-09-16 16:49  gregor
8726         * basic_opcodes.ops, opcode_table:
8727         At Dan's request, my new register-constant comparison ops have been
8728         removed.
8730 2001-09-16 16:40  gregor
8732         * languages/jako/jakoc:
8733         Fixed a copy-paste error in one of jakoc's error messages.
8735         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8737 2001-09-16 16:37  gregor
8739         * languages/jako/jakoc:
8740         Modified comparison implementation to use temporary registers in
8741         the case of register-constant and constant-register comparisons.
8742         This will allow the compiler to emit code that works when the
8743         constant-comparison ops are backed out of Parrot. If the ops ever
8744         make their way back in, then jakoc can emit more efficient code
8745         again.
8747 2001-09-16 16:19  bdwheele
8749         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8750         ... though not subroutine based like the documentation wants, they
8751         are local to the last non-local label defined.
8753 2001-09-16 14:02  simon
8755         * MANIFEST:
8756         And remember, when you add stuff, keep the manifest up to date.
8758 2001-09-16 02:55  ask
8760         * Makefile.in: a "shared" target for building libparrot.so
8762 2001-09-16 02:45  thgibbs
8764         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8765         global_setup.h, interpreter.c, interpreter.h, io.h,
8766         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8767         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8768         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8769         use the coding standard PDD.  Also changed Perl_Interp to
8770         Parrot_Interp.
8772 2001-09-16 02:21  ask
8774         * README: emphasise the bits about the license not being worked out
8775         yet.
8777 2001-09-15 22:21  simon
8779         * process_opfunc.pl:
8780         basic_opcodes.c should *scream* that it's autogenerated.
8782 2001-09-15 21:58  gregor
8784         * languages/jako/Makefile:
8785         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8786         compile.
8788 2001-09-15 21:58  gregor
8790         * languages/jako/: jako_compiler.pl, jakoc:
8791         Renamed the Jako compiler to jakoc from jako_compiler.pl
8793 2001-09-15 21:51  gregor
8795         * languages/jako/: Makefile, bench.jako, euclid.jako,
8796         jako_compiler.pl:
8797         Added a new bench.jako example based on Leon Brocard's Bench.java.
8799         Jako Compiler:   * fix a bug in assignment handling   * add some
8800         more conditionals to while and if   * revert to using implicit
8801         opcodes in a few cases that were broken     before the assembler
8802         patch went in recently.
8804 2001-09-15 21:46  gregor
8806         * assemble.pl, basic_opcodes.ops, opcode_table:
8807         New ops for register-constant INTEGER comparisons:
8809           {eq,ne,lt,le,gt,ge}_ic_ic
8811         New ops for register-register and register-constant NUMERIC
8812         comparisons:
8814           eq_nc_ic
8815           {ne,lt,le,gt,ge}_{n,nc}_ic
8817         Assembler:
8819           Allow uppercase and underscores in labels.
8821           Tweaks to the op infer code to make it work with the examples
8822         I've been
8823           creating.
8825 2001-09-15 19:16  thgibbs
8827         * README: Updated README to include Configure.pl
8829 2001-09-15 17:05  simon
8831         * build_interp_starter.pl:
8832         Casting happiness
8834         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8836 2001-09-15 16:45  simon
8838         * assemble.pl:
8839         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8841 2001-09-15 16:40  simon
8843         * t/Makefile:
8844         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8845         test Makefile
8847 2001-09-15 12:26  simon
8849         * memory.c:
8850         Fixed to match the coding standards.
8852         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8854 2001-09-15 01:57  ask
8856         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8857         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8858         to run Configure.pl
8860 2001-09-15 01:48  ask
8862         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8863         say so. :-)
8865 2001-09-15 01:42  gregor
8867         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8868         jako_compiler.pl:
8869         Compiler: Added variable interpolation in double-quoted strings.
8870         Examples: Made use of variable interpolation.
8872 2001-09-15 01:28  gregor
8874         * Parrot/.cvsignore:
8875         Ignore the Config.pm generated file.
8877 2001-09-15 01:22  gregor
8879         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8880         fib.jako, hello.jako, jako_compiler.pl:
8881         gnp: Added some more sample Jako files and added many more
8882         operators to the compiler. Preparations for supporting all the Math
8883         and bitwise ops.
8885 2001-09-14 19:06  simon
8887         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8888         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8889         lib/Parrot/Opcode.pm:
8890         Move common table reading stuff to a module.
8892         Courtesy of: Damien Neil <neild@misago.org>
8894 2001-09-14 17:42  simon
8896         * .cvsignore:
8897         More .cvsignore foo.
8899 2001-09-14 17:40  simon
8901         * assemble.pl, config_h.in:
8902         De-coredump
8904         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8906 2001-09-14 17:38  simon
8908         * assemble.pl, t/Makefile:
8909         Make assemble.pl look in its parent directory if the data files it
8910         needs aren't in the current one. Plus a Makefile that lets "make
8911         foo.pbc" work in t/
8913         Courtesy of: Rocco Caputo <troc@netrus.net>
8915 2001-09-14 16:29  simon
8917         * make_op_header.pl:
8918         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8919         probably segfault everywhere else.)
8921 2001-09-14 15:58  dan
8923         * languages/jako/: euclid.jako, jako_compiler.pl:
8925         Added in the first mini-language that targets Parrot.
8927         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8929 2001-09-14 15:20  dan
8931         * memory.c: Was misaligning returned memory. Fixed.
8933 2001-09-14 15:08  simon
8935         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8936         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8937         register.c, register.h, string.c, string.h, strnative.c,
8938         test_main.c:
8939         Fixes to include <parrot/foo.h>
8941         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8943 2001-09-14 12:05  simon
8945         * strnative.c:
8946         Appease Tru64.
8948 2001-09-14 12:01  simon
8950         * memory.c:
8951         Appease Tru64.
8953 2001-09-14 11:54  simon
8955         * interpreter.c:
8956         Remove lvalue cast.
8958 2001-09-14 11:45  simon
8960         * Configure.pl:
8961         Be 5.005 friendly.
8963 2001-09-14 11:39  simon
8965         * Configure.pl:
8966         Tru64 cc doesn't like -Wall
8968 2001-09-14 10:57  simon
8970         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8971         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8972         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8973         Configure now generates Makefile
8975         Courtesy of: Brent Dax <brentdax@cpan.org>
8977 2001-09-14 10:08  simon
8979         * t/test3.pasm:
8980         Add "end"
8982         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8984 2001-09-14 10:07  simon
8986         * assemble.pl:
8987                 * uses Getopt::Long for options.  -c is now --checksyntax.
8988         I wasn't
8989         sure how to keep compatible (patches welcome!)         * options
8990         include:                 --help                 --version
8991               --verbose                 --output=file
8992         --listing=file                 --checksyntax         * produces
8993         verbose listing of what the assembler saw :)  Only one nitpick with
8994         it:  unknown symbols are given as 0xffffffff, unfortunately, this
8995         includes symbols which may be defined later in the file (i.e.
8996         forward jumps).
8998         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9000 2001-09-14 10:06  simon
9002         * strnative.c:
9003         substr growth fixup
9005         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9007 2001-09-14 10:03  simon
9009         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9010         register.c, string.c, strnative.c, test_main.c:
9011         Coding standards conformance
9013         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9015 2001-09-14 09:46  simon
9017         * assemble.pl:
9018         Make the assembler grok transcendental maths again.  Courtesy of:
9019         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9021 2001-09-13 17:29  simon
9023         * assemble.pl:
9024         Better opcode guessing, from Brian Wheeler. (Again!)
9026 2001-09-13 17:20  dan
9028         * docs/parrot_assembly.pod:
9030         Took out duplicate entries for iton, ntoi, and tostring.
9032 2001-09-13 17:16  simon
9034         * assemble.pl, basic_opcodes.ops, opcode_table:
9035         From Brian Wheeler:
9037         This patch gives the assembler support of '\a','\n','\r','\t', and
9038         '\\' in string constants.
9040         In addition, it changes (for all registers) "I reg %li is ..." to
9041         just the value of the register.  Printing constants is also
9042         supported, but alas, you have to specify the type (print_sc,
9043         print_ic, print_nc).
9045 2001-09-13 15:38  simon
9047         * assemble.pl:
9048         Why don't I actually *test* this stuff before applying it, eh?
9050 2001-09-13 15:34  simon
9052         * TODO, t/euclid.pasm:
9053         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9054         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9055         inference
9057 2001-09-13 14:42  simon
9059         * assemble.pl:
9060         A new assembler, from Brian Wheeler.
9062 2001-09-13 09:44  simon
9064         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9065         test_main.c:
9066         Two more from Tom Hughes:     Patch to fix C++ style comments
9067         Patch to remove use of structure constant/cast
9069 2001-09-13 09:39  simon
9071         * TODO, docs/strings.pod:
9072         Update string docs.
9074 2001-09-13 09:36  simon
9076         * Makefile, basic_opcodes.ops:
9077         Tom Hughes      Patch to link with the maths library Tom Hughes
9078          Patch to fix += on rvalue
9080 2001-09-13 08:57  simon
9082         * MANIFEST:
9083         I guess nobody's been using the nightly builds...
9085 2001-09-13 08:27  simon
9087         * assemble.pl, basic_opcodes.ops, opcode_table:
9088         Bitwise ops, from Brian Wheeler.
9090 2001-09-13 08:23  simon
9092         * .cvsignore, t/.cvsignore:
9093         .cvsignore's, from Gregor Purdy.
9095 2001-09-13 08:22  simon
9097         * Makefile:
9098         Euclidean test and test output rearranging from Gregor Purdy.
9100 2001-09-13 08:21  simon
9102         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9103         Math ops from Gibbs Tanton.
9105 2001-09-13 08:14  simon
9107         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9108         t/test2.pasm:
9109         String substr op; also rearranged "encoding" to be a vtable
9110         pointer, not an array index. Haven't changed docs to reflect this,
9111         oops.
9113         Simon
9115 2001-09-12 19:48  dan
9117         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9118         Gregor Purdy
9120 2001-09-12 19:39  dan
9122         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9124 2001-09-12 19:23  dan
9126         * interpreter.h, parrot.h: Quick placeholder entry for string
9127         function tables
9129 2001-09-12 18:58  dan
9131         * memory.c: Added in a cast to make gcc happy.
9133 2001-09-12 16:44  dan
9135         * docs/parrot_assembly.pod:
9137         PDD describing parrot's assembly language and the opcodes in it
9139 2001-09-12 14:20  dan
9141         * memory.c:
9142         Fixed alignment issues with allocation
9144 2001-09-12 10:54  simon
9146         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9147         make_op_header.pl, opcode_table, process_opfunc.pl:
9148         Brian Wheeler's big patch:
9150         * Changes the opcode_table file to provide additional information
9151         about the operands.  Case shouldn't be a problem since that data
9152         never becomes a C symbol [this is pretty much as before]
9154         * Padding errors solved:  assemble.pl and bytecode.c were padding
9155         the constants incorrectly.  It should have been 4-(size % 4), not
9156         just (size % 4).  It is now fixed in both places.
9158         * assembler has less special cases, and should be easier to hang
9159         error checking on
9161         * disassembler dumps constant table and the format is a bit
9162         prettier, including register names, etc.
9164 2001-09-11 23:21  dan
9166         * build_interp_starter.pl, interpreter.c:
9168         Abstracted the runops function core into a macro for easy
9169         replacement later.
9171 2001-09-11 10:43  simon
9173         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9174         Configure system from Brent Dax <brentdax@cpan.org>
9176 2001-09-11 09:38  simon
9178         * assemble.pl, test.pbc:
9179         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9180         assembler deferred output
9182         Also got rid of the bytecode, since that's probably way out of
9183         date.
9185 2001-09-11 09:26  simon
9187         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9188         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9189         patch
9191 2001-09-10 23:20  simon
9193         * MANIFEST:
9194         And that move needs a MANIFEST change. So many things to remember!
9196 2001-09-10 23:18  simon
9198         * t/: test.pasm, test2.pasm, test3.pasm:
9199         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9201 2001-09-10 23:18  simon
9203         * test.pasm, test2.pasm, test3.pasm:
9204         Move tests to t/
9206 2001-09-10 23:04  dan
9208         * test3.pasm:
9210         Register push/pop test
9212 2001-09-10 22:47  simon
9214         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9215         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9216         (Modified to avoid conflict with Dan's changes.)
9218 2001-09-10 22:45  dan
9220         * disassemble.pl:
9222         Happier about blanks in opcode_table
9224 2001-09-10 22:40  dan
9226         * interpreter.c, register.c:
9228         Yanked out debugging code, since these work OK. The bug I want is
9229         elsewhere.
9231 2001-09-10 22:30  simon
9233         * MANIFEST:
9234         Uhm. We want make_op_header.pl. We really, really do.
9236 2001-09-10 22:26  simon
9238         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9239         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9240         opcode_table, process_opfunc.pl:
9241         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9242         This means we can add lots more opcodes without fiddling about with
9243         the numbers. Hooray!
9245         Don't forget that "end" needs to be op zero, else the interpreter
9246         falls off the end of the code. This is Bad, and I wonder if there's
9247         a way around it.
9249 2001-09-10 19:49  simon
9251         * MANIFEST, make_op_table_build.pl:
9252         Hey! This doesn't do anything...
9254 2001-09-10 19:46  simon
9256         * Makefile:
9257         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9259 2001-09-10 18:31  simon
9261         * MANIFEST:
9262         You know what this means...
9264 2001-09-10 18:30  simon
9266         * assemble.pl:
9267         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9268         wait for a release...? :)
9270 2001-09-10 18:13  simon
9272         * interpreter.c:
9273         Bad Dan! No cookie!
9275 2001-09-10 17:56  simon
9277         * README:
9278         A *real* README file, which doesn't claim it isn't for public
9279         consumption.
9281 2001-09-10 17:02  simon
9283         * TODO:
9284         More things to do.
9286 2001-09-10 16:56  dan
9288         * TODO: Added in assembler gripe. Also added a few blank lines for
9289         clarity
9291 2001-09-10 16:49  dan
9293         * register.h, register.c: Renamed the core functions so the opcodes
9294         can find 'em OK. (There were some conflicts)
9296 2001-09-10 16:48  dan
9298         * basic_opcodes.ops, opcode_table: Added register window ops
9300 2001-09-10 11:07  simon
9302         * TODO:
9303         Trivial TODO list.
9305 2001-09-10 11:05  simon
9307         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9308         note "-s" flag to test prog.
9310 2001-09-10 11:01  simon
9312         * docs/strings.pod:
9313         New string documentation.
9315 2001-09-10 11:01  simon
9317         * basic_opcodes.ops, opcode_table:
9318         String ops.
9320 2001-09-10 10:53  simon
9322         * global_setup.c:
9323         More string fu.
9325 2001-09-10 10:51  simon
9327         * memory.h:
9328         Just some more aliases for now. Used by string handling stuff.
9330 2001-09-10 10:50  simon
9332         * assemble.pl, bytecode.c, bytecode.h:
9333         Temporary hack to store string constants in bytecode and recreate
9334         them at runtime.
9336 2001-09-10 10:48  simon
9338         * op.h:
9339         op.h is now generated by the Makefile; remove it.
9341 2001-09-10 10:47  simon
9343         * Makefile:
9344         clean and op.h Makefile targets.
9346 2001-09-10 10:45  simon
9348         * string.c, string.h, strnative.c:
9349         More string vtable stuff.
9351 2001-09-07 21:07  dan
9353         * assemble.pl:
9355         Much less picky about whitespace in the opcode_table now. (Doesn't
9356         whine on blank lines)
9358 2001-09-07 16:23  dan
9360         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9361         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9362         this takes) Added global_setup.h to declare init_world function
9364         Moved variable declarations out of the interpreter loop for small
9365         speed boost.
9367         Changed end opcode to now be opcode #0. A function is provided for
9368         it, but isn't ever executed.
9370         When the interpreter sees an opcode 0 in the stream it means the
9371         end of stream. Things were coring on Cygwin otherwise. (I think I
9372         was dereferencing a zero, which is bad)
9374 2001-09-06 22:07  dan
9376         * basic_opcodes.ops, process_opfunc.pl:
9378         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9379         are minor changes now that things are in a fixed state.
9381 2001-09-06 16:13  dan
9383         * basic_opcodes.c, test_opcodes.c:
9384         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9386         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9387         should be nuked. So it is. :)
9389 2001-09-06 03:35  dan
9391         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9392         Scripts to build the header file that holds the function table
9393         creation code, as well as the script to turn an opcode file to C
9394         source. (And the basic opcode functions turned into an opcode
9395         source file)
9397 2001-09-06 03:31  dan
9399         * Makefile, interpreter.c:
9400         Changes to support the autogeneration of the opcode function
9401         pointer table in interpreter.c, along with the changes to the
9402         Makefile needed.
9404 2001-09-05 13:27  simon
9406         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9407         docs/parrotbyte.pod, docs/vtables.pod:
9408         Added stubs for the documents; working on them this week. (What's
9409         left of it.) config.h change is just to type VTABLE, and the
9410         bytecode thing you might want to revoke. It's apidoc for the
9411         functions in there.
9413 2001-09-03 18:26  simon
9415         * docs/strings.pod:
9416         A start on the string API documentation.
9418 2001-09-03 17:43  simon
9420         * opcode_table:
9421         Since we specify the opcode number, we can rearrange to a more
9422         human-friendly ordering.
9424 2001-09-03 17:42  simon
9426         * basic_opcodes.c:
9427         Coupl'a logic bugs. (I think)
9429 2001-09-03 17:41  simon
9431         * string.c, string.h, strnative.c:
9432         Tidying up the string vtables.
9434 2001-09-03 17:38  simon
9436         * make_op_header.pl:
9437         Spit out the whole of op.h, not just the bit in the middle.
9439 2001-08-29 13:16  ask
9441         * README: it seems like we indeed can commit. What about sending
9442         commit mails?
9444 2001-08-29 13:07  simon
9446         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9447         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9448         global_setup.c, interpreter.c, interpreter.h, io.h,
9449         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9450         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9451         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9452         test.pbc, test_main.c, test_opcodes.c:
9453         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9454          I'm still working on the string stuff, though.
9456 2001-08-29 12:44  ask
9458         * README: update README with list address
9460 2001-08-29 12:36  ask
9462         * README: first readme.