* t/pmc/class.t:
[parrot.git] / ChangeLog
blob2fc984e0b424848c30f422ba8f0ef48b9047bb4d
1 #1 $Id$
3 2007.12.18    jonathan
4         * Released 0.5.1
5         See NEWS for more.
7 2007.11.20    chromatic
8         * Released 0.5.0
9         See News for more.
11 2007.10.17    coke
12         * Released 0.4.17
13         See NEWS for more.
15 2007.09.18    particle
16         * Released 0.4.16
17         See NEWS for more.
19 2007.08.22    pmichaud
20         * Released 0.4.15
21         See NEWS for more.
23 2007.07.17    particle
24         * Released 0.4.14
25         See NEWS for more.
27 2007.06.19    allison
28         * Released 0.4.13
29         See NEWS for more.
31 2007.05.15    chromatic
32         * Released 0.4.12
33         See NEWS for more.
35 2007.04.17    mdiep
36         * Released 0.4.11
37         See NEWS for more.
39 2007.03.20    coke
40         * Released 0.4.10
41         See NEWS for more.
43 2007.3.10     coke
44         * removed parakeet
46 2007.02.22    pmichaud
47         * Released 0.4.9
48         See NEWS for more.
50 2007.01.17    chromatic
51         * changed 'name' method on namespaces to 'get_name' per pdd21
53 2007.01.16    particle
54         * Released 0.4.8
55         See NEWS for more.
57 2006.12.12    particle
58         * added C<isnull> opcode
60 2006.11.14    chip
61         * Released 0.4.7
62         See NEWS for more.
64 2006.11.07      tewk
65         * added :init pragma functionality to subs
67 2006.10.28      jonathan
68         * added :vtable pragma functionality to subs
70 2006.09.18    chromatic
71         * added Parrot::Embed under ext/Parrot-Embed
73 2006.08.18    leo
74         * remove the None PMC - if needed it can trivially be reimplemented
75           in languages from r14189
77 2006.08.16    creiss
78         Merged Software Transactional Memory branch into trunk, adds:
79         * several new opcodes whose names start with stm_
80         * read-only PMC support
81         * several new PMC types (whose names start with STM*)
82         * support for threads (again)
84 2006.08.08    chip
85         * Released 0.4.6
86         See NEWS for more.
88 2006.08.02    chip
89         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
90         there are opcodes now that want the real "in PMC".
91         * namespace and global opcodes now accept name arrays again, as
92         well as keys; the corresponding namespace PMC methods are gone.
94 2006.07.21    leo
95         * Parrot_exit, Parrot_on_exit take now an Interp * argument
97 2006.07.25    chip
98         * add experimental op find_type_i_p
99         * fix longstanding bug that sometimes didn't encode pasm keys as
100         Key PMCs (specifically "[S0]" and "['stringliteral']").
102 2006.07.24    chip
103         further implementation of new pdd21:
104         * new opcodes {get,set}*global
105           (old {find,store}*global will be supported for a short while)
107 2006.07.20    audreyt
108         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
109           (or some such --leo) 
110           (at the moment code is checking for 2.0 -- ambs)
112 2006.07.17    chip
113         partial implementation of new pdd21:
114         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
115         * get_namespace and find_global opcodes no longer accept arrays
116           of strings.  To use arrays, call namespace object methods.
118 2006.06.19    leo
119         * Released 0.4.5
120         See NEWS for more.
122 2006.06.03    leo
123         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
125 2006.05.14    leo
126         * Released 0.4.4
127         See NEWS for more.
129 2006.04.30    bernhard
130         * Make the Perl PMCs dynamic and move them to src/dynpmc
132 2006.04.02    leo
133         * Released 0.4.3
134         See NEWS for more.
136 2006.03.06    leo
137         * Shifted argument type bits left by 2 according to r11754
138           change of docs/pdds/pdd03_calling_conventions.pod
139         * if you are creating PASM then code needs adjustment  
141 2006.02.22    leo
142         * Released 0.4.2
143         See NEWS for more.
145 2006.01.16    bernhard
146          * rename src/dynclasses to src/dynpmc 
147          * rename src/classes to src/pmc 
149 2006.01.15    leo
151          * find_global and friends returns a .Null PMC instead of .Undef on
152           lookup failure, iff lookup exceptions are off
154 2006.01.08    leo
155         * Released 0.4.1
156         See NEWS for more.
158 2005.12.28    particle
159         * renamed all .imc files to .pir
160         * modified all doc references to .pir as well
162 2005.12.13    particle
163         * moved jit/ directory to src/jit/
165 2005.12.12    particle
166         * moved io/ directory to src/io/
167         * moved classes/ directory to src/classes/
168         * moved dynclasses/ directory to src/dynclasses/
170 2005.12.08    particle
171         * moved types/ directory to src/types/
172         * moved pf/ directory to src/packfile/
173         * moved ops/ directory to src/ops/
175 2005.12.08    particle
176         * moved charset/ directory to src/charset/
177         * moved encodings/ directory to src/encodings/
179 2005.12.07    particle
180         * moved imcc/ directory to compilers/imcc/
182 2005.12.06    particle
183         * moved util/ directory to tools/util/
184         * removed imcc/examples/ directory
185         * moved ast/ directory to compilers/ast/
187 2005.12.05    particle
188         * moved imcc/docs/ directory to docs/imcc/
189         * moved build_tools/ directory to tools/build/
190         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
192 2005.12.04    leo
193         * Released 0.4.0
194         * See NEWS for changes
196 2005.11.06    leo
197         * Released 0.3.1
198         * See NEWS for changes
200 2005.10.01    leo
201         * Released 0.3.0
202         * See NEWS for changes
204 2005.08.05    leo
205         * Released 0.2.3
206         * See NEWS for changes
208 2005.07.03    leo
209         * Released 0.2.2
210         * See NEWS for changes
212 2005.06.04    leo
213         * Released 0.2.1
214         * allow short names for object attributes
215         * string encoding and charset can now be set independently
216         * experimental mmap IO layer for slurping files
217         * enable compile opcode support for compilers written in PASM/PIR
218         * improved HLL support with .HLL and n_operators pragmas
219         * simplified hash code
220         * more strength reduce optimizations
221         * distinct debug and trace flag settings
222         * glob support in PGE
223         * new character classification opcodes and interfaces
224         * numerous bug fixes and enhancements
226 2005-05-08    leo
227         * Released 0.2.0
228         * parrot repository is now under subversion
229         * MMD (Multi Method Dispatch) enhanced
230         * new unary and infix opcodes that return new result PMCs
231         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
232         * more unification of PMCs and ParrotObjects
233         * tailcalls for functions and methods
234         * PGE (Parrot Grammar Engine) reworked
235         * Pugs creates Parrot code and Pugs is a registered compiler now
236         * new languages/lisp
237         * the usual bug fixes and improvements
239 2005-03-06    leo
240         * Released 0.1.2
241         * big rewrite of string code, not yet finished but ...
242         * partial implementation of a generational garbage collector
243         * indirect register frame addressing
244         * .return(args) PIR syntax
245         * moved most of the Python code to dynclasses
246         * a lot more Python functionality
247         * precalculate opcodes with all constants
248         * PGE - Parrot Grammar Engine
249         * scalar classes refactoring
250         * much more tests and big test system cleanup
251         * improved documentation
252         * and as always a lot more
254 2004-10-09    leo
255         * Released 0.1.1
256         * Need Perl 5.6 now for building
257         * Basic AST support, PAST file parser, bits of code generation
258         * BigInt PMC using GMP
259         * Complex PMC
260         * Dynamic loading improved including bundles of PMC classes
261         * Experimental support for "make install"
262         * IA64 and hppa JIT support
263         * ICU unicode support
264         * IO layer handling code
265         * IO readline and buffered IO fixes
266         * Incremental GC
267         * Internal pythonic functions: filter, map, reduce, max, min ...
268         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
269         * Library updates, Stream and SDL library
270         * MMD - multi method dispatch for binary vtable methods
271         * Many new array PMCs
272         * Method call syntax in PIR obj."meth"(...)
273         * More OS stuff: stat, exec, system, gmtime, piped read and write
274         * New Python PMCs like Enumerate, None
275         * Non-branching compare opcodes
276         * PIR support for += and friends
277         * Python language subdir
278         * Python types mapped to existing PMCs
279         * Slices and range support
280         * Tons of bug fixes, documentation updates, new tests
281         * Win32 COFF exec support
282         * ... and a lot more
284 2004-02-29    leo
285         * Released 0.1.0
286         * "Ladies and gentlemen, I give you... objects!"
287         * Huge documentation overhaul
288         * More supported platforms, s. PLATFORMS
289         * Basic thread support for pthread based architectures
290         * Basic event handling for timers and signals including:
291         * PASM callbacks for NCI (native C) functions.
292         * Improved platform configuration
293         * COW stacks now working, stacks code redone
294         * Structure handling vastly improved
295         * Random PMC and rand primitives
296         * Better subroutine call syntax in PIR
297         * Make PIR subroutines compliant with pdd03
298         * Improved profiling (DOD, GC timings)
299         * Hash code improvements, incl. random key order support
300         * Experimental freeze/thaw code for some PMC types
301         * IO improvements for buffered layer and Win32
302         * String iterators
303         * String bitwise vtables
304         * Many new opcodes
305         * Support for JIT, where malloced memory isn't executable
306         * Priority DOD scheme for objects that need timely destruction
307         * Improved bytecode loading (e.g. onLoad functions)
308         * Language updates: forth, Perl6/P6C, m4
309         * Libraries: Getopt_Long, SDL, Dumper, Sort
310         * new JAPH examples
311         * Unified imcc and parrot test handling
312         * Many new tests (make test reports 1386 tests)
313         * Numerous bug fixes
316 2003-10-31    leo
317         * Released 0.0.13
318         * Yep thirteen - haunted by the ghost of 0.0.12
319         * Build imcc as parrot
320         * Objects more finished
321         * Delegate vtable methods to byte code
322         * Binary multi-method dispatching
323         * Isa and does methods for PMCs
324         * Call byte code from C
325         * Start of extension interface
326         * Experimental struct handling
327         * Catch access to NULL PMCs
328         * Experimental network socket interface code and opcodes
329         * IO fixes and improvements
330         * Dynamic opcode libraries
331         * Fix-assigned opcode numbers
332         * Argument flattening for function calls
333         * More native call interface (NCI) signatures
334         * Ncurses, postgres, and pcre interface libraries
335         * Forth language is vastly improved
336         * BSD and Win32 build improvements
337         * Many new tests and fixes
339 2003-10-22    melvin
340         * imcc moved from parrot/languages/ to parrot/
342 2003-09-20    sfink
344         * updated the native_pbc test files (from Leo)
345         * built 0.0.11.1 release tarball
347 2003-09-20    sfink
349         * CHANGES BUNDLED INTO 0.0.11:
350         * Executable output
351         * Dynamic PMC registration
352         * Trial exception system
353         * Beginnings of object system
354         * Iterators
355         * Ordered hashes
356         * I/O system improvements
357         * References
358         * Documentation for basic PMC types
359         * IMCC support of Parrot Calling Conventions
360         * Runtime loading of chartypes (and other string improvements)
361         * Conditional breakpoints
362         * Dramatically accelerated sweeps for finalizable objects
363         * Small PMCs (PMCs split into core and extensions)
364         * Loadable bytecode packfiles
365         * Constant PMCs
366         * Sub variants that deal with the stack correctly
367         * Switched runops core
368         * Line numbers in warnings
369         * Environment access
370         * Many documentation cleanups
371         * Conversion to CPS style!
372         * BASIC debugger and many other wacky features
373         * Filename, line number parsing support in IMCC
375 2003-07-21 17:31 chromatic
376         * applied copyright patch from Josh Wilmes
378 2003-06-14 13:50 dan
379         * Moved the registers out of the context structure, since they
380           really aren't context
381         * Changed the register stack frames to hold only 16 registers
382           rather than 32, added half-set push and pop ops, and reworked
383           the full set push/pops to do two half-set push/pops. Should
384           speed up saving register data on calls, since we usually only
385           care about the top half of the registers anyway.
386         * Started committing some of the new class/object framework
387         * Remembered to finally start updating the Changelog
389 2003-03-18 03:50  ask
391         * Various files
392           Update Yet Another copyright statements to reflect the (no longer
393           so) shiny new year.
395 2003-03-11 22:06  chip
397         * Configure.pl: print help on non-option command line args
399 2002-12-18 20:38  sfink: changes since 0.0.8
401         - Allow suppression of cgoto core to save memory during compile
402         * Native function calling interface
403         * Major rewrite of stack and list aggregates
404         - Scalar PMC added
405         * Scratchpads implemented
406         - Win32 libraries
407         - Internal memory subsystem documentation
408         * Preliminary DotGNU support
409         - Packfile fingerprinting
410         * Buffer/PMC unification (into PObjs)
411         * stabs debugging information support
412         * Major Jako overhaul, including:
413           - imcc integration
414           - native function calling
415         - Perl6 string interpolation
416         - languages/regex now targets IMCC
417         * Optional Lea memory allocator
418         * Full sprintf implementation
419         * Many, many new tests
420         * Miniparrot
421         - exchange ops
422         - runtime-controllable gc debugging
423         * PMC properties
424         - Crash info
425         * JIT: various improvements
426           - register usage tracking
427           - block register allocation
428           - optimizations
429           - more jitted ops
430           - restartable
431           - architecture abstraction layer
432           - debugging via GDB
433         * Beginning support for extensible packfiles
434         * Much better key support, generally
435         * splice()
436         * Restructured PMC hierarchy with better functionality inheritance
437         * IMCC: many, many improvements. See imcc/ChangeLog
438         * Perl6: index map grep join reverse defined
439         * Scheme with functions!
442 2002-03-19 22:54  nicholas
444         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
446          We can now get usage information for test_parrot without having to
447          grep the source.
449 2002-03-19 22:53  simon
451         * Configure.pl:
452         Parrot is called parrot.
454 2002-03-19 22:53  nicholas
456         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
458          1. There are tests in t/pmc as well as t/op now.
459          2. Adds a comment about Parrot::Test
461 2002-03-19 18:09  dan
463         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
464         messes up automated builds
466         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
468 2002-03-19 00:33  mrjoltcola
470         * core.ops: Doc cleanup from Simon Glover.
472 2002-03-18 23:52  mrjoltcola
474         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
476 2002-03-18 22:09  dan
478         * include/parrot/resources.h: Checked in old version
480 2002-03-18 20:17  dan
482         * include/parrot/resources.h: Forgot a prototype
484 2002-03-18 20:15  dan
486         * resources.c: D'oh! Thinko, fixed.
488         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
490 2002-03-18 17:33  josh
492         * Configure.pl: Lowering the bar a bit.
494 2002-03-18 17:33  sfink
496         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
497         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
498         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
499         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
500         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
501         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
502         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
503         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
504         t/example.t: Whoops, wrong time to check this in.
506 2002-03-18 16:42  dan
508         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
509         least we consider the PMC and Buffer free pools worth collecting,
510         and initialize the Buffer pool stuff.  Still not 100% correct,
511         though.
513 2002-03-18 15:35  simon
515         * packfile.c:
516         Fix format arg bug.
518 2002-03-18 07:45  brentdax
520         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
521         system.
523 2002-03-18 00:09  sfink
525         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
526         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
527         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
528         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
529         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
530         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
531         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
532         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
533         t/example.t: Buggy 1st version of regex compiler implementation.
534         Warning: the test code depends on features of the assembler that do
535         not yet exist.
537 2002-03-17 21:35  ajgough
539         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
540         through addition and subtraction.  Also added the ability to run
541         all the tests, including the ones which deal with overflow and
542         underflow.  These fail, but that's expected.  Soon they'll pass.
543         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
544         passsssssssings tesssstsssss.
546 2002-03-17 20:06  ajgough
548         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
549         check_(under|over)flow to test bignumbers, rather than values.
550         context now carries E_limit, from which max and min exp are found.
552         Added a default-context-creating function (although this isn't the
553         same as either of the default contexts defined in the eda).
555 2002-03-17 13:31  ajgough
557         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
558         exported version matches prototypes of other public functions.
560 2002-03-17 06:44  josh
562         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
563         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
564         last-minute re-indenting.
566 2002-03-17 05:07  mrjoltcola
568         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
570 2002-03-16 23:17  nicholas
572         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
573         remove warnings:
575          default.pmc: In function `Parrot_default_get_integer_keyed':
576          default.pmc:50: warning: control reaches end of non-void function
577          default.pmc: In function `Parrot_default_get_number_keyed':
578          default.pmc:58: warning: control reaches end of non-void function
579          default.pmc: In function `Parrot_default_get_string_keyed':
580          default.pmc:67: warning: control reaches end of non-void function
581          default.pmc: In function `Parrot_default_get_pmc_keyed':
582          default.pmc:87: warning: control reaches end of non-void function
584 2002-03-16 18:50  ajgough
586         * types/: bignum.c, bignum.h: Lots of prototypes changed in
587         readiness for nicely telling your caller about any oddness you've
588         caused in the persuit of flow.
590 2002-03-16 17:38  dan
592         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
593         include/parrot/interpreter.h, include/parrot/resources.h: Now we
594         can control the GC and DOD, to stop it when we don't really want
595         it.
597 2002-03-16 16:58  dan
599         * resources.c, vtable.tbl, classes/default.pmc,
600         include/parrot/resources.h: Added the last code to let PMCs control
601         their marking at DOD time
603 2002-03-16 16:57  ajgough
605         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
606         feel a little more virtuous now.  Really I do.  You might not
607         believe me, but you should.  perl -pne 's/\t/        /g', if you're
608         curious.
610 2002-03-16 16:57  josh
612         * packfile.c, packout.c: M-x untabify is my new friend.
614 2002-03-16 16:50  josh
616         * trace.c, resources.c: Minor whitespace tweak for the benefit of
617         check_source_standards.pl
619 2002-03-16 16:50  ajgough
621         * types/: bignum.c, bignum.h: More documentation, separate
622         functions into public and private sorts, some initial stuff to cope
623         with over and underflow correctly.
625 2002-03-16 16:49  josh
627         * resources.c: Re-indented (sorry bout the big diff)
629 2002-03-16 16:47  bdwheele
631         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
632         assemble again, both with Simon's new assembler and with the old
633         one.
635 2002-03-16 16:33  mrjoltcola
637         * io/TODO: Get the TODO up-to-date for 0.0.4.
639 2002-03-16 16:11  josh
641         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
642         silly people (such as me) running Configure with
643         /usr/local/bin/perl (which is 5.004_05) and not realising their
644         mistake until the pmc subdirectory, where the first qr// is
645         encountered.
647         Syntax error messages don't tell you what you did wrong. This does:
649         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
650         only version 5.00405, stopped at Configure.pl line 10.
652 2002-03-16 14:38  ajgough
654         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
655         with commenting.
657 2002-03-16 11:45  simon
659         * MANIFEST, examples/assembly/xml_parser.pasm:
660         Added Clint Pierce's XML parser.
662 2002-03-15 22:24  simon
664         * packout.c:
665         Don't need that function.
667 2002-03-15 21:56  simon
669         * Makefile.in, include/parrot/packfile.h:
670         Rebuild packout.o, since it'll be used for the Packfile XS module
672 2002-03-15 19:45  dan
674         * include/parrot/: memory.h, pmc.h: Another add-in for GC
676 2002-03-14 19:48  dan
678         * core.ops: No string to int for some reason
680 2002-03-14 18:45  dan
682         * string.c, t/op/string.t: Fix 0-length substr problem
684 2002-03-14 14:46  dan
686         * core.ops, interpreter.c, resources.c, classes/array.pmc,
687         classes/perlarray.pmc, examples/assembly/life.pasm,
688         include/parrot/interpreter.h, include/parrot/resources.h: Added in
689         a counter for copied memory, with a display in life.pasm
691 2002-03-14 03:16  mrjoltcola
693         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
695 2002-03-13 23:43  simon
697         * packfile.c:
698         Oops.
700 2002-03-13 23:43  simon
702         * packfile.c:
703         Hangs head in shame.
705 2002-03-13 21:31  simon
707         * MANIFEST:
708         FAQ moved.
710 2002-03-13 18:06  simon
712         * string.c:
714         Fix string_compare screw-up.
716 2002-03-13 18:02  brentdax
718         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
719         and add a new question/answer pair.
721 2002-03-12 22:53  mrjoltcola
723         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
725 2002-03-12 22:48  mrjoltcola
727         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
728         warranty provided.
730 2002-03-12 22:29  ajgough
732         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
734 2002-03-12 22:24  ajgough
736         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
737         version 1.1, Don't know if this is the correct number, but I don't
738         want this stuck on my harddrive where it will get lost, so 14 it is
739         :)
741 2002-03-12 11:35  simon
743         * MANIFEST, packdump.c, packout.c:
745         Just so the functionality doesn't disappear.
747 2002-03-12 11:33  simon
749         * Makefile.in, chartype.c, encoding.c, packfile.c,
750         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
751         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
752         include/parrot/chartype.h, include/parrot/encoding.h,
753         include/parrot/packfile.h:
755         Packfile axing.
757 2002-03-11 23:06  nicholas
759         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
761           Core.ops documentation nits
763 2002-03-11 23:05  nicholas
765         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
767           Most of the PerlUndef tests in pmc.t appear to have been added
768         twice.
769           Enclosed patch removes the duplicates.
771 2002-03-10 23:40  nicholas
773         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
775          More tests for the PerlString test-suite.
777 2002-03-10 23:40  nicholas
779         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
781         test for sleep with negative argument
783 2002-03-10 21:58  nicholas
785         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
787          Enclosed patch fixes up a few more holes in our test coverage.
789 2002-03-10 21:18  mrjoltcola
791         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
792         classes/parrotpointer.pmc, classes/perlarray.pmc,
793         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
794         classes/perlstring.pmc, classes/perlundef.pmc,
795         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
796         argument to the init() vtable method so PMCs have the option to
797         know how to size themselves at creation. size could be N elements
798         or a byte count, depending on the PMC or it may simply be ignored.
799         Overloaded 'new' opcode for optional arg.
801 2002-03-10 21:15  mrjoltcola
803         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
804         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
805         class).
807         Also added small hack for .sub directive (which simply translates
808         to a label, however we might eventually want to collect these to
809         validate bsr calls.
811 2002-03-10 15:09  ajgough
813         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
814         Added round_floor and round_ceiling.  3403 tests pass, none fail.
816 2002-03-10 03:56  ajgough
818         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
819         divide, divide integer and remainder.  All filled in functions now
820         have special values capability.
822         Much remains to be done though, and the pdd needs to catch up.
824 2002-03-10 01:36  ajgough
826         * types/bignum.c: Added extended stuff to _add, _subtract.
828 2002-03-10 00:14  nicholas
830         * t/op/: integer.t, number.t: Patch from Simon Glover
831         <scog@roe.ac.uk>:
833          The enclosed patch fixes a few of the holes in our test coverage
834          uncovered by Josh Wilmes
836 2002-03-09 23:03  ajgough
838         * types/: bignum.c, bignum.h: Modified compare to work with
839         extended values.  Made a couple of changes here and there to allow
840         BN_comp to take a context, so that an is_zero check doesn't clobber
841         negative zeros.
843 2002-03-09 22:19  ajgough
845         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
846         Unary plus now copes with special values.
848 2002-03-09 04:25  ajgough
850         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
851         traps and flags are now enabled and tested for all the standard
852         tests for all the functions which are currently implemented.  Test
853         harness faffed with to allow these to be tested.
855 2002-03-09 02:29  josh
857         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
858         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
859         Re-indented
861 2002-03-09 02:22  josh
863         * config_h.in: tab-blastin'
865 2002-03-09 02:21  josh
867         * check_source_standards.pl: Play nicer with M-x compile- don't
868         bother giving line numbers for things you don't want to look at.
870 2002-03-09 02:10  josh
872         * examples/mops/mops.c: re-indented
874 2002-03-09 02:07  josh
876         * classes/pmc2c.pl: Use the usual header so that we can detect the
877         autogeneratedness.
879 2002-03-09 02:05  josh
881         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
882         compiler warning
884 2002-03-09 01:59  josh
886         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
887         patch- re-indent io/*.c.
889 2002-03-09 01:52  ajgough
891         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
892         special values to the string conversion functions, some other
893         functions now need context (to let -0 pass through really_zero)
894         which have also been added.
896 2002-03-09 01:47  josh
898         * test_main.c: Re-indented.
900 2002-03-09 01:41  josh
902         * rx.c: killed a stray tab
904 2002-03-09 01:38  josh
906         * rx.c: Re-indented.
908 2002-03-09 01:36  josh
910         * misc.c: Oops, some tabs remained- cleaned up.
912 2002-03-09 01:31  josh
914         * misc.c: Re-indented (major patch, sorry)
916 2002-03-09 00:59  josh
918         * embed.c: Re-indented.
920 2002-03-08 23:08  simon
922         * MANIFEST, docs/pdds/pdd10_embedding.pod,
923         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
924         docs/pdds/pdd13_bytecode.pod:
925         Placeholder PDDs.
927 2002-03-08 21:12  ajgough
929         * include/parrot/string.h: Added private flags to string.h, mostly
930         so that other GCed stuff can also have its very own private flags.
932 2002-03-08 19:53  simon
934         * MANIFEST:
935         Great PDD Renaming
937 2002-03-08 19:41  robert
939         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
940         pdd6.pod, pdd7.pod: Renamed...
942 2002-03-08 18:51  simon
944         * MANIFEST, docs/pdds/pdd08_keys.pod:
945         Add keys PDD.
947 2002-03-08 18:20  ajgough
949         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
950         Introduced exception handlers and exception flags to context, will
951         allow support of extended standard.  Unified exception checking
952         mechanism (sort of) and made minimal changes to bulk of code to use
953         this.  Tests pass, I'm happy, and further changes will happen more
954         gradually.
956 2002-03-08 04:38  josh
958         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
959         tweaks.
961 2002-03-08 04:37  josh
963         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
965 2002-03-08 04:24  josh
967         * embed.c: A bit more re-indenting
969 2002-03-08 04:20  josh
971         * embed.c: Indenting fixes
973 2002-03-08 04:14  josh
975         * jit.c: Re-indented (run_indent.pl)
977 2002-03-08 03:36  josh
979         * ops2c.pl: Fix the line numbers which get reported while compiling
980         core_ops*.c
982 2002-03-08 03:22  josh
984         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
985         The variable "type" is set but never used.
987               opcode_t type;
989 2002-03-08 03:04  josh
991         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
992         io/io_unix.c: Clean up unused and set-but-not-referenced variables
993         noticed by the sgi compiler.
995 2002-03-08 03:02  josh
997         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
998         misc.c, Line = 417   The indicated type qualifier is meaningless on
999         cast type.
1002         (const char) 'f');
1003                                                                          ^
1005 2002-03-08 02:55  josh
1007         * Makefile.in: Clean up one of the object files it was missing
1009 2002-03-08 01:15  josh
1011         * include/parrot/interpreter.h: Fixes the following error (tcc):
1012         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1013         comma at end of list.
1015 2002-03-06 22:15  simon
1017         * stacks.c:
1018         Tidy up stack chunk allocation.
1020 2002-03-06 21:00  simon
1022         * interpreter.c:
1023         Create strings only once we've got string register heads set up.
1025 2002-03-06 20:31  simon
1027         * classes/perlarray.pmc:
1028         malloc(0) considered harmful.
1030 2002-03-06 20:24  simon
1032         * include/parrot/resources.h:
1033         I like it when Parrot compiles.
1035 2002-03-06 17:02  dan
1037         * classes/array.pmc: Changed over to data pointing to a Buffer.
1039 2002-03-06 15:45  dan
1041         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1042         packfile.c, pbc2c.pl, pdump.c, resources.c,
1043         include/parrot/interpreter.h, include/parrot/memory.h,
1044         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1045         and opcode_t > longs will now be even more suspect than what they
1046         were beforehand.  2) Feel free to bicker with names.  I don't think
1047         we've come to *any* sort of agreement with these, although we
1048         really, really, need to.  3) I forget the third thing.  4) But I
1049         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1050         ANSI C states that enums will fit within the smallest type (int or
1051         greater) that can hold the values. Is that actually correct, and
1052         does it state whether unsigned is preferred to signed for
1053         non-negative enums? 6) Since I'm no longer constrained by "three"
1054         or "quick", I'm going size_t happy for a lot of memory-related
1055         storage.  (That's good.  No sense wasting the size or performance
1056         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1057         a couple other internal things (like the GC stat counters, seen
1058         here).  Size and performance, again, and unpromotable to a bigint,
1059         so we know that we (theoretically) will wrap.  However, size_t
1060         isn't the best choice for the type.  (Not that there's anything
1061         wrong with size_t, just that it shouldn't be called size_t.)  Any
1062         thoughts?  I was thinking of just doing unsigned int, because,
1063         IIRC, int is usually the natural word size, and will be most
1064         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1065         of was while writing down the others.  Sorry.
1067         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1069 2002-03-06 15:26  dan
1071         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1072         include/parrot/resources.h: Now we allocate generic Buffers from
1073         arenas too
1075 2002-03-05 21:42  brentdax
1077         * Configure.pl: Minor cleanup and enhancements.
1079 2002-03-05 21:25  dan
1081         * resources.c: non-special GC now works with PMCs
1083 2002-03-05 19:48  brentdax
1085         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1086         Parrot now "knows" if it's a development version or a release
1087         version.  See the instructions in the DEVELOPING file.
1089 2002-03-05 18:05  brentdax
1091         * MANIFEST: pasm.vim wasn't in the manifest.
1093 2002-03-05 17:57  simon
1095         * Makefile.in:
1096         Now, through much evilness, make distclean and make cvsclean work
1097         again.
1099 2002-03-05 17:38  dan
1101         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1102         include/parrot/interpreter.h, include/parrot/pmc.h,
1103         include/parrot/resources.h: PMC tracing complete
1105 2002-03-05 16:28  gregor
1107         * languages/jako/Makefile.in:
1108         Changed -I ../../ to -I ../../lib when calling the assembler, since
1109         the perl modules have moved.
1111 2002-03-05 05:30  josh
1113         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1114         string.c: More re-indenting via run_indent.pl.
1116 2002-03-05 05:17  josh
1118         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1119         run_indent.pl)
1121 2002-03-05 04:26  josh
1123         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1124         using run_indent.pl and some minor tweaking.
1126 2002-03-05 04:21  josh
1128         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1129         interpreter.c: Re-indented using run_indent.pl and some minor
1130         tweaking.
1132 2002-03-05 03:30  josh
1134         * include/parrot/trace.h: These functions are no longer used (or
1135         even implemented)
1137 2002-03-04 18:21  josh
1139         * include/parrot/trace.h: Fix a typo in the argument type.
1141         Patch from <daniel.ritz@gmx.ch>
1143 2002-03-04 03:39  josh
1145         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1146         header to jit_struct.h so we don't try to check it for conformance.
1147          (no way will it conform)
1149 2002-03-04 03:38  josh
1151         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1152         unicode.h, warnings.h: Remove some remaining tabs and split some of
1153         the remaining long lines.
1155 2002-03-04 03:17  josh
1157         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1158         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1159         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1160         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1161         string_funcs.h, trace.h, warnings.h: This is the first batch of
1162         re-indenting.   This patch is the result of running run_indent.pl
1163         on the header files and manually tweaking the results where errors
1164         were noticed.   This should get us closed, but some refinement may
1165         follow.
1167 2002-03-04 03:06  josh
1169         * resources.c: Return without parens, as mentioned in PDD 7
1171 2002-03-04 03:01  josh
1173         * core.ops: POD fixes.
1175 2002-03-04 02:58  josh
1177         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1178         on autogenerated files- used by the check_source_standards.pl
1179         script (for now) to exempt autogenerated files from the checks.
1181 2002-03-04 02:51  josh
1183         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1184         warnings.c: Added the editor "boilerplate" footer to a few files
1185         which were missing it.
1187 2002-03-04 02:34  josh
1189         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1190         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1191         c preprocessor directive indentation to comply with pdd 7.
1193         (also fixes the check for this indentation in
1194         check_source_standards.pl)
1196 2002-03-04 02:32  josh
1198         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1199         irix.
1201         perl t/harness t/op/basic..........Use of uninitialized value at
1202         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1203         line 6) #          got: undef #     expected: ''
1205 2002-03-04 02:30  josh
1207         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1208         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1209         "indent" program to enforce some of the code style standards
1210         outlined in PDD 7.
1212         Usage: ./run_indent.pl <file>
1214 2002-03-03 19:04  simon
1216         * examples/mops/mops.c:
1217         Let's make it compile, huh?
1219 2002-03-03 19:04  simon
1221         * examples/mops/mops.cs:
1222         I R AN IDIOT
1224 2002-03-03 18:11  simon
1226         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1227         Added C# and MS-IL versions of mops tester.
1229 2002-03-03 14:52  simon
1231         * core.ops:
1232         Add a sub() op to make mops_p work.
1234 2002-03-02 18:12  nicholas
1236         * examples/mops/mops.c, include/parrot/embed.h,
1237         include/parrot/interp_guts.h, include/parrot/jit.h,
1238         include/parrot/misc.h, include/parrot/packfile.h,
1239         include/parrot/rx.h, include/parrot/warnings.h,
1240         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1241         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1242         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1243         indent variables correctly.
1245 2002-03-02 17:41  nicholas
1247         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1248         patch to fix a compiler warning.
1250 2002-03-01 22:35  dan
1252         * memory.c, resources.c, include/parrot/pmc.h,
1253         include/parrot/resources.h: PMCs now come out of arenas.
1255 2002-03-01 06:15  dan
1257         * string.c:
1258         A non-existing buffer + a non-existing buffer should be a
1259         non-existing buffer, not "", which is really '\0'.
1261         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1263 2002-03-01 06:02  dan
1265         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1267         TMTOWTDI, but strcmp is probably the worse.
1269         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1271 2002-03-01 02:32  brentdax
1273         * embed.c: Debug mode now prints out the GC data.
1275 2002-02-28 23:44  dan
1277         * core.ops, resources.c, include/parrot/resources.h: Added collect
1278         and sweep opcodes
1280 2002-02-28 22:58  dan
1282         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1283         opcode
1285 2002-02-28 22:50  dan
1287         * core.ops, interpreter.c, resources.c,
1288         examples/assembly/life.pasm, include/parrot/interpreter.h,
1289         include/parrot/resources.h: Add some stat gathering to the resource
1290         allocation code.
1292         Also add an interpreter info retrieval op, and teach it about the
1293         different things it can retrieve.
1295         Finally, add some stat info to life.pasm as an example
1297 2002-02-28 21:27  dan
1299         * editor/pasm.vim: VIM mode commands for parrot assembly files
1301         Courtesy of Scott Beck <scott@gossamer-threads.com>
1303 2002-02-28 19:20  dan
1305         * examples/assembly/life.pasm: Fix a creeping string length leak.
1307         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1309 2002-02-28 18:26  dan
1311         * string.c: When you clone a constant, it ain't constant no mo'.
1313         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1315 2002-02-28 00:51  dan
1317         * MANIFEST: Add missing files
1319         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1321 2002-02-28 00:49  dan
1323         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1324         CVS seems to have several chunks missing out of it, too.  This
1325         patch is simply an administrative patch, with the differences
1326         between my last version, and the one currently in there.  There
1327         will be a forthcoming patch for some minor tweaking to the PDD, but
1328         I wanted a common baseline before I make any (potential) semantic
1329         changes.
1331         There's only one semi-major change, which noone needs to worry
1332         about just yet.  That's a change from PDD Format 1 to PDD Format
1333         6.0 - rationale can be found under 'Standard (Version #)' of the
1334         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1335         should be 6.0.0, and we need to discuss Perl versus Parrot with
1336         PDDs.
1338         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1340 2002-02-28 00:27  dan
1342         * packfile.c, resources.c, examples/assembly/life.pasm,
1343         include/parrot/register.h, include/parrot/resources.h,
1344         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1345         no PMCs yet)
1347         This patch now implements a real copying collector. We trace from
1348         our root set and compact the contents of Buffer structs.
1350         Todo:
1352         *) It's very STRING-centric and doesn't handle memory stuffed in
1353         Buffers.  But, then, we don't have pool allocation for Buffers
1354         either, and we need to have that soonish for this to work.
1356         *) Doesn't trace PMCs, so if you trigger a collection and there's
1357         memory or STRING structs only accessible from PMCs, you'll fail
1358         horribly. That needs fixing too
1360         *) Better algorithms for when to trace or collect vs when to just
1361         go allocate more memory from the system. Should probably be more
1362         cache friendly too.
1364 2002-02-27 21:04  dan
1366         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1367         examples/assembly/life.pasm, include/parrot/resources.h,
1368         include/parrot/string.h, include/parrot/string_funcs.h,
1369         jit/i386/core.jit: Start of GC in
1371 2002-02-26 16:41  dan
1373         * jit/i386/string.jit: Fix a typo
1375         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1377 2002-02-26 16:37  dan
1379         * interpreter.c: Fix solaris test failures
1381         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1383 2002-02-26 16:36  dan
1385         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1386         unicode.h, warnings.h: Fixes various warts in header files, such
1387         as: * macros   -added parens to prevent problems with operator
1388         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1389         is no longer used * added some more INLINE definitions for MSVC and
1390         C99 compilers
1392         Courtesy of Brian Lee Ray <blray@ualr.edu>
1394 2002-02-26 16:20  dan
1396         * Configure.pl: Turns out we were using a warning flag which
1397         doesn't exist on 2.7.  Simple tweak though:
1399         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1401 2002-02-25 22:58  dan
1403         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1405 2002-02-25 17:36  dan
1407         * include/parrot/pmc.h: Fix the bits
1409 2002-02-23 21:57  dan
1411         * include/parrot/resources.h: Another 1.5% never hurts
1413 2002-02-23 21:44  dan
1415         * global_setup.c, memory.c, resources.c, string.c,
1416         include/parrot/resources.h: Allocate STRING headers from an arena
1417         with freelist rather than with the system malloc. First step in a
1418         good (or even a bad) GC system.
1420 2002-02-23 20:37  brentdax
1422         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1424 2002-02-22 14:59  ajgough
1426         * types/bignum.c: BN_multiply split into BN_multiply and
1427         BN_imultiply, the internal version to be used by idivide so that
1428         rounding isn't performed during intermediate stages of division.
1430         following test scripts now all pass: divide divideint add multiply
1431         subtract remainder compare rounding plus minus (these are all the
1432         operations currently implemented, rescale and power must still be
1433         written, so don't pass right now).
1435 2002-02-22 13:13  ajgough
1437         * types/bignum_atest.pl: Test harness modified to understand
1438         comments better, and be able to run unary (and rounding) tests.
1439         Currently a few rounding tests fail, which are being investigated.
1441 2002-02-22 01:41  dan
1443         * key.c: Although there's more work being done on the key stuff and
1444         this isn't the final fix, applying this patch does get parrot to
1445         build with two more compilers, so it's probably worthwhile.
1447         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1449 2002-02-22 00:53  dan
1451         * config_h.in, misc.c, include/parrot/embed.h,
1452         include/parrot/exceptions.h, include/parrot/interpreter.h,
1453         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1454         include/parrot/resources.h, include/parrot/rx.h,
1455         include/parrot/string.h, include/parrot/unicode.h,
1456         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1457         io/io_win32.c: Fixes the following (lcc) warnings:
1459           - interpreter.c:470: warning: expression with no effect elided
1460                (related to the way warnings flags were defined)
1462           - misc.c:352: warning: unreachable code
1463             misc.c:483: warning: unreachable code
1464                (i introduced these with some overzealous de-linting)
1466           - numerous warnings like this:
1467             io/io_unix.c:383: warning: conversion from pointer to void' to
1468         pointer to
1469             pointer to struct _ParrotIO function(pointer to struct
1470         Parrot_Interp,pointer
1471             to struct _ParrotIOLayer,pointer to const char,pointer to const
1472         char,pointer
1473             to pointer to void)' is compiler dependent
1475         Fixes the following nits:    - remove bad indenting (tabs) in the
1476         includes
1478         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1480 2002-02-21 21:12  ajgough
1482         * types/: bignum.c, bignum.h: These might look like massive
1483         changes, but really it's just he imposition of coding standards.
1484         The file still isn't entirely compliant, but is now much more so.
1486         Also changed:
1488          o a few more comments
1489          o BN_compare uses internal BN_comp to compare
1490          o lost_digits behaviour is now correct (test harness modified to
1491         test
1492            this).
1494         All binary functions now pass all the tests in the basic standard.
1495         Unary functions not yet tested, will be soon.
1497 2002-02-21 18:20  dan
1499         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1500         was no longer needed, and the ssize_t thing really shouldn't be
1501         needed either.
1503         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1505 2002-02-21 18:15  dan
1507         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1508         include/parrot/parrot.h: this patch adds support for the freely
1509         available borland c++ 5.5.1 compiler
1511         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1512         working borland compiler (compiler must know where to find headers
1513         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1514         cc='cl.exe' - a working make utility (borland make doesn't work,
1515         nmake does)
1517         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1518         hints/mswin32.pl - remove a space from Configure.pl (very very
1519         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1520         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1521         (win32 knows it, linux not)
1523         and the why: - parrot is MUCH faster when compiled with borland c
1524         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1525         seconds
1527         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1529 2002-02-21 18:09  dan
1531         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1532         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1533         cuddled elses, as required by PDD 7.
1535         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1537 2002-02-21 18:04  dan
1539         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1540         a new Makefile target called "check_source".  This target scans all
1541         the .c and .h files in the directory and checks for conformance to
1542         a number of the standards outlined in PDD 7.
1544         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1546 2002-02-21 16:38  ajgough
1548         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1549         allow arithmetic with numbers with a fixed fractional part, buffer
1550         structures now more ready to be integrated into the parrot memory
1551         allocation game, test harness modified to allow lost_digits
1552         condition to be checked.  Some more comments.
1554 2002-02-21 15:53  simon
1556         * io/io_unix.c:
1557         Fix typo
1559         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1561 2002-02-20 16:41  dan
1563         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1565 2002-02-18 18:25  dan
1567         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1569         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1571 2002-02-18 18:21  dan
1573         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1574         CPrederef.pm to make to generated code compile with the MS
1575         compiler.
1577         fixes: - ms compiler allows inline only for c++, for c there's
1578         __inline - ms header files knows nothing about ssize_t
1580         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1582 2002-02-18 17:49  dan
1584         * MANIFEST: Add the PDDs
1586 2002-02-18 17:47  dan
1588         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1589         coding standards PDD.
1591 2002-02-18 17:40  dan
1593         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1595 2002-02-18 12:41  gregor
1597         * test_main.c:
1598         Remove warning about exit() not being declared.
1600 2002-02-18 08:29  simon
1602         * misc.c, warnings.c, include/parrot/misc.h,
1603         include/parrot/warnings.h:
1604         This patch adds some missing const's to silence a number of gcc
1605         warnings.
1607         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1609 2002-02-18 08:26  simon
1611         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1612         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1613         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1614         include/parrot/parrot.h, include/parrot/rx.h,
1615         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1616         lib/Parrot/OpTrans/CPrederef.pm:
1617            - add makefile target and script to test for external libc
1618         dependencies
1619            - fix return values in hash and array PMCs (returning 0 in a
1620         void func)
1621            - remove unnecessary data pointer <=> function pointer
1622         conversions
1623              outside of the JIT code.
1624            - move the definition of the "INLINE" macro out of the rx header
1625         and make
1626              available for general use on C++ compilers and gcc.
1627            - remove a few unused variables
1629         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1631 2002-02-17 16:29  simon
1633         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1634         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1635         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1636         We're organised and responsible. Honest.
1638 2002-02-17 02:46  sfink
1640         * Makefile.in: Remove $^ for nmake compatibility.
1642 2002-02-16 09:20  brentdax
1644         * config_h.in, test_main.c, include/parrot/chartype.h,
1645         include/parrot/embed.h, include/parrot/encoding.h,
1646         include/parrot/string.h, include/parrot/string_funcs.h: Better
1647         embedding exposure and hiding, part 1.
1649 2002-02-16 04:38  dan
1651         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1652         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1653         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1654         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1655         typecasts in various places throughout the code. It probably won't
1656         work for Windows yet. The libparrot.a target might need to be
1657         modified to at least prevent it from confusing make on Windows; I
1658         don't know.
1660         Preliminary instructions for using pbc2c.pl are in
1661         docs/running.pod.  I'll try to do better later.
1663         Courtesy of Steve Fink <steve@fink.com>
1665 2002-02-16 04:15  dan
1667         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1669         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1671 2002-02-16 00:03  simon
1673         * classes/: perlarray.pmc, perlhash.pmc:
1675         pmc is already defined!
1677 2002-02-15 23:20  brentdax
1679         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1680         include/parrot/exceptions.h: Far more informative panic messages.
1682 2002-02-15 03:24  dan
1684         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1685         much more extensive patch that fixes it to work properly, and
1686         deletes a bazillion casts as well.  It also points to the question
1687         "can we make the byte_code be an opcode_t* already?"
1689         Oh, and it makes some of the formatting prettier, so it's gotta be
1690         good.
1692         Courtesy of * Steve Fink <steve@fink.com>
1694 2002-02-15 02:30  dan
1696         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1697         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1698         of the things it finds.  Attaching the patch as well as the current
1699         lint output.
1701         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1703 2002-02-15 01:59  dan
1705         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1706         moment.
1708 2002-02-15 01:48  dan
1710         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1712 2002-02-15 01:40  dan
1714         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1715         things
1717 2002-02-14 23:30  dan
1719         * resources.c: Added comment for buffer tag routine. D'oh!
1721 2002-02-14 23:28  dan
1723         * resources.c, include/parrot/resources.h: Added buffer mark
1724         routine for GC
1726 2002-02-14 23:17  dan
1728         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1729         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1730         Rejigged memory system a bit. Now should be ready for the horror
1731         that is garbage collection.
1733 2002-02-14 19:33  gregor
1735         * ops2c.pl, include/parrot/oplib.h:
1736         Added code to automatically generate a function within an oplib to
1737         lookup opinfos given the op name. This will come in handy in future
1738         when we want to twiddle opcode tables at run time and possibly at
1739         startup time.
1741 2002-02-14 19:25  gregor
1743         * examples/assembly/queens.pasm:
1744         Regenerated queens.pasm from queens.jako since the clone_* stuff
1745         went away.
1747 2002-02-14 17:12  dan
1749         * resources.c, include/parrot/resources.h: Finished up the
1750         interface for memory and tracked interpreter thingies.
1752 2002-02-14 16:53  dan
1754         * memory.c, include/parrot/memory.h: intercept free and realloc
1756 2002-02-14 05:53  dan
1758         * interpreter.c, runops_cores.c: The type changes in struct
1759         Packfile break the pointer math used in a few places to calculate
1760         the address of the end of the loaded byte code. This causes
1761         segfaults in build_asm in jit.c when using -j. It also breaks the
1762         bounds checking on opcode address in runops_slow_core.
1764         The patch adds the necessary cast to correct the code_end
1765         calculations.
1767         Courtesy of Jason Gloudon <perl@gloudon.com>
1769 2002-02-14 01:01  ajgough
1771         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1772         BigInt operations (I think), tests for normal operation continue to
1773         pass.  Also a shed load of comments.
1775 2002-02-13 01:34  ajgough
1777         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1778         is a (mostly) working bignumber library.  There remains much work
1779         to do though, some functions are not yet implemented and headers
1780         need to find their way to the correct place RSN.  Also support for
1781         bigints and a sensible error reporting mechanism are needed.
1783 2002-02-12 18:51  dan
1785         * misc.c: Fix some warnings
1787 2002-02-12 17:10  dan
1789         * misc.c: Run through indent -kr -nce so I can read it
1791 2002-02-12 16:49  dan
1793         * misc.c: Need standard header/footer comments
1795 2002-02-11 20:32  simon
1797         * classes/array.pmc:
1798         get and set pmc methods.
1800 2002-02-11 20:19  simon
1802         * classes/array.pmc:
1803         Maybe the keys aren't integer...
1805 2002-02-11 20:03  simon
1807         * core.ops, vtable.tbl, classes/default.pmc:
1808         {g,s}et_pmc_keyed
1810 2002-02-11 19:07  simon
1812         * vtable.tbl, classes/default.pmc:
1813         Add set_pmc. Usee with caution.
1815 2002-02-11 18:20  dan
1817         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1818         compile
1820 2002-02-11 17:59  simon
1822         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1823         classes/perlarray.pmc, classes/perlhash.pmc:
1824         Make it compile.
1826 2002-02-11 17:57  simon
1828         * packfile.c, include/parrot/packfile.h:
1829         Reduce warnings
1831         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1833 2002-02-11 17:55  dan
1835         * docs/parrot_assembly.pod: Document some key ops
1837 2002-02-11 09:20  brentdax
1839         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1840         disgustingly easy.
1842 2002-02-11 00:34  simon
1844         * core.ops, include/parrot/exceptions.h:
1845         This is what keyed set ops look like. Remember, however, that for
1846         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1847         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1848         obviously ambiguous that you ought to use the 4-arg version
1849         instead.
1851 2002-02-10 23:12  jgoff
1853         * classes/: array.pmc, perlarray.pmc: Properly allocate
1854         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1855         isn't tested yet, but should be fairly straightforward.  PerlHash
1856         needs to be finished before the system will compile again, and that
1857         should be done in the next few days.
1859 2002-02-09 04:46  jgoff
1861         * classes/: array.pmc, default.pmc, intqueue.pmc,
1862         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1863         Added basic _keyed member functions.  Unfortunately this still
1864         doesn't fix the problems that are causing the build to break. It's
1865         a start though. I'm not implementing the PMC add functions just
1866         yet.
1868 2002-02-08 15:59  simon
1870         * classes/array.pmc:
1871         Some more work on getting the array stuff up to date.
1873 2002-02-08 12:23  simon
1875         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1876         lib/Parrot/Vtable.pm:
1877         Got array->get_integer_keyed doing what I think it ought to. One
1878         down, all the rest to go.
1880 2002-02-08 11:47  simon
1882         * vtable.tbl:
1883         Although I didn't intend it to be quite that broken...
1885 2002-02-08 11:42  simon
1887         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1888         Completely break Parrot, but at least we get the key stuff right
1889         for now.
1891 2002-02-08 06:25  dan
1893         * hints/darwin.pl: Silences the warning about passing in
1894         -flat_namespace to the compile.  That's a link-only flag.
1896 2002-02-08 04:52  jgoff
1898         * classes/: array.pmc, default.pmc, intqueue.pmc,
1899         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1900         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1901         return values in *.pmc, added some missing casts to the repeat_foo
1902         members, and deleted the _index members from the perlscalar
1903         classes.  Basic cleanup, and getting ready for _keyed functions.
1905 2002-02-07 04:49  mrjoltcola
1907         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1908         added a nested subroutine call.
1910 2002-02-07 04:32  jgoff
1912         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1913         changes in order to give the whitespace rules a little workout, and
1914         do a little bit more testing. No actual structural changes were
1915         made.  lib/Parrot/Vtable.pm got an interface change, and more
1916         importantly should be ready to support the new '_keyed' attribute,
1917         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1918         src_value' followed by 'KEY* src_key'.  This will be how the new
1919         _keyed operators will function, and those should be written within
1920         a few days.
1922 2002-02-06 18:00  doughera
1924         * misc.c: Change C++-style comments to C comments (again).  Remove
1925         unused perl5 code that was in #if 0/#endif.
1927 2002-02-06 17:59  doughera
1929         * warnings.c: Add trailing newline.
1931 2002-02-06 04:14  mrjoltcola
1933         * include/parrot/io.h, io/io.c: Minor cleanup.
1935 2002-02-06 03:11  mrjoltcola
1937         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
1938         couple of loose end in win32 IO stuff. Open behaves now but needs
1939         more work.
1941 2002-02-05 21:02  brentdax
1943         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
1944         which showed up in Purify builds.
1946 2002-02-05 17:15  simon
1948         * misc.c:
1949         Warning fixes.
1951         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
1953 2002-02-05 17:08  doughera
1955         * misc.c: Avoid C++-style comments.
1957 2002-02-05 17:07  doughera
1959         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
1960         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
1961         thanks to Jason Gloudon <perl@gloudon.com>.
1963 2002-02-05 14:04  simon
1965         * misc.c:
1966         Make the problem different, perhaps even better.
1968 2002-02-05 13:49  simon
1970         * misc.c:
1971         Possibly fix a `short int' is promoted to `int' when passed through
1972         `...' scary error, possibly make things absolutely worse.
1974 2002-02-05 13:15  simon
1976         * Configure.pl:
1977         Placate Tru64.
1979 2002-02-05 13:12  simon
1981         * warnings.c:
1982         Not going to get far without this one...
1984 2002-02-05 11:41  simon
1986         * string.c:
1987         Don't barf when handed null pointers.
1989 2002-02-05 10:04  simon
1991         * misc.c, include/parrot/misc.h:
1992         Fix some trivial bugs in warnings code.
1994 2002-02-05 09:27  simon
1996         * misc.c:
1997         Oops, forgot this one; also added %P support.
1999 2002-02-05 09:20  simon
2001         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2002         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2003         include/parrot/interpreter.h, include/parrot/misc.h,
2004         include/parrot/parrot.h, include/parrot/warnings.h:
2005         Warnings support.
2007         Courtesy of: Brent Dax <brentdax@cpan.org>
2009 2002-02-05 05:41  jgoff
2011         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2012         format of vtable.tbl to get rid of the tab-dependence.  The format
2013         now looks roughly like this:
2015         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2016         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2017         assumed here, but note the C-like prototyping.  Also had to disable
2018         one test that depended upon 'concat_p_p_s', which isn't necessary
2019         anyway.
2021         Vtable.pm will change again when the type '_keyed' is added,
2022         because that requires remapping parameters slightly differently
2023         again.  Also, note that it assumes 'value' is the first parameter
2024         in the list. This assumption will go away at the same time.
2026 2002-02-04 16:57  ajgough
2028         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2029         functions.  Thanks to Simon Glover.
2031 2002-02-04 02:47  ajgough
2033         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2034         needed.  I suspect that the entire hints file isn't really needed,
2035         but there's no one to actually tell us this.
2037 2002-02-02 15:45  ask
2039         * docs/ParrotFAQ.htm: fix internal links
2041 2002-02-02 04:06  jgoff
2043         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2044         Moving the internal KEY structure from the cache.struct_val member,
2045         where it doesn't really belong, to the internal SELF->data member.
2046         This frees up the cache/type members for other usage.
2048         This is the first step in moving PMCs to the point where we can do
2049         multidimensional PMC handles. The next step is to change the
2050         assembler to accept the syntax of 'set P0["foo"],7'.
2052 2002-02-02 00:13  nicholas
2054         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2055         prototype Parrot_Array_class_init
2057 2002-02-02 00:13  nicholas
2059         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2060         time to sum_time to avoid warning on FreeBSD about tracking a
2061         global [No, this warning does not appear on Linux. Yes, it is real
2062         :-)]
2064 2002-02-01 23:02  nicholas
2066         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2067         Glover
2069 2002-02-01 20:20  nicholas
2071         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2073 2002-02-01 18:20  nicholas
2075         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2076         you
2078 2002-02-01 13:22  nicholas
2080         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2082 2002-02-01 12:19  simon
2084         * core.ops, t/op/ifunless.t, t/op/integer.t:
2085         Added "unless" op.
2087 2002-02-01 12:11  simon
2089         * lib/Parrot/Test.pm:
2090         Remove a warning.
2092 2002-02-01 01:38  nicholas
2094         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2095         and a manitest target to Makefile.in that lets one test the
2096         manifest.
2098 2002-02-01 00:03  dan
2100         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2101         PMC dynaloading
2103 2002-01-31 21:46  gregor
2105         * Configure.pl, Makefile.in, hints/mswin32.pl:
2106         A few more things are now configable, so we are closer to win32
2107         shared library builds. Not there yet, but closer.
2109 2002-01-31 21:00  dan
2111         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2112         include/parrot/pmc.h: First step in dynamically loading PMC classes
2114 2002-01-31 19:38  dan
2116         * Makefile.in: Dependencies in the Makefile are currently too broad
2117         brush.  I don't enjoy waiting for everything to recompile every
2118         time I try to tweak the jit. The only file that #includes
2119         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2120         should reflect this, and not cause a gratuitous recompile of
2121         everything.  There are probably other auto-generated header files
2122         that world+dog should not depend on.
2124         Courtesy of  Nicholas Clark <nick@unfortu.net>
2126 2002-01-31 19:03  gregor
2128         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2129         Added two new make targets:
2131           * testp: Like 'make test', but passes -P to t/harness, so you get
2132         to
2133             see how broken predereferencing is.
2135           * testj: Like 'make test', but passes -j to t/harness, so you get
2136         to
2137             see how broken JIT is.
2139         Now, anyone who wants to see how good all three ways of running are
2140         can do so, at the cost of about 3x the time.
2142 2002-01-31 17:09  brentdax
2144         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2146 2002-01-31 03:41  grunblatt
2148         * docs/jit.pod: Update jit.pod
2150 2002-01-31 03:20  grunblatt
2152         * jit/i386/core.jit: Hold this until we get an assemble tool,
2153         because of the different objdump problems.
2155 2002-01-31 03:13  grunblatt
2157         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2158         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2159         of: Jason Gloudon <perl@gloudon.com>
2161 2002-01-31 02:22  grunblatt
2163         * jit/i386/core.jit: Continue if the register is null
2165 2002-01-30 23:50  grunblatt
2167         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2168         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2169         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2170         specific file.
2172 2002-01-30 23:35  mrjoltcola
2174         * io/io_win32.c: Change implementation of isatty on win32,
2175         suggested by Hong Zhang.
2177 2002-01-30 23:19  sfink
2179         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2180         Op::may_jump boolean method.
2182         Replaced jit2h's hardcoded pattern match to decide what ops might
2183         change the control flow.
2185 2002-01-30 22:13  dan
2187         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2188         parrot to mostly-build with tcc.  It allows one to skip compiling
2189         the JIT stuff (by specifying --define jitcapable=0), and it
2190         introduces a test program which gives a friendlier error in this
2191         case for compilers which are as picky as tcc is about function
2192         pointer conversion.
2194         If anyone figures out the proper way to cast these function
2195         pointers this may not be necessary.
2197         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2199 2002-01-30 20:54  dan
2201         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2202         Here's an update to docs/running.pod to better reflect the current
2203         state (both the test_parrot and assemble.pl improvements, plus
2204         documentation of a few more things.) And also a speling fiks
2205         s/POST_MORTERM/POST_MORTEM/.
2207         I could also replace some "perl foo" calls with "./foo" if someone
2208         wanted to set the executable flag in CVS on assemble.pl,
2209         optimize.pl, etc.
2211         Courtesy of Steve Fink <steve@fink.com>
2213 2002-01-30 20:43  dan
2215         * core.ops: find_global doesn't work, so stub out the wrong code
2217 2002-01-30 19:08  dan
2219         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2220         that perldoc
2221          can read it and just tidies it up generally. It also adds
2222         documentation
2223          for the constantize_integer and constantize_number functions.
2225         Courtesy of Simon Glover <scog@roe.ac.uk>
2227 2002-01-30 18:02  dan
2229         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2230         classes/genclass.pl, classes/pmc2c.pl,
2231         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2232         distribution (including assemble.pl !)
2233          can no longer find the Parrot::* modules. Enclosed patch fixes
2234         (although
2235          it would be nice if there were an easier way to do this).
2237         Courtesy of  Simon Glover <scog@roe.ac.uk>
2239 2002-01-30 16:00  mrjoltcola
2241         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2242         types.
2244 2002-01-30 15:50  mrjoltcola
2246         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2248 2002-01-30 15:42  grunblatt
2250         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2251         files around
2253 2002-01-30 15:38  grunblatt
2255         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2256         the manifest,  and also puts it back into alphabetical order.
2258         Courtesy of: Simon Glover <scog@roe.ac.uk>
2260 2002-01-30 14:41  nicholas
2262         * embed.c: Patch from Simon Glover to clean up warnings where
2263         prototype is () not (void)
2265 2002-01-30 13:54  nicholas
2267         * include/parrot/embed.h, test_main.c: Add void as an explicit
2268         parameter in test_main.c's usage(), version(void) and embed.h's
2269         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2270         warning: function declaration isn't a prototype
2272 2002-01-30 12:08  simon
2274         * lib/Parrot/.cvsignore:
2275         Ignore generated Perl modules.
2277 2002-01-30 12:07  simon
2279         * t/harness:
2280         Run the PMC tests as well.
2282 2002-01-30 12:04  simon
2284         * MANIFEST:
2285         Fix MANIFEST after recent t/pmc rejig.
2287 2002-01-30 11:42  simon
2289         * lib/Parrot/Test.pm:
2290         Report non-zero exit codes.
2292         Courtesy of: Michael G Schwern <schwern@pobox.com>
2294 2002-01-30 11:39  simon
2296         * t/op/rx.t:
2297         Skip final test, TODO doesn't work yet.
2299 2002-01-30 09:54  brentdax
2301         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2302         predereferencing works.
2304 2002-01-30 09:38  brentdax
2306         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2307         subsystem.
2309 2002-01-30 09:37  brentdax
2311         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2313 2002-01-30 09:37  brentdax
2315         * config_h.in: Expose another flag for embedders.
2317 2002-01-30 05:07  jgoff
2319         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2320         location for Parrot/, and t/harness wasn't able to run the new
2321         op/pmc tests. Both problems fixed, so I think I'm going to declare
2322         the build suitable for public consumption.
2324 2002-01-30 04:34  robert
2326         * docs/Makefile.in: update for CVS movement
2328 2002-01-30 04:32  robert
2330         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2331         .in file, not the real Makefile)
2333 2002-01-30 04:20  robert
2335         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2336         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2337         related to moving files around
2339 2002-01-30 04:10  robert
2341         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2343 2002-01-30 04:07  robert
2345         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2347 2002-01-30 03:56  robert
2349         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2350         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2351         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2352         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2353         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2354         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2355         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2356         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2357         lib/Parrot/
2359 2002-01-30 03:46  robert
2361         * languages/miniperl/miniperlc: renamed to mpc
2363 2002-01-30 03:45  robert
2365         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2366         pmc_perlstring.t: Moved to t/op/pmc/
2368 2002-01-30 03:40  robert
2370         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2372 2002-01-30 03:14  jgoff
2374         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2375         Fixed some problems with PerlArray and added tests.  Previously,
2376         only integers could be accessed by negative indices.  After this
2377         change, all basic types can be accessed by negative indices, and
2378         they can also be set at negative indices.
2380 2002-01-29 22:13  brentdax
2382         * TODO: Just look at the stupid diff.
2384 2002-01-29 21:53  simon
2386         * TODO, docs/vtables.pod:
2387         New TODO, and tiny addition to vtables.pod
2389 2002-01-29 21:47  mrjoltcola
2391         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2393 2002-01-29 21:38  mrjoltcola
2395         * Makefile.in: Makefile.in tweak for io depend.
2397 2002-01-29 21:15  brentdax
2399         * embed.c: Fix a segfault and some profiling formatting nits.
2401 2002-01-29 20:54  brentdax
2403         * pmc.c: Oops.
2405 2002-01-29 20:50  brentdax
2407         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2408         segfaults.
2410 2002-01-29 20:17  mrjoltcola
2412         * interpreter.c, core.ops, io.ops: CVS missed this.
2414 2002-01-29 20:17  mrjoltcola
2416         * io/io.c: These should have gone in Sunday with the rest. CVS is
2417         out to get me.
2419 2002-01-29 18:39  brentdax
2421         * platforms/win32.h: Fix Win32 whoops.
2423 2002-01-29 18:29  brentdax
2425         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2427 2002-01-29 17:51  simon
2429         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2430         include/parrot/embed.h, include/parrot/parrot.h:
2431         Embedding support. Cool.
2433         Courtesy of: <brentdax@cpan.org>
2435 2002-01-29 15:40  grunblatt
2437         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2438         Gloudon <perl@gloudon.com>
2440 2002-01-29 14:42  simon
2442         * include/parrot/parrot.h:
2443         Platform stuff has to be included *after* system headers.
2445 2002-01-29 14:05  grunblatt
2447         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2448         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2449         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2450         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2451         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2453 2002-01-29 10:56  simon
2455         * platforms/generic.h:
2456         If we don't have a S_ISREG, produce something close to it.
2458 2002-01-29 06:01  dan
2460         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2462 2002-01-29 04:38  jgoff
2464         * classes/array.pmc: Forgot to remove some C++-isms from the
2465         get_{foo}_index routines.
2467 2002-01-29 04:26  jgoff
2469         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2470         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2471         t/pmc/array.t: Added array class that languages other than perl can
2472         use for a basis.  It has no features like preextension, and the
2473         array index starts at 0.
2475         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2476         and classes/Makefile.in - Added array.pmc to the makefile.
2477         (Assuming rules like .pmc.o are portable (or even possible) I might
2478         alter classes/Makefile.in to autobuild the appropriate files.
2480 2002-01-29 02:32  dan
2482         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2483         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2484         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2485         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2486             Update to Test::More 0.41 which adds Test::Builder
2488             Delete the vestigal Test::Utils
2490             Change Parrot::Test so it uses Test::Builder instead of Evil
2491         Wrappers
2492             around Test::More
2494             output_* now returns whether the test passes or fails
2496             Parrot::Test no longer exports Test::More's functions.  Instead
2497         they
2498             can simply be used together.  The few tests which used
2499         Test::More
2500             features (ie. skip) have 'use Test::More' added.
2502             I ditched the export_to_level() crutch.  Do we expect parrot to
2503         work on
2504             5.004?  (literally 5.004, not 5.004_04)
2506         Courtesy of Michael G Schwern <schwern@pobox.com>
2508 2002-01-28 21:04  dan
2510         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2511         pointer should actually be to
2512          parrot_assembly.pod, as the canonical documentation.
2514         Courtesy of Simon Glover <scog@roe.ac.uk>
2516 2002-01-28 20:21  dan
2518         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2519         clone[inps]
2521 2002-01-28 19:18  dan
2523         * core.ops, register.c: clone[insp] is dead
2525 2002-01-28 17:46  grunblatt
2527         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2528         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2530 2002-01-28 16:45  dan
2532         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2533         the requirement for fink at the moment.
2535 2002-01-28 15:59  simon
2537         * test_main.c:
2538         People might try and run a directory file, with spectacular
2539         results.  We don't want that. No.
2541 2002-01-28 14:58  doughera
2543         * core.ops: Avoid C++-style comments.
2545 2002-01-28 14:16  grunblatt
2547         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2548         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2549         work again.
2551 2002-01-28 13:47  doughera
2553         * include/parrot/register.h: Avoid C++-style comment.
2555 2002-01-28 06:03  dan
2557         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2558         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2559         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2560         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2561         include/parrot/parrot.h, include/parrot/regfuncs.h,
2562         include/parrot/register.h, include/parrot/register_funcs.h,
2563         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2564         are now stored in the interpreter structure itself, rather than
2565         just a pointer to the top of the register structure. Pushes and
2566         pops now involve memcpys, but register access has one fewer
2567         dereference.
2569         Fails four of the register stack tests, though, so not perfect.
2570         Needs fixing, but this is a good place to start.
2572 2002-01-28 04:40  mrjoltcola
2574         * test_main.c: cvs commit missed this. ??
2576 2002-01-28 04:27  mrjoltcola
2578         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2579         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2580         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2581         interpreter now (at least in theory).  IO handle array added.  Misc
2582         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2583         we don't conflict         with system libraries.  Still have broken
2584         stuff in win32 and stdio layer.
2586 2002-01-28 04:01  mrjoltcola
2588         * include/parrot/chartype.h: Typo in chartype.h include guard.
2590 2002-01-28 03:41  mrjoltcola
2592         * t/op/interp.t: Fix flag for interp so we don't get "info"
2593         messages which break tests.
2595 2002-01-28 01:54  dan
2597         * include/parrot/string.h: A few more buffer/string flags
2599 2002-01-27 11:33  nicholas
2601         * chartypes/unicode.c: Cast unsigned argument to int in call to
2602         isdigit to silence gcc warning.
2604 2002-01-26 23:18  grunblatt
2606         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2607         off that flag.
2609 2002-01-26 23:17  grunblatt
2611         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2612         jit/i386/core.jit: [no log message]
2614 2002-01-26 22:18  simon
2616         * jit/i386/core.jit:
2617         Jumping to 0x0 is a recipe for segfaults.
2619 2002-01-26 18:35  simon
2621         * t/harness:
2622         Allow user to select which tests to harness
2624         Courtesy of: Nicholas Clark <nick@unfortu.net>
2626 2002-01-26 17:20  grunblatt
2628         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2629         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2630         to make the jit work in linux again.
2632 2002-01-26 16:52  dan
2634         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2635         headers can't cope with this. Darwin-only
2637 2002-01-26 16:04  dan
2639         * include/parrot/parrot.h: Quick note to remind folks that this
2640         isn't the file they're looking for if they're writing extensions or
2641         embedding parrot.
2643         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2645 2002-01-26 00:41  mrjoltcola
2647         * MANIFEST: Oopsy.
2649 2002-01-26 00:37  mrjoltcola
2651         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2652         Turoff
2654 2002-01-25 01:31  grunblatt
2656         * jit/alpha/core.jit: There is no neg or fneg.
2658 2002-01-25 01:27  grunblatt
2660         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2661         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2662         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2663         t/op/number.t: Added Parrot_neg.  Erase t.s
2665 2002-01-24 23:26  dan
2667         * interpreter.c: Best make sure unused elements are NULL
2669 2002-01-24 23:24  dan
2671         * interpreter.c: Fix stupid thinko
2673 2002-01-24 18:37  doughera
2675         * Makefile.in: Add a few missing dollar signs in the lifetest
2676         section so that ${exe} and the like get properly interpolated.
2678 2002-01-24 18:15  mrjoltcola
2680         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2681         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2682         Simon Glover <scog@roe.ac.uk>
2684 2002-01-24 06:43  mrjoltcola
2686         * io/io_stdio.c: Oops.
2688 2002-01-24 06:34  mrjoltcola
2690         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2691         of work on the buffering layer.  Decided to use shared read/write
2692         buffer (as do most implementations) for now since its the simplest
2693         way to keep everything synced, (flush on seeks, flush read on
2694         writes, etc.)
2696 2002-01-24 03:38  mrjoltcola
2698         * test_main.c: Cleaned up option handling code a bit for main().
2700 2002-01-23 23:22  dan
2702         * interpreter.c, include/parrot/interpreter.h,
2703         include/parrot/resources.h: Now each interpreter gets its own hash
2704         for globals.
2706 2002-01-23 20:45  dan
2708         * Configure.pl: Fix a warning when there's no - in an architecture
2710 2002-01-22 23:57  grunblatt
2712         * docs/running.pod: [no log message]
2714 2002-01-22 20:29  doughera
2716         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2717         appears to be a generic problem (if sizeof(long double) >
2718         sizeof(double)), not an x86-specific one.
2720 2002-01-22 16:57  doughera
2722         * runops_cores.c: Change variable name from time to starttime to
2723         avoid gcc warning about variable name shadowing.
2725 2002-01-22 16:55  doughera
2727         * classes/pmc2c.pl: Include class_init prototype too.
2729 2002-01-22 16:01  doughera
2731         * MANIFEST: [no log message]
2733 2002-01-22 01:04  ajgough
2735         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2736         classes/parrotpointer.pmc, classes/perlarray.pmc,
2737         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2738         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2739         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2740         warnings from pmc files.  Message-ID:
2741         <20020121224719.GE1726@Bagpuss.unfortu.net>
2743 2002-01-22 00:53  ajgough
2745         * test_main.c: Clears up a couple of warnings in test_main.c.
2746         Thanks to Nick Clark.  Message-ID:
2747         <20020121190457.GB1726@Bagpuss.unfortu.net>
2749 2002-01-22 00:47  ajgough
2751         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2752         include/parrot/chartype.h: Cause all codepoints to be treated as
2753         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2754         Nick Clark, see also: Message-ID:
2755         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2757 2002-01-22 00:24  dan
2759         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2761         Appended patch cures these warnings:
2763         key.c: In function `debug_key': key.c:29: warning: int format,
2764         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2765         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2766         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2767         format, INTVAL arg (arg 4)
2769         Courtesy of Nicholas Clark <nick@unfortu.net>
2771 2002-01-21 12:41  mrjoltcola
2773         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2774         be clock skew.
2776 2002-01-21 06:37  mrjoltcola
2778         * io/io.c: Cleanup a warning
2780 2002-01-21 06:28  mrjoltcola
2782         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2783         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2784         ops. Various other IO twiddlings.
2786 2002-01-21 03:25  grunblatt
2788         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2789         Melvin Smith for the catch up.
2791 2002-01-20 23:13  sfink
2793         * stacks.c: Fixed logic errors, need tests
2795 2002-01-20 22:17  brentdax
2797         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2798         prepare for /i to work.
2800 2002-01-20 20:52  grunblatt
2802         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2803         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2804         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2805         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2806         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2807         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2808         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2809         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2810         jit/alpha/string.jit:
2811         - Added support for ALPHA, by now linux and bsd.
2813         - Reduced jit2h.pl execution time by precompiling the call to the
2814         unimplemented op.
2816         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2817         Parrot/Jit/${cpuarch}Generic.pm
2819         - Changed the way to detect quads to what is written in "man
2820         perlfunc".
2822 2002-01-20 17:23  brentdax
2824         * rx.ops: There's no such thing as rx_allocateinfo.
2826 2002-01-19 08:26  brentdax
2828         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2830 2002-01-19 07:12  mrjoltcola
2832         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2833         into io.ops, leave the STDIO wrappers        in core.ops until they
2834         disappear.  Added debug op for switching on VM debug flag
2836 2002-01-19 01:55  mrjoltcola
2838         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2839         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2841 2002-01-19 00:55  brentdax
2843         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2844         include/parrot/rxstacks.h: Add regex-specific stacks for
2845         efficiency.
2847 2002-01-18 23:58  dan
2849         * Configure.pl: I think the optimal fix here is simply to remove
2850         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2851         man pages say "There is no reason to use this option [-pedantic];
2852         it exists only to satisfy pedants."
2854         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2856 2002-01-18 23:23  dan
2858         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2859         docs/running.pod, which lists the various executables Parrot
2860         currently includes, examples of running them, and mentions of where
2861         they fail to work. It's more of a cry for help than a useful
2862         reference. :-) I've been having trouble recently when making
2863         changes in figuring out whether I broke anything, because any
2864         non-default way of running the system seems to be already broken. I
2865         can't tell what brokenness is expected and what isn't.
2867         Courtesy of  Steve Fink <steve@fink.com>
2869 2002-01-15 22:13  brentdax
2871         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2872         substring use and enhance performance.
2874 2002-01-15 21:03  ajgough
2876         * string.c: Fix problem with string_transcode, &dest not being
2877         updated if src was already in desired encoding.
2879 2002-01-15 16:54  brentdax
2881         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2882         warnings.  Leaves only one warning, at rx.ops line 409, that I
2883         can't manage to get rid of.
2885 2002-01-15 16:50  dan
2887         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2888         code.  Also patches pbc2c.pl to work with rx.ops.
2890         Courtesy of Jason Gloudon <perl@gloudon.com>
2892 2002-01-15 16:15  dan
2894         * classes/Makefile.in: All the C files in classes/ weren't being
2895         compiled with an of the gcc warnings flags. With this patch they
2896         are, and there are an awful lot of warnings, more than I could hope
2897         to understand and clear up (within any sensible time period before
2898         submitting a rash of patches, by which time everyone else would
2899         have moved the code on)
2901         Courtesy of Nicholas Clark <nick@unfortu.net>
2903 2002-01-15 16:10  dan
2905         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2906         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2907         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2908         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2909         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2910         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2911         chartypes/usascii.c: This patch adds a few more macros for .ops
2912         files to use. In addition to the existing
2914          goto OFFSET(...)
2915          goto ADDRESS(...)
2916          goto POP()
2917          goto NEXT()
2919         it adds
2921          expr OFFSET(...)
2922          expr ADDRESS(...)
2923          expr POP()
2924          expr NEXT()
2926         This is intended mainly for use in helper functions in .ops files,
2927         but also for ops that need to eg push the address of the next
2928         opcode onto a stack. The only place this currently happens (outside
2929         of my private code) is in the bsr opcode, which previously
2930         hardcoded the computation.
2932         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
2933         higher in the generated file so that it can be used by static
2934         functions in the preamble.
2936         Finally, I ran into a parentheses matching problem -- should goto
2937         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
2938         \bgoto\s+OFFSET\((.*?)\)
2940         It was done inconsistently for the different calculations, and of
2941         course neither are correct because you really want matching
2942         parentheses. But that seems like too much bother. (Currently,
2943         there's only one place that uses anything other than $n in the
2944         parentheses, and that's the enternative() op.) So I made them all
2945         .*? but emulated recent POD by also allowing (( ... )) (that's two
2946         parenthesis with a space padding the body.)
2948         The generated core_ops.c and core_ops_prederef.c files after this
2949         patch are identical except for the CUR_OPCODE and REL_PC macros
2950         getting moved a little higher, and the bsr in the regular path (not
2951         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
2953         In summary, this is a big wad of meaningless changes for the
2954         current code. But it will make adding some opcodes easier in the
2955         future, and cleans up a small nit in the current bsr.
2957         Courtesy of Steve Fink <steve@fink.com>
2959 2002-01-15 08:48  brentdax
2961         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
2962         sort of).
2964 2002-01-15 08:45  brentdax
2966         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
2968 2002-01-15 05:00  brentdax
2970         * rx.ops: Speed up rx_literal--roughly doubles benchmark
2971         performance.
2973 2002-01-14 20:18  dan
2975         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
2977         Courtesy of Nicholas Clark <nick@unfortu.net>
2979 2002-01-14 20:03  dan
2981         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
2982         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
2983         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
2984         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
2985         classes/parrotpointer.pmc, classes/perlarray.pmc,
2986         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2987         classes/perlstring.pmc, classes/perlundef.pmc,
2988         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
2989         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
2990         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
2991         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
2992         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
2993         patch cleans up most of the MSVC-warnings when using warning level
2994         4 (the highest, one above the default level 3). It turns off two
2995         level-4 warnings for 'unreferenced formal parameter' and 'named
2996         type definition in parentheses', the latter of which was turning up
2997         warnings in MS VC headers.  Level 4 warnings also helped me find a
2998         couple of other lurking bugs in the parrot code.
3000         Replaces the various fprintf/exit combos with calls to
3001         internal_exception, which uses var_args to emulate printf. Various
3002         exception types were added as well. These are probably temporary
3003         until a real exception system arrives.
3005         Fixed some places in the IO code where wrong functions were being
3006         called, or put into the vtable.
3008         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3010 2002-01-14 19:00  dan
3012         * MANIFEST: D'oh! Forgot a file.
3014         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3016 2002-01-14 18:44  brentdax
3018         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3019         sense (and a few other enhancements to regexes).
3021 2002-01-14 07:07  brentdax
3023         * interpreter.c, runops_cores.c, test_main.c,
3024         include/parrot/interpreter.h: Make profiling a little more useful.
3026 2002-01-13 19:44  dan
3028         * Configure.pl: Turn off unsed things warnings for now
3030 2002-01-13 19:39  dan
3032         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3034         classes/perlarray.c:  * get_string: is casting
3035         SELF->cache.struct_val to a STRING*,    while all other methods are
3036         using it as a KEY*; don't know    what a perlarray stringifies to,
3037         so replacing with NULL  * get_bool: the default behaviour does not
3038         look right to me
3040         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3042 2002-01-13 19:37  dan
3044         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3045         flags to LDFLAGS, so that Configure.pl --debugging   works with
3046         MSVC
3048         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3049         pmc2c calls
3051         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3053 2002-01-13 19:36  dan
3055         * io/io_win32.c:   according to my MSVC docs, you should use
3056         _tcslen only after
3057           #including tchar.h
3059         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3061 2002-01-13 19:35  dan
3063         * docs/intro.pod: Doc tweak.
3065         Courtesy of Simon Glover <scog@roe.ac.uk>
3067 2002-01-13 19:34  dan
3069         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3070         that
3072           if Px, ...
3074          works with PerlString PMCs; these should be false if they are "",
3075         0, or
3076          are undefined, and true in every other case.
3078         Courtesy of Simon Glover <scog@roe.ac.uk>
3080 2002-01-13 19:23  dan
3082         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3083         NUMVAL_FMT to FLOATVAL_FMT.
3085         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3087 2002-01-13 17:45  jgoff
3089         * Makefile.in, global_setup.c, classes/Makefile.in,
3090         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3091         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3092         designing your own classes.
3094 2002-01-13 08:47  simon
3096         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3097         lib/Parrot/OpTrans/CPrederef.pm:
3098         Fix bsr in prederef mode.
3100         Courtesy of: Jason Gloudon <perl@gloudon.com>
3102 2002-01-12 15:33  dan
3104         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3105         string.c, encodings/singlebyte.c, encodings/utf32.c,
3106         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3107         Silence most of the unused variable warnings.
3109         Courtesy of Nicholas Clark <nick@unfortu.net>
3111 2002-01-12 15:18  dan
3113         * rx.ops: This patch fixes a warning and also changes an 'int' to
3114         an 'INTVAL'.  All tests should pass on Solaris.
3116         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3118 2002-01-12 15:13  dan
3120         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3121         examples/assembly/life.pasm, include/parrot/interpreter.h,
3122         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3123         io/io_win32.c: More IO work. (Plus some misc twiddles)
3125         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3127 2002-01-12 01:14  dan
3129         * include/parrot/string.h: fix a missing name
3131 2002-01-12 00:39  grunblatt
3133         * include/parrot/string.h: Few typos.
3135 2002-01-12 00:16  grunblatt
3137         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3138         that change the program control flow.
3140 2002-01-11 23:53  brentdax
3142         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3143         ParrotPointer's guts.
3145 2002-01-11 23:03  dan
3147         * include/parrot/string.h: flags for the buffers, for GC
3149 2002-01-11 22:31  dan
3151         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3153 2002-01-11 22:21  dan
3155         * include/parrot/pmc.h: Started with PMC flags
3157 2002-01-11 19:33  dan
3159         * config_h.in, memory.c, resources.c, string.c,
3160         include/parrot/resources.h: Beginnings of a memory allocation/gc
3161         system. Without the GC part.
3163 2002-01-11 18:05  dan
3165         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3166         systems
3168         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3170 2002-01-11 17:50  dan
3172         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3173         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3174         a patch that makes pbc2c generated code work with the bsr opcode.
3175         It creates a new opcode 'enternative', and uses this to support a
3176         mixed model of interpretation and execution of compiled C code.
3178         Courtesy of Jason Gloudon <perl@gloudon.com>
3180 2002-01-11 17:48  dan
3182         * Makefile.in: Add life as a potential .exe target
3184 2002-01-11 17:30  dan
3186         * include/parrot/resources.h: Start of arena stuff for GC
3188 2002-01-11 05:34  brentdax
3190         * rx.ops: Docs modifications.
3192 2002-01-11 04:19  brentdax
3194         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3195         regular expressions.
3197 2002-01-11 03:44  grunblatt
3199         * jit/i386/core.jit: off by one.
3201 2002-01-11 02:25  dan
3203         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3205         Courtesy of Steve Fink <steve@fink.com>
3207 2002-01-11 00:32  brentdax
3209         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3211 2002-01-10 23:22  ajgough
3213         * string.c, docs/strings.pod: Removed all the nul termination code,
3214         as this is in general a bad idea.  Note added to docs/strings.pod
3215         to warn people away from assuming termination.
3217 2002-01-10 23:14  dan
3219         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3220         testparrotsizes_c.in, include/parrot/interpreter.h,
3221         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3222         implementation
3224         Courtesy of Steve Fink <steve@fink.com>
3226 2002-01-10 22:48  dan
3228         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3229         sizeof(INTVAL)
3231         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3233 2002-01-10 22:46  dan
3235         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3236         t/pmc/perlhash.t:  Well, actually two bugs.
3238          The first is an off-by-one error in key.c than can cause parrot
3239          to segfault if hash % NUM_BUCKETS happens to be zero.
3241          The other is a bug in the PerlHash init() code that causes new
3242         PerlHash
3243          PMCs to start with the wrong size.
3245          Both fixed below; also tests to prevent them recurring.
3247         Courtesy of Simon Glover <scog@roe.ac.uk>
3249 2002-01-10 22:30  dan
3251         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3252         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3253         with a PerlArray,
3255         Courtesy of Simon Glover <scog@roe.ac.uk>
3257 2002-01-10 21:31  dan
3259         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3261 2002-01-10 20:30  grunblatt
3263         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3264         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3265         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3266         All the op codes that doesn't change the program control flow now
3267         work in the JIT by calling the code generated by the compiler when
3268         the op is not in core.jit TODO:     * Make all the ops that change
3269         the program control flow (and are not on core.jit) work.      *
3270         Remove the dispatch payload.
3272 2002-01-10 17:13  dan
3274         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3275         which tries to return 0 from a void function.
3277         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3279 2002-01-10 17:12  dan
3281         * t/op/macro.t: Skip tests, don't comment them out.
3283         Courtesy of Simon Glover <scog@roe.ac.uk>
3285 2002-01-10 17:10  dan
3287         * rx.c: This fixes a couple of nits in rx.c:
3289            1. There's no newline at the end, which makes gcc unhappy.
3290            2. We should use NULL, not 0 or "", for creating null pointers.
3292         Courtesy of Simon Glover <scog@roe.ac.uk>
3294 2002-01-10 17:09  dan
3296         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3297         back in
3298          alphabetical order.
3300         Courtesy of Simon Glover <scog@roe.ac.uk>
3302 2002-01-10 16:54  ajgough
3304         * resources.c: Made free_string check that there was a string to
3305         free.  In reponse to a bug spotted by Joshua Nye.
3307 2002-01-09 22:44  dan
3309         * global_setup.c: Forgot the setup
3311 2002-01-09 22:35  dan
3313         * rx.ops: Forgot this one
3315 2002-01-09 22:35  dan
3317         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3318         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3319         Tests don't work, though.
3321         Courtesy of "Brent Dax" <brentdax@cpan.org>
3323 2002-01-09 21:48  dan
3325         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3327 2002-01-09 21:22  dan
3329         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3330         Generic pointer holder class
3332         Courtesy of "Brent Dax" <brentdax@cpan.org>
3334 2002-01-09 21:19  dan
3336         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3337         patches.
3339 2002-01-09 19:54  dan
3341         * io/io_unix.c: Whoops. Forgot one
3343 2002-01-09 19:43  dan
3345         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3346         t/pmc/perlhash.t: Fix hash crash bugs
3348         Courtesy of Simon Glover <scog@roe.ac.uk>
3350 2002-01-09 19:13  dan
3352         * memory.c: Signedness whoops.
3354         Courtesy of Simon Glover <scog@roe.ac.uk>
3356 2002-01-09 18:23  dan
3358         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3359         io/io_stdio.c, io/io_win32.c: Changes:
3361         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3362         will be using the   Win32 API and company rather than the unix-ish
3363         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3364         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3365         stuff is   there. Soon we should be able to start using these
3366         rather than   fprintf(stderr, ...) and remove stdio linkage.
3368         Courtesy of <mrjoltcola@mindspring.com>
3370 2002-01-09 17:26  dan
3372         * test_main.c: Fixes bad code gen on x86.
3374         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3376 2002-01-09 17:24  dan
3378         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3379         classes/perlnum.pmc: This patch adds macros to the config.h file
3380         for INTVAL and NUMVAL printf formats.
3382         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3384 2002-01-08 22:55  ajgough
3386         * docs/vtables.pod: Clarify what get_string should do.
3388 2002-01-08 20:05  dan
3390         * key.c: Keep comments in sync.
3392         Courtesy of Simon Glover <scog@roe.ac.uk>
3394 2002-01-08 19:50  dan
3396         * memory.c, include/parrot/memory.h: Need a realloc
3398 2002-01-08 17:24  gregor
3400         * .cvsignore, Configure.pl, Makefile.in:
3401         Added 'reconfig' make target and corresponding --reconfig option to
3402         Configure.pl, so its very easy to re-run Configure.pl with the last
3403         (command-line) options you passed it.
3405 2002-01-08 16:33  dan
3407         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3408         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3409         in core.ops. Potential help for optimizers and JITters.
3411         Courtesy of gregor@linux1.kennedytech.com
3413 2002-01-08 16:32  dan
3415         * key.c: Grab key length from the right spot
3417         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3419 2002-01-08 13:27  ajgough
3421         * test_main.c: Fix slight thinko in realloc usage for reading from
3422         stdin.
3424 2002-01-08 11:34  ajgough
3426         * test_main.c: Allow test_parrot to read bytecode stream from
3427         stdin, adds -f command line option, with "-f -" doing the stdin
3428         stuff.
3430 2002-01-08 06:34  jgoff
3432         * key.c, include/parrot/key.h: key.c - Added simple implementation
3433         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3435 2002-01-08 03:21  jgoff
3437         * include/parrot/key.h: Added an undef type to the key structure,
3438         so we can delete keys without confusion.
3440 2002-01-07 22:09  dan
3442         * key.c, packfile.c, string.c, include/parrot/key.h,
3443         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3444         about index being redefined
3446         Courtesy of Nick Clark
3448 2002-01-07 21:15  dan
3450         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3452         Courtesy of Steve Fink <steve@fink.com>
3454 2002-01-07 20:48  dan
3456         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3457         failures
3459         Courtesy of "Brent Dax" <brentdax@cpan.org>
3461 2002-01-07 20:43  dan
3463         * docs/intro.pod: Missing a comma
3465         Courtesy of "coral" <coral@eekeek.org>
3467 2002-01-07 20:41  dan
3469         * global_setup.c: Quiet a warning
3471         Courtesy of Simon Glover <scog@roe.ac.uk>
3473 2002-01-07 18:58  gregor
3475         * t/op/.cvsignore:
3476         Ignore intermediate test files.
3478 2002-01-07 17:01  gregor
3480         * ops2c.pl:
3481         Print a warning if an .ops file is mentioned more than once on the
3482         command line.
3484 2002-01-07 16:12  ajgough
3486         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3487         these shouldn't fail.
3489 2002-01-07 15:15  simon
3491         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3492         Stop segfaults.
3494 2002-01-07 15:11  simon
3496         * key.c:
3497         Fix zero-termination bug in hash function.
3499 2002-01-07 13:37  ajgough
3501         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3502         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3504 2002-01-07 11:53  brentdax
3506         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3507         (:add{foo}) and a new deleting thing (:rem{foo})
3509 2002-01-07 11:43  simon
3511         * Configure.pl:
3512         Gobble the + before concatenating.
3514 2002-01-07 03:53  dan
3516         * Makefile.in: Dependency fix for new ops setup.
3518 2002-01-07 03:33  jgoff
3520         * classes/perlarray.pmc: Add negative indices, and fix a small
3521         allocation problem.
3523 2002-01-06 23:54  ajgough
3525         * hints/os2.pl: Makes the hints file take account of ldflags and
3526         ccflags being split.  This hints file is still very specific to
3527         builds with gnu tools, but a proper solution can wait.   Thanks to
3528         Nick Burch.
3530 2002-01-06 22:12  dan
3532         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3533             -changes Parrot::OpLib::core's dependencies to reflect the new
3534         selectable ops files    -allows some of the special forms of 'goto'
3535         inside the PREAMBLE of an opcode file
3537         Courtesy of "Brent Dax" <brentdax@cpan.org>
3539 2002-01-06 19:59  simon
3541         * Makefile.in:
3542         *cough*
3544 2002-01-06 18:19  dan
3546         * classes/perlhash.pmc: Fix some type issues.
3548         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3550 2002-01-06 18:03  dan
3552         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3553         for a list of opcode files to use.  The default is everything
3554         available except for obscure.ops.
3556         In addition, it makes it so that if your answer to a question
3557         starts with '+', it will concatenate it to the default.  For
3558         example:
3560         What C compiler do you want to use? [cl] +HAHAHA!!!
3562         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3563         is not terribly useful, it is quite useful with things like
3564         command-line flags and the like.
3566         Finally, it contains a couple tweaks so that my syntax-highlighting
3567         editor recognizes some heredocs correctly.  :^)
3569         Courtesy of "Brent Dax" <brentdax@cpan.org>
3571 2002-01-06 17:59  dan
3573         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3575         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3577 2002-01-06 17:58  dan
3579         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3581         Courtesy of Simon Glover <scog@roe.ac.uk>
3583 2002-01-06 17:57  dan
3585         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3586         Compiler directives, etc. in files other than core.ops will now
3587         work.   2.  Compiler warnings will now display the file and line
3588         number of the  opcode file.
3590         Courtesy of "Brent Dax" <brentdax@cpan.org>
3592 2002-01-06 17:52  dan
3594         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3596         Courtesy of Simon Glover <scog@roe.ac.uk>
3598 2002-01-06 17:36  dan
3600         * docs/intro.pod: Lots of updates
3602         Courtesy of Simon Glover <scog@roe.ac.uk>
3604 2002-01-06 02:34  gregor
3606         * interpreter.c:
3607         Add some internal documentation on the theory of operation of the
3608         prederef code.
3610 2002-01-06 02:17  gregor
3612         * interpreter.c:
3613         Removed unnecessary include.
3615 2002-01-05 12:37  simon
3617         * classes/.cvsignore:
3618         Ignore generated .h files.
3620         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3622 2002-01-05 12:37  simon
3624         * Configure.pl:
3625         Make lcc happier by adding a dummy structure.
3627         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3629 2002-01-05 12:35  simon
3631         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3632         Make perlundef work. (And coincidentally stop segfaults in the
3633         tests :)
3635         Courtesy of: Jason Gloudon <perl@gloudon.com>
3637 2002-01-05 04:59  dan
3639         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3641 2002-01-05 04:55  jgoff
3643         * classes/perlhash.pmc: Added perlhash class definition
3645 2002-01-05 04:48  dan
3647         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3649         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3651 2002-01-05 03:57  jgoff
3653         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3654         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3655         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3656         t/pmc/pmc.t: Initial hash commit.
3658         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3659          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3660         set_{integer,number,string}_index_s
3662         This does not yet do collision resolution, but will soon.
3664 2002-01-05 02:54  dan
3666         * interpreter.c: More unsigned fixes
3668         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3670 2002-01-04 22:13  dan
3672         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3673         test programs happier.
3675         Courtesy of "Jason Diamond" <jason@injektilo.org>
3677 2002-01-04 19:00  dan
3679         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3680         separate things
3682 2002-01-04 18:27  dan
3684         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3685         Fixes to get things configuring and building on Win32 Native.
3687         Courtesy of "Jason Diamond" <jason@injektilo.org>
3689 2002-01-04 17:39  dan
3691         * hints/vms.pl: debug cleanup
3693 2002-01-04 16:53  dan
3695         * docs/parrot.pod:  The enclosed patch brings the list of
3696         documentation in parrot.pod
3697          up to date.
3699         Courtesy of Simon Glover <scog@roe.ac.uk>
3701 2002-01-04 16:47  dan
3703         * test_main.c, Parrot/Jit/i386-linux.pm,
3704         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3705         off warnings..
3707         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3709 2002-01-04 16:44  dan
3711         * Configure.pl, Makefile.in: Fixed linking to use linker.
3713         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3715 2002-01-04 16:39  dan
3717         * io/io_stdio.c: Added CVS tag info
3719 2002-01-04 16:35  dan
3721         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3722         isn't it
3724 2002-01-04 16:26  dan
3726         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3727         Tokenizer test
3729         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3731 2002-01-04 16:17  dan
3733         * chartypes/unicode.c: Silence some warnings.
3735         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3737 2002-01-04 16:09  dan
3739         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3740         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3741         into generated files
3742            but the $Id$ string gets mangled when it's committed.
3743            This patch fixes the existing .pmc files and fixes genclass.pl.
3745          - Makes capitalization in .pmc header match actual filenames
3747          - The command for calling genclass.pl in vtables.pod is incorrect,
3748            since it assumes you're running in classes/ but genclass.pl
3749         assumes
3750            it's being run from the main directory. I changed genclass.pl to
3751         not
3752            care.
3754         Courtesy of Steve Fink <steve@fink.com>
3756 2002-01-04 03:57  dan
3758         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3759         me--I *had* the files:wq!
3761 2002-01-04 03:40  dan
3763         * MANIFEST: Whoops--remove files not really there
3765 2002-01-04 03:37  dan
3767         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3768         my sig adds a new_stack() function to take care of the allocation
3769         and setup of "generic" stacks.
3771         Courtesy of "Brent Dax" <brentdax@cpan.org>
3773 2002-01-04 02:36  dan
3775         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3776         and so
3777          writes a load of junk in core_ops.pod. Applied patch fixes.
3779         Courtesy of Simon Glover <scog@roe.ac.uk>
3781 2002-01-04 02:35  dan
3783         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3784         logical-or is using get_integer instead of get_bool for logical
3785         operations. This patch corrects that.
3787         Perlnum and perlstring have working get_bool's, so the default
3788         logical_or and logical_and should be sufficient. The empty methods
3789         are pointed to the default logical_or.
3791         Courtesy of Jason Gloudon <perl@gloudon.com>
3793 2002-01-04 02:31  dan
3795         * Makefile.in: docs/Makefile should be removed by realclean, but
3796         isn't
3798         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3800 2002-01-04 02:29  dan
3802         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3804         Courtesy of Steve Fink <steve@fink.com>
3806 2002-01-04 00:51  dan
3808         * docs/vtables.pod: More docs
3810         Courtesy of Steve Fink <steve@fink.com>
3812 2002-01-04 00:47  dan
3814         * Configure.pl: Updated 64-bit patch
3816         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3818 2002-01-04 00:43  dan
3820         * Configure.pl: 64-bit Fix.
3822         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3824 2002-01-03 22:37  dan
3826         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3827         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3828         some buffering work.       Additional work on other layers.
3830         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3832 2002-01-03 19:41  gregor
3834         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3835         Updated copyright messages on top-level files.
3837 2002-01-03 04:23  robert
3839         * make.pl: Add author information.  Bonsai test.
3841 2002-01-03 04:02  dan
3843         * io/io_os.c: Twig Bonsai
3845 2002-01-03 03:45  dan
3847         * io/: io_os.c, io_os.c: Twig Bonsai
3849 2002-01-03 03:41  dan
3851         * io/io_os.c: Twig Bonsai
3853 2002-01-02 21:42  gregor
3855         * packfile.c, include/parrot/packfile.h:
3856         Get rid of warnings in packfile.[hc]
3858 2002-01-02 20:39  gregor
3860         * manicheck.pl:
3861         Bracketed translated patterns with ^ and $.
3863 2002-01-02 20:11  dan
3865         * io/io_os.c: silence a warning
3867 2002-01-02 19:52  grunblatt
3869         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3870         op_assembly to jit_struct.h, so that we get the real number of ops.
3871          Removed some warnings.
3873 2002-01-02 19:31  tom
3875         * string.c: Fix string transcoding so that it actually works.
3877         Patch from Peter Gibbs <peter@emkel.co.za>
3879 2002-01-02 19:20  gregor
3881         * manicheck.pl:
3882         A program to check the MANIFEST file, accounting for .cvsignore
3883         files.
3885 2002-01-02 19:19  dan
3887         * t/harness: twig bonsai
3889 2002-01-02 19:13  dan
3891         * t/harness: twig bonsai
3893 2002-01-02 18:54  dan
3895         * t/harness: Tweak to test Bonsai
3897 2002-01-02 16:27  dan
3899         * Configure.pl: Allow 64-bit build of parrot on systems with a
3900         mixed 32/64 bit perl
3902         Courtesy of David M. Lloyd <dmlloyd@tds.net>
3904 2002-01-02 15:33  simon
3906         * MANIFEST, docs/Makefile:
3907         Fixed up MANIFEST. (And I removed the Makefile in docs/)
3909         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3911 2002-01-02 13:51  simon
3913         * Configure.pl:
3914         Die on broken manifest.
3916 2002-01-02 13:48  simon
3918         * jit2h.pl, examples/assembly/mops.pasm:
3919         Clear up JIT warnings.
3921         Courtesy of: Nick Clark <nick@unfortu.net>
3923 2002-01-02 04:10  dan
3925         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
3926         only once, so new interp creation works again
3928         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3930 2002-01-02 03:32  dan
3932         * t/op/interp.t: Stubbed the test out, since it's hanging at the
3933         moment.
3935 2002-01-02 00:55  dan
3937         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
3938         io/io_os.c: Initial IO system patches
3940         Courtesy of <mrjoltcola@mindspring.com>
3942 2002-01-01 22:55  ajgough
3944         * classes/default.pmc: On second thoughts, and some prodding, the
3945         set_* methods now only set the appropriate part of the cache, and
3946         do nothing else.
3948 2002-01-01 22:29  ajgough
3950         * classes/default.pmc:  Wrote a whole host of default pmc methods.
3952          set_* create appropriate Perl* result.
3953          get_* simply grabs needed bit of cache.*_val
3955          Other methods do the rightest thing I can think of, at the moment.
3957          None yet cope with overflow, the modulus operation needs to be
3958         checked as
3959         I don't know quite which semantics we really want.
3961         Not tested yet.
3963 2002-01-01 20:23  dan
3965         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
3966         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
3967         rid of unneeded tmp var and eliminated const from encode prototype
3968         since it does make changes to the string.
3970         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3972 2002-01-01 20:11  dan
3974         * Makefile.in: Make clean now tosses pdump.o
3976         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3978 2002-01-01 19:49  dan
3980         * pdump.c, test_main.c: Warnings cleanup
3982         Courtesy of Josh Wilmes <josh@sky.net>
3984 2002-01-01 19:45  dan
3986         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
3987         hints/mswin32.pl, languages/jako/Makefile.in,
3988         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
3989         platforms
3991         Courtesy of "Jason Diamond" <jason@injektilo.org>
3993 2002-01-01 19:41  dan
3995         * include/parrot/register.h: Clean up some warnings
3997         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3999 2002-01-01 19:10  simon
4001         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4002         Hack-around to enable compilation of code using vtable ops.
4004 2002-01-01 18:43  dan
4006         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4007         checks on unsigned things
4009         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4011 2002-01-01 18:26  dan
4013         * runops_cores.c: More warning silences.
4015         Courtesy of Nicholas Clark <nick@unfortu.net>
4017 2002-01-01 18:25  dan
4019         * trace.c: Shuts up a warning.
4021         Courtesy of Nicholas Clark <nick@unfortu.net>
4023 2002-01-01 18:24  dan
4025         * encodings/singlebyte.c: Clean up some warnings.
4027         Courtesy of Nicholas Clark <nick@unfortu.net>
4029 2002-01-01 18:20  dan
4031         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4032         thunk it?
4034         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4036 2002-01-01 18:17  dan
4038         * packfile.c: Warning cleanup
4040         Courtesy of Nicholas Clark <nick@unfortu.net>
4042 2002-01-01 17:53  dan
4044         * string.c: New string size should be based on output encoding's
4045         size, not input encoding's size.
4047         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4049 2002-01-01 17:22  dan
4051         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4052         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4053         include/parrot/interpreter.h, include/parrot/memory.h,
4054         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4055         Warnings fixups.
4057         Courtesy of Chip Turner <cturner@redhat.com>
4059 2002-01-01 17:09  dan
4061         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4062         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4063         now unsigned, as is proper.
4065         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4066         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4068 2002-01-01 16:59  dan
4070         * include/parrot/trace.h: Useless debugging prototype removed
4072         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4074 2002-01-01 16:58  dan
4076         * MANIFEST: We forgot a file.
4078         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4080 2002-01-01 03:53  dan
4082         * Configure.pl: Okay, I give. Removed some warnings because the
4083         darned system headers were triggering them. Sloppy, sloppy
4084         coding...
4086 2002-01-01 03:48  dan
4088         * config_h.in: Add in an unsigned INTVAL.
4090         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4092 2002-01-01 03:46  dan
4094         * global_setup.c: Clean up some compiler warnings.
4096         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4098 2002-01-01 03:43  dan
4100         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4101         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4102         include/parrot/op.h: Cleaned up some things to make the compiler
4103         happier.
4105         Courtesy of Nicholas Clark <nick@unfortu.net>
4107 2002-01-01 03:14  dan
4109         * Configure.pl: Quad updates.
4111         Courtesy of Nicholas Clark <nick@unfortu.net>
4113 2001-12-31 22:53  dan
4115         * include/parrot/op.h: Typedef had parameters backwards. Threw
4116         core.ops for a big whiny warnings loop.
4118 2001-12-31 22:37  dan
4120         * Makefile.in, resources.c: Tweaks to try and get things to build
4121         in the right order.
4123 2001-12-31 21:58  dan
4125         * Configure.pl: Stupid thinko fix
4127 2001-12-31 21:34  dan
4129         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4131         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4133 2001-12-31 21:32  dan
4135         * Configure.pl: Fix for non-gcc systems
4137 2001-12-31 20:22  dan
4139         * interpreter.c: Tweak so we can build on non-JIT platforms
4141 2001-12-31 20:11  dan
4143         * Configure.pl: Force the time on some copied files to be 'now' to
4144         make the Win builds much less annoying.
4146         Courtesy of "Jason Diamond" <jason@injektilo.org>
4148 2001-12-31 20:07  dan
4150         * Configure.pl: Nuke all object files in the parrot tree that
4151         matter when configuring.  Shouldn't be necessary with good
4152         dependencies in the makefile, but we don't have those yet.
4154 2001-12-31 20:00  gregor
4156         * chartypes/unicode.c:
4157         Silence unused variable warnings.
4159 2001-12-31 19:40  dan
4161         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4163 2001-12-31 19:37  gregor
4165         * interpreter.c, jit.c, include/parrot/jit.h:
4166         Created a prototype for JIT functions and used it in interpreter.c.
4168 2001-12-31 19:31  dan
4170         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4171         detection) with really cranky warnings if we find we're using it.
4173         Courtesy of: Nicholas Clark <nick@unfortu.net>
4175 2001-12-31 18:01  gregor
4177         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4179         Fixed a few warnings wrt prototypes, etc.
4181 2001-12-31 17:23  dan
4183         * string.c: Silenced most of the compiler whines
4185 2001-12-31 17:15  gregor
4187         * Configure.pl:
4188         Get the ccname from either ccname or just cc config var.
4190 2001-12-31 17:14  gregor
4192         * Parrot/Op.pm, lib/Parrot/Op.pm:
4193         Another intermediate opbody notation. Could come in handy. Explicit
4194         types.
4196 2001-12-31 17:05  dan
4198         * string.c: Minor warnings update
4200 2001-12-31 17:00  dan
4202         * include/parrot/string.h: Warnings cleanup
4204 2001-12-31 16:00  simon
4206         * encodings/utf8.c, include/parrot/encoding.h:
4207         Remove a couple more.
4209 2001-12-31 15:58  simon
4211         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4212         include/parrot/op.h:
4213         Rid ourselves of a few warnings.
4215 2001-12-31 15:32  dan
4217         * Configure.pl: Made GCC ever so much pickier.
4219         Switch list courtesy of Jarkko.
4221 2001-12-31 15:22  dan
4223         * string.c: Tightened up initial allocation.
4225         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4227 2001-12-31 06:48  dan
4229         * Configure.pl: Minor Windows tweak
4231 2001-12-31 05:32  dan
4233         * core.ops: Unused temp variable tossed.
4235         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4237 2001-12-31 05:09  grunblatt
4239         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4240         supported plataforms
4242 2001-12-31 03:05  dan
4244         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4245         platform-independent quote substitution for the makefiles.
4246         Hopefully this'll make the Win32 builds happier.
4248 2001-12-30 21:08  dan
4250         * string.c, include/parrot/string.h: More string system tweaks.
4252         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4254 2001-12-30 20:45  dan
4256         * core.ops: Some pod cleanup
4258         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4260 2001-12-30 20:22  ajgough
4262         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4263         we aren't using them right now.  Clarified the workings of set Px,
4264         Py and clone Px, Py.
4266 2001-12-30 20:15  grunblatt
4268         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4269         Added readjit() to read *.jit files Updated core.jit to the new
4270         set_n_i
4272 2001-12-30 20:14  ajgough
4274         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4276 2001-12-30 19:52  dan
4278         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4279         include/parrot/trace.h, platforms/generic.c: Compiler whine
4280         cleanups
4282         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4284 2001-12-30 19:13  dan
4286         * Configure.pl, Makefile.in: Make GCC pickier by default.
4288         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4290 2001-12-30 18:41  dan
4292         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4293         ntoi opcodes to sets.
4295         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4297 2001-12-30 17:58  gregor
4299         * Makefile.in:
4300         'make' no longer builds the mops test. Use 'make mops' for that. To
4301         run the test, you can do 'make mopstest'.
4303 2001-12-30 17:30  gregor
4305         * Makefile.in:
4306         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4307         Gregor.
4309 2001-12-30 17:26  gregor
4311         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4312         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4313         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4314         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4315         Build enhancements. Originally to support building shared
4316         libraries, but now of broader impact.
4318           * .cvsignore: Ignore the blib/ directory, about which more later.
4320           * Configure.pl:
4322               * Got rid of TAB formatting and lined a few things up.
4324               * Added header comment with CVS Id variable, and a few other
4325                 block header comments.
4327               * Uses new Parrot::BuildUtil module to determine the Parrot
4328                 version.
4330               * Reworded a few messages, added a couple, and wrapped
4331         messages
4332                 to 79 columns.
4334               * Added 2002 to the Copyright statement.
4336               * Added new configure variables: VERSION, MAJOR, MINOR and
4337         PATCH
4339               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4340         greater
4341               than 5.6.0, but the comment implies it isn't.
4343           * Makefile.in:
4345               * Added $(SO), $(A) and $(AR_CRS) defines for library
4346         building.
4348               * Added $(RM_RF) define for removing directory trees
4350               * Grouped generated files into two classes: "sticky" (made by
4351         configure,
4352                 persisting across 'make clean') and 'fluid' (made during
4353         the build
4354                 process, deleted by 'make clean').
4356               * Added header comments.
4358               * Added target for test_prog linked with shared library.
4360               * Added rules to build shared libraries in blib/lib. The
4361         libraries are
4362                 built with trailing version numbers in their file names,
4363         and then
4364                 symbolic links are created for shorter and no version tag
4365         variants.
4367               * Added some missing dependencies
4369               * Added some missing 'make clean' targets.
4371               * Added 'make realclean' target that deletes files created by
4372                 Configure.pl (including Makefile), forcing a re-configure.
4374               * Added a 'status' CVS target.
4376           * VERSION: New file, contains only the version. This version
4377         number is
4378             propagated to a few places, such as the core oplib version
4379         number. This
4380             reduces the amount of coordination that has to happen to get
4381         version
4382             number stuff throughout the tree in sync and updated prior to
4383         cutting
4384             a new release. Feel free to grep for '0.0.3' to see the other
4385         files
4386             that contain the version number (but, do that in a fresh CVS
4387         copy, or
4388             after doing 'make realclean').
4390           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4391         PARROT_*_VERSION,
4392             since the oplib and Parrot itself share a version number now.
4393         Added
4394             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4395         (a
4396             string).
4398           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4399         of
4400             specifying the version by hand. Non-core oplibs will set this
4401         to
4402             a quoted dot-string with three natural number components
4403         without
4404             leading zeros.
4406           * interpreter.c: Make use of PARROT_VERSION to simplify some
4407         sprintf()s, and
4408             to get the complete version number in the resulting strings
4409         (including the
4410             new PATCH portion).
4412           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4413         the
4414             generated file.
4416           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4418           * ops2c.pl: Account for the PATCH version, too. This affects the
4419         name of the
4420             oplib init function, and the oplib info struct initializer.
4422           * Parrot/BuildUtil.pm: New file for reading in and validating the
4423         contents of
4424             the new VERSION file. Other build utilities could go here in
4425         futuer.
4427           * Parrot/OpsFile.pm:
4429               * Allow three components in version number, and require that
4430         the value
4431                 be in double quotes.
4433               * Allow "VERSION = PARROT_VERSION", substituting the shared
4434         Parrot
4435                 VERSION in that case.
4437           * include/parrot/oplib.h: Add the patch_version member.
4439 2001-12-30 12:16  simon
4441         * MANIFEST, Makefile.in:
4442         More stuff forgotten from MANIFEST.
4444 2001-12-30 12:13  simon
4446         * MANIFEST:
4447         Missing JIT file.
4449 2001-12-30 12:12  simon
4451         * jit2h.pl:
4452         Safety first.
4454 2001-12-30 12:12  simon
4456         * Makefile.in:
4457         Gragh.
4459 2001-12-30 12:04  simon
4461         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4462         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4463         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4464         include/parrot/string.h, t/op/string.t:
4465         * Expand the strings test suite to be more complete * Make string
4466         commands more consistent (i.e, now the only string command that
4467         actually changes the original is chopn) * Significantly reduce the
4468         number of memory allocations and eliminate reallocations.
4470         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4472 2001-12-29 22:12  dan
4474         * interpreter.c, key.c, register.c, stacks.c, string.c,
4475         test_main.c, trace.c: Updates to match the coding standards.
4477         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4479 2001-12-29 20:42  grunblatt
4481         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4482         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4483         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4484         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4485         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4486         Kitover <caelum@debian.org>
4488 2001-12-28 21:20  dan
4490         * core.ops: Okay, now print takes a preceding file handle.
4492         I feel so dirty now.
4494 2001-12-28 20:46  dan
4496         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4497         changing the open op to use fopen under the hood.
4499         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4501 2001-12-28 18:20  ajgough
4503         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4504         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4505         include/parrot/exceptions.h, include/parrot/string.h,
4506         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4507         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4508         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4509         to hold tests specific to PerlStrings, as the pmc.t file is taking
4510         too long to run and slowing down my thought processes.
4512         Changes to strings.c etc to take string functions.
4514         Some changes to the strings docs, but not yet complete.
4516         Also, PerlString was copying pointers to strings, rather than
4517         strings themselves, so some action-at-a-distance bugs were creeping
4518         in, I think I've fixed this so everything works nicely.
4520 2001-12-28 04:56  gregor
4522         * examples/assembly/pmcmops.pasm:
4523         PMC-using version of mops.pasm.
4525         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4527 2001-12-28 04:56  gregor
4529         * examples/assembly/.cvsignore:
4530         Small tinkering. Removed old stuff, etc.
4532 2001-12-28 01:26  gregor
4534         * examples/mops/mops.scheme:
4535         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4536         to the very un-scheme-like implementation.
4538 2001-12-28 01:19  gregor
4540         * examples/mops/mops.c:
4541         Some people's picky compilers don't like us redefineing time(), so
4542         we call it time_n().  :)
4544 2001-12-28 00:28  gregor
4546         * examples/mops/: README, mops.ps:
4547         Added a PostScript example and a README.
4549 2001-12-27 23:57  gregor
4551         * Makefile.in:
4552         Build the C mops translation in examples/mops/mops.c
4554 2001-12-27 23:56  gregor
4556         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4557         Some translations of mops.pasm into other languages, for inner loop
4558         performance comparisons.
4560 2001-12-27 22:40  gregor
4562         * examples/assembly/mops.pasm:
4563         Fixed erroneous file name in header comment.
4565 2001-12-27 21:18  gregor
4567         * pbc2c.pl:
4568         One-liner to avoid no-op gotos to the next op.
4570 2001-12-27 21:06  gregor
4572         * runops_cores.c:
4573         Fixed -p (profiling). Slow runops core was doing unconditional
4574         tracing, when it should have been checking the flags.
4576 2001-12-27 18:50  ajgough
4578         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4579         classes/perlstring.pmc, include/parrot/chartype.h,
4580         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4581         dded get_digit() to chartypes  * Added string_bool() to strings  *
4582         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4583         to perlstring.pmc  * Tests for above, also a for couple of other
4584         ops without tests
4586         The unicode chartype has only had placeholders added for get_digit,
4587         string_to_num has been updated to use type->get_digit rather than
4588         the previous ascii-isms.  Some remain, but we need to carefully
4589         define what we mean by a number before we let thousands of code
4590         points act as a minus sign.
4592 2001-12-27 18:32  dan
4594         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4595         compiler warnings.
4597         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4599 2001-12-27 18:23  dan
4601         * t/op/bitwise.t: More tests.
4603         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4605 2001-12-27 17:08  gregor
4607         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4608         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4609         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4610         include/parrot/interpreter.h, include/parrot/oplib.h,
4611         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4612         platforms/win32.c, platforms/win32.h:
4613         Initial code for dynamic loading of oplibs, applied for now to the
4614         loading of the core_prederef oplib when the -P flag is passed to
4615         test_parrot.
4617           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4619           * Makefile.in:
4621               * Added libcore_prederef_0_3.so to the shared target.
4622               * Added build rule for libcore_prederef_0_3.so.
4623               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4624                 to Parrot/OpLib/core.pm, core_ops.c and
4625                 core_ops_prederef.c.
4627           * config_h.in: Added defines for constants used to locate the
4628             core oplib's init function, and the core_prederef oplib for
4629             dynaloading.
4631           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4632             required by Parrot/OpsFile.pm.
4634           * interpreter.c:
4636               * Added init_prederef() and stop_prederef() functions to load
4637                 and unload the core_prederef oplib when we are in prederef
4638                 mode.
4640                 NOTE: In all likelihood, the prederef stuff has a rapidly
4641                 dwindling time-to-live. The JIT should provide vastly
4642         superior
4643                 performance, and loading an alternate set of core_ops isn't
4644                 the real direction for the dynaloading stuff. Loading
4645                 *additional* ops is. It does provide a handy test case for
4646         the
4647                 general idea for now, though.
4649               * Gets the core copcode table, etc. via the core oplibs oplib
4650                 info pointer, as returned by the core oplib's init
4651         function.
4653           * ops2c.pl
4655               * Make use of the version, major version and minor version
4656                 stuff parsed by Parrot/OpsFile.pm
4658               * The only exported symbol in the generated files is the init
4659                 function now, since that returns an oplib info struct
4660                 pointer, and all the important stuff can be found there.
4662           * ops2pm.pl: Put the oplib version in the generated .pm file.
4664           * test_main.c: Small changes necessitated by changes in the names
4665             of some members of the interpreter struct.
4667           * trace.c: Small changes necessitated by changes in the names
4668             of some members of the interpreter struct.
4670           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4671             ops are found.
4673           * include/parrot/interp_guts.h: Small changes necessitated by
4674             changes in the names of some members of the interpreter struct.
4676           * include/parrot/interpreter.h: Include the new
4677             include/parrot/oplib.h header. Small changes to the oplib-
4678             related members.
4680           * include/parrot/oplib.h: Define the type of the oplib init
4681             function, and the struct type for the oplib info.
4683           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4684             since not all platforms have it. For those that do, a default
4685             second argument is provided.
4687 2001-12-26 05:12  gregor
4689         * Configure.pl:
4690         Make jitarch calculation not get tripped up by extra components to
4691         archname.
4693 2001-12-24 21:23  gregor
4695         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4696         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4697         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4698         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4699         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4700         Some more JIT work from Daniel Grunblatt.
4702           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4703         to C
4704             functions.
4706           * Added JUMP(END) to place the number of bytes to the end of the
4707         current
4708             op.
4710           * The *.jit files syntax changed.
4712           * Added jit/i386/lib.jit to place handly functions as jump that
4713         take as
4714             argument the address where is the opcode number to jump to.
4716           * There is a bug at some point, but I will start writing
4717             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4718         have use
4719             calls, which make the jit as slow as the interpreter.
4721         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4723 2001-12-24 03:46  dan
4725         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4726         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4727         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4728         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4729         Perls before 5.6.0 don't like it.
4731 2001-12-22 16:02  ajgough
4733         * t/op/stacks.t: stopped skipping tests we can run now.  added
4734         clonep tests.
4736 2001-12-21 21:13  gregor
4738         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4739         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4740         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4741         Fixed some package name goofs.
4743         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4745 2001-12-21 19:32  gregor
4747         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4748         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4749         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4750         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4751         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4752         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4753         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4754         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4755         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4756         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4757         pbc2c.pl.
4759           * Removed ops2c-prederef.pl
4761           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4763           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4764             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4765             for old functionality of ops2c-prederef.pl), and
4766             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4768             "OpTrans" == "Op Transformation"
4770           * Makefile.in modifications to call "ops2c.pl C" where it used
4771             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4772             to be "ops2c-prederef.pl".
4774           * core.ops and obscure.ops changes to syntax. Semantics are
4775             identical with previous version:
4777               return HALT         -->  HALT()
4778               return AUTO         -->  goto NEXT()
4779               return RETREL(...)  -->  goto OFFSET(...)
4780               return RESTART(*)   -->  restart NEXT()
4782             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4783             for dest-less branch ops replaced with new notation "goto
4784         POP()",
4785             which uses the new pop_dest() function in stacks.c. This also
4786             allowed these ops to become 'inline' ops, since they no longer
4787             have local variables.
4789             The 'ret' op also became simplified to just "goto POP()", and
4790             also became an inline op.
4792           * interpreter.c reflects the change in type name:
4794               prederef_op_func_t   -->  op_func_prederef_t
4796             that occurred in include/parrot/op.h
4798           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4799             "return AUTO".
4801           * ops2c.pl is now generic. Its first argument is the last
4802             package name component of a subclass of Parrot::OpTrans. These
4803             subclasses all have full names of the form Parrot::OpTrans::*.
4804             An instance of the class is created and later consulted for
4805             various bits of information needed to generate the C code.
4807           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4808             contain its transformation rules.
4810           * stacks.c has a new function pop_dest() that pops a destination
4811             off the control stack. include/parrot/stacks.h has the
4812         prototype.
4814           * Parrot/Op.pm now supports the syntax generated by
4815         Parrot::OpsFile
4816             for the "goto POP" case.
4818             Also, the source() method now expects its second argument to be
4819             an object that ISA Parrot::OpTrans. Methods of this object are
4820             called to perform the substitutions.
4822           * Parrot/OpsFile.pm supports the change in notation mentioned
4823             above.
4825           * docs/intro.pod reflects these changes.
4827           * include/parrot/op.h: Renamed type prederef_op_func_t to
4828             op_func_prederef_t because it made the implementation of the
4829             shared ops2c.pl easier.
4831 2001-12-21 13:47  gregor
4833         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4834         Both test_parrot (via test_main.c) and the intepreter itself (via
4835         interpreter.c) use the JIT_CAPABLE config to decide whether to
4836         actually attempt JIT operation, or to complain.
4838 2001-12-20 23:25  gregor
4840         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4841         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4842         Changes to the format of *.ops files. An attempt to provide hints
4843         for future opfunc processing logic that wants to know if an opfunc
4844         is simple enough to JIT (e.g.) inline, or not.
4846         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4847         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4848         info.
4850 2001-12-20 21:28  gregor
4852         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4853         jit/i386/core.jit:
4854         More JIT stuff:
4856           * A fix to Gregor's last Configure.pl update.
4858           * Remove the need for hardcoded "\n" at the end of the "%f"
4859             format for printing floating-point numbers.
4861           * New, improved *.jit syntax for references to registers,
4862             e.g. INT_REG[n].
4864           * Support for C() improved.
4866         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4868 2001-12-20 16:55  dan
4870         * MANIFEST: Added jit.c to the manifest.
4872 2001-12-20 15:24  simon
4874         * jit2h.pl:
4875         Off-by-one error fixed.
4877 2001-12-20 14:18  simon
4879         * jit/i386/core.jit:
4880         Just a noop. It's the only machine code I know.
4882 2001-12-20 13:10  gregor
4884         * Configure.pl, Makefile.in, jit2h.pl:
4885         Attempt to fix Win32 builds.
4887           * No more empty braces in include/parrot/jit_struct.h
4889         Also:
4891           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4892         ${archname}
4893             does not.
4895 2001-12-20 11:56  simon
4897         * Makefile.in:
4898         De-cp
4900 2001-12-20 01:57  gregor
4902         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4903         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4904         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4905         include/parrot/.cvsignore, include/parrot/interpreter.h,
4906         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4907         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4908         lib/Parrot/Jit/i386-nojit.pm:
4909         Initial JIT implementation.
4911           * Enabled with test_parrot -j. 20x speed boosts seen.
4913           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4915           * More to come.
4917         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4919 2001-12-20 01:53  jgoff
4921         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4922         core.ops - Removed key operators, they should be hidden from the
4923         assembler.  t/op/key.t - No need to test the nonexistent key
4924         operators.
4926 2001-12-20 00:13  ajgough
4928         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
4929         that asking for type of entry at depth causes segfault as stack is
4930         zero based, fixed cmp in core.ops to reflect this.  Last test is
4931         skipped as we don't do exceptions right yet.
4933 2001-12-19 19:11  ajgough
4935         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
4936         non-being was causing Irix "issues".
4938 2001-12-19 03:37  jgoff
4940         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
4941         004_combined.t: Changed tests to make sure they pass with the
4942         addition of the clone operator.
4944 2001-12-18 20:06  gregor
4946         * interpreter.c, include/parrot/interp_guts.h:
4947         Performance improvements to the predereferencing code path
4948         suggested to me over lunch yesterday by my friend John Kennedy.
4949         The goal is to remove the additional test in the inner loop that
4950         was checking for NULL to decide whether or not to call the
4951         prederef() function. Also moved pc & pc_prederef syncing outside
4952         the inner loop.
4954           * Changed the prototype of the prederef() function in
4955             interpreter.c to match that of an opfunc.
4957           * Instead of initializing the prederef void * array with NULL,
4958             we initialize it with pointers to prederef().
4960           * prederef() now returns the prederef_pc passed in, so that
4961             after predereferencing, the same location is executed, but now
4962             with the real code being called.
4964         Thanks to: John Kennedy
4966 2001-12-18 19:59  ajgough
4968         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
4969         (including some more in the skipped string -> int tests).
4971 2001-12-18 07:06  jgoff
4973         * MANIFEST: Forgot to add classes/perlarray.pmc
4975 2001-12-18 07:05  jgoff
4977         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
4978         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
4979         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
4980         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
4981         t/pmc/pmc.t: Big update...  Makefile.in - Added
4982         classes/perlarray.pmc core.ops - Added new series of set() ops for
4983         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
4984         Added perlarray.pmc classes/*.pmc - Added
4985         set_{integer,number,string}_index and
4986         get_{integer,number,string}_index include/parrot/pmc.h - Added new
4987         type t/op/pmc.t - Added basic array test
4989         classes/perlarray.pmc - Added
4991 2001-12-17 05:29  jgoff
4993         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
4994         generator to use clone operator instead of set Px,Py
4996 2001-12-17 05:25  jgoff
4998         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
4999         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5000         PMC,PMC operator. Uses the clone() vtable entries.
5002 2001-12-17 04:51  jgoff
5004         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5005         entry
5007 2001-12-17 04:41  jgoff
5009         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5010         directory...
5012 2001-12-17 04:41  jgoff
5014         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5016 2001-12-17 04:39  jgoff
5018         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5019         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5020         t/
5022 2001-12-17 04:27  jgoff
5024         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5025         Admittedly it's a little thin on true OO, but the algorithms are
5026         the key.
5028 2001-12-17 04:24  jgoff
5030         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5031         003_generator.t, 004_combined.t: Much more comprehensive test suite
5032         for the codegen et al
5034 2001-12-17 04:22  jgoff
5036         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5037         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5038         key handling
5040 2001-12-17 04:20  jgoff
5042         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5043         more comprehensive.
5045 2001-12-17 04:17  jgoff
5047         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5048         changes to the new compiler
5050 2001-12-17 04:11  jgoff
5052         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5053         files to Miniperl/
5055 2001-12-16 14:11  simon
5057         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5058         t/pmc/pmc.t:
5059         Fix bogus assumption that multiplying an integer by an integer
5060         yields an integer.
5062 2001-12-16 12:48  simon
5064         * make_vtable_ops.pl:
5065         Fixed op exploder.
5067 2001-12-16 12:45  simon
5069         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5070         Expand multimethod vtable ops.
5072 2001-12-16 12:04  simon
5074         * Makefile.in:
5075         Added 'cvsclean' which doesn't zap CVS/* directories.
5077 2001-12-15 01:50  dan
5079         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5080         indeed!
5082         Thanks to grunblatt fom #parrot for the catch
5084 2001-12-15 01:39  dan
5086         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5087         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5088         languages/miniperl/Makefile.in,
5089         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5090         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5091         tweaks.
5093         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5095 2001-12-14 17:39  dan
5097         * t/op/trans.t: More trans tests.
5099         Courtesy of: Simon Glover <scog@roe.ac.uk>
5101 2001-12-14 07:41  robert
5103         * make.pl: - define MAKE macro - topological sort and subgraph
5104         order - start of timestamp stuff   (still badly broken)
5106 2001-12-14 06:06  jgoff
5108         * optimizer.pl: Hopefully this should do the trick..
5110 2001-12-14 06:04  jgoff
5112         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5114           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5116           The optimizer performs its work on a file post-macro expansion.
5117           Run it on a .pasm file, preferably with some trivially reducible
5118         operations
5119           like 'add I0,5,-6' or 'mul I0,I1,0'
5121 2001-12-14 05:48  robert
5123         * Makefile.in: case error EXE -> exe
5125 2001-12-14 05:42  robert
5127         * Makefile.in: remove legacy PDISASM macro
5129 2001-12-14 04:01  dan
5131         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5132         better Win building
5134         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5136 2001-12-13 22:03  dan
5138         * Configure.pl, Makefile.in, Parrot/Test.pm,
5139         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5140         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5141         can change it without having to change the world.
5143 2001-12-13 21:57  dan
5145         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5146         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5147         file/line/package to interp structure, with ops to get and set
5148         them. Now we can know where we are!
5150 2001-12-13 19:43  dan
5152         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5153         WinXP builds work out of the box
5155 2001-12-13 17:05  dan
5157         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5158         name again--makes case-insensitive systems much happier.
5160 2001-12-13 16:21  dan
5162         * core.ops, key.c, string.c, test_main.c, trace.c,
5163         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5164         compiler warnings
5166         Courtesy of: Josh Wilmes <josh@sky.net>
5168 2001-12-13 13:33  gregor
5170         * languages/jako/Makefile.in:
5171         Improved the method of calling the assembler.
5173 2001-12-13 13:30  gregor
5175         * languages/jako/Makefile.in:
5176         Improve the build process. It now works from the main parrot dir,
5177         and from the languages/jako directory. Now uses the .SUFFIXES
5178         target and generic build rules to reduce clutter in the
5179         Makefile.in.
5181 2001-12-13 13:29  gregor
5183         * languages/jako/.cvsignore:
5184         Ignore the (now generated Makefile), and don't ignore .list files
5185         anymore, since we aren't generating them.
5187 2001-12-13 13:11  gregor
5189         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5190         languages/Makefile.in, languages/jako/Makefile,
5191         languages/jako/Makefile.in:
5192         Added a 'languages' target to the top-level Makefile.in, and
5193         modified the jako build procedure to involve Makefile.in -->
5194         Makefile too (done by Configure.pl).
5196         NOTE: languages/jako and language/scheme are built.
5197         languages/miniperl wasn't building right, so it was left off for
5198         now.
5200 2001-12-13 12:15  gregor
5202         * MANIFEST:
5203         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5204         the MANIFEST.
5206 2001-12-13 12:12  gregor
5208         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5209         ops2c-prederef.pl, ops2c.pl, test_main.c,
5210         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5211         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5212         Welcome to the Just-in-Time Predereferencing Patch!
5214         This patch implements a "predereferencing" mode for parrot. That
5215         means that a lot of the dereferencing you see in DO_OP and in the
5216         opfuncs is done up front (really, JIT) rather than as and each time
5217         we execute each op in the byte code stream.
5219         This works by creating an array of void pointers with the same
5220         number of elements as the byte code array. This array starts out
5221         life zero-initialized.  Each time we go to execute an op, we check
5222         first to see if we have a NULL pointer at *cur_opcode. If so, we
5223         know we haven't done our predereferencing yet (this is the JIT
5224         part), so we call the prederef() function with sufficient args that
5225         it can go look up opfunc pointers and op arg types and put the
5226         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5227         where N is the number of args (counting the op itself as one arg).
5229         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5230         to have inline INTVAL constants.
5232         I've been getting about a 22% speed increase over vanilla code path
5233         when I compile with -O0. Advantage decreases at -O9 here. I tested
5234         with mops.pbc, and also by temporarily putting the -P flag in
5235         Parrot/Test.pm and running all the tests. So, this code is as
5236         correct as the test suite can detect.
5238         Here's how it plays out in the code:
5240           * New script ops2c-prederef.pl
5242             Copy-paste code reuse from ops2c.pl. Modified to expect the
5243         args to give
5244             a void ** cur_opcode and to return a void **.
5246           * Modified ops2c.pl
5248               * opfuncs are now static. Who needs to call them by name from
5249         outside,
5250                 anyway? They are accessed via the opfunc table.
5252               * Some MACRO stuff to make things work whether we prederef or
5253         not. It
5254                 may be possible to get rid of these some day if other folks
5255         agree
5256                 that we should be using CODE object pointers + offsets as
5257         our PC
5258                 rather than raw pointers to either opcode_t's or (void *)'s
5259                 (depending on prederef mode or no).
5261           * core.ops modified to be usable to build both kinds of opfuncs.
5262         For now,
5263             this means:
5265               * calls to push_generic_entry(... cur_opcode ...) were
5266         changed to
5267                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5268         a
5269                 macro that does the right thing in both kinds of ops.c
5270         files.
5272                 This is applicable to the bsr op. If we treated
5273         destinations as
5274                 (Code PMC + local offset) rather than as
5275         pointer-to-memory-somewhere,
5276                 this wouldn't be a big deal. We may need to do that at some
5277         point
5278                 anyway, so that when you jump around and return not only do
5279         you have
5280                 the right PC (pointer, today), but you also have the
5281         thread/interpreter
5282                 knowing what chunk of bytecode it is in at all times
5283         (assuming we'll
5284                 allow reflection, as in ops that query or affect the
5285         current CODE PMC).
5287               * runinterp was modified. Instead of copying the top-level
5288         PackFile struct
5289                 and blasting its byte_code pointer, we simply call runops
5290         on the new
5291                 interp, passing in the pointer to the current interp's code
5292         and the
5293                 offset into that code at which to start (this last arg used
5294         to be a
5295                 pointer PC, now its an offset PC).
5297           * include/parrot/op.h
5299               * new typedef for prederef opfuncs (they return void **)
5301           * include/parrot/interp_guts.h
5303               * New DO_OP_PREDEREF() macro described above.
5305           * include/parrot/interpreter.h
5307               * New prototype of runops() -- see below.
5309               * resume_addr field changed to resume_flag and resume_offset
5310         pair of fields.
5311                 We might be resuming from interp using prederef to one not
5312         or vice-versa,
5313                 so pointers between the two don't play nice together.
5314         Offsets are beautiful.
5316               * New PARROT_PREDEREF_FLAG constant
5318           * interpreter.c
5320               * include "parrot/oplib/core_ops_prederef.h"
5322               * prederef() function described above.
5324               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5325         macro as its core.
5327               * runops() modified to take size_t CODE-relative offset PC
5328         rather than
5329                 pointer PC. This made other things workable and doesn't
5330         seem to have lost
5331                 anything important (IMO).
5333           * test_main.c
5335               * New flag '-P' to enable predereferencing.
5337           * Makefile modified to build core_ops_prederef.c from core.ops
5338         via
5339             ops2c-prederef.pl.
5341             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5343             Added core_ops_prederef$(O) to O_FILES
5345 2001-12-13 12:12  gregor
5347         * languages/jako/MAINTAINER:
5348         Thought it would be nice to put this right in the code...
5350 2001-12-13 04:36  jgoff
5352         * languages/miniperl/Miniperl/Generator.pm: Commented out
5353         debugging, fixed register spillover algorithm
5355 2001-12-13 04:23  jgoff
5357         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5358         line) Restructured a bit of the dependency generator to fix a
5359         different obob bug.
5361 2001-12-13 03:43  robert
5363         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5365 2001-12-13 03:03  jgoff
5367         * make.pl: Added make.pl
5369 2001-12-13 02:44  jgoff
5371         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5372         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5373         special flags...                     - Dies on undefined macros
5374         such as $(PDISASM) in current make                     - Dies on
5375         recursive macro expansions                       (Doesn't test for
5376         mutual or multipart loops)                     - In general it
5377         seems to be a little less lenient...  Missing bits - File
5378         mod/creation times aren't being looked at              - Actions
5379         aren't being taken              - The few funky variables ($@, $<)
5380         aren't being dealt with Bugs - Line numbers are slipping a bit.
5382 2001-12-13 02:29  jgoff
5384         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5385         Reconstructing files to make the parser flow a little better.
5387 2001-12-13 00:51  dan
5389         * resources.c: Be a bit less wasteful with resources that don't
5390         need to be aligned
5392 2001-12-12 18:22  dan
5394         * Makefile.in: D'oh! Fixed looping makefile bug.
5396         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5398 2001-12-12 16:23  jgoff
5400         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5402 2001-12-12 16:22  jgoff
5404         * MANIFEST: Manifest additions for languages/miniperl
5406 2001-12-12 16:19  jgoff
5408         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5409         tests. These are left over from the Scheme suite and shouldn't be
5410         used yet.
5412 2001-12-12 16:18  jgoff
5414         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5415         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5416         modules. Miniperl/ is where the real work gets done.  t/ is largely
5417         vacant because it isn't ready to survive real tests yet.
5419 2001-12-12 16:17  jgoff
5421         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5422         mpc: Final go-round, hopefully.
5424         languages/miniperl/Makefile - Used basically to run tests, as there
5425         is nothing                               here that needs to be
5426         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5427         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5428         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5429         compiler stub
5431 2001-12-12 16:09  dan
5433         * Configure.pl: Setting a variable with the make command name is
5434         useful.
5436 2001-12-12 15:07  simon
5438         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5439         Recursive make considered "ow, don't do that".
5441 2001-12-12 14:45  dan
5443         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5444         non-portable code) Killing builds on Win32 native. Small patch
5445         applied which hopefully fixes it.
5447 2001-12-12 06:12  ajgough
5449         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5451 2001-12-12 06:08  ajgough
5453         * Makefile.in: perl is $(PERL).
5455 2001-12-12 06:00  ajgough
5457         * t/op/integer.t: Added tests to integer.t so that all permutations
5458         of arguments are actually called at some point.
5460 2001-12-12 05:18  ajgough
5462         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5463          Tests for sleep i|ic
5465 2001-12-12 05:09  ajgough
5467         * t/op/stacks.t: Added pushp and popp register stack tests.
5469 2001-12-12 04:51  ajgough
5471         * t/op/stacks.t: Added tests for save and restore, for all register
5472         types.  Let there be Haiku.
5474 2001-12-12 04:27  ajgough
5476         * t/op/basic.t: bsr_i test.  You know you want it.
5478 2001-12-12 02:55  ajgough
5480         * MANIFEST: Added hints/os2.pl to MANIFEST.
5482 2001-12-12 02:52  jgoff
5484         * core.ops, key.c: Final checkin... These are actually the correct
5485         copies.
5487 2001-12-12 02:12  jgoff
5489         * include/parrot/key.h: key.c - Removed a few functions,
5490         generalized set_element_value and element_value         to accept
5491         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5492         core.ops - Modified to accept the new return style.
5494         This is a prelude to adding virtual-table methods to allow hashing
5495         &c. Expect at least one or two more redesigns before this settles
5496         down. However, it still passes the original tests.
5498 2001-12-11 13:35  gregor
5500         * runops_cores.c:
5501         Fixed a typo.
5503 2001-12-11 12:03  gregor
5505         * .cvsignore:
5506         Don't ignore test_prog, but do ignore parrot.
5508 2001-12-11 12:03  gregor
5510         * classes/.cvsignore:
5511         Ignore the generated file default.h
5513 2001-12-11 04:07  jgoff
5515         * key.c: Key source
5517 2001-12-11 04:05  jgoff
5519         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5521 2001-12-11 04:00  jgoff
5523         * core.ops: Added new key aggregate operations to core ops.
5525 2001-12-11 04:00  jgoff
5527         * include/parrot/parrot.h: Added key.h to header list
5529 2001-12-11 03:59  jgoff
5531         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5533 2001-12-11 03:58  jgoff
5535         * Makefile.in: Added implementation of key aggregates.
5537 2001-12-08 23:07  simon
5539         * README:
5540         README good to go.
5542 2001-12-08 23:05  simon
5544         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5545         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5546         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5547         test_prog? What is test_prog?
5549 2001-12-08 22:57  simon
5551         * ChangeLog:
5553         Oops, the changelog commit was on *this* machine.
5555 2001-12-08 22:56  simon
5557         * NEWS:
5558         Updates to NEWS and ChangeLog pre-release.
5560 2001-12-08 22:07  simon
5562         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5563         classes/perlnum.pmc, classes/pmc2c.pl:
5564         Add "default" PMC vtable so you can inherit implied stuff.
5566 2001-12-08 21:24  simon
5568         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5569         docs/vtables.pod, lib/Parrot/PackFile.pm:
5570         Getting the documentation up to scratch.
5572 2001-12-08 21:21  simon
5574         * classes/pmc2c.pl:
5575         Allow inheriting from default class.
5577 2001-12-07 20:43  gregor
5579         * examples/assembly/queens.pasm:
5580         Regenerated the file with the latest jakoc.
5582 2001-12-07 20:29  simon
5584         * core.ops, t/op/stacks.t:
5585         Rename "rotate" to "rotate_up".
5587 2001-12-07 20:15  simon
5589         * t/op/stacks.t:
5590         Some tests for rotate.
5592 2001-12-07 00:55  gregor
5594         * core.ops:
5595         Cast the result of the pointer arithmetic, since without the cast
5596         there are warnings with some compilers, and without the parens
5597         around the pointer arithmetic, precedence breaks the meaning and
5598         causes crashes.
5600 2001-12-06 23:37  simon
5602         * core.ops:
5603         Temporary. I prefer compiler warnings to segfaults, thanks.
5605 2001-12-06 23:34  simon
5607         * runops_cores.c:
5608         Make "trace" work again.
5610 2001-12-06 21:23  dan
5612         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5614 2001-12-06 21:22  dan
5616         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5617         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5619 2001-12-06 19:22  simon
5621         * core.ops:
5622         Yet another "How the *%$! did that compile?" moment.
5624 2001-12-06 18:28  dan
5626         * hints/vms.pl: Fix to build, with a HERE logical required
5628 2001-12-06 17:48  dan
5630         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5631         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5632         changes to the interpreter--flags are now part of the interp
5633         structure.
5635         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5637 2001-12-06 14:02  gregor
5639         * docs/intro.pod:
5640         s/little_languages/languages/ in Jako section.
5642 2001-12-06 13:15  simon
5644         * Makefile.in:
5645         Ensure the documentation gets made.
5647 2001-12-06 13:12  simon
5649         * MANIFEST, docs/intro.pod:
5650         Documentation! Added the "Some Assembly Required" article with
5651         minor updates.
5653 2001-12-06 00:39  simon
5655         * core.ops:
5656         More "eq" support.
5658         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5660 2001-12-06 00:37  simon
5662         * test_main.c:
5663         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5665         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5667 2001-12-06 00:11  tom
5669         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5670         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5671         include/parrot/chartype.h, include/parrot/encoding.h,
5672         include/parrot/parrot.h: Moved string to number conversion code out
5673         of the encoding layer and into the main string layer as neither the
5674         encoding layer nor the character type layer knows enough on it's
5675         own to do the conversion correctly.
5677 2001-12-05 23:12  tom
5679         * Makefile.in: Rebuild the classes directory if any of the object
5680         files for the classes are missing rather than only when perlint.o
5681         is missing.
5683 2001-12-05 19:43  gregor
5685         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5686           * Reworked the constantize_string() stuff a little bit because it
5687         was
5688             puking on things like "\033[H\033[2J\0" (which occurs in the
5689             languages/jako/mandelzoom.jako example).
5691 2001-12-05 19:39  gregor
5693         * languages/jako/: Makefile, mandelzoom.jako:
5694         Added 'mandelzoom' example.
5696 2001-12-05 19:38  gregor
5698         * languages/jako/jakoc:
5699           * Added sleep()
5701           * Changed some instances of die() to confess()
5703 2001-12-05 18:34  gregor
5705         * t/: op/pmc.t, pmc/pmc.t:
5706         s/sting->int/string->int/
5708 2001-12-05 18:08  gregor
5710         * Parrot/.cvsignore:
5711         Ignore PMC.pm
5713 2001-12-05 18:05  gregor
5715         * classes/.cvsignore:
5716         Ignore the generated files.
5718 2001-12-05 17:19  gregor
5720         * pbc2c.pl:
5721           * Reverted recent changes, since they broke the script. Real fix
5722         coming
5723             later.
5725 2001-12-05 17:03  simon
5727         * classes/Makefile.in:
5728         Remember: change Makefile.in, not Makefile. D'oh.
5730 2001-12-05 17:02  simon
5732         * Makefile.in:
5733         Ensure PMC.pm gets remade.
5735 2001-12-05 16:58  simon
5737         * MANIFEST, Makefile.in, classes/Makefile.in,
5738         classes/perlundef.pmc, include/parrot/pmc.h:
5739         Add perlundef class.
5741 2001-12-05 16:45  simon
5743         * core.ops:
5744         Document "new P0, foo"
5746 2001-12-05 16:43  simon
5748         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5749         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5750         Allow assembler to know about PMC class names.
5752 2001-12-04 13:39  ajgough
5754         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5756 2001-12-04 05:02  ajgough
5758         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5759         in perlnum.c
5761 2001-12-04 04:24  ajgough
5763         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5764         broken form of strtod and appropriate tests.  Does not yet check
5765         for overflow.
5767 2001-12-04 01:31  ajgough
5769         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5770         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5771         to extract_num and extract_int string vtables, without this it
5772         would be impossible to have strings with nulls in while still
5773         knowing where they ended.
5775 2001-12-03 18:40  ajgough
5777         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5778         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5779         include/parrot/string.h: Moved pmc string to number conversion into
5780         the string encoding tables.
5782 2001-12-03 00:21  ajgough
5784         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5785         for p-> integer.
5787 2001-12-02 23:09  jgoff
5789         * classes/Makefile.in: Removed some redundant targets.
5791 2001-12-02 19:02  ajgough
5793         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5794         equality macro rather than using perl to generate expected output,
5795         all tests now have <<OUTPUT.
5797 2001-12-02 17:44  ajgough
5799         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5800         for pmc.t as well.  Will probably move macros into another file at
5801         some point, although this might be best left until the tests are
5802         unperled.
5804 2001-12-02 06:16  jgoff
5806         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5807         within Parrot_Perl{Class}_init.
5809 2001-12-02 06:09  jgoff
5811         * classes/Makefile.in: I seem to have removed *$(O) twice..
5813 2001-12-02 05:06  jgoff
5815         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5816         Configure.pl - Removed '-I./include', added classes/Makefile
5817         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5818         Removed old classes/* make stuff                Added target for
5819         classes/Makefile
5821 2001-12-02 04:48  jgoff
5823         * classes/Makefile.in: Going to be used shortly...
5825 2001-12-02 04:40  jgoff
5827         * docs/Makefile: Configure.pl - Added automatic makefile creation
5828         for docs/ and classes/                Removed '-I./include' because
5829         it was getting incorrectly                passed to classes/
5830         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5831         - Removed classes/ build stuff, replaced with classes/Makefile.in
5832                     Added '-I./include' locally docs/Makefile - Should no
5833         longer be used, but I'm not brave enough to do a
5834         cvs delete.
5836 2001-12-02 01:21  ajgough
5838         * t/op/trans.t: Refactored trans math tests to have hard coded
5839         expected return values and be more ready to be unperled at some
5840         point in the future.  Added $fp_equality_macro which is a
5841         "nearly-equal-to" function.
5843 2001-12-02 01:18  ajgough
5845         * Makefile.in: Humph.  People really ought to use Makefile
5846         variables, s/perl/$(PERL)/ throughout.
5848 2001-12-01 18:15  jgoff
5850         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5851         figure out what to do vis-a-vis the lack of snprintf.
5853 2001-11-30 13:14  ajgough
5855         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5856         and integer.t
5858 2001-11-30 13:14  ajgough
5860         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5861         -, else ... form.
5863 2001-11-30 10:36  simon
5865         * core.ops:
5866         Rewrite print_p to do the right thing.
5868 2001-11-30 06:21  jgoff
5870         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5871         concat,               integer/number/string math
5873 2001-11-30 06:20  jgoff
5875         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5876         classes/perlint.pmc - Fixes and expanding for concat and math with
5877         strings classes/perlnum.pmc - Fixes and expanding for concat and
5878         math with strings classes/perlstring.pmc - Fixes and expanding for
5879         concat and math with strings
5881 2001-11-29 15:21  ajgough
5883         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5884         $^X lies, which confused bash which make uses to run things when
5885         doing its stuff.
5887 2001-11-29 04:58  jgoff
5889         * classes/perlstring.pmc: Removed C++-style comments for good
5890         measure
5892 2001-11-29 04:51  jgoff
5894         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5896 2001-11-29 04:28  jgoff
5898         * global_setup.c: Initialize PMC strings
5900 2001-11-29 04:25  jgoff
5902         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5903         string PMCs.
5905 2001-11-29 04:24  jgoff
5907         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5908         files to properly upgrade int to num, do calculations.  Also added
5909         basic string operations. Currently errors out on anything but set
5910         operations, but this will be fixed soon.
5912 2001-11-29 04:22  jgoff
5914         * Makefile.in: PMC .c files weren't getting cleaned out.
5916 2001-11-28 17:00  simon
5918         * t/harness:
5920         Make csh-glob happy.
5922         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
5924 2001-11-28 16:40  simon
5926         * classes/perlnum.pmc:
5928         De-C++
5930 2001-11-28 15:22  simon
5932         * string.c:
5934         Fixes Alex's string concat worry.
5936 2001-11-28 14:27  ajgough
5938         * t/op/string.t: test "null onto null" incorrectly passing as it
5939         produced no output.  Output provided.
5941 2001-11-28 11:14  simon
5943         * include/parrot/pmc.h:
5945         Placate AIX.
5947 2001-11-26 21:03  dan
5949         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
5951 2001-11-26 17:29  simon
5953         * classes/perlint.pmc:
5955         Various subtle but non-showstopper bugs.
5957 2001-11-26 11:23  simon
5959         * classes/pmc2c.pl:
5961         Replace dependency on Text::Balanced
5963         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
5965 2001-11-26 05:22  jgoff
5967         * global_setup.c: Last file that should need to be committed. I
5968         swear.
5970 2001-11-26 05:09  jgoff
5972         * core.ops: Let's try this again... Changes to core.ops required
5974 2001-11-26 04:58  jgoff
5976         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
5977         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
5978         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
5979         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
5980         functions classes/perlnum.pmc - Set up basic number functions
5981         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
5982         tests against numbers and numbers+integers
5984 2001-11-25 13:18  simon
5986         * Makefile.in:
5987         Windows XP make doesn't like $<
5989 2001-11-25 12:56  simon
5991         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
5992         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
5993         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
5994         examples/assembly/mops_p.pasm:
5995         PMC preprocessor.
5997         Courtesy of: Angel Faus <afaus@corp.vlex.com>
5999         I (Simon) also added a couple more integer methods, but no tests
6000         since I'm a Bad Person.
6002 2001-11-25 08:40  brentdax
6004         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6005         lib/Parrot/OpsFile.pm: Allow _ in op names
6007 2001-11-25 05:54  jgoff
6009         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6010         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6012 2001-11-23 18:27  simon
6014         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6015         Add everything you need to make MOPS use PMCs.
6017 2001-11-23 18:06  simon
6019         * core.ops:
6020         Eh, you'll need this for rewriting mops.pasm.
6022 2001-11-23 17:55  simon
6024         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6025         t/pmc/pmc.t:
6026         More work on integer PMCs.
6028 2001-11-23 17:29  simon
6030         * Makefile.in:
6031         Surprise! Whitespace! HLAGHLAGHLAGH
6033 2001-11-23 17:28  simon
6035         * Makefile.in, ops2c.pl, ops2pm.pl:
6036         Add vtables.ops to the core
6038         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6040 2001-11-22 18:39  simon
6042         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6043         t/pmc/pmc.t:
6044         We can now create PMCs.
6046 2001-11-21 05:49  jgoff
6048         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6050 2001-11-20 16:00  simon
6052         * docs/vtables.pod, include/parrot/pmc.h:
6053         Reorder PMC flags so there's a fixed number of user-defined flags.
6055         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6057 2001-11-19 03:39  jgoff
6059         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6060         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6061         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6062         escaped quotes, and proper                handling of newlines.
6064 2001-11-16 22:03  simon
6066         * classes/perlint.c:
6067         More work on the Perl Integer class. More needed, though.
6069 2001-11-16 21:57  simon
6071         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6072         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6074 2001-11-16 20:49  simon
6076         * interpreter.c, runops_cores.c, trace.c,
6077         include/parrot/runops_cores.h:
6078         Kill superfluous runops cores.
6080 2001-11-16 17:50  simon
6082         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6083         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6084         include/parrot/parrot.h, include/parrot/pmc.h:
6085         Skeleton for Perl scalar types, done right.
6087 2001-11-16 16:15  simon
6089         * classes/genclass.pl:
6090         This tidies up genclass to deal with the new-style multimethods.
6092 2001-11-16 15:29  simon
6094         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6095         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6096         Rework multimethods to be *true* multimethods - that is, have
6097         different types.
6099 2001-11-15 22:29  simon
6101         * MANIFEST, Makefile.in, pmc.c:
6102         pmc.c linkage and support. Oh, and making it compile.
6104 2001-11-15 22:26  dan
6106         * t/op/interp.t: Forgot to tell CVS about the test...
6108 2001-11-15 22:10  dan
6110         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6111         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6112         for PMC registers for the interpreter.
6114         Added in the docs for the runinterp opcode.
6116         Added in code for both the newinterp and runinterp opcodes, so we
6117         can now create new interpreters from within parrot and have them do
6118         things. (Though we can't pass data back and forth. Yet)
6120 2001-11-15 21:24  simon
6122         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6123         More documentation, and other changes as discussed with Dan.
6125 2001-11-15 19:51  simon
6127         * classes/scalarclass.c:
6128         De-cut-and-pasto.
6130 2001-11-15 19:50  simon
6132         * classes/scalarclass.c:
6133         A little code tidiness.
6135 2001-11-15 19:33  simon
6137         * include/parrot/pmc.h:
6138         Missed this in the previous commit - un-constantize the base for
6139         user-defined PMC flags.
6141 2001-11-15 19:28  simon
6143         * classes/scalarclass.c:
6144         Hey look, sanity.
6146 2001-11-15 17:09  simon
6148         * classes/scalarclass.c:
6149         It seems I have completely forgotten how to write C.
6151 2001-11-15 16:53  simon
6153         * docs/vtables.pod:
6154         Start of the PMC classes documentation.
6156 2001-11-15 14:46  simon
6158         * classes/scalarclass.c:
6159         Changing to use a Perl-style struct instead of the union cache.
6161 2001-11-13 23:56  tom
6163         * string.c: Removed leading _ from string_index as function names
6164         starting with _ are reserved to implementors by the C standard.
6166         Also fixed string_index to use the encoding routines instead of
6167         assuming a single byte encoding.
6169 2001-11-13 12:59  jgoff
6171         * string.c: Patched string_concat to accept null strings.  That
6172         test was failing. Nothing to do with ord().
6174 2001-11-13 12:43  jgoff
6176         * string.c: string_ord function, string_concat fixes
6178 2001-11-13 04:52  jgoff
6180         * core.ops: Added ord to core.ops
6182 2001-11-13 04:35  jgoff
6184         * docs/strings.pod, include/parrot/exceptions.h,
6185         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6186         operator, documentation string.c - Added string_ord, _string_index
6187         (_string_index is a static helper)              Patched
6188         string_concat to handle null strings properly.  docs/strings.pod -
6189         Description of string_ord include/parrot/exceptions.h - Added
6190         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6191         string_ord() t/op/string.t - Added full set of test for
6192         ord_i_(s|sc)(_(i|ic))?
6194         string.c contains a bit of documentation explaining the logic
6195         behind _string_index, primarily having to do with multiple encoding
6196         formats.
6198 2001-11-12 22:30  simon
6200         * t/op/macro.t:
6201         Count 'em.
6203 2001-11-12 22:28  simon
6205         * Makefile.in:
6206         Add a rule to compile "platform"
6208 2001-11-12 22:26  simon
6210         * Makefile.in:
6211         Tidy up distclean target.
6213 2001-11-12 16:54  dan
6215         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6216         t/op/macro.t: Fixes to the assembler's macro facility and a test
6218         Courtesy of: Jeff <jgoff@speakeasy.net>
6220 2001-11-12 16:50  dan
6222         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6223         stdin
6225         Courtesy of: Jeff <jgoff@speakeasy.net>
6227 2001-11-12 16:36  dan
6229         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6230         CygWin
6232         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6234 2001-11-12 11:22  simon
6236         * examples/assembly/mops.pasm:
6238         Trivial tightening of mops loop.
6240 2001-11-07 23:57  ajgough
6242         * docs/tests.pod: This is a basic quide to writing tests with
6243         assembler.
6245 2001-11-07 22:29  dan
6247         * stacks.c: Added a little documentation on the cleanup parameter
6248         for an entry
6250 2001-11-07 14:43  dan
6252         * MANIFEST, platforms/generic.c, platforms/linux.c,
6253         platforms/linux.h: Portability patches.
6255         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6257 2001-11-06 19:51  tom
6259         * Makefile.in: Clean up object files in the subdirectories as well
6260         as those in the top level directory.
6262         Enhanced version of patch from Daniel Grunblatt
6263         <daniel@grunblatt.com.ar>
6265 2001-11-06 16:14  dan
6267         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6268         platforms/generic.c, platforms/generic.h: Made things a bit more
6269         platform-independent. Makefile still needs work to pick up changes
6270         to the platform-specific files.
6272 2001-11-05 21:32  dan
6274         * docs/parrot_assembly.pod: Added docs for the GC control ops
6276 2001-11-04 02:52  gregor
6278         * platforms/: win32.c, win32.h:
6279           * win32 dynamic loading functions.
6281         Courtesy of Jason Diamond <jason@injektilo.org>
6283 2001-11-04 00:04  brentdax
6285         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6286         allows an absolute path to be used and gives a useful error message
6287         if the original source file can't be found
6289 2001-11-02 12:37  gregor
6291         * platforms/: linux.c, linux.h:
6292           * Beginning of dynamic loading support. Linux only for now.
6294 2001-11-02 12:13  gregor
6296         * MANIFEST, time.c, include/parrot/time.h:
6297           * Removed time.[hc], since they have been superseded by the new
6298         platform
6299             stuff.
6301 2001-11-02 12:11  gregor
6303         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6304         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6305         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6306         platforms/win32.c, platforms/win32.h:
6307         Patch from Jason Diamond to make win32 platform stuff work:
6309         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6310         platform specific files in the platforms directory gets copied to
6311         the correct directories. The Makefile will re-copy the platform.h
6312         and .c files if the original is modified.
6314         * #include platform.h in parrot.h instead of time.h.
6316         * Removed time.h and time.obj from the Makefile. time.h and time.c
6317         aren't being used anymore since that code was moved to linux.c and
6318         win32.c.
6320         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6321         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6322         windows.h. This required updating several files besides parrot.h.
6324         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6325         instead of the missing identifiers (on Windows) in core.ops in the
6326         calls to open.
6328         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6329         platform files and called those from core.ops. The Linux code for
6330         these functions came from core.ops so they should hopefully work.
6332         Courtesy of Jason Diamond <jason@injektilo.org>
6334 2001-11-02 06:43  brentdax
6336         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6337         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6339 2001-11-02 02:26  gregor
6341         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6342         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6343         platforms/win32.h:
6344           * Beginnings of platform support files in platform/*.[hc]
6346 2001-11-01 23:37  tom
6348         * classes/intclass.c: Added missing *'s to STRING arguments and
6349         return values to avoid compiler warnings.
6351 2001-11-01 22:21  gregor
6353         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6354         include/parrot/parrot.h, include/parrot/time.h:
6355         Initial "fix" of time(n) op for Win32:
6357           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6359           * time.c and include/parrot/time.h
6361             First attempt at getting this working across platforms. The
6362             macro WIN32 being tested might not be right.
6364           * New functions Parrot_intval_time() and Parrot_floatval_time()
6365             wrap the appropriate functionality depending upon platform.
6366             Changed core.ops to call these.
6368         Added obscure.ops with obscure transcendental ops.
6370         Added simple file I/O ops (close, open, read, write):
6372           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6374           * I changed some arg ordering stuff.
6376           * I added read/write of INTVALs and FLOATVALs.
6378         Added environment variable ops (getenv, setenv)
6380         Added system error ops (err(i) and err(s) for accessing errno and
6381         strerr().
6383         Moved print ops in with other "temporary" developer ops, since
6384         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6386 2001-10-31 22:51  tom
6388         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6389         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6390         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6391         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6392         encodings/utf8.c, include/parrot/chartype.h,
6393         include/parrot/encoding.h, include/parrot/exceptions.h,
6394         include/parrot/parrot.h, include/parrot/string.h,
6395         include/parrot/strnative.h, include/parrot/strutf16.h,
6396         include/parrot/strutf32.h, include/parrot/strutf8.h,
6397         include/parrot/transcode.h: Reworked the string code in line with
6398         Dan's latest design that separates character sets from encodings.
6400 2001-10-31 19:53  dan
6402         * docs/parrot_assembly.pod: Finished I/O section of docs
6404 2001-10-31 16:51  dan
6406         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6407         Moved includes out of core.ops and into parrot.h where they belong
6408         (suitably guarded with #ifdefs). Also some updates to
6409         parrot_assembly.pod
6411 2001-10-30 21:43  dan
6413         * core.ops, stacks.c, docs/parrot_assembly.pod,
6414         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6415         of the entry on the stack
6417 2001-10-29 18:30  dan
6419         * stacks.c: You can turn off stack entry type validation on pop by
6420         passing in a type of 0 now. (For those cases where you just want to
6421         throw the darned thing away)
6423 2001-10-29 14:37  gregor
6425         * core.ops, languages/jako/jakoc:
6426           * New variants of the save ops to save constants on the stack.
6427         This is
6428             useful for saving zero arg and result counts on the stack, for
6429         example.
6431           * Modified jakoc to to adapt to the newly announced calling
6432         conventions.
6433             Even though Jako source code appears to show subroutines with
6434         fixed
6435             numbers of arguments and results, they are implemented with the
6436             variable count calling convention. Future modifications will be
6437         needed
6438             to ensure that an exception is raised if the stack frame is of
6439         the
6440             wrong size (or, at least that we pop the complete frame off).
6441         We'll
6442             also have to make more changes to support the true
6443         fixed-arg-count
6444             and fixed-result-count parts of the calling convention spec.
6446 2001-10-28 16:53  simon
6448         * MANIFEST, stacks.c, classes/scalarclass.c,
6449         include/parrot/stacks.h:
6450         Unbelievably bad errors of mine, plus a type incompatibility of
6451         Dan's.
6453 2001-10-28 08:30  simon
6455         * classes/scalarclass.c:
6456         Beginning of a scalar class.
6458 2001-10-28 08:29  simon
6460         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6461         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6462         include/parrot/pmc.h:
6463         This fixes the problem with vtables and pointer arithmetic.
6465 2001-10-26 19:58  dan
6467         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6468         include/parrot/stacks.h: Split the generic stack into a user push
6469         stack and a control stack
6471 2001-10-26 02:59  bdwheele
6473         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6475 2001-10-24 20:27  dan
6477         * languages/scheme/: Makefile, Scheme.pm, schemec,
6478         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6479         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6480         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6481         Scheme compiler
6483 2001-10-24 20:23  dan
6485         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6486         interpreter needs in pdump.c. Added scheme bits to manifest
6488 2001-10-24 16:43  gregor
6490         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6491           * Make the assembler handle octal character code escapes in
6492         string
6493             constants.
6495 2001-10-24 15:56  dan
6497         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6498         play the game of life
6500 2001-10-24 15:54  dan
6502         * core.ops: Added sleep. We'll need to override this to do events
6503         properly anyway, so...
6505 2001-10-24 14:03  gregor
6507         * Makefile.in, pbc2c.pl, pdump.c:
6508           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6509         interpreter
6510             pointer into string functions.
6512         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6514 2001-10-23 20:09  gregor
6516         * languages/jako/jakoc:
6517           * Terminological refinement in regexp capture comment.
6519 2001-10-23 15:23  simon
6521         * classes/genclass.pl:
6522         Use a saner ANSI C construct to make MIPSPro happy.
6524         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6526 2001-10-23 00:34  tom
6528         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6529         strutf8.c, include/parrot/string.h: Make sure the interpreter
6530         structure is passed to the transcoder as necessary, including
6531         passing it to string_compare().
6533 2001-10-23 00:32  tom
6535         * Makefile.in: Make pdump build again by including resources.o in
6536         the link.
6538 2001-10-22 22:43  dan
6540         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6541         strutf32.c, strutf8.c, test_main.c, transcode.c,
6542         include/parrot/packfile.h, include/parrot/parrot.h,
6543         include/parrot/resources.h, include/parrot/string.h,
6544         include/parrot/transcode.h: Everything now uses the allocators and
6545         deallocators in resources.c.
6547         Unfortunately we lost standalone string-test mode, but I can cope
6548         with that.
6550         Please note that until we have a real allocation/deallocation/GC
6551         system, this'll leak. A *lot*.
6553 2001-10-22 20:27  dan
6555         * MANIFEST, Makefile.in, pmc.c, resources.c,
6556         include/parrot/resources.h: First cut to handle arena allocation of
6557         PMC headers. (Amongst other things)
6559 2001-10-22 19:02  dan
6561         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6562         Now each register type has its own mask macro, which is the right
6563         thing to do.
6565         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6567 2001-10-21 23:40  tom
6569         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6570         stack chunk and add a test to test this rollover in future.
6572         Courtesy of Jason Gloudon <perl@gloudon.com>.
6574 2001-10-21 19:14  dan
6576         * include/parrot/string.h: Changed string 'unused' field to the
6577         language field.
6579 2001-10-21 18:18  gregor
6581         * languages/jako/: Makefile, mops.jako:
6582           * Makefile: 'clean' target removes .list files, too. And, it does
6583         rm -f
6584             with wildcards rather than listing things explicitly.
6586           * mops.jako actually prints out the
6587         millions-of-operations-per-second
6588             (mops) value instead of just the operations-per-second value.
6590 2001-10-21 18:03  simon
6592         * classes/intclass.o:
6593         *smack*! WRONG!
6595 2001-10-21 17:47  simon
6597         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6598         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6599         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6600         lib/Parrot/Vtable.pm:
6601         Initial work on PMCs. Explanation to follow
6603 2001-10-21 15:20  gregor
6605         * examples/assembly/queens.pasm:
6606           * Modernize the calling conventions in queens.pasm. It was using
6607         swap,
6608             which now must be rotate. Also, changed to use return values on
6609         the
6610             stack instead of in I0.
6612 2001-10-19 18:14  gregor
6614         * core.ops, stacks.c, include/parrot/stacks.h,
6615         languages/jako/jakoc:
6616         Per Dan's request, replacing 'swap' op by 'rotate'.
6618           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6620           * stacks.c and stacks.h: Removed swap-related functions from my
6621             prior commit, replacing them with stack_depth(), stack_entry()
6622             and rotate_entries().
6624             NOTE: The stack_depth() and rotate_entries() routines could
6625             be made more efficient through the caching of the sum of chunk
6626             'used' members from lower chunks in a field in the upper
6627             chunks. Also, if the interpreter's stack_base was changed to
6628             hold the pointer to the *top* chunk (since we usually come
6629             at the stack from the top down) instead of the *bottom*
6630             chunk. The code here at least works, and we can decide about
6631             bigger changes separately.
6633             For now, rotate only handles rotates in one direction and
6634             of magnituded one. A fully general rotate would do handle
6635             rotates in both directions and of arbitrary amounts. Again,
6636             this implementation is sufficient for current applications,
6637             and a feature-complete version can be developed if this turns
6638             out to be otherwise the right type of implementation.
6640             This change includes a new exception for ERROR_STACK_SHALLOW,
6641             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6643           * jakoc: Changed the calling convention to use rotate instead
6644             of swap (of course). Also changed the convention for return
6645             value passing to use the stack as well.
6647 2001-10-19 13:36  gregor
6649         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6650         examples/assembly/queens.pasm, include/parrot/stacks.h,
6651         languages/jako/.cvsignore, languages/jako/Makefile,
6652         languages/jako/bench.jako, languages/jako/euclid.jako,
6653         languages/jako/fact.jako, languages/jako/jakoc,
6654         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6655         languages/jako/primes.jako, languages/jako/queens.jako,
6656         languages/jako/sub.jako:
6657           * New stack functions push_entry(), pop_entry() and swap_entry().
6658             The first two exist for the support of the last one. These
6659             functions don't care what is in the stack entries. These exist
6660             to support the new 'swap' op (see next bullet).
6662           * New op 'swap' for swapping the top two elements on the stack.
6663             This is necessary for passing arguments to functions, since
6664             the return address will be on top of any arguments that have
6665             been pushed on the stack. This way, you can use a (swap, pop)
6666             pair to retrieve each argument (for subroutine linkage).
6668           * Disassembler now prints numbers in decimal by default, with
6669             a new '-x' flag to turn on hexadecimal display. Since other
6670             members of the Parrot Tool Set use decimal by default, this
6671             makes it easier to compare output from the various tools.
6673           * Jako compiler has more explanatory comments and the following
6674             new features:
6676               * Lexically scoped variables.
6678               * Subroutines that take arguments and return values:
6680                   sub int foo(int bar) {
6681                     if (bar == 1) {
6682                       return 42;
6683                     } else {
6684                       return 13;
6685                     }
6686                   }
6687               * ... if (...) and ... unless (...) statement modifiers
6688                 can be used on next, last and redo.
6690               * Bitwise and (&, &=) and or (|, |=) ops.
6692               * Type names are just 'int', 'num', 'str', and 'poly' now.
6693                 The old long names 'integer', 'number', 'string', and
6694                 'polytype' are no longer valid.
6696               * Integer variable assignments can now use 0b (binary),
6697                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6699           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6700             solving the eight-queens problem. The assembly example is a
6701             hand-modified version of the assembly code produced by the
6702             Jako compiler from queens.jako. A few unnecessary ops have
6703             been removed, lots of unnecessary labels have been removed,
6704             and all the Jako source code comments have been removed.
6706           * Makefile and .cvsignore in languages/jako modified so that
6707             the assembler produces listings when assembling the programs,
6708             yet the *.list files are ignored by CVS.
6710           * Made the default target in languages/jako/Makefile 'all'.
6712           * Modified some of the Jako examples to use some of the new
6713             features of Jako, such as subroutines and lexical variable
6714             scoping.
6716 2001-10-19 02:43  gregor
6718         * runops_cores.c, include/parrot/runops_cores.h:
6719         Bug fix (gcc doesn't complain, but MIPSpro does):
6721           * Added missing extern to runops_cores array declaration in
6722             include/parrot/runops_cores.h
6724           * Also added 'const' there and in runops_cores.c
6726 2001-10-18 15:18  gregor
6728         * .cvsignore, include/parrot/oplib/.cvsignore:
6729           * Ignore the vtable-related generated files.
6731 2001-10-18 15:14  gregor
6733         * core.ops:
6734           * left and right shifts now allow the 2nd argument to be a
6735         constant.
6737 2001-10-18 14:55  simon
6739         * make_vtable_ops.pl:
6740         This is C, not Perl. How on earth did that even compile?
6742 2001-10-18 14:54  simon
6744         * make_vtable_ops.pl:
6745         More vtable ops.
6747 2001-10-18 12:33  simon
6749         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6750         Initial stab at vtable opcode creation stuff.
6752 2001-10-18 02:15  gregor
6754         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6755         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6756         include/parrot/trace.h: Preparation for autogenerated runops cores:
6758           * Split tracing and runops core stuff out of interpreter.c into
6759             trace.c and runops_cores.c
6761           * Similar split of stuff from include/parrot/interpreter.h
6763           * Manifest and Makefile.in updates to make things still compile.
6765 2001-10-18 01:21  gregor
6767         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6769           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6771           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6773           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6775           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6777           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6778         with
6779             copy of $ops->preamble.
6781 2001-10-17 22:32  bdwheele
6783         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6784         request.
6786 2001-10-17 22:08  gregor
6788         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6789           * Now handles label-and-comment-only lines.
6791 2001-10-17 22:04  bdwheele
6793         * interpreter.c: added more comprehensive trace output
6795 2001-10-17 16:50  tom
6797         * Makefile.in: Removed the explicit rule for building mops.o from
6798         mops.c so that the implicit rule for compiling C files is used
6799         instead. This means that the chosen C flags are used, including any
6800         optimisation options.
6802 2001-10-17 15:24  tom
6804         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6805         op explosion logic to be able to handle exploding this:
6807           sub(i, i|ic, i|ic)
6809         into these:
6811           sub(i, i, i)
6812           sub(i, i, ic)
6813           sub(i, ic, i)
6815         without also generating this unwanted version:
6817           sub(i, ic, ic)
6819         The enhanced version rejects any expansion where there is more than
6820         one expanded argument and all the expanded arguments are constants.
6822 2001-10-17 14:20  simon
6824         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6825         Build fixes to use correct Perl version and ensure that things are
6826         running in the right directory.
6828         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6830 2001-10-17 13:16  simon
6832         * Makefile.in:
6833         core.pm is more critical than that.
6835 2001-10-17 13:05  simon
6837         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6838         "Explode" ops into multiple versions for different parameters.
6840         Courtesy of: Tom Hughes <tom@compton.nu>
6842 2001-10-17 12:54  simon
6844         * Makefile.in:
6845         Fix dependencies and cleaning.
6847 2001-10-17 12:45  simon
6849         * Configure.pl, Makefile.in:
6850         Fixes to make Parrot compile without the temporary build hack
6852         Courtesy of: Jason Gloudon <perl@gloudon.com>
6854 2001-10-16 20:43  gregor
6856         * Makefile.in:
6857           * Fixed dependencies for building Parrot/OpLib/core.pm
6859 2001-10-16 19:35  bdwheele
6861         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6862         added test, thanks to Alex Gough
6864 2001-10-16 16:49  bdwheele
6866         * core.ops: added opcode variants for constants and 3 arg concat
6868 2001-10-16 15:12  bdwheele
6870         * core.ops: added "set Sx,Sy" as a string copy to match the other
6871         register-to-register copies available
6873 2001-10-16 13:09  gregor
6875         * core.ops:
6876           * Added #include <sys/time.h> in the preamble for gettimeofday().
6878 2001-10-16 13:09  gregor
6880         * Makefile.in:
6881           * Removed cd t; make, which no longer applies
6883 2001-10-16 03:18  bdwheele
6885         * core.ops: fix save & restore operations to push correct type onto
6886         stack. [good eye to Jason Gloudon for noticing this]
6888 2001-10-16 01:38  bdwheele
6890         * core.ops, register.c, examples/assembly/fact.pasm,
6891         include/parrot/register.h: send in the clones:  clone routines for
6892         parrot + example program
6894 2001-10-15 22:37  gregor
6896         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6897         examples/assembly/Makefile, examples/assembly/bsr.pasm,
6898         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6899         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6900         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6901         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6902         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6903         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6904         t/test4.pasm, t/test5.pasm, t/trace.pasm:
6905           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6906         some
6907             renames so the names match what they demonstrate.
6909 2001-10-15 22:18  gregor
6911         * core.ops, t/test.pasm:
6912           * time_n uses gettimeofday() to get sub-second times.
6914           * t/test.pasm uses time_n directly rather than doing int stuff
6915         and
6916             converting to num later.
6918 2001-10-15 12:28  gregor
6920         * t/: test.pasm, test2.pasm, trace.pasm:
6921           * t/test.pasm prints using string constants instead of string
6922         regs.
6924           * t/test2.pasm assembles (using implicit op modes)
6926           * t/trace.pasm updated for new behavior of trace_ic, which does
6927         not
6928             require an 'end' after 'trace'.
6930 2001-10-15 00:47  gregor
6932         * core.ops, interpreter.c, test_main.c,
6933         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
6934         PARROT_PROFILE_FLAG
6936           * New runops cores to handle profiling
6938           * Support for -p flag in test_prog to enable profiling
6940           * New profile_ic op to control profiling at run-time
6942 2001-10-14 21:54  gregor
6944         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
6945         lib/Parrot/OpsFile.pm: Integrated op documentation.
6947           * core.ops now contains POD documentation of ops, interspersed
6948         with the
6949             ops themselves
6951           * Ops are organized into POD =head2 sections
6953           * Parrot/OpsFile.pm now treats the preamble of the ops file as
6954         anything
6955             up to the first POD directive OR op definition.
6957           * docs/Makefile now generates core_ops.pod from core.ops vi
6958         perldoc -u.
6960 2001-10-14 11:58  simon
6962         * Makefile.in:
6963         Unbreak Digital Un^W^WTru64
6965 2001-10-14 11:00  simon
6967         * Configure.pl:
6968         Remove weird typo.
6970 2001-10-14 10:56  tom
6972         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
6973         op_info.c no longer exists and op.h is no longer a generated file.
6975 2001-10-14 10:54  tom
6977         * Makefile.in: Added vtable.h to the list of things removed by the
6978         clean target.
6980 2001-10-14 01:43  gregor
6982         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
6983         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
6984         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
6985         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
6986         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
6987         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
6988         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
6989         include/parrot/.cvsignore, include/parrot/interp_guts.h,
6990         include/parrot/interpreter.h, include/parrot/op.h,
6991         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
6992         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
6993         t/op/stacks.t, t/op/string.t, t/op/trans.t:
6994         Moby Patch:
6996           * basic_opcodes.ops and opcode_table replaced by core.ops
6998           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
6999             and ops2c.pl. These convert *.ops to *_ops.c and
7000             include/parrot/oplib/*_ops.h
7002           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7004           * disassemble.pl modified to use
7006           * interpreter.c modified to use structures in core_ops.c instead
7007             of the old op_info and op_func stuff. We're not yet to the
7008             point of handling multiple oplibs at a time, but we are getting
7009             there...
7011             Fingerprinting stuff disabled for now. We used to go off
7012             opcode_table. We need to rethink this. I have some ideas to
7013             make it unnecessary, but it remains to be seen whether others
7014             will like the direction they take us.
7016             Termination condition for while(){} loop in runops is now
7017             (pc) instead of (*pc). Any op can cause a HALT by returning
7018             a NULL pointer. Ops end, bounds and trace all do this. So, now
7019             the 'end' op body is actually executed, although all it does
7020             is HALT.
7022           * Makefile.in modified to perform a test build using pbc2c.pl,
7023             which is the bytecode --> C compiler I've posted to the
7024             list before.
7026           * Op full names are now autogenerated. Op root names must not
7027             contain underscores, so some op renamings have happened.
7028             Such as clear_i becoming cleari.
7030 2001-10-13 11:49  simon
7032         * Configure.pl, MANIFEST:
7033         Make parrot actually build again.
7035 2001-10-12 21:34  dan
7037         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7038         opcodes
7040 2001-10-12 20:56  dan
7042         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7043         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7044         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7045         generic stack now in. We also have subroutines, of a simple sort!
7047 2001-10-12 19:15  tom
7049         * t/op/string.t: Improved string comparison tests try all string
7050         combinations with each of the comparison ops.
7052 2001-10-12 19:09  dan
7054         * interpreter.c: Properly sets up generic stack now
7056 2001-10-12 19:09  dan
7058         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7059         interpreter structure
7061 2001-10-12 18:59  dan
7063         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7064         changes to get the generic stack working
7066 2001-10-12 18:59  dan
7068         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7069         hints/vms.pl: Made the changes to figure out mask bits for various
7070         register and stack chunks
7072 2001-10-11 22:09  dan
7074         * docs/parrot_assembly.pod: Tossed the parameter for return
7076 2001-10-11 19:28  tom
7078         * strnative.c: Assignment, not comparison.  (Plus formatted for
7079         coding standards)
7081         Courtesy of Bryan C. Warnock
7083 2001-10-10 19:21  tom
7085         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7086         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7087         include/parrot/string.h, t/op/string.t: Added support for string
7088         comparisons and extended the comparison ops to include comparison
7089         of strings.
7091 2001-10-10 17:58  dan
7093         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7095 2001-10-10 17:54  dan
7097         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7098         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7099         vtable type entries properly
7101 2001-10-10 15:37  dan
7103         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7104         parse new vtable.tbl file now that I've actually checked *in* the
7105         new format vtable.tbl file...
7107 2001-10-10 15:32  dan
7109         * vtable.tbl: New Column to indicate the type of the vtabel entry
7110         so we can know how many slots it takes
7112 2001-10-10 05:26  thgibbs
7114         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7115         allow parrot to compile.  PACKAGE is not defined, therefore, I
7116         added a struct before it to have it not complain until we define
7117         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7118         semicolon at the end of the struct declaration.
7120 2001-10-10 05:09  thgibbs
7122         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7123         string constants of the form U"string" become unicode encoded
7124         parrot strings and the form N"string" become native encoded parrot
7125         strings.
7127         Courtesy of: Tom Hughes <tom@compton.nu>
7129 2001-10-10 04:55  dan
7131         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7132         support for generating the vtable function table offset macros
7134 2001-10-10 01:05  simon
7136         * t/op/integer.t:
7137         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7138         compiles into the mod op, not the cmod_i op, hence wasn't testing
7139         what it thought it was.
7141         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7143 2001-10-09 03:45  thgibbs
7145         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7146         assembler to generate unicode strings.
7148         Courtesy of: Tom Hughes <tom@compton.nu>
7150 2001-10-08 19:30  brentdax
7152         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7153         info for Parrot::Config to remember, more flexible test.c stuff
7155 2001-10-08 15:04  gregor
7157         * basic_opcodes.ops:
7158           * Removed trash from early mod_i experiments (pardon our dust)
7160 2001-10-08 14:56  gregor
7162         * basic_opcodes.ops:
7163           * Fixed a couple of typos.
7165 2001-10-08 14:45  gregor
7167         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7168         Arithmetic enhancements:
7170           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7172             NOTE: This "uncorrected mod" algorithm uses the C language's
7173         built-in
7174             mod operator (x % y), which is
7176                 ... the remainder when x is divided by y, and thus is zero
7177         when y
7178                 divides x exactly.
7179                 ...
7180                 The direction of truncation for / and teh sign of the
7181         result for %
7182                 are machine-dependent for negative operands, as is the
7183         action taken
7184                 on overflow or underflow.
7185                                                                      --
7186         [1], page 41
7188             Also:
7190                 ... if the second operand is 0, the result is undefined.
7191         Otherwise, it
7192                 is always true that (a/b)*b + a%b is equal to z. I both
7193         operands are
7194                 non-negative, then teh remainder is non-negative and
7195         smaller than the
7196                 divisor; if not, it is guaranteed only that the absolute
7197         value of the
7198                 remainder is smaller than the absolute value of the
7199         divisor.
7200                                                                      --
7201         [1], page 205
7203             This op is provided for those who need it (such as
7204         speed-sensitive
7205             applications with heavy use of mod, but using it only with
7206         positive
7207             arguments), but a more mathematically useful numeric mod based
7208         on
7209             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7211               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7212         Programming
7213                   Language*, Second Edition. Prentice Hall, 1988.
7215           * Added "corrected" mod_i:
7217             NOTE: This "corrected mod" algorithm is based on the C code on
7218         page 70
7219             of [1]. Assuming correct behavior of C's built-in mod operator
7220         (%) with
7221             positive arguments, this algorithm implements a mathematically
7222         convenient
7223             version of mod, defined thus:
7225               x mod y = x - y * floor(x / y)
7227             For more information on this definition of mod, see section 3.4
7228         of [2],
7229             pages 81-85.
7231             References:
7233               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7234                   Millennium* Springer, 1999.
7236               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7237         *Concrete
7238                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7240           * Added mod_n, using the same formula as above, but with FLOATVAL
7241             arguments.
7243           * Added cmod_n, using the C math library's fmod() function:
7245             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7246         library's
7247             fmod() function, which computes
7249                 ... the remainder of dividing x by y. The return value is x
7250         - n * y,
7251                 where n is the quotient of x / y, rounded towards zero to
7252         an
7253                 integer.
7254                                                 -- fmod() manpage on RedHat
7255         Linux 7.0
7257             In addition, fmod() returns
7259                 the remainder, unless y is zero, when the function fails
7260         and errno
7261                 is set.
7263             According to page 251 of [1], the result when y is zero is
7264         implementation-
7265             defined.
7267             This op is provided for those who need it, but a more
7268         mathematically
7269             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7270         and
7271             defined with y == 0 is provided by the mod_n op.
7273               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7274         Programming
7275                   Language*, Second Edition. Prentice Hall, 1988.
7277           * Added and modified tests as appropriate for the above.
7279 2001-10-08 08:49  thgibbs
7281         * include/parrot/exceptions.h, include/parrot/parrot.h,
7282         include/parrot/string.h, include/parrot/strutf16.h,
7283         include/parrot/strutf32.h, include/parrot/strutf8.h,
7284         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7285         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7286         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7287         strings for utf8, utf16, and utf32.
7289         Courtesy of: Tom Hughes <tom@compton.nu>
7291 2001-10-08 08:10  thgibbs
7293         * memory.c: Fixed uninitialized variables.
7295         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7297 2001-10-08 01:21  gregor
7299         * packfile.c:   * Casting a return value
7301           * Potential uninitialized variable fix
7303         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7305 2001-10-08 01:15  gregor
7307         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7308         a few tweaks of my own):
7310           * Line wrapping
7312           * Printf format fixes
7314         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7316 2001-10-07 22:39  thgibbs
7318         * build_interp_starter.pl: No longer adds (void*) casts to
7319         interp_guts.c function table as they are not necessary in ANSI C.
7321 2001-10-07 16:27  gregor
7323         * basic_opcodes.ops, interpreter.c, opcode_table,
7324         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7325         t/trace.pasm:
7326           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7327             interpreter->flags and set interpreter->resume_addr.
7329           * Two new runops core variants, so now we cover the relevant
7330             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7332           * Runops core selection that converts the flags into an index
7333         into
7334             a core table (runops_cores) to get the core function pointer.
7336           * A new trace_op variant that doesn't do bounds checking (used by
7337             the non-bounds-checking-but-tracing runops core).
7339           * PC is passed into the cores so that they can be used when
7340             resuming (they used to assume starting at the beginning of the
7341             code, which would thwart resumption).
7343           * runops() itself is changed to have a while() loop in it so that
7344             any time we drop out of the core, we'll resume if we have an
7345             interpreter->resume_addr set (after reselecting the core,
7346         though).
7348           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7349             interpreter->resume_addr. This is used by the new ops. The new
7350             ops still return the new PC as the next op (which MUST be an
7351             'end' op to force the core loop to terminate -- *pc being false
7352             is the only termination condition we can count on for all
7353         cores).
7355           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7356             bounds checking core selection.
7358           * test_prog now has a '-b' flag in addition to the '-t' flag.
7359         Now,
7360             bounds checking is off by default (I saw a performance boost:
7361             6.3 Mop/s with -b, 7.0 Mop/s without).
7363           * A new sample/test program: t/trace.pasm that twiddles the trace
7364             flag while it is running.
7366 2001-10-07 15:41  gregor
7368         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7369         include/parrot/.cvsignore, include/parrot/interpreter.h:
7370         Now that 0.0.2 is released, I can clear out the backlog of approved
7371         but uncommitted patches. Here's one Dan approved on 2001-09-21
7372         (Simplified DO_OP):
7374           * test_prog and pdump are linked with only the files the need,
7375         not
7376             al the files.
7378           * build_interp_starter.pl writes out op_info.[hc], too. These
7379         files
7380             contain op name, arg count and arg type information. This will
7381         be
7382             useful for multiple things in the future, including better
7383         trace
7384             output and the crystalizing loader.
7386           * The DO_OP macro is now simpler and doesn't require explicit
7387             temporaries.
7389           * interpreter.c is modified to use the new op info in tracing
7390         output.
7392           * The interpreter just points its opcode_funcs and opcode_info
7393             members at the default tables rather than allocating memory on
7394             the fly.
7396 2001-10-07 03:58  thgibbs
7398         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7399         comment and adding vtable.h to .cvsignore as it is produced by
7400         vtable_h.in
7402 2001-10-06 20:58  thgibbs
7404         * vtable.tbl: Added * to REGEX type.
7406         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7408 2001-10-06 13:41  simon
7410         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7411         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7412         Framework for vtable functions.
7414 2001-10-06 06:52  thgibbs
7416         * make_op_header.pl: Removed confusing and unused typedef.
7418 2001-10-06 06:31  thgibbs
7420         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7421         are no longer used.
7423 2001-10-06 06:26  thgibbs
7425         * disassemble.pl: Changed intval to op in disassembler.
7427 2001-10-06 06:21  thgibbs
7429         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7430         Assembler, local labels, and integer constants.
7432 2001-10-06 03:11  ask
7434         * Makefile.in: make `make test` actually run the tests on
7435         darwin/macosx
7437 2001-10-06 02:04  thgibbs
7439         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7440         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7441         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7442         include/parrot/register.h, lib/Parrot/Assembler.pm,
7443         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7444         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7445         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7446         type make. :)
7448 2001-10-06 02:02  thgibbs
7450         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7451         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7452         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7453         include/parrot/register.h, lib/Parrot/Assembler.pm,
7454         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7455         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7456         t/op/integer.t: oops...this messed something up.  I must have
7457         missed something in the patch...I have reverted.
7459 2001-10-06 01:57  thgibbs
7461         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7462         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7463         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7464         include/parrot/register.h, lib/Parrot/Assembler.pm,
7465         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7466         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7467         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7468         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7469         This patch ensures that all bytecode is of type opcode_t except for
7470         the constant table constants.  That means that almost all of the
7471         INTVALs in the code were replaced with opcode_t and the i pack type
7472         was replaced with the op pack type in calls to pack_arg and such.
7473         Also, since it has been declared that ALL integer constants are to
7474         be 32 bits, some test cases were changed to ensure that an integer
7475         constant was no bigger than 2 ** 31.
7477         process_opfunc.pl was also cleaned up to no longer look at either
7478         opcode_table or interp_guts.h but gather all of its information
7479         from Opcode.pm.
7481         The Assembler.pm module was changed to do late binding of arguments
7482         so that 0 could be treated like 0.0 without having to be so
7483         declared.  Also, only strings now use the [sc:N] intermediate form
7484         as it was unnecessary for integer and float types.
7486 2001-10-05 21:59  gregor
7488         * MANIFEST, languages/jako/Makefile:
7489         Fixed things due to the movement of little_languages/* to
7490         languages/jako.
7492 2001-10-05 18:31  gregor
7494         * MANIFEST:
7495         Updated MANIFEST to reflect recent additions for Jako.
7497 2001-10-05 17:54  gregor
7499         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7500         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7501         mops.jako, primes.jako, sub.jako:
7502           * Compiler:
7504               * User-defined subroutines.
7505               * Generates assembly code with the Jako code in comments.
7506               * "end;" no longer required at the end of programs.
7507               * Better handling of const-reg and reg-const.
7508               * Optimizes const-const operations to compile-time
7509         evaluations.
7510               * Constants in addition to variables.
7511               * Arithmetic fixes.
7512               * Allow leading minus signs in integer and number constants
7513         (ahem).
7514               * goto's.
7516           * New sample programs:
7518               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7519         example)
7520               * mandelbrot.jako (based on Leon Brocard's translation of
7521         Glenn Rhodes' C code)
7522               * mops.jako (based on t/test.pasm)
7523               * primes.jako (based on Leon Brocard's primes.pasm example)
7524               * sub.jako (demonstrates a simple user-defined subroutine)
7526 2001-10-05 12:54  gregor
7528         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7529           * Removed mysterious extra copy of code after POD.
7531 2001-10-05 12:46  gregor
7533         * basic_opcodes.ops, t/op/string.t:
7534           * Enabled the previously SKIPped test of printing string regs
7535         after
7536             clear_s
7538           * Made print_s do nothing if the STRING pointer in the register
7539         file
7540             is NULL.
7542 2001-10-04 21:19  dan
7544         * Configure.pl: VMS tweaks
7546 2001-10-04 21:17  dan
7548         * hints/vms.pl: Hints file for VMS
7550 2001-10-04 00:58  bdwheele
7552         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7553         Assembler which stopped equates from working.
7555 2001-10-03 21:50  gregor
7557         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7559           * More documentation updates for the packfile stuff.
7561 2001-10-03 21:37  gregor
7563         * docs/parrotbyte.pod:
7564           * Pointed the reader at Parrot::PackFile.
7566 2001-10-03 21:34  gregor
7568         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7569           * Updated documentation to match current implementation.
7571 2001-10-03 18:30  gregor
7573         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7574         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7575         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7576         t/op/basic.t:
7577           * Added new syntax to the assembler to allow square-bracket
7578             arithmetic expressions involving (global) labels, the current
7579             instructions base address ('@'), numeric constants (not
7580         equates)
7581             and basic arithmetic operators (+, -, *, / -- although + and -
7582             are likely to be the only ones used in practice).
7584           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7585         to
7586             fail (argument passing wasn't working).
7588           * Enabled t/op/basic.t's last test, which is actually a copy of
7589         the
7590             code from t/call.pasm. Now all tests there are enabled and
7591         working.
7593           * Added new example/test program t/call.pasm to demonstrate
7594         working
7595             macros and poor-man's subroutine calls
7597           * Added header comments to t/*.pasm
7599 2001-10-03 18:00  simon
7601         * ChangeLog:
7602         Needed, since it's in the MANIFEST.
7604 2001-10-03 17:56  simon
7606         * t/op/: string.t, time.t:
7607         Small fixes to help Win32 on its way.
7609 2001-10-03 17:41  simon
7611         * MANIFEST, README:
7612         Oops. Tiny bugs.
7614 2001-10-03 17:39  simon
7616         * MANIFEST, NEWS, README:
7617         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7618         think so!
7620 2001-10-03 17:21  simon
7622         * basic_opcodes.ops, interpreter.c, packfile.c:
7623         Evil printf bandaid (which allows Sparc64 to pass tests)
7625         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7627 2001-10-03 16:58  simon
7629         * string.c, t/op/string.t:
7630         chop fixes for n < 0 and tests
7632         Courtesy of: Alex Gough <alex@rcon.org>
7634 2001-10-03 15:51  thgibbs
7636         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7638         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7640 2001-10-02 17:48  dan
7642         * include/parrot/stacks.h: Fix typo in function name
7644 2001-10-02 17:35  dan
7646         * include/parrot/stacks.h: changed to support new stack stuff
7647         coming after 0.02
7649 2001-10-02 15:01  simon
7651         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7652         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7653         process_opfunc.pl, register.c, string.c, strnative.c,
7654         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7655         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7656         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7657         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7658         include/parrot/memory.h, include/parrot/packfile.h,
7659         include/parrot/parrot.h, include/parrot/register.h,
7660         include/parrot/stacks.h, include/parrot/string.h,
7661         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7663         The Great Renaming.
7665 2001-10-02 12:49  gregor
7667         * process_opfunc.pl:
7668           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7670 2001-10-02 12:40  simon
7672         * basic_opcodes.ops, process_opfunc.pl, register.c,
7673         include/parrot/register.h:
7674         Move preprocessing of register accessors to process_opfunc.pl
7676         Courtesy of: Jason Gloudon <perl@gloudon.com>
7678 2001-10-02 01:20  ask
7680         * README: add a few lines about lists.
7682 2001-10-01 23:00  brentdax
7684         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7685         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7687 2001-10-01 22:50  brentdax
7689         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7691 2001-10-01 21:51  simon
7693         * process_opfunc.pl:
7694         Michael Fischer's patch broke conditionals.
7696 2001-10-01 15:38  simon
7698         * process_opfunc.pl:
7699         Small hack to keep process_opfunc.pl from generating extra return()
7700         statements.
7702         Courtesy of: Michael Fischer <michael@visv.net>
7704 2001-10-01 15:32  simon
7706         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7707         Documentation fix.
7709         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7711 2001-10-01 01:49  simon
7713         * packfile.c:
7714         Simon is an idiot. Don't trust him with your code.
7716         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7718 2001-10-01 00:59  simon
7720         * Parrot/String.pm, lib/Parrot/String.pm:
7721         Was in manifest, but not in CVS.
7723 2001-09-30 21:25  simon
7725         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7726         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7727         Parrot/Assembler.pm, Parrot/PackFile.pm,
7728         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7729         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7730         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7731         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7732         include/parrot/packfile.h, include/parrot/string.h:
7733         Move NVs to the constant table.    * Changes to Types_pm.in to make
7734         life easier for some of the      packing/etc. I'm doing elsewhere.
7735         Also, we now pack 'n' as      'i'.
7737           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7738             eventually we can use all these tools together inside scripts
7739             rather than call out to the shell to run the programs.
7741           * As I was tracking down problems, I converted the internal
7742             documentation of the assembler to POD from comments.
7744           * Changed the numeric regexp in the assembler to detect leading
7745             signs and trailing exponents.
7747           * Updated basic_opcodes.ops to fetch numeric constants from the
7748             constant table.
7750           * Enhanced the disassembler in a number of ways to make my life
7751             easier while tracking down bugs (try it out). It now puts in
7752             labels for ops that are the destinations of flow control ops.
7754           * packfile.c now has a TRACE_PACKFILE switch that can be set
7755             to get it to print info as it processes. I needed this while
7756             debugging, but I can remove it or change it before committing
7757             if its a problem.
7759           * Updated pdump.c because it was missing a call to init_world().
7761           * Updated process_opfunc.pl to deal with numeric constants
7762             being stored in the constant table instead of inline.
7764           * Added multiple type support to Parrot/PackFile/Constant.pm
7766           * Added Parrot/String.pm, to be used for constants.
7768           * Added packfile.[hc] functions for allocating new constants
7769             of various types.
7771           * Made string_copy visible to the world in parrot/string.h.
7773         Wow.
7775         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7777 2001-09-29 15:56  gregor
7779         * languages/jako/Makefile:
7780         Removed assumption that '.' is on the path.
7782 2001-09-29 15:55  gregor
7784         * languages/jako/Makefile:
7785         Removed references to leibnitz test program.
7787 2001-09-29 15:21  thgibbs
7789         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7790         math ops args to work on Solaris.
7792 2001-09-27 15:15  thgibbs
7794         * assemble.pl: Added case insensitive matches to hex and binary
7795         characters
7797         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7799 2001-09-27 04:46  thgibbs
7801         * assemble.pl: This patch makes integer constants of the form
7802         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7803         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7804         returning 0.  To fix this, I added a from_binary function that
7805         would take a binary string and return its decimal representation.
7806         Now, instead of blindly calilng oct, it makes a distinction between
7807         0/0x numbers and 0b numbers.
7809 2001-09-26 19:30  thgibbs
7811         * assemble.pl: Error now returns a non-zero status
7813         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7815 2001-09-26 19:13  gregor
7817         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7818         interpreter.c, packfile.c, pdump.c, test_main.c,
7819         include/parrot/bytecode.h, include/parrot/interpreter.h,
7820         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7821         t/op/stacks.t:
7822           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7823             packfile/bytecode file from C. May be renamed in the future.
7825           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7826             of 'PackFile *', just like the interpreter, etc.
7828           * Constants are accessed via the interpreter's 'code' member
7829             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7830             provided to access constants by index and the number of
7831             constants, respectively (assumes a variable 'interpreter' of
7832             the appropriate type is in scope).
7834           * Byte Code is accessed via the interpreter's 'code' member.
7836           * Changed PackFile_Constant to point to a STRING instead of
7837         having
7838             members for the string_make() arguments. Also has a 'type' IV
7839             in preparation for allowing multiple types of constants in
7840             const_table.
7842           * Removed hardcoded example program from test_main.c. We have
7843             plenty of test programs elsewhere.
7845           * test_prog now uses a PackFile to deal with the program before
7846             sending it on to the interpreter.
7848           * Added missing 'end' ops to some tests in t/op/integer.t and
7849             t/op/stacks.t.
7851 2001-09-26 18:38  thgibbs
7853         * assemble.pl: Separated code into functions and added comments.
7855 2001-09-26 18:29  simon
7857         * config_h.in:
7858         Fix 64-bit chunk-base issue.
7860 2001-09-26 06:55  thgibbs
7862         * t/op/bitwise.t: Added end to bitwise tests.
7864 2001-09-26 00:54  dan
7866         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7867         and interpreter creation. Skeleton only, but it's something to peer
7868         at.
7870 2001-09-25 21:44  thgibbs
7872         * t/op/trans.t: Removed loops in transcendtal op test.
7874 2001-09-25 10:12  simon
7876         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7877         t/op/string.t, t/op/time.t:
7878         More tests
7880         Courtesy of: Alex Gough <alex@rcon.org>
7882 2001-09-24 19:08  gregor
7884         * t/op/number.t:
7885           * Enabled the clear_n test.
7887 2001-09-24 18:56  gregor
7889         * Parrot/.cvsignore:
7890           * Ignore the generated Types.pm file.
7892 2001-09-24 18:52  gregor
7894         * languages/jako/Makefile, t/op/number.t:
7895           * No need to skip the inc and dec numeric tests anymore. I fixed
7896         the
7897             assembler earlier today.
7899 2001-09-24 18:21  simon
7901         * MANIFEST, t/op/stacks.t:
7902         Oops.
7904 2001-09-24 18:19  simon
7906         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7907         include/parrot/exceptions.h, include/parrot/interpreter.h,
7908         lib/Parrot/Test.pm, t/op/string.t:
7909         1) captured error output, so can test errors, this might be bad,
7910         not sure.  2) basic tests for register stack frames, including some
7911         errors 3) I think we can stop skipping one of the string tests 4) I
7912         added some more substr tests, but substr was broken, so 5) changed
7913         substr to work with out of range values, or 6) throw an error if
7914         they're far too silly
7916         Courtesy of: Alex Gough <alex@rcon.org>
7918 2001-09-24 17:27  gregor
7920         * basic_opcodes.ops, opcode_table, t/op/number.t:
7921           * Op set_n was missing. Added it and a test for it. We now have
7922         the
7923             same int and num ops, except mod is int-only.
7925 2001-09-24 17:01  gregor
7927         * assemble.pl:
7928           * Fixed a typo: s/Line/line/
7930 2001-09-24 16:02  gregor
7932         * basic_opcodes.ops:
7933           * Fixed dec_n_nc opcode, which had += where it should have had
7934         -=.
7936 2001-09-24 15:34  gregor
7938         * assemble.pl:
7939           * Fixed handling of constants starting with '0' that should not
7940         be
7941             sent through oct(). For example 'set N2 0.1' was being
7942         interpreted
7943             as 'set N2 0' (naughty).
7945             As reported by Leon Brocard <acme@astray.com> in the comments
7946         of
7947             his mandelbrot.pasm example.
7949 2001-09-24 02:21  bdwheele
7951         * assemble.pl: fixed dumb code when --include was not specified.
7953 2001-09-24 02:17  simon
7955         * assemble.pl:
7956         Shit-sweeping.
7958 2001-09-24 01:56  bdwheele
7960         * assemble.pl: * Added --include=dir option to assembler to provide
7961         a path to look for included files.  * Error message of a macro is
7962         defined inside of a macro
7964 2001-09-23 21:29  bdwheele
7966         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
7968 2001-09-23 15:50  simon
7970         * Configure.pl:
7971         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
7973 2001-09-23 02:03  ask
7975         * Configure.pl, test_c.in: fix missing newline at the end of test.c
7976         Courtesy of: acme@astray.com (Leon Brocard)
7978         rename 'test' executable used in Configure process to test_siz.
7980 2001-09-23 01:03  simon
7982         * process_opfunc.pl:
7983         iPaq fix. No, really.
7985 2001-09-23 00:47  simon
7987         * MANIFEST:
7988         Missed several, in fact.
7990 2001-09-23 00:46  simon
7992         * MANIFEST:
7993         Missed one.
7995 2001-09-22 21:13  simon
7997         * assemble.pl:
7998         Assembler register numbering rigour.
8000         Courtesy of: Leon Brocard <acme@astray.com>
8002 2001-09-22 18:20  simon
8004         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8005         lib/Test/Utils.pm:
8006         I'm sick of having to install Test::More everywhere. Temporary
8007         measure until we remove this silly dependency.
8009         Also a typo in Makefile.in which suggests some things were only
8010         happening correctly by sheer chance. :)
8012 2001-09-22 18:06  simon
8014         * README:
8015         test.pasm is dead, long like make test.
8017 2001-09-22 17:47  simon
8019         * t/op/number.t:
8020         De-fang overzealous floating point test.
8022 2001-09-22 17:39  simon
8024         * process_opfunc.pl:
8025         Remove hard-coded NV size assumption. Tru64 is nearly there!
8027 2001-09-22 17:18  simon
8029         * assemble.pl, disassemble.pl:
8030         More portability fixups.
8032 2001-09-22 16:44  simon
8034         * assemble.pl, Parrot/PackFile/Constant.pm,
8035         lib/Parrot/PackFile/Constant.pm:
8036         And I *think* this fixes Tru64.
8038 2001-09-22 16:37  simon
8040         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8042         Oops.
8044 2001-09-22 16:36  simon
8046         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8047         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8048         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8050         More removal of hard-coded pack formats.
8052 2001-09-22 15:21  simon
8054         * assemble.pl:
8056         Grrr. Why isn't this working?
8058 2001-09-22 15:18  simon
8060         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8061         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8063         Make assemble use the PackFile modules; also fixed some bugs in
8064         them.
8066 2001-09-22 14:38  simon
8068         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8070         Abstract the argument and opcode packing types and functions out
8071         into a separate module. This *should* help us maintain consistency
8072         when we change the various types.
8074 2001-09-22 00:46  brentdax
8076         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8077         test program finishes.
8079 2001-09-21 21:24  brentdax
8081         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8082         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8084 2001-09-21 21:09  gregor
8086         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8087         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8089           * Fixed pad calculation (similar to recent bug fix on C library)
8091 2001-09-21 20:23  simon
8093         * disassemble.pl:
8094         Pack types and sizes have gone askew.
8096 2001-09-21 20:18  brentdax
8098         * Configure.pl: Fix typo in setting stuff from the C test program
8100 2001-09-21 10:25  simon
8102         * basic_opcodes.ops, process_opfunc.pl:
8103         Document patches.
8105         Courtesy of: Leon Brocard <acme@astray.com>
8107 2001-09-21 06:06  ask
8109         * Config_pm.in, assemble.pl: fix 5.005_03.
8111 2001-09-21 06:03  ask
8113         * Configure.pl: make the ivsize detection work for us normal people
8114         without . in our PATH.  :-)
8116 2001-09-21 05:56  brentdax
8118         * test_main.c: Change _read to read for portability to Tru64
8119         (Damien Neil <neild@misago.org> and likely many others)
8121 2001-09-21 05:46  ask
8123         * Makefile.in: "update" target to update from cvs.
8125 2001-09-21 05:44  brentdax
8127         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8129 2001-09-21 02:43  brentdax
8131         * Configure.pl: Fix a typo that forced the -g flag on
8133 2001-09-20 22:41  dan
8135         * packfile.c: Had some no-value returns. Naughty
8137 2001-09-20 22:40  dan
8139         * t/test.pasm: Added labels to output
8141 2001-09-20 15:39  simon
8143         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8144         lib/Parrot/Test.pm:
8145         This patch does two only somewhat related things.
8147         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8148         = 2*sizeof(iv) to a PConfig-type computed value.
8150         Parrot/Test.pm:  Change it to run with the perl that was used to
8151         generate this version of Parrot.  This is useful if, for example,
8152         you want to use bleadperl to build and test parrot (e.g. to try out
8153         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8154         installed as the default 'perl' on your system.  Since perl-5.7.x
8155         is installed 'version-only', a plain 'perl' is quite likely to pick
8156         up the older perl in such cases. Such an older perl might well not
8157         understand pack('q') used in the assembler.
8159         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8161 2001-09-20 15:14  gregor
8163         * packfile.c:
8164           * Fixed a typo in pad calculation that throwing off unpack and
8165         pack.
8167 2001-09-20 15:03  thgibbs
8169         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8170         tests now cover all registers.
8172         Courtesy of: Damien Neil neild@misago.org
8174 2001-09-20 14:48  thgibbs
8176         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8177         machines.
8179 2001-09-20 14:35  simon
8181         * Configure.pl, assemble.pl:
8182         Pack IVs correctly.
8184         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8186 2001-09-20 14:06  gregor
8188         * languages/jako/jakoc:
8189           * Fixed a tyop in the string interpolation regex.
8191         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8193 2001-09-20 13:56  gregor
8195         * languages/jako/jakoc:
8196           * Updated jakoc to work with the single-destination comp ops.
8198 2001-09-20 05:08  bdwheele
8200         * assemble.pl: macro expansion.  Here's the test macro I was using:
8202         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8203         label.  testi       macro   num,got,want    print   "Test #"
8204         print   num     print   "..."   set     I32,want        set
8205         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8206         $end $ok:       print   "OK\n" $end:    endm
8208         It is invoked as:
8210         Test1:  testi   1,I3,I2
8212 2001-09-20 03:52  dan
8214         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8215         generic stack support
8217 2001-09-20 02:49  bdwheele
8219         * assemble.pl: Added include processing to assemble.pl  the syntax
8220         is: include 'file.to.include'
8222 2001-09-19 23:57  thgibbs
8224         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8225         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8226         function to only use 2 args, but the opcode_table still had three
8227         listed.  Fixed integer.t and number.t to use the new comparison
8228         operators.  Improved assemble.pl ability to grok operators by
8229         constructing a function set and comparing operator types.
8231 2001-09-19 22:42  dan
8233         * assemble.pl: Binmodes the output filehandles now. (No more
8234         bytecode munching...)
8236 2001-09-19 22:32  dan
8238         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8239         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8240         conditional branches take a single argument, and fall through
8241         otherwise.
8243 2001-09-19 21:19  thgibbs
8245         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8246         Sugalski
8248         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8250 2001-09-19 21:04  thgibbs
8252         * include/parrot/interpreter.h, Configure.pl,
8253         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8254         process_opfunc.pl: Changed opcode_t from a union to a configurable
8255         type.
8257 2001-09-19 20:54  thgibbs
8259         * assemble.pl: Missed a couple of changes for 64 bit portability.
8261 2001-09-19 20:37  gregor
8263         * packfile.c, include/parrot/packfile.h:
8264           * Added "methods" for setting and getting all the various
8265         attributes,
8266             probably sufficient for an assembler to use the library.
8268 2001-09-19 20:04  thgibbs
8270         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8271         a 64 bit platform manually change the  setting for 'i' from 'l' to
8272         'q'.  This should be automatically done by a Configure setting in
8273         the near future.
8275 2001-09-19 19:10  thgibbs
8277         * config_h.in: changed c++ comment to c comment.
8279         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8281 2001-09-19 17:48  gregor
8283         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8284         include/parrot/packfile.h:
8285           * C code for dealing with PackFiles as if they were objects.
8286         Mostly
8287             read-only interface for now, but it would not be hard to make
8288         it
8289             read-write. [packfile.c, include/parrot/packfile.h]
8291           * PackFile Dumping program that falls short of disassembling, but
8292             tests the above code and provides a hex listing of the byte
8293         code
8294             contents of the PackFile. [pdump.c]
8296           * New Makefile target 'pdump' for the above program, and related
8297             Makefile.in changes.
8299           * Updated MANIFEST to reflect the added files
8301           * Update .cvsignore to ignore pdump.
8303 2001-09-19 14:55  thgibbs
8305         * MANIFEST: Added number.t and trans.t to MANIFEST
8307 2001-09-19 05:40  thgibbs
8309         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8310         of union opcode_t.  I hope this will be more portable for set_n_nc.
8312 2001-09-19 05:39  thgibbs
8314         * t/op/integer.t: Added end to test 1.
8316 2001-09-19 00:09  thgibbs
8318         * t/op/number.t: Added end to each test
8320 2001-09-19 00:00  simon
8322         * t/op/number.t:
8323         Number tests! Wooo!
8325         Courtesy of: Damien Neil <neild@misago.org>
8327 2001-09-18 23:52  thgibbs
8329         * interpreter.c: Added casts to appropriate types to make -Wall not
8330         complain on certain printf formats
8332 2001-09-18 23:31  thgibbs
8334         * t/op/integer.t: Added end to each test.
8336 2001-09-18 22:54  thgibbs
8338         * t/op/trans.t: Added trans.t for transcendental math function
8339         tests.
8341 2001-09-18 22:28  simon
8343         * MANIFEST:
8344         MANIFEST updates. (And notice how I carefully snuck in the
8345         t/op/integer.t there...)
8347         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8349 2001-09-18 22:26  simon
8351         * t/: integer.t, op/integer.t:
8352         Except it doesn't go there. Duh.
8354 2001-09-18 22:25  simon
8356         * t/integer.t:
8357         Tests for integer ops.
8359         Courtesy of: Damien Neil <neild@misago.org>
8361 2001-09-18 22:03  thgibbs
8363         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8364         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8365         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8366         opcode_t union for operators.  This required a few perl script
8367         changes to output the correct type.  There were also some changes
8368         to allow -pedantic in gcc
8370 2001-09-18 21:07  gregor
8372         * disassemble.pl, Parrot/PackFile.pm,
8373         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8374         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8375         lib/Parrot/PackFile/Constant.pm:
8376         Converted the disassembler to use the Parrot::PackFile Perl classes
8377         to do its job.
8379 2001-09-18 19:18  brentdax
8381         * Makefile.in: Fix missing functions for real this time.  (I
8382         swear!)
8384 2001-09-18 18:49  brentdax
8386         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8387         <doughera@lafayette.edu>}
8389 2001-09-18 18:47  brentdax
8391         * Makefile.in: Fix bugs with missing math, etc. functions
8393 2001-09-18 14:42  thgibbs
8395         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8396         char*.
8398 2001-09-18 13:59  thgibbs
8400         * strnative.c: Removed unnecessary IV cast in concat.
8402 2001-09-18 13:58  thgibbs
8404         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8405         to concat test in string.t
8407 2001-09-18 12:07  gregor
8409         * languages/jako/jakoc:
8410           * var num ... no longer requires assignment
8411           * automatic casting between int and num
8412           * Fixed an error message
8414         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8416 2001-09-18 11:57  simon
8418         * TODO:
8419         Gonna have to start thinking of more things to do, soon.
8421 2001-09-18 10:42  simon
8423         * opcode_table:
8424         Introduce a little more tidiness into the opcode table.
8426 2001-09-18 03:06  gregor
8428         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8429         Resurrected register-const ops per Dan's request.
8431 2001-09-18 02:20  gregor
8433         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8434         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8435         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8436         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8437         Committed some files that were missed in the last *.h moving
8438         commit.
8440 2001-09-18 02:17  gregor
8442         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8444 2001-09-18 02:16  gregor
8446         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8447         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8448         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8449         missed in last commit for the move of *.h to include/parrot.
8451 2001-09-18 01:32  simon
8453         * t/Makefile:
8454         Trivial "clean" target to t/Makefile.
8456 2001-09-18 01:32  simon
8458         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8459         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8460         Change icky Digest::MD5 for nice simple unpack()
8462         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8464 2001-09-18 00:35  simon
8466         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8467         t/op/string.t:
8468         New concat op. Hey, if I'm going to talk about it in an article,
8469         better implement it...
8471 2001-09-17 22:54  gregor
8473         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8474         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8475         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8476         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8478         Functions for reading, writing and manipulating Parrot Pack Files.
8479         NOTE: This is a proposed term based on the fact that the file
8480         contains more than just byte code, and another language (Java)
8481         calls its binary files by a broader notion of what's in them (Class
8482         Files). Since Perl has packages, and since we use pack() to write
8483         them, we'll call them PackFiles (at least for now).
8485         That does, however, beg the question of file extension. Should we
8486         name the files "foo.pack" instead of "foo.pbc"?
8488 2001-09-17 20:23  thgibbs
8490         * interpreter.c, test_main.c: Uncuddled else statements for coding
8491         standard.
8493 2001-09-17 19:57  gregor
8495         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8496         Added a $revision variable, parsing of the CVS Id line in
8497         opcode_table and a &revision() subroutine.
8499 2001-09-17 19:53  gregor
8501         * opcode_table:
8502         Added a CVS Id tag to it.
8504 2001-09-17 18:58  thgibbs
8506         * interpreter.c: Cleared interpreter flags on creation.
8508 2001-09-17 18:38  gregor
8510         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8511         interpreter.h, test_main.c:
8512           * Provides macros in interp_guts.h for setting up arrays with
8513             op names and op arg counts (done via build_interp_starter.pl).
8515             These are used in the op tracing
8517           * The functions in bytecode.[hc] pass around a pointer to the
8518         length
8519             of the bytecode so that later when we get to runops, we know
8520             how much bytecode we've got and we can detect out-of-bounds
8521             jumping. The documentation is updated, too.
8523           * runops in interpreter.c now looks at interpreter->flags to
8524             decide if the core of runops should be runops_trace_core or
8525             runops_notrace_core. These new functions contain just the
8526             while-loop portion of runops. A new function runops_generic
8527             does any other setup (such as checking the bytecode
8528             fingerprint) or wrapup (such as complaining if we ended up
8529             out-of-bounds). NOTE: I didn't know what we should do for
8530             functions in here that are not part of the api, so I gave
8531             them docs with 'TODO' marks mentioning they really aren't
8532             part of the api. Guidance appreciated.
8534           * test_main.c now checks for '-t' arg and sets the tracing flag
8535             on its interpreter instance as appropriate.
8537 2001-09-17 17:47  bdwheele
8539         * assemble.pl: added some default equates, and if they're sub
8540         references, they are computed each time it is referenced.
8542 2001-09-17 16:15  dan
8544         * interpreter.h:
8546         Added flags to the interpreter structure and defined a few.
8548 2001-09-17 15:51  simon
8550         * bytecode.h, string.h:
8551         VAR_SCOPE on globals.
8553 2001-09-17 15:20  simon
8555         * MANIFEST:
8556         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8558 2001-09-17 15:05  gregor
8560         * t/jump.pasm, MANIFEST:
8561         Added a test program to demonstrate jump_i.
8563 2001-09-17 14:44  thgibbs
8565         * register.c: Fixed register pop not using correct offset (off by
8566         one).
8568         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8570 2001-09-17 13:56  thgibbs
8572         * interpreter.c, register.c: Added code to call Parrot_clear_s
8573         during initialization and Parrot_clear_s and Parrot_clear_p when a
8574         new stack frame is pushed.
8576 2001-09-17 13:51  gregor
8578         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8579         fib.jako, hello.jako: Added bench.pasm to "clean"
8581 2001-09-17 13:49  gregor
8583         * languages/jako/: jakoc, Makefile:
8584         Added CVS Id tag.
8586 2001-09-17 13:49  gregor
8588         * languages/jako/jakoc:
8589         Code streamlining.
8591         Courtesy of: Buggs <buggs-perl6@splashground.de>
8593 2001-09-17 13:29  gregor
8595         * MANIFEST, opcheck.pl:
8596         Added an opcode_table checker to make sure that all opcodes listed
8597         there conform to a simple set of naming rules (rules themselves, of
8598         course, are subject to change).
8600 2001-09-17 13:23  thgibbs
8602         * string.c: Modified string.c to correctly use the return value of
8603         realloc.
8605 2001-09-17 05:26  brentdax
8607         * Makefile.in: Making the Makefile smarter
8609 2001-09-16 23:06  brentdax
8611         * hints/mswin32.pl: Finishing the Configure hints
8613 2001-09-16 23:05  brentdax
8615         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8616         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8617         Configure hints, 5.005 compatibility, MANIFEST checking
8619 2001-09-16 19:25  bdwheele
8621         * assemble.pl: parrot assembly equates
8623 2001-09-16 18:03  gregor
8625         * Makefile.in:
8626         Added 'test' target to run new test suite.
8628 2001-09-16 17:33  simon
8630         * basic_opcodes.ops:
8631         'not' was being !, rather than ~. Too many Perl programmers here, I
8632         suspect.
8634         Courtesy of: Tom Hughes <tom@compton.nu>
8636 2001-09-16 17:21  simon
8638         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8639         t/op/string.t:
8640         A *real* test suite!
8642         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8644 2001-09-16 16:49  gregor
8646         * basic_opcodes.ops, opcode_table:
8647         At Dan's request, my new register-constant comparison ops have been
8648         removed.
8650 2001-09-16 16:40  gregor
8652         * languages/jako/jakoc:
8653         Fixed a copy-paste error in one of jakoc's error messages.
8655         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8657 2001-09-16 16:37  gregor
8659         * languages/jako/jakoc:
8660         Modified comparison implementation to use temporary registers in
8661         the case of register-constant and constant-register comparisons.
8662         This will allow the compiler to emit code that works when the
8663         constant-comparison ops are backed out of Parrot. If the ops ever
8664         make their way back in, then jakoc can emit more efficient code
8665         again.
8667 2001-09-16 16:19  bdwheele
8669         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8670         ... though not subroutine based like the documentation wants, they
8671         are local to the last non-local label defined.
8673 2001-09-16 14:02  simon
8675         * MANIFEST:
8676         And remember, when you add stuff, keep the manifest up to date.
8678 2001-09-16 02:55  ask
8680         * Makefile.in: a "shared" target for building libparrot.so
8682 2001-09-16 02:45  thgibbs
8684         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8685         global_setup.h, interpreter.c, interpreter.h, io.h,
8686         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8687         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8688         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8689         use the coding standard PDD.  Also changed Perl_Interp to
8690         Parrot_Interp.
8692 2001-09-16 02:21  ask
8694         * README: emphasise the bits about the license not being worked out
8695         yet.
8697 2001-09-15 22:21  simon
8699         * process_opfunc.pl:
8700         basic_opcodes.c should *scream* that it's autogenerated.
8702 2001-09-15 21:58  gregor
8704         * languages/jako/Makefile:
8705         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8706         compile.
8708 2001-09-15 21:58  gregor
8710         * languages/jako/: jako_compiler.pl, jakoc:
8711         Renamed the Jako compiler to jakoc from jako_compiler.pl
8713 2001-09-15 21:51  gregor
8715         * languages/jako/: Makefile, bench.jako, euclid.jako,
8716         jako_compiler.pl:
8717         Added a new bench.jako example based on Leon Brocard's Bench.java.
8719         Jako Compiler:   * fix a bug in assignment handling   * add some
8720         more conditionals to while and if   * revert to using implicit
8721         opcodes in a few cases that were broken     before the assembler
8722         patch went in recently.
8724 2001-09-15 21:46  gregor
8726         * assemble.pl, basic_opcodes.ops, opcode_table:
8727         New ops for register-constant INTEGER comparisons:
8729           {eq,ne,lt,le,gt,ge}_ic_ic
8731         New ops for register-register and register-constant NUMERIC
8732         comparisons:
8734           eq_nc_ic
8735           {ne,lt,le,gt,ge}_{n,nc}_ic
8737         Assembler:
8739           Allow uppercase and underscores in labels.
8741           Tweaks to the op infer code to make it work with the examples
8742         I've been
8743           creating.
8745 2001-09-15 19:16  thgibbs
8747         * README: Updated README to include Configure.pl
8749 2001-09-15 17:05  simon
8751         * build_interp_starter.pl:
8752         Casting happiness
8754         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8756 2001-09-15 16:45  simon
8758         * assemble.pl:
8759         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8761 2001-09-15 16:40  simon
8763         * t/Makefile:
8764         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8765         test Makefile
8767 2001-09-15 12:26  simon
8769         * memory.c:
8770         Fixed to match the coding standards.
8772         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8774 2001-09-15 01:57  ask
8776         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8777         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8778         to run Configure.pl
8780 2001-09-15 01:48  ask
8782         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8783         say so. :-)
8785 2001-09-15 01:42  gregor
8787         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8788         jako_compiler.pl:
8789         Compiler: Added variable interpolation in double-quoted strings.
8790         Examples: Made use of variable interpolation.
8792 2001-09-15 01:28  gregor
8794         * Parrot/.cvsignore:
8795         Ignore the Config.pm generated file.
8797 2001-09-15 01:22  gregor
8799         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8800         fib.jako, hello.jako, jako_compiler.pl:
8801         gnp: Added some more sample Jako files and added many more
8802         operators to the compiler. Preparations for supporting all the Math
8803         and bitwise ops.
8805 2001-09-14 19:06  simon
8807         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8808         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8809         lib/Parrot/Opcode.pm:
8810         Move common table reading stuff to a module.
8812         Courtesy of: Damien Neil <neild@misago.org>
8814 2001-09-14 17:42  simon
8816         * .cvsignore:
8817         More .cvsignore foo.
8819 2001-09-14 17:40  simon
8821         * assemble.pl, config_h.in:
8822         De-coredump
8824         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8826 2001-09-14 17:38  simon
8828         * assemble.pl, t/Makefile:
8829         Make assemble.pl look in its parent directory if the data files it
8830         needs aren't in the current one. Plus a Makefile that lets "make
8831         foo.pbc" work in t/
8833         Courtesy of: Rocco Caputo <troc@netrus.net>
8835 2001-09-14 16:29  simon
8837         * make_op_header.pl:
8838         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8839         probably segfault everywhere else.)
8841 2001-09-14 15:58  dan
8843         * languages/jako/: euclid.jako, jako_compiler.pl:
8845         Added in the first mini-language that targets Parrot.
8847         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8849 2001-09-14 15:20  dan
8851         * memory.c: Was misaligning returned memory. Fixed.
8853 2001-09-14 15:08  simon
8855         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8856         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8857         register.c, register.h, string.c, string.h, strnative.c,
8858         test_main.c:
8859         Fixes to include <parrot/foo.h>
8861         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8863 2001-09-14 12:05  simon
8865         * strnative.c:
8866         Appease Tru64.
8868 2001-09-14 12:01  simon
8870         * memory.c:
8871         Appease Tru64.
8873 2001-09-14 11:54  simon
8875         * interpreter.c:
8876         Remove lvalue cast.
8878 2001-09-14 11:45  simon
8880         * Configure.pl:
8881         Be 5.005 friendly.
8883 2001-09-14 11:39  simon
8885         * Configure.pl:
8886         Tru64 cc doesn't like -Wall
8888 2001-09-14 10:57  simon
8890         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8891         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8892         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8893         Configure now generates Makefile
8895         Courtesy of: Brent Dax <brentdax@cpan.org>
8897 2001-09-14 10:08  simon
8899         * t/test3.pasm:
8900         Add "end"
8902         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8904 2001-09-14 10:07  simon
8906         * assemble.pl:
8907                 * uses Getopt::Long for options.  -c is now --checksyntax.
8908         I wasn't
8909         sure how to keep compatible (patches welcome!)         * options
8910         include:                 --help                 --version
8911               --verbose                 --output=file
8912         --listing=file                 --checksyntax         * produces
8913         verbose listing of what the assembler saw :)  Only one nitpick with
8914         it:  unknown symbols are given as 0xffffffff, unfortunately, this
8915         includes symbols which may be defined later in the file (i.e.
8916         forward jumps).
8918         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8920 2001-09-14 10:06  simon
8922         * strnative.c:
8923         substr growth fixup
8925         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8927 2001-09-14 10:03  simon
8929         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
8930         register.c, string.c, strnative.c, test_main.c:
8931         Coding standards conformance
8933         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8935 2001-09-14 09:46  simon
8937         * assemble.pl:
8938         Make the assembler grok transcendental maths again.  Courtesy of:
8939         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8941 2001-09-13 17:29  simon
8943         * assemble.pl:
8944         Better opcode guessing, from Brian Wheeler. (Again!)
8946 2001-09-13 17:20  dan
8948         * docs/parrot_assembly.pod:
8950         Took out duplicate entries for iton, ntoi, and tostring.
8952 2001-09-13 17:16  simon
8954         * assemble.pl, basic_opcodes.ops, opcode_table:
8955         From Brian Wheeler:
8957         This patch gives the assembler support of '\a','\n','\r','\t', and
8958         '\\' in string constants.
8960         In addition, it changes (for all registers) "I reg %li is ..." to
8961         just the value of the register.  Printing constants is also
8962         supported, but alas, you have to specify the type (print_sc,
8963         print_ic, print_nc).
8965 2001-09-13 15:38  simon
8967         * assemble.pl:
8968         Why don't I actually *test* this stuff before applying it, eh?
8970 2001-09-13 15:34  simon
8972         * TODO, t/euclid.pasm:
8973         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
8974         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
8975         inference
8977 2001-09-13 14:42  simon
8979         * assemble.pl:
8980         A new assembler, from Brian Wheeler.
8982 2001-09-13 09:44  simon
8984         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
8985         test_main.c:
8986         Two more from Tom Hughes:     Patch to fix C++ style comments
8987         Patch to remove use of structure constant/cast
8989 2001-09-13 09:39  simon
8991         * TODO, docs/strings.pod:
8992         Update string docs.
8994 2001-09-13 09:36  simon
8996         * Makefile, basic_opcodes.ops:
8997         Tom Hughes      Patch to link with the maths library Tom Hughes
8998          Patch to fix += on rvalue
9000 2001-09-13 08:57  simon
9002         * MANIFEST:
9003         I guess nobody's been using the nightly builds...
9005 2001-09-13 08:27  simon
9007         * assemble.pl, basic_opcodes.ops, opcode_table:
9008         Bitwise ops, from Brian Wheeler.
9010 2001-09-13 08:23  simon
9012         * .cvsignore, t/.cvsignore:
9013         .cvsignore's, from Gregor Purdy.
9015 2001-09-13 08:22  simon
9017         * Makefile:
9018         Euclidean test and test output rearranging from Gregor Purdy.
9020 2001-09-13 08:21  simon
9022         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9023         Math ops from Gibbs Tanton.
9025 2001-09-13 08:14  simon
9027         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9028         t/test2.pasm:
9029         String substr op; also rearranged "encoding" to be a vtable
9030         pointer, not an array index. Haven't changed docs to reflect this,
9031         oops.
9033         Simon
9035 2001-09-12 19:48  dan
9037         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9038         Gregor Purdy
9040 2001-09-12 19:39  dan
9042         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9044 2001-09-12 19:23  dan
9046         * interpreter.h, parrot.h: Quick placeholder entry for string
9047         function tables
9049 2001-09-12 18:58  dan
9051         * memory.c: Added in a cast to make gcc happy.
9053 2001-09-12 16:44  dan
9055         * docs/parrot_assembly.pod:
9057         PDD describing parrot's assembly language and the opcodes in it
9059 2001-09-12 14:20  dan
9061         * memory.c:
9062         Fixed alignment issues with allocation
9064 2001-09-12 10:54  simon
9066         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9067         make_op_header.pl, opcode_table, process_opfunc.pl:
9068         Brian Wheeler's big patch:
9070         * Changes the opcode_table file to provide additional information
9071         about the operands.  Case shouldn't be a problem since that data
9072         never becomes a C symbol [this is pretty much as before]
9074         * Padding errors solved:  assemble.pl and bytecode.c were padding
9075         the constants incorrectly.  It should have been 4-(size % 4), not
9076         just (size % 4).  It is now fixed in both places.
9078         * assembler has less special cases, and should be easier to hang
9079         error checking on
9081         * disassembler dumps constant table and the format is a bit
9082         prettier, including register names, etc.
9084 2001-09-11 23:21  dan
9086         * build_interp_starter.pl, interpreter.c:
9088         Abstracted the runops function core into a macro for easy
9089         replacement later.
9091 2001-09-11 10:43  simon
9093         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9094         Configure system from Brent Dax <brentdax@cpan.org>
9096 2001-09-11 09:38  simon
9098         * assemble.pl, test.pbc:
9099         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9100         assembler deferred output
9102         Also got rid of the bytecode, since that's probably way out of
9103         date.
9105 2001-09-11 09:26  simon
9107         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9108         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9109         patch
9111 2001-09-10 23:20  simon
9113         * MANIFEST:
9114         And that move needs a MANIFEST change. So many things to remember!
9116 2001-09-10 23:18  simon
9118         * t/: test.pasm, test2.pasm, test3.pasm:
9119         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9121 2001-09-10 23:18  simon
9123         * test.pasm, test2.pasm, test3.pasm:
9124         Move tests to t/
9126 2001-09-10 23:04  dan
9128         * test3.pasm:
9130         Register push/pop test
9132 2001-09-10 22:47  simon
9134         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9135         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9136         (Modified to avoid conflict with Dan's changes.)
9138 2001-09-10 22:45  dan
9140         * disassemble.pl:
9142         Happier about blanks in opcode_table
9144 2001-09-10 22:40  dan
9146         * interpreter.c, register.c:
9148         Yanked out debugging code, since these work OK. The bug I want is
9149         elsewhere.
9151 2001-09-10 22:30  simon
9153         * MANIFEST:
9154         Uhm. We want make_op_header.pl. We really, really do.
9156 2001-09-10 22:26  simon
9158         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9159         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9160         opcode_table, process_opfunc.pl:
9161         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9162         This means we can add lots more opcodes without fiddling about with
9163         the numbers. Hooray!
9165         Don't forget that "end" needs to be op zero, else the interpreter
9166         falls off the end of the code. This is Bad, and I wonder if there's
9167         a way around it.
9169 2001-09-10 19:49  simon
9171         * MANIFEST, make_op_table_build.pl:
9172         Hey! This doesn't do anything...
9174 2001-09-10 19:46  simon
9176         * Makefile:
9177         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9179 2001-09-10 18:31  simon
9181         * MANIFEST:
9182         You know what this means...
9184 2001-09-10 18:30  simon
9186         * assemble.pl:
9187         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9188         wait for a release...? :)
9190 2001-09-10 18:13  simon
9192         * interpreter.c:
9193         Bad Dan! No cookie!
9195 2001-09-10 17:56  simon
9197         * README:
9198         A *real* README file, which doesn't claim it isn't for public
9199         consumption.
9201 2001-09-10 17:02  simon
9203         * TODO:
9204         More things to do.
9206 2001-09-10 16:56  dan
9208         * TODO: Added in assembler gripe. Also added a few blank lines for
9209         clarity
9211 2001-09-10 16:49  dan
9213         * register.h, register.c: Renamed the core functions so the opcodes
9214         can find 'em OK. (There were some conflicts)
9216 2001-09-10 16:48  dan
9218         * basic_opcodes.ops, opcode_table: Added register window ops
9220 2001-09-10 11:07  simon
9222         * TODO:
9223         Trivial TODO list.
9225 2001-09-10 11:05  simon
9227         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9228         note "-s" flag to test prog.
9230 2001-09-10 11:01  simon
9232         * docs/strings.pod:
9233         New string documentation.
9235 2001-09-10 11:01  simon
9237         * basic_opcodes.ops, opcode_table:
9238         String ops.
9240 2001-09-10 10:53  simon
9242         * global_setup.c:
9243         More string fu.
9245 2001-09-10 10:51  simon
9247         * memory.h:
9248         Just some more aliases for now. Used by string handling stuff.
9250 2001-09-10 10:50  simon
9252         * assemble.pl, bytecode.c, bytecode.h:
9253         Temporary hack to store string constants in bytecode and recreate
9254         them at runtime.
9256 2001-09-10 10:48  simon
9258         * op.h:
9259         op.h is now generated by the Makefile; remove it.
9261 2001-09-10 10:47  simon
9263         * Makefile:
9264         clean and op.h Makefile targets.
9266 2001-09-10 10:45  simon
9268         * string.c, string.h, strnative.c:
9269         More string vtable stuff.
9271 2001-09-07 21:07  dan
9273         * assemble.pl:
9275         Much less picky about whitespace in the opcode_table now. (Doesn't
9276         whine on blank lines)
9278 2001-09-07 16:23  dan
9280         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9281         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9282         this takes) Added global_setup.h to declare init_world function
9284         Moved variable declarations out of the interpreter loop for small
9285         speed boost.
9287         Changed end opcode to now be opcode #0. A function is provided for
9288         it, but isn't ever executed.
9290         When the interpreter sees an opcode 0 in the stream it means the
9291         end of stream. Things were coring on Cygwin otherwise. (I think I
9292         was dereferencing a zero, which is bad)
9294 2001-09-06 22:07  dan
9296         * basic_opcodes.ops, process_opfunc.pl:
9298         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9299         are minor changes now that things are in a fixed state.
9301 2001-09-06 16:13  dan
9303         * basic_opcodes.c, test_opcodes.c:
9304         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9306         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9307         should be nuked. So it is. :)
9309 2001-09-06 03:35  dan
9311         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9312         Scripts to build the header file that holds the function table
9313         creation code, as well as the script to turn an opcode file to C
9314         source. (And the basic opcode functions turned into an opcode
9315         source file)
9317 2001-09-06 03:31  dan
9319         * Makefile, interpreter.c:
9320         Changes to support the autogeneration of the opcode function
9321         pointer table in interpreter.c, along with the changes to the
9322         Makefile needed.
9324 2001-09-05 13:27  simon
9326         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9327         docs/parrotbyte.pod, docs/vtables.pod:
9328         Added stubs for the documents; working on them this week. (What's
9329         left of it.) config.h change is just to type VTABLE, and the
9330         bytecode thing you might want to revoke. It's apidoc for the
9331         functions in there.
9333 2001-09-03 18:26  simon
9335         * docs/strings.pod:
9336         A start on the string API documentation.
9338 2001-09-03 17:43  simon
9340         * opcode_table:
9341         Since we specify the opcode number, we can rearrange to a more
9342         human-friendly ordering.
9344 2001-09-03 17:42  simon
9346         * basic_opcodes.c:
9347         Coupl'a logic bugs. (I think)
9349 2001-09-03 17:41  simon
9351         * string.c, string.h, strnative.c:
9352         Tidying up the string vtables.
9354 2001-09-03 17:38  simon
9356         * make_op_header.pl:
9357         Spit out the whole of op.h, not just the bit in the middle.
9359 2001-08-29 13:16  ask
9361         * README: it seems like we indeed can commit. What about sending
9362         commit mails?
9364 2001-08-29 13:07  simon
9366         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9367         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9368         global_setup.c, interpreter.c, interpreter.h, io.h,
9369         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9370         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9371         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9372         test.pbc, test_main.c, test_opcodes.c:
9373         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9374          I'm still working on the string stuff, though.
9376 2001-08-29 12:44  ask
9378         * README: update README with list address
9380 2001-08-29 12:36  ask
9382         * README: first readme.