[docs][TT# 1667] Get rid of wrong documentation
[parrot.git] / ChangeLog
blob8c9724d6d4cd37f5748fcc43c539f237f7adc7d0
1 #1 $Id$
3 2010.06.15     Gerd
4         * Released 2.5.0
5         See NEWS for more.
7 2010.05.18     Whiteknight
8         * Released 2.4.0
9         See NEWS for more
11 2010.04.20     Gerd
12         * Released 2.3.0
13         See NEWS for more.
15 2010.03.16     cotto
16         * Released 2.2.0
17         See NEWS for more.
19 2010.02.16     darbelo
20         * Released 2.1.0
21         See NEWS for more.
23 2010.01.19     chromatic
24         * Released 2.0.0
25         See NEWS for more.
27 2009.12.15     Gerd
28         * Released 1.9.0
29         See NEWS for more.
31 2009.11.17     barney
32         * Released 1.8.0
33         See NEWS for more.
35 2009.10.20     dukeleto
36         * Released 1.7.0
37         See NEWS for more.
39 2009.9.15     particle
40         * Released 1.6.0
41         See NEWS for more.
43 2009.8.18     Whiteknight
44         * Released 1.5.0
45         See NEWS for more.
47 2009.7.21     cotto
48         * Released 1.4.0
49         See NEWS for more.
51 2009.06.16    Whiteknight
52         * Released 1.3.0
53         See NEWS for more.
55 2009.05.19    Infinoid
56         * Released 1.2.0
57         See NEWS for more.
59 2009.04.21    fperrad
60         * Released 1.1.0
61         See NEWS for more.
63 2009.03.17    allison
64         * Released 1.0.0
65         See NEWS for more.
67 2009.02.17    kjs
68         * Released 0.9.1
69         See NEWS for more.
71 2009.01.20    chromatic
72         * Released 0.9.0
73         See NEWS for more.
75 2008.12.16    Whiteknight
76         * Released 0.8.2
77         See NEWS for more.
79 2008.11.18    chromatic
80         * Released 0.8.1
81         See NEWS for more.
83 2008.10.21    particle
84         * Released 0.8.0
85         See NEWS for more.
87 2008.09.16    pmichaud
88         * Released 0.7.1
89         See NEWS for more.
91 2008.08.19    rgrjr
92         * Released 0.7.0
93         See NEWS for more.
95 2008.07.15    barney
96         * Released 0.6.4
97         See NEWS for more.
99 2008.06.17    smash
100         * Released 0.6.3
101         See NEWS for more.
103 2008.05.20    chromatic
104         * Released 0.6.2
105         See NEWS for more.
107 2008.04.15    particle
108         * Released 0.6.1
109         See NEWS for more.
111 2008.03.18    bernhard
112         * Released 0.6.0
113         See NEWS for more.
115 2008.02.20    pmichaud
116         * Released 0.5.3
117         See NEWS for more.
119 2008.01.15    rgrjr
120         * Released 0.5.2
121         See NEWS for more.
123 2007.12.18    jonathan
124         * Released 0.5.1
125         See NEWS for more.
127 2007.11.20    chromatic
128         * Released 0.5.0
129         See NEWS for more.
131 2007.10.17    coke
132         * Released 0.4.17
133         See NEWS for more.
135 2007.09.18    particle
136         * Released 0.4.16
137         See NEWS for more.
139 2007.08.22    pmichaud
140         * Released 0.4.15
141         See NEWS for more.
143 2007.07.17    particle
144         * Released 0.4.14
145         See NEWS for more.
147 2007.06.19    allison
148         * Released 0.4.13
149         See NEWS for more.
151 2007.05.15    chromatic
152         * Released 0.4.12
153         See NEWS for more.
155 2007.04.17    mdiep
156         * Released 0.4.11
157         See NEWS for more.
159 2007.03.20    coke
160         * Released 0.4.10
161         See NEWS for more.
163 2007.3.10     coke
164         * removed parakeet
166 2007.02.22    pmichaud
167         * Released 0.4.9
168         See NEWS for more.
170 2007.01.17    chromatic
171         * changed 'name' method on namespaces to 'get_name' per pdd21
173 2007.01.16    particle
174         * Released 0.4.8
175         See NEWS for more.
177 2006.12.12    particle
178         * added C<isnull> opcode
180 2006.11.14    chip
181         * Released 0.4.7
182         See NEWS for more.
184 2006.11.07      tewk
185         * added :init pragma functionality to subs
187 2006.10.28      jonathan
188         * added :vtable pragma functionality to subs
190 2006.09.18    chromatic
191         * added Parrot::Embed under ext/Parrot-Embed
193 2006.08.18    leo
194         * remove the None PMC - if needed it can trivially be reimplemented
195           in languages from r14189
197 2006.08.16    creiss
198         Merged Software Transactional Memory branch into trunk, adds:
199         * several new opcodes whose names start with stm_
200         * read-only PMC support
201         * several new PMC types (whose names start with STM*)
202         * support for threads (again)
204 2006.08.08    chip
205         * Released 0.4.6
206         See NEWS for more.
208 2006.08.02    chip
209         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
210         there are opcodes now that want the real "in PMC".
211         * namespace and global opcodes now accept name arrays again, as
212         well as keys; the corresponding namespace PMC methods are gone.
214 2006.07.21    leo
215         * Parrot_exit, Parrot_on_exit take now an Interp * argument
217 2006.07.25    chip
218         * add experimental op find_type_i_p
219         * fix longstanding bug that sometimes didn't encode pasm keys as
220         Key PMCs (specifically "[S0]" and "['stringliteral']").
222 2006.07.24    chip
223         further implementation of new pdd21:
224         * new opcodes {get,set}*global
225           (old {find,store}*global will be supported for a short while)
227 2006.07.20    audreyt
228         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
229           (or some such --leo)
230           (at the moment code is checking for 2.0 -- ambs)
232 2006.07.17    chip
233         partial implementation of new pdd21:
234         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
235         * get_namespace and find_global opcodes no longer accept arrays
236           of strings.  To use arrays, call namespace object methods.
238 2006.06.19    leo
239         * Released 0.4.5
240         See NEWS for more.
242 2006.06.03    leo
243         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
245 2006.05.14    leo
246         * Released 0.4.4
247         See NEWS for more.
249 2006.04.30    bernhard
250         * Make the Perl PMCs dynamic and move them to src/dynpmc
252 2006.04.02    leo
253         * Released 0.4.3
254         See NEWS for more.
256 2006.03.06    leo
257         * Shifted argument type bits left by 2 according to r11754
258           change of docs/pdds/pdd03_calling_conventions.pod
259         * if you are creating PASM then code needs adjustment
261 2006.02.22    leo
262         * Released 0.4.2
263         See NEWS for more.
265 2006.01.16    bernhard
266          * rename src/dynclasses to src/dynpmc
267          * rename src/classes to src/pmc
269 2006.01.15    leo
271          * find_global and friends returns a .Null PMC instead of .Undef on
272           lookup failure, iff lookup exceptions are off
274 2006.01.08    leo
275         * Released 0.4.1
276         See NEWS for more.
278 2005.12.28    particle
279         * renamed all .imc files to .pir
280         * modified all doc references to .pir as well
282 2005.12.13    particle
283         * moved jit/ directory to src/jit/
285 2005.12.12    particle
286         * moved io/ directory to src/io/
287         * moved classes/ directory to src/classes/
288         * moved dynclasses/ directory to src/dynclasses/
290 2005.12.08    particle
291         * moved types/ directory to src/types/
292         * moved pf/ directory to src/packfile/
293         * moved ops/ directory to src/ops/
295 2005.12.08    particle
296         * moved charset/ directory to src/charset/
297         * moved encodings/ directory to src/encodings/
299 2005.12.07    particle
300         * moved imcc/ directory to compilers/imcc/
302 2005.12.06    particle
303         * moved util/ directory to tools/util/
304         * removed imcc/examples/ directory
305         * moved ast/ directory to compilers/ast/
307 2005.12.05    particle
308         * moved imcc/docs/ directory to docs/imcc/
309         * moved build_tools/ directory to tools/build/
310         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
312 2005.12.04    leo
313         * Released 0.4.0
314         * See NEWS for changes
316 2005.11.06    leo
317         * Released 0.3.1
318         * See NEWS for changes
320 2005.10.01    leo
321         * Released 0.3.0
322         * See NEWS for changes
324 2005.08.05    leo
325         * Released 0.2.3
326         * See NEWS for changes
328 2005.07.03    leo
329         * Released 0.2.2
330         * See NEWS for changes
332 2005.06.04    leo
333         * Released 0.2.1
334         * allow short names for object attributes
335         * string encoding and charset can now be set independently
336         * experimental mmap IO layer for slurping files
337         * enable compile opcode support for compilers written in PASM/PIR
338         * improved HLL support with .HLL and n_operators pragmas
339         * simplified hash code
340         * more strength reduce optimizations
341         * distinct debug and trace flag settings
342         * glob support in PGE
343         * new character classification opcodes and interfaces
344         * numerous bug fixes and enhancements
346 2005-05-08    leo
347         * Released 0.2.0
348         * parrot repository is now under subversion
349         * MMD (Multi Method Dispatch) enhanced
350         * new unary and infix opcodes that return new result PMCs
351         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
352         * more unification of PMCs and ParrotObjects
353         * tailcalls for functions and methods
354         * PGE (Parrot Grammar Engine) reworked
355         * Pugs creates Parrot code and Pugs is a registered compiler now
356         * new languages/lisp
357         * the usual bug fixes and improvements
359 2005-03-06    leo
360         * Released 0.1.2
361         * big rewrite of string code, not yet finished but ...
362         * partial implementation of a generational garbage collector
363         * indirect register frame addressing
364         * .return(args) PIR syntax
365         * moved most of the Python code to dynclasses
366         * a lot more Python functionality
367         * precalculate opcodes with all constants
368         * PGE - Parrot Grammar Engine
369         * scalar classes refactoring
370         * much more tests and big test system cleanup
371         * improved documentation
372         * and as always a lot more
374 2004-10-09    leo
375         * Released 0.1.1
376         * Need Perl 5.6 now for building
377         * Basic AST support, PAST file parser, bits of code generation
378         * BigInt PMC using GMP
379         * Complex PMC
380         * Dynamic loading improved including bundles of PMC classes
381         * Experimental support for "make install"
382         * IA64 and hppa JIT support
383         * ICU unicode support
384         * IO layer handling code
385         * IO readline and buffered IO fixes
386         * Incremental GC
387         * Internal pythonic functions: filter, map, reduce, max, min ...
388         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
389         * Library updates, Stream and SDL library
390         * MMD - multi method dispatch for binary vtable methods
391         * Many new array PMCs
392         * Method call syntax in PIR obj."meth"(...)
393         * More OS stuff: stat, exec, system, gmtime, piped read and write
394         * New Python PMCs like Enumerate, None
395         * Non-branching compare opcodes
396         * PIR support for += and friends
397         * Python language subdir
398         * Python types mapped to existing PMCs
399         * Slices and range support
400         * Tons of bug fixes, documentation updates, new tests
401         * Win32 COFF exec support
402         * ... and a lot more
404 2004-02-29    leo
405         * Released 0.1.0
406         * "Ladies and gentlemen, I give you... objects!"
407         * Huge documentation overhaul
408         * More supported platforms, s. PLATFORMS
409         * Basic thread support for pthread based architectures
410         * Basic event handling for timers and signals including:
411         * PASM callbacks for NCI (native C) functions.
412         * Improved platform configuration
413         * COW stacks now working, stacks code redone
414         * Structure handling vastly improved
415         * Random PMC and rand primitives
416         * Better subroutine call syntax in PIR
417         * Make PIR subroutines compliant with pdd03
418         * Improved profiling (DOD, GC timings)
419         * Hash code improvements, incl. random key order support
420         * Experimental freeze/thaw code for some PMC types
421         * IO improvements for buffered layer and Win32
422         * String iterators
423         * String bitwise vtables
424         * Many new opcodes
425         * Support for JIT, where malloced memory isn't executable
426         * Priority DOD scheme for objects that need timely destruction
427         * Improved bytecode loading (e.g. onLoad functions)
428         * Language updates: forth, Perl6/P6C, m4
429         * Libraries: Getopt_Long, SDL, Dumper, Sort
430         * new JAPH examples
431         * Unified imcc and parrot test handling
432         * Many new tests (make test reports 1386 tests)
433         * Numerous bug fixes
436 2003-10-31    leo
437         * Released 0.0.13
438         * Yep thirteen - haunted by the ghost of 0.0.12
439         * Build imcc as parrot
440         * Objects more finished
441         * Delegate vtable methods to byte code
442         * Binary multi-method dispatching
443         * Isa and does methods for PMCs
444         * Call byte code from C
445         * Start of extension interface
446         * Experimental struct handling
447         * Catch access to NULL PMCs
448         * Experimental network socket interface code and opcodes
449         * IO fixes and improvements
450         * Dynamic opcode libraries
451         * Fix-assigned opcode numbers
452         * Argument flattening for function calls
453         * More native call interface (NCI) signatures
454         * Ncurses, postgres, and pcre interface libraries
455         * Forth language is vastly improved
456         * BSD and Win32 build improvements
457         * Many new tests and fixes
459 2003-10-22    melvin
460         * imcc moved from parrot/languages/ to parrot/
462 2003-09-20    sfink
464         * updated the native_pbc test files (from Leo)
465         * built 0.0.11.1 release tarball
467 2003-09-20    sfink
469         * CHANGES BUNDLED INTO 0.0.11:
470         * Executable output
471         * Dynamic PMC registration
472         * Trial exception system
473         * Beginnings of object system
474         * Iterators
475         * Ordered hashes
476         * I/O system improvements
477         * References
478         * Documentation for basic PMC types
479         * IMCC support of Parrot Calling Conventions
480         * Runtime loading of chartypes (and other string improvements)
481         * Conditional breakpoints
482         * Dramatically accelerated sweeps for finalizable objects
483         * Small PMCs (PMCs split into core and extensions)
484         * Loadable bytecode packfiles
485         * Constant PMCs
486         * Sub variants that deal with the stack correctly
487         * Switched runops core
488         * Line numbers in warnings
489         * Environment access
490         * Many documentation cleanups
491         * Conversion to CPS style!
492         * BASIC debugger and many other wacky features
493         * Filename, line number parsing support in IMCC
495 2003-07-21 17:31 chromatic
496         * applied copyright patch from Josh Wilmes
498 2003-06-14 13:50 dan
499         * Moved the registers out of the context structure, since they
500           really aren't context
501         * Changed the register stack frames to hold only 16 registers
502           rather than 32, added half-set push and pop ops, and reworked
503           the full set push/pops to do two half-set push/pops. Should
504           speed up saving register data on calls, since we usually only
505           care about the top half of the registers anyway.
506         * Started committing some of the new class/object framework
507         * Remembered to finally start updating the Changelog
509 2003-03-18 03:50  ask
511         * Various files
512           Update Yet Another copyright statements to reflect the (no longer
513           so) shiny new year.
515 2003-03-11 22:06  chip
517         * Configure.pl: print help on non-option command line args
519 2002-12-18 20:38  sfink: changes since 0.0.8
521         - Allow suppression of cgoto core to save memory during compile
522         * Native function calling interface
523         * Major rewrite of stack and list aggregates
524         - Scalar PMC added
525         * Scratchpads implemented
526         - Win32 libraries
527         - Internal memory subsystem documentation
528         * Preliminary DotGNU support
529         - Packfile fingerprinting
530         * Buffer/PMC unification (into PObjs)
531         * stabs debugging information support
532         * Major Jako overhaul, including:
533           - imcc integration
534           - native function calling
535         - Perl6 string interpolation
536         - languages/regex now targets IMCC
537         * Optional Lea memory allocator
538         * Full sprintf implementation
539         * Many, many new tests
540         * Miniparrot
541         - exchange ops
542         - runtime-controllable gc debugging
543         * PMC properties
544         - Crash info
545         * JIT: various improvements
546           - register usage tracking
547           - block register allocation
548           - optimizations
549           - more jitted ops
550           - restartable
551           - architecture abstraction layer
552           - debugging via GDB
553         * Beginning support for extensible packfiles
554         * Much better key support, generally
555         * splice()
556         * Restructured PMC hierarchy with better functionality inheritance
557         * IMCC: many, many improvements. See imcc/ChangeLog
558         * Perl6: index map grep join reverse defined
559         * Scheme with functions!
562 2002-03-19 22:54  nicholas
564         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
566          We can now get usage information for test_parrot without having to
567          grep the source.
569 2002-03-19 22:53  simon
571         * Configure.pl:
572         Parrot is called parrot.
574 2002-03-19 22:53  nicholas
576         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
578          1. There are tests in t/pmc as well as t/op now.
579          2. Adds a comment about Parrot::Test
581 2002-03-19 18:09  dan
583         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
584         messes up automated builds
586         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
588 2002-03-19 00:33  mrjoltcola
590         * core.ops: Doc cleanup from Simon Glover.
592 2002-03-18 23:52  mrjoltcola
594         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
596 2002-03-18 22:09  dan
598         * include/parrot/resources.h: Checked in old version
600 2002-03-18 20:17  dan
602         * include/parrot/resources.h: Forgot a prototype
604 2002-03-18 20:15  dan
606         * resources.c: D'oh! Thinko, fixed.
608         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
610 2002-03-18 17:33  josh
612         * Configure.pl: Lowering the bar a bit.
614 2002-03-18 17:33  sfink
616         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
617         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
618         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
619         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
620         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
621         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
622         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
623         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
624         t/example.t: Whoops, wrong time to check this in.
626 2002-03-18 16:42  dan
628         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
629         least we consider the PMC and Buffer free pools worth collecting,
630         and initialize the Buffer pool stuff.  Still not 100% correct,
631         though.
633 2002-03-18 15:35  simon
635         * packfile.c:
636         Fix format arg bug.
638 2002-03-18 07:45  brentdax
640         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
641         system.
643 2002-03-18 00:09  sfink
645         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
646         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
647         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
648         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
649         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
650         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
651         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
652         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
653         t/example.t: Buggy 1st version of regex compiler implementation.
654         Warning: the test code depends on features of the assembler that do
655         not yet exist.
657 2002-03-17 21:35  ajgough
659         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
660         through addition and subtraction.  Also added the ability to run
661         all the tests, including the ones which deal with overflow and
662         underflow.  These fail, but that's expected.  Soon they'll pass.
663         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
664         passsssssssings tesssstsssss.
666 2002-03-17 20:06  ajgough
668         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
669         check_(under|over)flow to test bignumbers, rather than values.
670         context now carries E_limit, from which max and min exp are found.
672         Added a default-context-creating function (although this isn't the
673         same as either of the default contexts defined in the eda).
675 2002-03-17 13:31  ajgough
677         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
678         exported version matches prototypes of other public functions.
680 2002-03-17 06:44  josh
682         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
683         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
684         last-minute re-indenting.
686 2002-03-17 05:07  mrjoltcola
688         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
690 2002-03-16 23:17  nicholas
692         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
693         remove warnings:
695          default.pmc: In function `Parrot_default_get_integer_keyed':
696          default.pmc:50: warning: control reaches end of non-void function
697          default.pmc: In function `Parrot_default_get_number_keyed':
698          default.pmc:58: warning: control reaches end of non-void function
699          default.pmc: In function `Parrot_default_get_string_keyed':
700          default.pmc:67: warning: control reaches end of non-void function
701          default.pmc: In function `Parrot_default_get_pmc_keyed':
702          default.pmc:87: warning: control reaches end of non-void function
704 2002-03-16 18:50  ajgough
706         * types/: bignum.c, bignum.h: Lots of prototypes changed in
707         readiness for nicely telling your caller about any oddness you've
708         caused in the persuit of flow.
710 2002-03-16 17:38  dan
712         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
713         include/parrot/interpreter.h, include/parrot/resources.h: Now we
714         can control the GC and DOD, to stop it when we don't really want
715         it.
717 2002-03-16 16:58  dan
719         * resources.c, vtable.tbl, classes/default.pmc,
720         include/parrot/resources.h: Added the last code to let PMCs control
721         their marking at DOD time
723 2002-03-16 16:57  ajgough
725         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
726         feel a little more virtuous now.  Really I do.  You might not
727         believe me, but you should.  perl -pne 's/\t/        /g', if you're
728         curious.
730 2002-03-16 16:57  josh
732         * packfile.c, packout.c: M-x untabify is my new friend.
734 2002-03-16 16:50  josh
736         * trace.c, resources.c: Minor whitespace tweak for the benefit of
737         check_source_standards.pl
739 2002-03-16 16:50  ajgough
741         * types/: bignum.c, bignum.h: More documentation, separate
742         functions into public and private sorts, some initial stuff to cope
743         with over and underflow correctly.
745 2002-03-16 16:49  josh
747         * resources.c: Re-indented (sorry bout the big diff)
749 2002-03-16 16:47  bdwheele
751         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
752         assemble again, both with Simon's new assembler and with the old
753         one.
755 2002-03-16 16:33  mrjoltcola
757         * io/TODO: Get the TODO up-to-date for 0.0.4.
759 2002-03-16 16:11  josh
761         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
762         silly people (such as me) running Configure with
763         /usr/local/bin/perl (which is 5.004_05) and not realising their
764         mistake until the pmc subdirectory, where the first qr// is
765         encountered.
767         Syntax error messages don't tell you what you did wrong. This does:
769         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
770         only version 5.00405, stopped at Configure.pl line 10.
772 2002-03-16 14:38  ajgough
774         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
775         with commenting.
777 2002-03-16 11:45  simon
779         * MANIFEST, examples/assembly/xml_parser.pasm:
780         Added Clint Pierce's XML parser.
782 2002-03-15 22:24  simon
784         * packout.c:
785         Don't need that function.
787 2002-03-15 21:56  simon
789         * Makefile.in, include/parrot/packfile.h:
790         Rebuild packout.o, since it'll be used for the Packfile XS module
792 2002-03-15 19:45  dan
794         * include/parrot/: memory.h, pmc.h: Another add-in for GC
796 2002-03-14 19:48  dan
798         * core.ops: No string to int for some reason
800 2002-03-14 18:45  dan
802         * string.c, t/op/string.t: Fix 0-length substr problem
804 2002-03-14 14:46  dan
806         * core.ops, interpreter.c, resources.c, classes/array.pmc,
807         classes/perlarray.pmc, examples/assembly/life.pasm,
808         include/parrot/interpreter.h, include/parrot/resources.h: Added in
809         a counter for copied memory, with a display in life.pasm
811 2002-03-14 03:16  mrjoltcola
813         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
815 2002-03-13 23:43  simon
817         * packfile.c:
818         Oops.
820 2002-03-13 23:43  simon
822         * packfile.c:
823         Hangs head in shame.
825 2002-03-13 21:31  simon
827         * MANIFEST:
828         FAQ moved.
830 2002-03-13 18:06  simon
832         * string.c:
834         Fix string_compare screw-up.
836 2002-03-13 18:02  brentdax
838         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
839         and add a new question/answer pair.
841 2002-03-12 22:53  mrjoltcola
843         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
845 2002-03-12 22:48  mrjoltcola
847         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
848         warranty provided.
850 2002-03-12 22:29  ajgough
852         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
854 2002-03-12 22:24  ajgough
856         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
857         version 1.1, Don't know if this is the correct number, but I don't
858         want this stuck on my harddrive where it will get lost, so 14 it is
859         :)
861 2002-03-12 11:35  simon
863         * MANIFEST, packdump.c, packout.c:
865         Just so the functionality doesn't disappear.
867 2002-03-12 11:33  simon
869         * Makefile.in, chartype.c, encoding.c, packfile.c,
870         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
871         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
872         include/parrot/chartype.h, include/parrot/encoding.h,
873         include/parrot/packfile.h:
875         Packfile axing.
877 2002-03-11 23:06  nicholas
879         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
881           Core.ops documentation nits
883 2002-03-11 23:05  nicholas
885         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
887           Most of the PerlUndef tests in pmc.t appear to have been added
888         twice.
889           Enclosed patch removes the duplicates.
891 2002-03-10 23:40  nicholas
893         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
895          More tests for the PerlString test-suite.
897 2002-03-10 23:40  nicholas
899         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
901         test for sleep with negative argument
903 2002-03-10 21:58  nicholas
905         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
907          Enclosed patch fixes up a few more holes in our test coverage.
909 2002-03-10 21:18  mrjoltcola
911         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
912         classes/parrotpointer.pmc, classes/perlarray.pmc,
913         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
914         classes/perlstring.pmc, classes/perlundef.pmc,
915         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
916         argument to the init() vtable method so PMCs have the option to
917         know how to size themselves at creation. size could be N elements
918         or a byte count, depending on the PMC or it may simply be ignored.
919         Overloaded 'new' opcode for optional arg.
921 2002-03-10 21:15  mrjoltcola
923         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
924         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
925         class).
927         Also added small hack for .sub directive (which simply translates
928         to a label, however we might eventually want to collect these to
929         validate bsr calls.
931 2002-03-10 15:09  ajgough
933         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
934         Added round_floor and round_ceiling.  3403 tests pass, none fail.
936 2002-03-10 03:56  ajgough
938         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
939         divide, divide integer and remainder.  All filled in functions now
940         have special values capability.
942         Much remains to be done though, and the pdd needs to catch up.
944 2002-03-10 01:36  ajgough
946         * types/bignum.c: Added extended stuff to _add, _subtract.
948 2002-03-10 00:14  nicholas
950         * t/op/: integer.t, number.t: Patch from Simon Glover
951         <scog@roe.ac.uk>:
953          The enclosed patch fixes a few of the holes in our test coverage
954          uncovered by Josh Wilmes
956 2002-03-09 23:03  ajgough
958         * types/: bignum.c, bignum.h: Modified compare to work with
959         extended values.  Made a couple of changes here and there to allow
960         BN_comp to take a context, so that an is_zero check doesn't clobber
961         negative zeros.
963 2002-03-09 22:19  ajgough
965         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
966         Unary plus now copes with special values.
968 2002-03-09 04:25  ajgough
970         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
971         traps and flags are now enabled and tested for all the standard
972         tests for all the functions which are currently implemented.  Test
973         harness faffed with to allow these to be tested.
975 2002-03-09 02:29  josh
977         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
978         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
979         Re-indented
981 2002-03-09 02:22  josh
983         * config_h.in: tab-blastin'
985 2002-03-09 02:21  josh
987         * check_source_standards.pl: Play nicer with M-x compile- don't
988         bother giving line numbers for things you don't want to look at.
990 2002-03-09 02:10  josh
992         * examples/mops/mops.c: re-indented
994 2002-03-09 02:07  josh
996         * classes/pmc2c.pl: Use the usual header so that we can detect the
997         autogeneratedness.
999 2002-03-09 02:05  josh
1001         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
1002         compiler warning
1004 2002-03-09 01:59  josh
1006         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
1007         patch- re-indent io/*.c.
1009 2002-03-09 01:52  ajgough
1011         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
1012         special values to the string conversion functions, some other
1013         functions now need context (to let -0 pass through really_zero)
1014         which have also been added.
1016 2002-03-09 01:47  josh
1018         * test_main.c: Re-indented.
1020 2002-03-09 01:41  josh
1022         * rx.c: killed a stray tab
1024 2002-03-09 01:38  josh
1026         * rx.c: Re-indented.
1028 2002-03-09 01:36  josh
1030         * misc.c: Oops, some tabs remained- cleaned up.
1032 2002-03-09 01:31  josh
1034         * misc.c: Re-indented (major patch, sorry)
1036 2002-03-09 00:59  josh
1038         * embed.c: Re-indented.
1040 2002-03-08 23:08  simon
1042         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1043         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1044         docs/pdds/pdd13_bytecode.pod:
1045         Placeholder PDDs.
1047 2002-03-08 21:12  ajgough
1049         * include/parrot/string.h: Added private flags to string.h, mostly
1050         so that other GCed stuff can also have its very own private flags.
1052 2002-03-08 19:53  simon
1054         * MANIFEST:
1055         Great PDD Renaming
1057 2002-03-08 19:41  robert
1059         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1060         pdd6.pod, pdd7.pod: Renamed...
1062 2002-03-08 18:51  simon
1064         * MANIFEST, docs/pdds/pdd08_keys.pod:
1065         Add keys PDD.
1067 2002-03-08 18:20  ajgough
1069         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1070         Introduced exception handlers and exception flags to context, will
1071         allow support of extended standard.  Unified exception checking
1072         mechanism (sort of) and made minimal changes to bulk of code to use
1073         this.  Tests pass, I'm happy, and further changes will happen more
1074         gradually.
1076 2002-03-08 04:38  josh
1078         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1079         tweaks.
1081 2002-03-08 04:37  josh
1083         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1085 2002-03-08 04:24  josh
1087         * embed.c: A bit more re-indenting
1089 2002-03-08 04:20  josh
1091         * embed.c: Indenting fixes
1093 2002-03-08 04:14  josh
1095         * jit.c: Re-indented (run_indent.pl)
1097 2002-03-08 03:36  josh
1099         * ops2c.pl: Fix the line numbers which get reported while compiling
1100         core_ops*.c
1102 2002-03-08 03:22  josh
1104         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1105         The variable "type" is set but never used.
1107               opcode_t type;
1109 2002-03-08 03:04  josh
1111         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1112         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1113         noticed by the sgi compiler.
1115 2002-03-08 03:02  josh
1117         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1118         misc.c, Line = 417   The indicated type qualifier is meaningless on
1119         cast type.
1122         (const char) 'f');
1123                                                                          ^
1125 2002-03-08 02:55  josh
1127         * Makefile.in: Clean up one of the object files it was missing
1129 2002-03-08 01:15  josh
1131         * include/parrot/interpreter.h: Fixes the following error (tcc):
1132         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1133         comma at end of list.
1135 2002-03-06 22:15  simon
1137         * stacks.c:
1138         Tidy up stack chunk allocation.
1140 2002-03-06 21:00  simon
1142         * interpreter.c:
1143         Create strings only once we've got string register heads set up.
1145 2002-03-06 20:31  simon
1147         * classes/perlarray.pmc:
1148         malloc(0) considered harmful.
1150 2002-03-06 20:24  simon
1152         * include/parrot/resources.h:
1153         I like it when Parrot compiles.
1155 2002-03-06 17:02  dan
1157         * classes/array.pmc: Changed over to data pointing to a Buffer.
1159 2002-03-06 15:45  dan
1161         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1162         packfile.c, pbc2c.pl, pdump.c, resources.c,
1163         include/parrot/interpreter.h, include/parrot/memory.h,
1164         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1165         and opcode_t > longs will now be even more suspect than what they
1166         were beforehand.  2) Feel free to bicker with names.  I don't think
1167         we've come to *any* sort of agreement with these, although we
1168         really, really, need to.  3) I forget the third thing.  4) But I
1169         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1170         ANSI C states that enums will fit within the smallest type (int or
1171         greater) that can hold the values. Is that actually correct, and
1172         does it state whether unsigned is preferred to signed for
1173         non-negative enums? 6) Since I'm no longer constrained by "three"
1174         or "quick", I'm going size_t happy for a lot of memory-related
1175         storage.  (That's good.  No sense wasting the size or performance
1176         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1177         a couple other internal things (like the GC stat counters, seen
1178         here).  Size and performance, again, and unpromotable to a bigint,
1179         so we know that we (theoretically) will wrap.  However, size_t
1180         isn't the best choice for the type.  (Not that there's anything
1181         wrong with size_t, just that it shouldn't be called size_t.)  Any
1182         thoughts?  I was thinking of just doing unsigned int, because,
1183         IIRC, int is usually the natural word size, and will be most
1184         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1185         of was while writing down the others.  Sorry.
1187         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1189 2002-03-06 15:26  dan
1191         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1192         include/parrot/resources.h: Now we allocate generic Buffers from
1193         arenas too
1195 2002-03-05 21:42  brentdax
1197         * Configure.pl: Minor cleanup and enhancements.
1199 2002-03-05 21:25  dan
1201         * resources.c: non-special GC now works with PMCs
1203 2002-03-05 19:48  brentdax
1205         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1206         Parrot now "knows" if it's a development version or a release
1207         version.  See the instructions in the DEVELOPING file.
1209 2002-03-05 18:05  brentdax
1211         * MANIFEST: pasm.vim wasn't in the manifest.
1213 2002-03-05 17:57  simon
1215         * Makefile.in:
1216         Now, through much evilness, make distclean and make cvsclean work
1217         again.
1219 2002-03-05 17:38  dan
1221         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1222         include/parrot/interpreter.h, include/parrot/pmc.h,
1223         include/parrot/resources.h: PMC tracing complete
1225 2002-03-05 16:28  gregor
1227         * languages/jako/Makefile.in:
1228         Changed -I ../../ to -I ../../lib when calling the assembler, since
1229         the perl modules have moved.
1231 2002-03-05 05:30  josh
1233         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1234         string.c: More re-indenting via run_indent.pl.
1236 2002-03-05 05:17  josh
1238         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1239         run_indent.pl)
1241 2002-03-05 04:26  josh
1243         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1244         using run_indent.pl and some minor tweaking.
1246 2002-03-05 04:21  josh
1248         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1249         interpreter.c: Re-indented using run_indent.pl and some minor
1250         tweaking.
1252 2002-03-05 03:30  josh
1254         * include/parrot/trace.h: These functions are no longer used (or
1255         even implemented)
1257 2002-03-04 18:21  josh
1259         * include/parrot/trace.h: Fix a typo in the argument type.
1261         Patch from <daniel.ritz@gmx.ch>
1263 2002-03-04 03:39  josh
1265         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1266         header to jit_struct.h so we don't try to check it for conformance.
1267          (no way will it conform)
1269 2002-03-04 03:38  josh
1271         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1272         unicode.h, warnings.h: Remove some remaining tabs and split some of
1273         the remaining long lines.
1275 2002-03-04 03:17  josh
1277         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1278         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1279         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1280         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1281         string_funcs.h, trace.h, warnings.h: This is the first batch of
1282         re-indenting.   This patch is the result of running run_indent.pl
1283         on the header files and manually tweaking the results where errors
1284         were noticed.   This should get us closed, but some refinement may
1285         follow.
1287 2002-03-04 03:06  josh
1289         * resources.c: Return without parens, as mentioned in PDD 7
1291 2002-03-04 03:01  josh
1293         * core.ops: POD fixes.
1295 2002-03-04 02:58  josh
1297         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1298         on autogenerated files- used by the check_source_standards.pl
1299         script (for now) to exempt autogenerated files from the checks.
1301 2002-03-04 02:51  josh
1303         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1304         warnings.c: Added the editor "boilerplate" footer to a few files
1305         which were missing it.
1307 2002-03-04 02:34  josh
1309         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1310         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1311         c preprocessor directive indentation to comply with pdd 7.
1313         (also fixes the check for this indentation in
1314         check_source_standards.pl)
1316 2002-03-04 02:32  josh
1318         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1319         irix.
1321         perl t/harness t/op/basic..........Use of uninitialized value at
1322         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1323         line 6) #          got: undef #     expected: ''
1325 2002-03-04 02:30  josh
1327         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1328         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1329         "indent" program to enforce some of the code style standards
1330         outlined in PDD 7.
1332         Usage: ./run_indent.pl <file>
1334 2002-03-03 19:04  simon
1336         * examples/mops/mops.c:
1337         Let's make it compile, huh?
1339 2002-03-03 19:04  simon
1341         * examples/mops/mops.cs:
1342         I R AN IDIOT
1344 2002-03-03 18:11  simon
1346         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1347         Added C# and MS-IL versions of mops tester.
1349 2002-03-03 14:52  simon
1351         * core.ops:
1352         Add a sub() op to make mops_p work.
1354 2002-03-02 18:12  nicholas
1356         * examples/mops/mops.c, include/parrot/embed.h,
1357         include/parrot/interp_guts.h, include/parrot/jit.h,
1358         include/parrot/misc.h, include/parrot/packfile.h,
1359         include/parrot/rx.h, include/parrot/warnings.h,
1360         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1361         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1362         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1363         indent variables correctly.
1365 2002-03-02 17:41  nicholas
1367         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1368         patch to fix a compiler warning.
1370 2002-03-01 22:35  dan
1372         * memory.c, resources.c, include/parrot/pmc.h,
1373         include/parrot/resources.h: PMCs now come out of arenas.
1375 2002-03-01 06:15  dan
1377         * string.c:
1378         A non-existing buffer + a non-existing buffer should be a
1379         non-existing buffer, not "", which is really '\0'.
1381         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1383 2002-03-01 06:02  dan
1385         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1387         TMTOWTDI, but strcmp is probably the worse.
1389         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1391 2002-03-01 02:32  brentdax
1393         * embed.c: Debug mode now prints out the GC data.
1395 2002-02-28 23:44  dan
1397         * core.ops, resources.c, include/parrot/resources.h: Added collect
1398         and sweep opcodes
1400 2002-02-28 22:58  dan
1402         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1403         opcode
1405 2002-02-28 22:50  dan
1407         * core.ops, interpreter.c, resources.c,
1408         examples/assembly/life.pasm, include/parrot/interpreter.h,
1409         include/parrot/resources.h: Add some stat gathering to the resource
1410         allocation code.
1412         Also add an interpreter info retrieval op, and teach it about the
1413         different things it can retrieve.
1415         Finally, add some stat info to life.pasm as an example
1417 2002-02-28 21:27  dan
1419         * editor/pasm.vim: VIM mode commands for parrot assembly files
1421         Courtesy of Scott Beck <scott@gossamer-threads.com>
1423 2002-02-28 19:20  dan
1425         * examples/assembly/life.pasm: Fix a creeping string length leak.
1427         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1429 2002-02-28 18:26  dan
1431         * string.c: When you clone a constant, it ain't constant no mo'.
1433         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1435 2002-02-28 00:51  dan
1437         * MANIFEST: Add missing files
1439         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1441 2002-02-28 00:49  dan
1443         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1444         CVS seems to have several chunks missing out of it, too.  This
1445         patch is simply an administrative patch, with the differences
1446         between my last version, and the one currently in there.  There
1447         will be a forthcoming patch for some minor tweaking to the PDD, but
1448         I wanted a common baseline before I make any (potential) semantic
1449         changes.
1451         There's only one semi-major change, which noone needs to worry
1452         about just yet.  That's a change from PDD Format 1 to PDD Format
1453         6.0 - rationale can be found under 'Standard (Version #)' of the
1454         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1455         should be 6.0.0, and we need to discuss Perl versus Parrot with
1456         PDDs.
1458         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1460 2002-02-28 00:27  dan
1462         * packfile.c, resources.c, examples/assembly/life.pasm,
1463         include/parrot/register.h, include/parrot/resources.h,
1464         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1465         no PMCs yet)
1467         This patch now implements a real copying collector. We trace from
1468         our root set and compact the contents of Buffer structs.
1470         Todo:
1472         *) It's very STRING-centric and doesn't handle memory stuffed in
1473         Buffers.  But, then, we don't have pool allocation for Buffers
1474         either, and we need to have that soonish for this to work.
1476         *) Doesn't trace PMCs, so if you trigger a collection and there's
1477         memory or STRING structs only accessible from PMCs, you'll fail
1478         horribly. That needs fixing too
1480         *) Better algorithms for when to trace or collect vs when to just
1481         go allocate more memory from the system. Should probably be more
1482         cache friendly too.
1484 2002-02-27 21:04  dan
1486         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1487         examples/assembly/life.pasm, include/parrot/resources.h,
1488         include/parrot/string.h, include/parrot/string_funcs.h,
1489         jit/i386/core.jit: Start of GC in
1491 2002-02-26 16:41  dan
1493         * jit/i386/string.jit: Fix a typo
1495         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1497 2002-02-26 16:37  dan
1499         * interpreter.c: Fix solaris test failures
1501         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1503 2002-02-26 16:36  dan
1505         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1506         unicode.h, warnings.h: Fixes various warts in header files, such
1507         as: * macros   -added parens to prevent problems with operator
1508         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1509         is no longer used * added some more INLINE definitions for MSVC and
1510         C99 compilers
1512         Courtesy of Brian Lee Ray <blray@ualr.edu>
1514 2002-02-26 16:20  dan
1516         * Configure.pl: Turns out we were using a warning flag which
1517         doesn't exist on 2.7.  Simple tweak though:
1519         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1521 2002-02-25 22:58  dan
1523         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1525 2002-02-25 17:36  dan
1527         * include/parrot/pmc.h: Fix the bits
1529 2002-02-23 21:57  dan
1531         * include/parrot/resources.h: Another 1.5% never hurts
1533 2002-02-23 21:44  dan
1535         * global_setup.c, memory.c, resources.c, string.c,
1536         include/parrot/resources.h: Allocate STRING headers from an arena
1537         with freelist rather than with the system malloc. First step in a
1538         good (or even a bad) GC system.
1540 2002-02-23 20:37  brentdax
1542         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1544 2002-02-22 14:59  ajgough
1546         * types/bignum.c: BN_multiply split into BN_multiply and
1547         BN_imultiply, the internal version to be used by idivide so that
1548         rounding isn't performed during intermediate stages of division.
1550         following test scripts now all pass: divide divideint add multiply
1551         subtract remainder compare rounding plus minus (these are all the
1552         operations currently implemented, rescale and power must still be
1553         written, so don't pass right now).
1555 2002-02-22 13:13  ajgough
1557         * types/bignum_atest.pl: Test harness modified to understand
1558         comments better, and be able to run unary (and rounding) tests.
1559         Currently a few rounding tests fail, which are being investigated.
1561 2002-02-22 01:41  dan
1563         * key.c: Although there's more work being done on the key stuff and
1564         this isn't the final fix, applying this patch does get parrot to
1565         build with two more compilers, so it's probably worthwhile.
1567         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1569 2002-02-22 00:53  dan
1571         * config_h.in, misc.c, include/parrot/embed.h,
1572         include/parrot/exceptions.h, include/parrot/interpreter.h,
1573         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1574         include/parrot/resources.h, include/parrot/rx.h,
1575         include/parrot/string.h, include/parrot/unicode.h,
1576         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1577         io/io_win32.c: Fixes the following (lcc) warnings:
1579           - interpreter.c:470: warning: expression with no effect elided
1580                (related to the way warnings flags were defined)
1582           - misc.c:352: warning: unreachable code
1583             misc.c:483: warning: unreachable code
1584                (i introduced these with some overzealous de-linting)
1586           - numerous warnings like this:
1587             io/io_unix.c:383: warning: conversion from pointer to void' to
1588         pointer to
1589             pointer to struct _ParrotIO function(pointer to struct
1590         Parrot_Interp,pointer
1591             to struct _ParrotIOLayer,pointer to const char,pointer to const
1592         char,pointer
1593             to pointer to void)' is compiler dependent
1595         Fixes the following nits:    - remove bad indenting (tabs) in the
1596         includes
1598         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1600 2002-02-21 21:12  ajgough
1602         * types/: bignum.c, bignum.h: These might look like massive
1603         changes, but really it's just he imposition of coding standards.
1604         The file still isn't entirely compliant, but is now much more so.
1606         Also changed:
1608          o a few more comments
1609          o BN_compare uses internal BN_comp to compare
1610          o lost_digits behaviour is now correct (test harness modified to
1611         test
1612            this).
1614         All binary functions now pass all the tests in the basic standard.
1615         Unary functions not yet tested, will be soon.
1617 2002-02-21 18:20  dan
1619         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1620         was no longer needed, and the ssize_t thing really shouldn't be
1621         needed either.
1623         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1625 2002-02-21 18:15  dan
1627         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1628         include/parrot/parrot.h: this patch adds support for the freely
1629         available borland c++ 5.5.1 compiler
1631         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1632         working borland compiler (compiler must know where to find headers
1633         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1634         cc='cl.exe' - a working make utility (borland make doesn't work,
1635         nmake does)
1637         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1638         hints/mswin32.pl - remove a space from Configure.pl (very very
1639         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1640         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1641         (win32 knows it, linux not)
1643         and the why: - parrot is MUCH faster when compiled with borland c
1644         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1645         seconds
1647         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1649 2002-02-21 18:09  dan
1651         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1652         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1653         cuddled elses, as required by PDD 7.
1655         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1657 2002-02-21 18:04  dan
1659         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1660         a new Makefile target called "check_source".  This target scans all
1661         the .c and .h files in the directory and checks for conformance to
1662         a number of the standards outlined in PDD 7.
1664         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1666 2002-02-21 16:38  ajgough
1668         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1669         allow arithmetic with numbers with a fixed fractional part, buffer
1670         structures now more ready to be integrated into the parrot memory
1671         allocation game, test harness modified to allow lost_digits
1672         condition to be checked.  Some more comments.
1674 2002-02-21 15:53  simon
1676         * io/io_unix.c:
1677         Fix typo
1679         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1681 2002-02-20 16:41  dan
1683         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1685 2002-02-18 18:25  dan
1687         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1689         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1691 2002-02-18 18:21  dan
1693         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1694         CPrederef.pm to make to generated code compile with the MS
1695         compiler.
1697         fixes: - ms compiler allows inline only for c++, for c there's
1698         __inline - ms header files knows nothing about ssize_t
1700         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1702 2002-02-18 17:49  dan
1704         * MANIFEST: Add the PDDs
1706 2002-02-18 17:47  dan
1708         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1709         coding standards PDD.
1711 2002-02-18 17:40  dan
1713         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1715 2002-02-18 12:41  gregor
1717         * test_main.c:
1718         Remove warning about exit() not being declared.
1720 2002-02-18 08:29  simon
1722         * misc.c, warnings.c, include/parrot/misc.h,
1723         include/parrot/warnings.h:
1724         This patch adds some missing const's to silence a number of gcc
1725         warnings.
1727         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1729 2002-02-18 08:26  simon
1731         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1732         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1733         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1734         include/parrot/parrot.h, include/parrot/rx.h,
1735         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1736         lib/Parrot/OpTrans/CPrederef.pm:
1737            - add makefile target and script to test for external libc
1738         dependencies
1739            - fix return values in hash and array PMCs (returning 0 in a
1740         void func)
1741            - remove unnecessary data pointer <=> function pointer
1742         conversions
1743              outside of the JIT code.
1744            - move the definition of the "INLINE" macro out of the rx header
1745         and make
1746              available for general use on C++ compilers and gcc.
1747            - remove a few unused variables
1749         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1751 2002-02-17 16:29  simon
1753         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1754         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1755         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1756         We're organised and responsible. Honest.
1758 2002-02-17 02:46  sfink
1760         * Makefile.in: Remove $^ for nmake compatibility.
1762 2002-02-16 09:20  brentdax
1764         * config_h.in, test_main.c, include/parrot/chartype.h,
1765         include/parrot/embed.h, include/parrot/encoding.h,
1766         include/parrot/string.h, include/parrot/string_funcs.h: Better
1767         embedding exposure and hiding, part 1.
1769 2002-02-16 04:38  dan
1771         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1772         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1773         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1774         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1775         typecasts in various places throughout the code. It probably won't
1776         work for Windows yet. The libparrot.a target might need to be
1777         modified to at least prevent it from confusing make on Windows; I
1778         don't know.
1780         Preliminary instructions for using pbc2c.pl are in
1781         docs/running.pod.  I'll try to do better later.
1783         Courtesy of Steve Fink <steve@fink.com>
1785 2002-02-16 04:15  dan
1787         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1789         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1791 2002-02-16 00:03  simon
1793         * classes/: perlarray.pmc, perlhash.pmc:
1795         pmc is already defined!
1797 2002-02-15 23:20  brentdax
1799         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1800         include/parrot/exceptions.h: Far more informative panic messages.
1802 2002-02-15 03:24  dan
1804         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1805         much more extensive patch that fixes it to work properly, and
1806         deletes a bazillion casts as well.  It also points to the question
1807         "can we make the byte_code be an opcode_t* already?"
1809         Oh, and it makes some of the formatting prettier, so it's gotta be
1810         good.
1812         Courtesy of * Steve Fink <steve@fink.com>
1814 2002-02-15 02:30  dan
1816         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1817         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1818         of the things it finds.  Attaching the patch as well as the current
1819         lint output.
1821         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1823 2002-02-15 01:59  dan
1825         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1826         moment.
1828 2002-02-15 01:48  dan
1830         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1832 2002-02-15 01:40  dan
1834         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1835         things
1837 2002-02-14 23:30  dan
1839         * resources.c: Added comment for buffer tag routine. D'oh!
1841 2002-02-14 23:28  dan
1843         * resources.c, include/parrot/resources.h: Added buffer mark
1844         routine for GC
1846 2002-02-14 23:17  dan
1848         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1849         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1850         Rejigged memory system a bit. Now should be ready for the horror
1851         that is garbage collection.
1853 2002-02-14 19:33  gregor
1855         * ops2c.pl, include/parrot/oplib.h:
1856         Added code to automatically generate a function within an oplib to
1857         lookup opinfos given the op name. This will come in handy in future
1858         when we want to twiddle opcode tables at run time and possibly at
1859         startup time.
1861 2002-02-14 19:25  gregor
1863         * examples/assembly/queens.pasm:
1864         Regenerated queens.pasm from queens.jako since the clone_* stuff
1865         went away.
1867 2002-02-14 17:12  dan
1869         * resources.c, include/parrot/resources.h: Finished up the
1870         interface for memory and tracked interpreter thingies.
1872 2002-02-14 16:53  dan
1874         * memory.c, include/parrot/memory.h: intercept free and realloc
1876 2002-02-14 05:53  dan
1878         * interpreter.c, runops_cores.c: The type changes in struct
1879         Packfile break the pointer math used in a few places to calculate
1880         the address of the end of the loaded byte code. This causes
1881         segfaults in build_asm in jit.c when using -j. It also breaks the
1882         bounds checking on opcode address in runops_slow_core.
1884         The patch adds the necessary cast to correct the code_end
1885         calculations.
1887         Courtesy of Jason Gloudon <perl@gloudon.com>
1889 2002-02-14 01:01  ajgough
1891         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1892         BigInt operations (I think), tests for normal operation continue to
1893         pass.  Also a shed load of comments.
1895 2002-02-13 01:34  ajgough
1897         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1898         is a (mostly) working bignumber library.  There remains much work
1899         to do though, some functions are not yet implemented and headers
1900         need to find their way to the correct place RSN.  Also support for
1901         bigints and a sensible error reporting mechanism are needed.
1903 2002-02-12 18:51  dan
1905         * misc.c: Fix some warnings
1907 2002-02-12 17:10  dan
1909         * misc.c: Run through indent -kr -nce so I can read it
1911 2002-02-12 16:49  dan
1913         * misc.c: Need standard header/footer comments
1915 2002-02-11 20:32  simon
1917         * classes/array.pmc:
1918         get and set pmc methods.
1920 2002-02-11 20:19  simon
1922         * classes/array.pmc:
1923         Maybe the keys aren't integer...
1925 2002-02-11 20:03  simon
1927         * core.ops, vtable.tbl, classes/default.pmc:
1928         {g,s}et_pmc_keyed
1930 2002-02-11 19:07  simon
1932         * vtable.tbl, classes/default.pmc:
1933         Add set_pmc. Usee with caution.
1935 2002-02-11 18:20  dan
1937         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1938         compile
1940 2002-02-11 17:59  simon
1942         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1943         classes/perlarray.pmc, classes/perlhash.pmc:
1944         Make it compile.
1946 2002-02-11 17:57  simon
1948         * packfile.c, include/parrot/packfile.h:
1949         Reduce warnings
1951         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1953 2002-02-11 17:55  dan
1955         * docs/parrot_assembly.pod: Document some key ops
1957 2002-02-11 09:20  brentdax
1959         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1960         disgustingly easy.
1962 2002-02-11 00:34  simon
1964         * core.ops, include/parrot/exceptions.h:
1965         This is what keyed set ops look like. Remember, however, that for
1966         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1967         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1968         obviously ambiguous that you ought to use the 4-arg version
1969         instead.
1971 2002-02-10 23:12  jgoff
1973         * classes/: array.pmc, perlarray.pmc: Properly allocate
1974         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1975         isn't tested yet, but should be fairly straightforward.  PerlHash
1976         needs to be finished before the system will compile again, and that
1977         should be done in the next few days.
1979 2002-02-09 04:46  jgoff
1981         * classes/: array.pmc, default.pmc, intqueue.pmc,
1982         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1983         Added basic _keyed member functions.  Unfortunately this still
1984         doesn't fix the problems that are causing the build to break. It's
1985         a start though. I'm not implementing the PMC add functions just
1986         yet.
1988 2002-02-08 15:59  simon
1990         * classes/array.pmc:
1991         Some more work on getting the array stuff up to date.
1993 2002-02-08 12:23  simon
1995         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1996         lib/Parrot/Vtable.pm:
1997         Got array->get_integer_keyed doing what I think it ought to. One
1998         down, all the rest to go.
2000 2002-02-08 11:47  simon
2002         * vtable.tbl:
2003         Although I didn't intend it to be quite that broken...
2005 2002-02-08 11:42  simon
2007         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
2008         Completely break Parrot, but at least we get the key stuff right
2009         for now.
2011 2002-02-08 06:25  dan
2013         * hints/darwin.pl: Silences the warning about passing in
2014         -flat_namespace to the compile.  That's a link-only flag.
2016 2002-02-08 04:52  jgoff
2018         * classes/: array.pmc, default.pmc, intqueue.pmc,
2019         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
2020         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
2021         return values in *.pmc, added some missing casts to the repeat_foo
2022         members, and deleted the _index members from the perlscalar
2023         classes.  Basic cleanup, and getting ready for _keyed functions.
2025 2002-02-07 04:49  mrjoltcola
2027         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2028         added a nested subroutine call.
2030 2002-02-07 04:32  jgoff
2032         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2033         changes in order to give the whitespace rules a little workout, and
2034         do a little bit more testing. No actual structural changes were
2035         made.  lib/Parrot/Vtable.pm got an interface change, and more
2036         importantly should be ready to support the new '_keyed' attribute,
2037         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2038         src_value' followed by 'KEY* src_key'.  This will be how the new
2039         _keyed operators will function, and those should be written within
2040         a few days.
2042 2002-02-06 18:00  doughera
2044         * misc.c: Change C++-style comments to C comments (again).  Remove
2045         unused perl5 code that was in #if 0/#endif.
2047 2002-02-06 17:59  doughera
2049         * warnings.c: Add trailing newline.
2051 2002-02-06 04:14  mrjoltcola
2053         * include/parrot/io.h, io/io.c: Minor cleanup.
2055 2002-02-06 03:11  mrjoltcola
2057         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2058         couple of loose end in win32 IO stuff. Open behaves now but needs
2059         more work.
2061 2002-02-05 21:02  brentdax
2063         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2064         which showed up in Purify builds.
2066 2002-02-05 17:15  simon
2068         * misc.c:
2069         Warning fixes.
2071         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2073 2002-02-05 17:08  doughera
2075         * misc.c: Avoid C++-style comments.
2077 2002-02-05 17:07  doughera
2079         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2080         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2081         thanks to Jason Gloudon <perl@gloudon.com>.
2083 2002-02-05 14:04  simon
2085         * misc.c:
2086         Make the problem different, perhaps even better.
2088 2002-02-05 13:49  simon
2090         * misc.c:
2091         Possibly fix a `short int' is promoted to `int' when passed through
2092         `...' scary error, possibly make things absolutely worse.
2094 2002-02-05 13:15  simon
2096         * Configure.pl:
2097         Placate Tru64.
2099 2002-02-05 13:12  simon
2101         * warnings.c:
2102         Not going to get far without this one...
2104 2002-02-05 11:41  simon
2106         * string.c:
2107         Don't barf when handed null pointers.
2109 2002-02-05 10:04  simon
2111         * misc.c, include/parrot/misc.h:
2112         Fix some trivial bugs in warnings code.
2114 2002-02-05 09:27  simon
2116         * misc.c:
2117         Oops, forgot this one; also added %P support.
2119 2002-02-05 09:20  simon
2121         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2122         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2123         include/parrot/interpreter.h, include/parrot/misc.h,
2124         include/parrot/parrot.h, include/parrot/warnings.h:
2125         Warnings support.
2127         Courtesy of: Brent Dax <brentdax@cpan.org>
2129 2002-02-05 05:41  jgoff
2131         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2132         format of vtable.tbl to get rid of the tab-dependence.  The format
2133         now looks roughly like this:
2135         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2136         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2137         assumed here, but note the C-like prototyping.  Also had to disable
2138         one test that depended upon 'concat_p_p_s', which isn't necessary
2139         anyway.
2141         Vtable.pm will change again when the type '_keyed' is added,
2142         because that requires remapping parameters slightly differently
2143         again.  Also, note that it assumes 'value' is the first parameter
2144         in the list. This assumption will go away at the same time.
2146 2002-02-04 16:57  ajgough
2148         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2149         functions.  Thanks to Simon Glover.
2151 2002-02-04 02:47  ajgough
2153         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2154         needed.  I suspect that the entire hints file isn't really needed,
2155         but there's no one to actually tell us this.
2157 2002-02-02 15:45  ask
2159         * docs/ParrotFAQ.htm: fix internal links
2161 2002-02-02 04:06  jgoff
2163         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2164         Moving the internal KEY structure from the cache.struct_val member,
2165         where it doesn't really belong, to the internal SELF->data member.
2166         This frees up the cache/type members for other usage.
2168         This is the first step in moving PMCs to the point where we can do
2169         multidimensional PMC handles. The next step is to change the
2170         assembler to accept the syntax of 'set P0["foo"],7'.
2172 2002-02-02 00:13  nicholas
2174         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2175         prototype Parrot_Array_class_init
2177 2002-02-02 00:13  nicholas
2179         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2180         time to sum_time to avoid warning on FreeBSD about tracking a
2181         global [No, this warning does not appear on Linux. Yes, it is real
2182         :-)]
2184 2002-02-01 23:02  nicholas
2186         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2187         Glover
2189 2002-02-01 20:20  nicholas
2191         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2193 2002-02-01 18:20  nicholas
2195         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2196         you
2198 2002-02-01 13:22  nicholas
2200         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2202 2002-02-01 12:19  simon
2204         * core.ops, t/op/ifunless.t, t/op/integer.t:
2205         Added "unless" op.
2207 2002-02-01 12:11  simon
2209         * lib/Parrot/Test.pm:
2210         Remove a warning.
2212 2002-02-01 01:38  nicholas
2214         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2215         and a manitest target to Makefile.in that lets one test the
2216         manifest.
2218 2002-02-01 00:03  dan
2220         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2221         PMC dynaloading
2223 2002-01-31 21:46  gregor
2225         * Configure.pl, Makefile.in, hints/mswin32.pl:
2226         A few more things are now configable, so we are closer to win32
2227         shared library builds. Not there yet, but closer.
2229 2002-01-31 21:00  dan
2231         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2232         include/parrot/pmc.h: First step in dynamically loading PMC classes
2234 2002-01-31 19:38  dan
2236         * Makefile.in: Dependencies in the Makefile are currently too broad
2237         brush.  I don't enjoy waiting for everything to recompile every
2238         time I try to tweak the jit. The only file that #includes
2239         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2240         should reflect this, and not cause a gratuitous recompile of
2241         everything.  There are probably other auto-generated header files
2242         that world+dog should not depend on.
2244         Courtesy of  Nicholas Clark <nick@unfortu.net>
2246 2002-01-31 19:03  gregor
2248         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2249         Added two new make targets:
2251           * testp: Like 'make test', but passes -P to t/harness, so you get
2252         to
2253             see how broken predereferencing is.
2255           * testj: Like 'make test', but passes -j to t/harness, so you get
2256         to
2257             see how broken JIT is.
2259         Now, anyone who wants to see how good all three ways of running are
2260         can do so, at the cost of about 3x the time.
2262 2002-01-31 17:09  brentdax
2264         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2266 2002-01-31 03:41  grunblatt
2268         * docs/jit.pod: Update jit.pod
2270 2002-01-31 03:20  grunblatt
2272         * jit/i386/core.jit: Hold this until we get an assemble tool,
2273         because of the different objdump problems.
2275 2002-01-31 03:13  grunblatt
2277         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2278         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2279         of: Jason Gloudon <perl@gloudon.com>
2281 2002-01-31 02:22  grunblatt
2283         * jit/i386/core.jit: Continue if the register is null
2285 2002-01-30 23:50  grunblatt
2287         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2288         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2289         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2290         specific file.
2292 2002-01-30 23:35  mrjoltcola
2294         * io/io_win32.c: Change implementation of isatty on win32,
2295         suggested by Hong Zhang.
2297 2002-01-30 23:19  sfink
2299         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2300         Op::may_jump boolean method.
2302         Replaced jit2h's hardcoded pattern match to decide what ops might
2303         change the control flow.
2305 2002-01-30 22:13  dan
2307         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2308         parrot to mostly-build with tcc.  It allows one to skip compiling
2309         the JIT stuff (by specifying --define jitcapable=0), and it
2310         introduces a test program which gives a friendlier error in this
2311         case for compilers which are as picky as tcc is about function
2312         pointer conversion.
2314         If anyone figures out the proper way to cast these function
2315         pointers this may not be necessary.
2317         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2319 2002-01-30 20:54  dan
2321         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2322         Here's an update to docs/running.pod to better reflect the current
2323         state (both the test_parrot and assemble.pl improvements, plus
2324         documentation of a few more things.) And also a speling fiks
2325         s/POST_MORTERM/POST_MORTEM/.
2327         I could also replace some "perl foo" calls with "./foo" if someone
2328         wanted to set the executable flag in CVS on assemble.pl,
2329         optimize.pl, etc.
2331         Courtesy of Steve Fink <steve@fink.com>
2333 2002-01-30 20:43  dan
2335         * core.ops: find_global doesn't work, so stub out the wrong code
2337 2002-01-30 19:08  dan
2339         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2340         that perldoc
2341          can read it and just tidies it up generally. It also adds
2342         documentation
2343          for the constantize_integer and constantize_number functions.
2345         Courtesy of Simon Glover <scog@roe.ac.uk>
2347 2002-01-30 18:02  dan
2349         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2350         classes/genclass.pl, classes/pmc2c.pl,
2351         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2352         distribution (including assemble.pl !)
2353          can no longer find the Parrot::* modules. Enclosed patch fixes
2354         (although
2355          it would be nice if there were an easier way to do this).
2357         Courtesy of  Simon Glover <scog@roe.ac.uk>
2359 2002-01-30 16:00  mrjoltcola
2361         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2362         types.
2364 2002-01-30 15:50  mrjoltcola
2366         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2368 2002-01-30 15:42  grunblatt
2370         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2371         files around
2373 2002-01-30 15:38  grunblatt
2375         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2376         the manifest,  and also puts it back into alphabetical order.
2378         Courtesy of: Simon Glover <scog@roe.ac.uk>
2380 2002-01-30 14:41  nicholas
2382         * embed.c: Patch from Simon Glover to clean up warnings where
2383         prototype is () not (void)
2385 2002-01-30 13:54  nicholas
2387         * include/parrot/embed.h, test_main.c: Add void as an explicit
2388         parameter in test_main.c's usage(), version(void) and embed.h's
2389         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2390         warning: function declaration isn't a prototype
2392 2002-01-30 12:08  simon
2394         * lib/Parrot/.cvsignore:
2395         Ignore generated Perl modules.
2397 2002-01-30 12:07  simon
2399         * t/harness:
2400         Run the PMC tests as well.
2402 2002-01-30 12:04  simon
2404         * MANIFEST:
2405         Fix MANIFEST after recent t/pmc rejig.
2407 2002-01-30 11:42  simon
2409         * lib/Parrot/Test.pm:
2410         Report non-zero exit codes.
2412         Courtesy of: Michael G Schwern <schwern@pobox.com>
2414 2002-01-30 11:39  simon
2416         * t/op/rx.t:
2417         Skip final test, TODO doesn't work yet.
2419 2002-01-30 09:54  brentdax
2421         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2422         predereferencing works.
2424 2002-01-30 09:38  brentdax
2426         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2427         subsystem.
2429 2002-01-30 09:37  brentdax
2431         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2433 2002-01-30 09:37  brentdax
2435         * config_h.in: Expose another flag for embedders.
2437 2002-01-30 05:07  jgoff
2439         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2440         location for Parrot/, and t/harness wasn't able to run the new
2441         op/pmc tests. Both problems fixed, so I think I'm going to declare
2442         the build suitable for public consumption.
2444 2002-01-30 04:34  robert
2446         * docs/Makefile.in: update for CVS movement
2448 2002-01-30 04:32  robert
2450         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2451         .in file, not the real Makefile)
2453 2002-01-30 04:20  robert
2455         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2456         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2457         related to moving files around
2459 2002-01-30 04:10  robert
2461         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2463 2002-01-30 04:07  robert
2465         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2467 2002-01-30 03:56  robert
2469         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2470         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2471         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2472         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2473         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2474         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2475         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2476         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2477         lib/Parrot/
2479 2002-01-30 03:46  robert
2481         * languages/miniperl/miniperlc: renamed to mpc
2483 2002-01-30 03:45  robert
2485         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2486         pmc_perlstring.t: Moved to t/op/pmc/
2488 2002-01-30 03:40  robert
2490         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2492 2002-01-30 03:14  jgoff
2494         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2495         Fixed some problems with PerlArray and added tests.  Previously,
2496         only integers could be accessed by negative indices.  After this
2497         change, all basic types can be accessed by negative indices, and
2498         they can also be set at negative indices.
2500 2002-01-29 22:13  brentdax
2502         * TODO: Just look at the stupid diff.
2504 2002-01-29 21:53  simon
2506         * TODO, docs/vtables.pod:
2507         New TODO, and tiny addition to vtables.pod
2509 2002-01-29 21:47  mrjoltcola
2511         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2513 2002-01-29 21:38  mrjoltcola
2515         * Makefile.in: Makefile.in tweak for io depend.
2517 2002-01-29 21:15  brentdax
2519         * embed.c: Fix a segfault and some profiling formatting nits.
2521 2002-01-29 20:54  brentdax
2523         * pmc.c: Oops.
2525 2002-01-29 20:50  brentdax
2527         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2528         segfaults.
2530 2002-01-29 20:17  mrjoltcola
2532         * interpreter.c, core.ops, io.ops: CVS missed this.
2534 2002-01-29 20:17  mrjoltcola
2536         * io/io.c: These should have gone in Sunday with the rest. CVS is
2537         out to get me.
2539 2002-01-29 18:39  brentdax
2541         * platforms/win32.h: Fix Win32 whoops.
2543 2002-01-29 18:29  brentdax
2545         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2547 2002-01-29 17:51  simon
2549         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2550         include/parrot/embed.h, include/parrot/parrot.h:
2551         Embedding support. Cool.
2553         Courtesy of: <brentdax@cpan.org>
2555 2002-01-29 15:40  grunblatt
2557         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2558         Gloudon <perl@gloudon.com>
2560 2002-01-29 14:42  simon
2562         * include/parrot/parrot.h:
2563         Platform stuff has to be included *after* system headers.
2565 2002-01-29 14:05  grunblatt
2567         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2568         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2569         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2570         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2571         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2573 2002-01-29 10:56  simon
2575         * platforms/generic.h:
2576         If we don't have a S_ISREG, produce something close to it.
2578 2002-01-29 06:01  dan
2580         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2582 2002-01-29 04:38  jgoff
2584         * classes/array.pmc: Forgot to remove some C++-isms from the
2585         get_{foo}_index routines.
2587 2002-01-29 04:26  jgoff
2589         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2590         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2591         t/pmc/array.t: Added array class that languages other than perl can
2592         use for a basis.  It has no features like preextension, and the
2593         array index starts at 0.
2595         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2596         and classes/Makefile.in - Added array.pmc to the makefile.
2597         (Assuming rules like .pmc.o are portable (or even possible) I might
2598         alter classes/Makefile.in to autobuild the appropriate files.
2600 2002-01-29 02:32  dan
2602         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2603         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2604         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2605         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2606             Update to Test::More 0.41 which adds Test::Builder
2608             Delete the vestigal Test::Utils
2610             Change Parrot::Test so it uses Test::Builder instead of Evil
2611         Wrappers
2612             around Test::More
2614             output_* now returns whether the test passes or fails
2616             Parrot::Test no longer exports Test::More's functions.  Instead
2617         they
2618             can simply be used together.  The few tests which used
2619         Test::More
2620             features (ie. skip) have 'use Test::More' added.
2622             I ditched the export_to_level() crutch.  Do we expect parrot to
2623         work on
2624             5.004?  (literally 5.004, not 5.004_04)
2626         Courtesy of Michael G Schwern <schwern@pobox.com>
2628 2002-01-28 21:04  dan
2630         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2631         pointer should actually be to
2632          parrot_assembly.pod, as the canonical documentation.
2634         Courtesy of Simon Glover <scog@roe.ac.uk>
2636 2002-01-28 20:21  dan
2638         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2639         clone[inps]
2641 2002-01-28 19:18  dan
2643         * core.ops, register.c: clone[insp] is dead
2645 2002-01-28 17:46  grunblatt
2647         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2648         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2650 2002-01-28 16:45  dan
2652         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2653         the requirement for fink at the moment.
2655 2002-01-28 15:59  simon
2657         * test_main.c:
2658         People might try and run a directory file, with spectacular
2659         results.  We don't want that. No.
2661 2002-01-28 14:58  doughera
2663         * core.ops: Avoid C++-style comments.
2665 2002-01-28 14:16  grunblatt
2667         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2668         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2669         work again.
2671 2002-01-28 13:47  doughera
2673         * include/parrot/register.h: Avoid C++-style comment.
2675 2002-01-28 06:03  dan
2677         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2678         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2679         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2680         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2681         include/parrot/parrot.h, include/parrot/regfuncs.h,
2682         include/parrot/register.h, include/parrot/register_funcs.h,
2683         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2684         are now stored in the interpreter structure itself, rather than
2685         just a pointer to the top of the register structure. Pushes and
2686         pops now involve memcpys, but register access has one fewer
2687         dereference.
2689         Fails four of the register stack tests, though, so not perfect.
2690         Needs fixing, but this is a good place to start.
2692 2002-01-28 04:40  mrjoltcola
2694         * test_main.c: cvs commit missed this. ??
2696 2002-01-28 04:27  mrjoltcola
2698         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2699         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2700         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2701         interpreter now (at least in theory).  IO handle array added.  Misc
2702         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2703         we don't conflict         with system libraries.  Still have broken
2704         stuff in win32 and stdio layer.
2706 2002-01-28 04:01  mrjoltcola
2708         * include/parrot/chartype.h: Typo in chartype.h include guard.
2710 2002-01-28 03:41  mrjoltcola
2712         * t/op/interp.t: Fix flag for interp so we don't get "info"
2713         messages which break tests.
2715 2002-01-28 01:54  dan
2717         * include/parrot/string.h: A few more buffer/string flags
2719 2002-01-27 11:33  nicholas
2721         * chartypes/unicode.c: Cast unsigned argument to int in call to
2722         isdigit to silence gcc warning.
2724 2002-01-26 23:18  grunblatt
2726         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2727         off that flag.
2729 2002-01-26 23:17  grunblatt
2731         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2732         jit/i386/core.jit: [no log message]
2734 2002-01-26 22:18  simon
2736         * jit/i386/core.jit:
2737         Jumping to 0x0 is a recipe for segfaults.
2739 2002-01-26 18:35  simon
2741         * t/harness:
2742         Allow user to select which tests to harness
2744         Courtesy of: Nicholas Clark <nick@unfortu.net>
2746 2002-01-26 17:20  grunblatt
2748         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2749         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2750         to make the jit work in linux again.
2752 2002-01-26 16:52  dan
2754         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2755         headers can't cope with this. Darwin-only
2757 2002-01-26 16:04  dan
2759         * include/parrot/parrot.h: Quick note to remind folks that this
2760         isn't the file they're looking for if they're writing extensions or
2761         embedding parrot.
2763         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2765 2002-01-26 00:41  mrjoltcola
2767         * MANIFEST: Oopsy.
2769 2002-01-26 00:37  mrjoltcola
2771         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2772         Turoff
2774 2002-01-25 01:31  grunblatt
2776         * jit/alpha/core.jit: There is no neg or fneg.
2778 2002-01-25 01:27  grunblatt
2780         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2781         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2782         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2783         t/op/number.t: Added Parrot_neg.  Erase t.s
2785 2002-01-24 23:26  dan
2787         * interpreter.c: Best make sure unused elements are NULL
2789 2002-01-24 23:24  dan
2791         * interpreter.c: Fix stupid thinko
2793 2002-01-24 18:37  doughera
2795         * Makefile.in: Add a few missing dollar signs in the lifetest
2796         section so that ${exe} and the like get properly interpolated.
2798 2002-01-24 18:15  mrjoltcola
2800         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2801         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2802         Simon Glover <scog@roe.ac.uk>
2804 2002-01-24 06:43  mrjoltcola
2806         * io/io_stdio.c: Oops.
2808 2002-01-24 06:34  mrjoltcola
2810         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2811         of work on the buffering layer.  Decided to use shared read/write
2812         buffer (as do most implementations) for now since its the simplest
2813         way to keep everything synced, (flush on seeks, flush read on
2814         writes, etc.)
2816 2002-01-24 03:38  mrjoltcola
2818         * test_main.c: Cleaned up option handling code a bit for main().
2820 2002-01-23 23:22  dan
2822         * interpreter.c, include/parrot/interpreter.h,
2823         include/parrot/resources.h: Now each interpreter gets its own hash
2824         for globals.
2826 2002-01-23 20:45  dan
2828         * Configure.pl: Fix a warning when there's no - in an architecture
2830 2002-01-22 23:57  grunblatt
2832         * docs/running.pod: [no log message]
2834 2002-01-22 20:29  doughera
2836         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2837         appears to be a generic problem (if sizeof(long double) >
2838         sizeof(double)), not an x86-specific one.
2840 2002-01-22 16:57  doughera
2842         * runops_cores.c: Change variable name from time to starttime to
2843         avoid gcc warning about variable name shadowing.
2845 2002-01-22 16:55  doughera
2847         * classes/pmc2c.pl: Include class_init prototype too.
2849 2002-01-22 16:01  doughera
2851         * MANIFEST: [no log message]
2853 2002-01-22 01:04  ajgough
2855         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2856         classes/parrotpointer.pmc, classes/perlarray.pmc,
2857         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2858         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2859         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2860         warnings from pmc files.  Message-ID:
2861         <20020121224719.GE1726@Bagpuss.unfortu.net>
2863 2002-01-22 00:53  ajgough
2865         * test_main.c: Clears up a couple of warnings in test_main.c.
2866         Thanks to Nick Clark.  Message-ID:
2867         <20020121190457.GB1726@Bagpuss.unfortu.net>
2869 2002-01-22 00:47  ajgough
2871         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2872         include/parrot/chartype.h: Cause all codepoints to be treated as
2873         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2874         Nick Clark, see also: Message-ID:
2875         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2877 2002-01-22 00:24  dan
2879         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2881         Appended patch cures these warnings:
2883         key.c: In function `debug_key': key.c:29: warning: int format,
2884         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2885         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2886         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2887         format, INTVAL arg (arg 4)
2889         Courtesy of Nicholas Clark <nick@unfortu.net>
2891 2002-01-21 12:41  mrjoltcola
2893         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2894         be clock skew.
2896 2002-01-21 06:37  mrjoltcola
2898         * io/io.c: Cleanup a warning
2900 2002-01-21 06:28  mrjoltcola
2902         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2903         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2904         ops. Various other IO twiddlings.
2906 2002-01-21 03:25  grunblatt
2908         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2909         Melvin Smith for the catch up.
2911 2002-01-20 23:13  sfink
2913         * stacks.c: Fixed logic errors, need tests
2915 2002-01-20 22:17  brentdax
2917         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2918         prepare for /i to work.
2920 2002-01-20 20:52  grunblatt
2922         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2923         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2924         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2925         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2926         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2927         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2928         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2929         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2930         jit/alpha/string.jit:
2931         - Added support for ALPHA, by now linux and bsd.
2933         - Reduced jit2h.pl execution time by precompiling the call to the
2934         unimplemented op.
2936         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2937         Parrot/Jit/${cpuarch}Generic.pm
2939         - Changed the way to detect quads to what is written in "man
2940         perlfunc".
2942 2002-01-20 17:23  brentdax
2944         * rx.ops: There's no such thing as rx_allocateinfo.
2946 2002-01-19 08:26  brentdax
2948         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2950 2002-01-19 07:12  mrjoltcola
2952         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2953         into io.ops, leave the STDIO wrappers        in core.ops until they
2954         disappear.  Added debug op for switching on VM debug flag
2956 2002-01-19 01:55  mrjoltcola
2958         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2959         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2961 2002-01-19 00:55  brentdax
2963         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2964         include/parrot/rxstacks.h: Add regex-specific stacks for
2965         efficiency.
2967 2002-01-18 23:58  dan
2969         * Configure.pl: I think the optimal fix here is simply to remove
2970         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2971         man pages say "There is no reason to use this option [-pedantic];
2972         it exists only to satisfy pedants."
2974         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2976 2002-01-18 23:23  dan
2978         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2979         docs/running.pod, which lists the various executables Parrot
2980         currently includes, examples of running them, and mentions of where
2981         they fail to work. It's more of a cry for help than a useful
2982         reference. :-) I've been having trouble recently when making
2983         changes in figuring out whether I broke anything, because any
2984         non-default way of running the system seems to be already broken. I
2985         can't tell what brokenness is expected and what isn't.
2987         Courtesy of  Steve Fink <steve@fink.com>
2989 2002-01-15 22:13  brentdax
2991         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2992         substring use and enhance performance.
2994 2002-01-15 21:03  ajgough
2996         * string.c: Fix problem with string_transcode, &dest not being
2997         updated if src was already in desired encoding.
2999 2002-01-15 16:54  brentdax
3001         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
3002         warnings.  Leaves only one warning, at rx.ops line 409, that I
3003         can't manage to get rid of.
3005 2002-01-15 16:50  dan
3007         * pbc2c.pl: Pointer arithmetic not quite right in the generated
3008         code.  Also patches pbc2c.pl to work with rx.ops.
3010         Courtesy of Jason Gloudon <perl@gloudon.com>
3012 2002-01-15 16:15  dan
3014         * classes/Makefile.in: All the C files in classes/ weren't being
3015         compiled with an of the gcc warnings flags. With this patch they
3016         are, and there are an awful lot of warnings, more than I could hope
3017         to understand and clear up (within any sensible time period before
3018         submitting a rash of patches, by which time everyone else would
3019         have moved the code on)
3021         Courtesy of Nicholas Clark <nick@unfortu.net>
3023 2002-01-15 16:10  dan
3025         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
3026         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
3027         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3028         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3029         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3030         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3031         chartypes/usascii.c: This patch adds a few more macros for .ops
3032         files to use. In addition to the existing
3034          goto OFFSET(...)
3035          goto ADDRESS(...)
3036          goto POP()
3037          goto NEXT()
3039         it adds
3041          expr OFFSET(...)
3042          expr ADDRESS(...)
3043          expr POP()
3044          expr NEXT()
3046         This is intended mainly for use in helper functions in .ops files,
3047         but also for ops that need to eg push the address of the next
3048         opcode onto a stack. The only place this currently happens (outside
3049         of my private code) is in the bsr opcode, which previously
3050         hardcoded the computation.
3052         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3053         higher in the generated file so that it can be used by static
3054         functions in the preamble.
3056         Finally, I ran into a parentheses matching problem -- should goto
3057         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3058         \bgoto\s+OFFSET\((.*?)\)
3060         It was done inconsistently for the different calculations, and of
3061         course neither are correct because you really want matching
3062         parentheses. But that seems like too much bother. (Currently,
3063         there's only one place that uses anything other than $n in the
3064         parentheses, and that's the enternative() op.) So I made them all
3065         .*? but emulated recent POD by also allowing (( ... )) (that's two
3066         parenthesis with a space padding the body.)
3068         The generated core_ops.c and core_ops_prederef.c files after this
3069         patch are identical except for the CUR_OPCODE and REL_PC macros
3070         getting moved a little higher, and the bsr in the regular path (not
3071         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3073         In summary, this is a big wad of meaningless changes for the
3074         current code. But it will make adding some opcodes easier in the
3075         future, and cleans up a small nit in the current bsr.
3077         Courtesy of Steve Fink <steve@fink.com>
3079 2002-01-15 08:48  brentdax
3081         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3082         sort of).
3084 2002-01-15 08:45  brentdax
3086         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3088 2002-01-15 05:00  brentdax
3090         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3091         performance.
3093 2002-01-14 20:18  dan
3095         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3097         Courtesy of Nicholas Clark <nick@unfortu.net>
3099 2002-01-14 20:03  dan
3101         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3102         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3103         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3104         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3105         classes/parrotpointer.pmc, classes/perlarray.pmc,
3106         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3107         classes/perlstring.pmc, classes/perlundef.pmc,
3108         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3109         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3110         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3111         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3112         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3113         patch cleans up most of the MSVC-warnings when using warning level
3114         4 (the highest, one above the default level 3). It turns off two
3115         level-4 warnings for 'unreferenced formal parameter' and 'named
3116         type definition in parentheses', the latter of which was turning up
3117         warnings in MS VC headers.  Level 4 warnings also helped me find a
3118         couple of other lurking bugs in the parrot code.
3120         Replaces the various fprintf/exit combos with calls to
3121         internal_exception, which uses var_args to emulate printf. Various
3122         exception types were added as well. These are probably temporary
3123         until a real exception system arrives.
3125         Fixed some places in the IO code where wrong functions were being
3126         called, or put into the vtable.
3128         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3130 2002-01-14 19:00  dan
3132         * MANIFEST: D'oh! Forgot a file.
3134         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3136 2002-01-14 18:44  brentdax
3138         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3139         sense (and a few other enhancements to regexes).
3141 2002-01-14 07:07  brentdax
3143         * interpreter.c, runops_cores.c, test_main.c,
3144         include/parrot/interpreter.h: Make profiling a little more useful.
3146 2002-01-13 19:44  dan
3148         * Configure.pl: Turn off unsed things warnings for now
3150 2002-01-13 19:39  dan
3152         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3154         classes/perlarray.c:  * get_string: is casting
3155         SELF->cache.struct_val to a STRING*,    while all other methods are
3156         using it as a KEY*; don't know    what a perlarray stringifies to,
3157         so replacing with NULL  * get_bool: the default behaviour does not
3158         look right to me
3160         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3162 2002-01-13 19:37  dan
3164         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3165         flags to LDFLAGS, so that Configure.pl --debugging   works with
3166         MSVC
3168         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3169         pmc2c calls
3171         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3173 2002-01-13 19:36  dan
3175         * io/io_win32.c:   according to my MSVC docs, you should use
3176         _tcslen only after
3177           #including tchar.h
3179         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3181 2002-01-13 19:35  dan
3183         * docs/intro.pod: Doc tweak.
3185         Courtesy of Simon Glover <scog@roe.ac.uk>
3187 2002-01-13 19:34  dan
3189         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3190         that
3192           if Px, ...
3194          works with PerlString PMCs; these should be false if they are "",
3195         0, or
3196          are undefined, and true in every other case.
3198         Courtesy of Simon Glover <scog@roe.ac.uk>
3200 2002-01-13 19:23  dan
3202         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3203         NUMVAL_FMT to FLOATVAL_FMT.
3205         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3207 2002-01-13 17:45  jgoff
3209         * Makefile.in, global_setup.c, classes/Makefile.in,
3210         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3211         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3212         designing your own classes.
3214 2002-01-13 08:47  simon
3216         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3217         lib/Parrot/OpTrans/CPrederef.pm:
3218         Fix bsr in prederef mode.
3220         Courtesy of: Jason Gloudon <perl@gloudon.com>
3222 2002-01-12 15:33  dan
3224         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3225         string.c, encodings/singlebyte.c, encodings/utf32.c,
3226         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3227         Silence most of the unused variable warnings.
3229         Courtesy of Nicholas Clark <nick@unfortu.net>
3231 2002-01-12 15:18  dan
3233         * rx.ops: This patch fixes a warning and also changes an 'int' to
3234         an 'INTVAL'.  All tests should pass on Solaris.
3236         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3238 2002-01-12 15:13  dan
3240         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3241         examples/assembly/life.pasm, include/parrot/interpreter.h,
3242         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3243         io/io_win32.c: More IO work. (Plus some misc twiddles)
3245         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3247 2002-01-12 01:14  dan
3249         * include/parrot/string.h: fix a missing name
3251 2002-01-12 00:39  grunblatt
3253         * include/parrot/string.h: Few typos.
3255 2002-01-12 00:16  grunblatt
3257         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3258         that change the program control flow.
3260 2002-01-11 23:53  brentdax
3262         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3263         ParrotPointer's guts.
3265 2002-01-11 23:03  dan
3267         * include/parrot/string.h: flags for the buffers, for GC
3269 2002-01-11 22:31  dan
3271         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3273 2002-01-11 22:21  dan
3275         * include/parrot/pmc.h: Started with PMC flags
3277 2002-01-11 19:33  dan
3279         * config_h.in, memory.c, resources.c, string.c,
3280         include/parrot/resources.h: Beginnings of a memory allocation/gc
3281         system. Without the GC part.
3283 2002-01-11 18:05  dan
3285         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3286         systems
3288         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3290 2002-01-11 17:50  dan
3292         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3293         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3294         a patch that makes pbc2c generated code work with the bsr opcode.
3295         It creates a new opcode 'enternative', and uses this to support a
3296         mixed model of interpretation and execution of compiled C code.
3298         Courtesy of Jason Gloudon <perl@gloudon.com>
3300 2002-01-11 17:48  dan
3302         * Makefile.in: Add life as a potential .exe target
3304 2002-01-11 17:30  dan
3306         * include/parrot/resources.h: Start of arena stuff for GC
3308 2002-01-11 05:34  brentdax
3310         * rx.ops: Docs modifications.
3312 2002-01-11 04:19  brentdax
3314         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3315         regular expressions.
3317 2002-01-11 03:44  grunblatt
3319         * jit/i386/core.jit: off by one.
3321 2002-01-11 02:25  dan
3323         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3325         Courtesy of Steve Fink <steve@fink.com>
3327 2002-01-11 00:32  brentdax
3329         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3331 2002-01-10 23:22  ajgough
3333         * string.c, docs/strings.pod: Removed all the nul termination code,
3334         as this is in general a bad idea.  Note added to docs/strings.pod
3335         to warn people away from assuming termination.
3337 2002-01-10 23:14  dan
3339         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3340         testparrotsizes_c.in, include/parrot/interpreter.h,
3341         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3342         implementation
3344         Courtesy of Steve Fink <steve@fink.com>
3346 2002-01-10 22:48  dan
3348         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3349         sizeof(INTVAL)
3351         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3353 2002-01-10 22:46  dan
3355         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3356         t/pmc/perlhash.t:  Well, actually two bugs.
3358          The first is an off-by-one error in key.c than can cause parrot
3359          to segfault if hash % NUM_BUCKETS happens to be zero.
3361          The other is a bug in the PerlHash init() code that causes new
3362         PerlHash
3363          PMCs to start with the wrong size.
3365          Both fixed below; also tests to prevent them recurring.
3367         Courtesy of Simon Glover <scog@roe.ac.uk>
3369 2002-01-10 22:30  dan
3371         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3372         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3373         with a PerlArray,
3375         Courtesy of Simon Glover <scog@roe.ac.uk>
3377 2002-01-10 21:31  dan
3379         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3381 2002-01-10 20:30  grunblatt
3383         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3384         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3385         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3386         All the op codes that doesn't change the program control flow now
3387         work in the JIT by calling the code generated by the compiler when
3388         the op is not in core.jit TODO:     * Make all the ops that change
3389         the program control flow (and are not on core.jit) work.      *
3390         Remove the dispatch payload.
3392 2002-01-10 17:13  dan
3394         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3395         which tries to return 0 from a void function.
3397         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3399 2002-01-10 17:12  dan
3401         * t/op/macro.t: Skip tests, don't comment them out.
3403         Courtesy of Simon Glover <scog@roe.ac.uk>
3405 2002-01-10 17:10  dan
3407         * rx.c: This fixes a couple of nits in rx.c:
3409            1. There's no newline at the end, which makes gcc unhappy.
3410            2. We should use NULL, not 0 or "", for creating null pointers.
3412         Courtesy of Simon Glover <scog@roe.ac.uk>
3414 2002-01-10 17:09  dan
3416         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3417         back in
3418          alphabetical order.
3420         Courtesy of Simon Glover <scog@roe.ac.uk>
3422 2002-01-10 16:54  ajgough
3424         * resources.c: Made free_string check that there was a string to
3425         free.  In reponse to a bug spotted by Joshua Nye.
3427 2002-01-09 22:44  dan
3429         * global_setup.c: Forgot the setup
3431 2002-01-09 22:35  dan
3433         * rx.ops: Forgot this one
3435 2002-01-09 22:35  dan
3437         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3438         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3439         Tests don't work, though.
3441         Courtesy of "Brent Dax" <brentdax@cpan.org>
3443 2002-01-09 21:48  dan
3445         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3447 2002-01-09 21:22  dan
3449         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3450         Generic pointer holder class
3452         Courtesy of "Brent Dax" <brentdax@cpan.org>
3454 2002-01-09 21:19  dan
3456         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3457         patches.
3459 2002-01-09 19:54  dan
3461         * io/io_unix.c: Whoops. Forgot one
3463 2002-01-09 19:43  dan
3465         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3466         t/pmc/perlhash.t: Fix hash crash bugs
3468         Courtesy of Simon Glover <scog@roe.ac.uk>
3470 2002-01-09 19:13  dan
3472         * memory.c: Signedness whoops.
3474         Courtesy of Simon Glover <scog@roe.ac.uk>
3476 2002-01-09 18:23  dan
3478         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3479         io/io_stdio.c, io/io_win32.c: Changes:
3481         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3482         will be using the   Win32 API and company rather than the unix-ish
3483         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3484         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3485         stuff is   there. Soon we should be able to start using these
3486         rather than   fprintf(stderr, ...) and remove stdio linkage.
3488         Courtesy of <mrjoltcola@mindspring.com>
3490 2002-01-09 17:26  dan
3492         * test_main.c: Fixes bad code gen on x86.
3494         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3496 2002-01-09 17:24  dan
3498         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3499         classes/perlnum.pmc: This patch adds macros to the config.h file
3500         for INTVAL and NUMVAL printf formats.
3502         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3504 2002-01-08 22:55  ajgough
3506         * docs/vtables.pod: Clarify what get_string should do.
3508 2002-01-08 20:05  dan
3510         * key.c: Keep comments in sync.
3512         Courtesy of Simon Glover <scog@roe.ac.uk>
3514 2002-01-08 19:50  dan
3516         * memory.c, include/parrot/memory.h: Need a realloc
3518 2002-01-08 17:24  gregor
3520         * .cvsignore, Configure.pl, Makefile.in:
3521         Added 'reconfig' make target and corresponding --reconfig option to
3522         Configure.pl, so its very easy to re-run Configure.pl with the last
3523         (command-line) options you passed it.
3525 2002-01-08 16:33  dan
3527         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3528         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3529         in core.ops. Potential help for optimizers and JITters.
3531         Courtesy of gregor@linux1.kennedytech.com
3533 2002-01-08 16:32  dan
3535         * key.c: Grab key length from the right spot
3537         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3539 2002-01-08 13:27  ajgough
3541         * test_main.c: Fix slight thinko in realloc usage for reading from
3542         stdin.
3544 2002-01-08 11:34  ajgough
3546         * test_main.c: Allow test_parrot to read bytecode stream from
3547         stdin, adds -f command line option, with "-f -" doing the stdin
3548         stuff.
3550 2002-01-08 06:34  jgoff
3552         * key.c, include/parrot/key.h: key.c - Added simple implementation
3553         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3555 2002-01-08 03:21  jgoff
3557         * include/parrot/key.h: Added an undef type to the key structure,
3558         so we can delete keys without confusion.
3560 2002-01-07 22:09  dan
3562         * key.c, packfile.c, string.c, include/parrot/key.h,
3563         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3564         about index being redefined
3566         Courtesy of Nick Clark
3568 2002-01-07 21:15  dan
3570         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3572         Courtesy of Steve Fink <steve@fink.com>
3574 2002-01-07 20:48  dan
3576         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3577         failures
3579         Courtesy of "Brent Dax" <brentdax@cpan.org>
3581 2002-01-07 20:43  dan
3583         * docs/intro.pod: Missing a comma
3585         Courtesy of "coral" <coral@eekeek.org>
3587 2002-01-07 20:41  dan
3589         * global_setup.c: Quiet a warning
3591         Courtesy of Simon Glover <scog@roe.ac.uk>
3593 2002-01-07 18:58  gregor
3595         * t/op/.cvsignore:
3596         Ignore intermediate test files.
3598 2002-01-07 17:01  gregor
3600         * ops2c.pl:
3601         Print a warning if an .ops file is mentioned more than once on the
3602         command line.
3604 2002-01-07 16:12  ajgough
3606         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3607         these shouldn't fail.
3609 2002-01-07 15:15  simon
3611         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3612         Stop segfaults.
3614 2002-01-07 15:11  simon
3616         * key.c:
3617         Fix zero-termination bug in hash function.
3619 2002-01-07 13:37  ajgough
3621         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3622         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3624 2002-01-07 11:53  brentdax
3626         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3627         (:add{foo}) and a new deleting thing (:rem{foo})
3629 2002-01-07 11:43  simon
3631         * Configure.pl:
3632         Gobble the + before concatenating.
3634 2002-01-07 03:53  dan
3636         * Makefile.in: Dependency fix for new ops setup.
3638 2002-01-07 03:33  jgoff
3640         * classes/perlarray.pmc: Add negative indices, and fix a small
3641         allocation problem.
3643 2002-01-06 23:54  ajgough
3645         * hints/os2.pl: Makes the hints file take account of ldflags and
3646         ccflags being split.  This hints file is still very specific to
3647         builds with gnu tools, but a proper solution can wait.   Thanks to
3648         Nick Burch.
3650 2002-01-06 22:12  dan
3652         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3653             -changes Parrot::OpLib::core's dependencies to reflect the new
3654         selectable ops files    -allows some of the special forms of 'goto'
3655         inside the PREAMBLE of an opcode file
3657         Courtesy of "Brent Dax" <brentdax@cpan.org>
3659 2002-01-06 19:59  simon
3661         * Makefile.in:
3662         *cough*
3664 2002-01-06 18:19  dan
3666         * classes/perlhash.pmc: Fix some type issues.
3668         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3670 2002-01-06 18:03  dan
3672         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3673         for a list of opcode files to use.  The default is everything
3674         available except for obscure.ops.
3676         In addition, it makes it so that if your answer to a question
3677         starts with '+', it will concatenate it to the default.  For
3678         example:
3680         What C compiler do you want to use? [cl] +HAHAHA!!!
3682         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3683         is not terribly useful, it is quite useful with things like
3684         command-line flags and the like.
3686         Finally, it contains a couple tweaks so that my syntax-highlighting
3687         editor recognizes some heredocs correctly.  :^)
3689         Courtesy of "Brent Dax" <brentdax@cpan.org>
3691 2002-01-06 17:59  dan
3693         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3695         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3697 2002-01-06 17:58  dan
3699         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3701         Courtesy of Simon Glover <scog@roe.ac.uk>
3703 2002-01-06 17:57  dan
3705         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3706         Compiler directives, etc. in files other than core.ops will now
3707         work.   2.  Compiler warnings will now display the file and line
3708         number of the  opcode file.
3710         Courtesy of "Brent Dax" <brentdax@cpan.org>
3712 2002-01-06 17:52  dan
3714         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3716         Courtesy of Simon Glover <scog@roe.ac.uk>
3718 2002-01-06 17:36  dan
3720         * docs/intro.pod: Lots of updates
3722         Courtesy of Simon Glover <scog@roe.ac.uk>
3724 2002-01-06 02:34  gregor
3726         * interpreter.c:
3727         Add some internal documentation on the theory of operation of the
3728         prederef code.
3730 2002-01-06 02:17  gregor
3732         * interpreter.c:
3733         Removed unnecessary include.
3735 2002-01-05 12:37  simon
3737         * classes/.cvsignore:
3738         Ignore generated .h files.
3740         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3742 2002-01-05 12:37  simon
3744         * Configure.pl:
3745         Make lcc happier by adding a dummy structure.
3747         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3749 2002-01-05 12:35  simon
3751         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3752         Make perlundef work. (And coincidentally stop segfaults in the
3753         tests :)
3755         Courtesy of: Jason Gloudon <perl@gloudon.com>
3757 2002-01-05 04:59  dan
3759         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3761 2002-01-05 04:55  jgoff
3763         * classes/perlhash.pmc: Added perlhash class definition
3765 2002-01-05 04:48  dan
3767         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3769         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3771 2002-01-05 03:57  jgoff
3773         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3774         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3775         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3776         t/pmc/pmc.t: Initial hash commit.
3778         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3779          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3780         set_{integer,number,string}_index_s
3782         This does not yet do collision resolution, but will soon.
3784 2002-01-05 02:54  dan
3786         * interpreter.c: More unsigned fixes
3788         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3790 2002-01-04 22:13  dan
3792         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3793         test programs happier.
3795         Courtesy of "Jason Diamond" <jason@injektilo.org>
3797 2002-01-04 19:00  dan
3799         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3800         separate things
3802 2002-01-04 18:27  dan
3804         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3805         Fixes to get things configuring and building on Win32 Native.
3807         Courtesy of "Jason Diamond" <jason@injektilo.org>
3809 2002-01-04 17:39  dan
3811         * hints/vms.pl: debug cleanup
3813 2002-01-04 16:53  dan
3815         * docs/parrot.pod:  The enclosed patch brings the list of
3816         documentation in parrot.pod
3817          up to date.
3819         Courtesy of Simon Glover <scog@roe.ac.uk>
3821 2002-01-04 16:47  dan
3823         * test_main.c, Parrot/Jit/i386-linux.pm,
3824         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3825         off warnings..
3827         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3829 2002-01-04 16:44  dan
3831         * Configure.pl, Makefile.in: Fixed linking to use linker.
3833         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3835 2002-01-04 16:39  dan
3837         * io/io_stdio.c: Added CVS tag info
3839 2002-01-04 16:35  dan
3841         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3842         isn't it
3844 2002-01-04 16:26  dan
3846         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3847         Tokenizer test
3849         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3851 2002-01-04 16:17  dan
3853         * chartypes/unicode.c: Silence some warnings.
3855         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3857 2002-01-04 16:09  dan
3859         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3860         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3861         into generated files
3862            but the $Id$ string gets mangled when it's committed.
3863            This patch fixes the existing .pmc files and fixes genclass.pl.
3865          - Makes capitalization in .pmc header match actual filenames
3867          - The command for calling genclass.pl in vtables.pod is incorrect,
3868            since it assumes you're running in classes/ but genclass.pl
3869         assumes
3870            it's being run from the main directory. I changed genclass.pl to
3871         not
3872            care.
3874         Courtesy of Steve Fink <steve@fink.com>
3876 2002-01-04 03:57  dan
3878         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3879         me--I *had* the files:wq!
3881 2002-01-04 03:40  dan
3883         * MANIFEST: Whoops--remove files not really there
3885 2002-01-04 03:37  dan
3887         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3888         my sig adds a new_stack() function to take care of the allocation
3889         and setup of "generic" stacks.
3891         Courtesy of "Brent Dax" <brentdax@cpan.org>
3893 2002-01-04 02:36  dan
3895         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3896         and so
3897          writes a load of junk in core_ops.pod. Applied patch fixes.
3899         Courtesy of Simon Glover <scog@roe.ac.uk>
3901 2002-01-04 02:35  dan
3903         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3904         logical-or is using get_integer instead of get_bool for logical
3905         operations. This patch corrects that.
3907         Perlnum and perlstring have working get_bool's, so the default
3908         logical_or and logical_and should be sufficient. The empty methods
3909         are pointed to the default logical_or.
3911         Courtesy of Jason Gloudon <perl@gloudon.com>
3913 2002-01-04 02:31  dan
3915         * Makefile.in: docs/Makefile should be removed by realclean, but
3916         isn't
3918         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3920 2002-01-04 02:29  dan
3922         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3924         Courtesy of Steve Fink <steve@fink.com>
3926 2002-01-04 00:51  dan
3928         * docs/vtables.pod: More docs
3930         Courtesy of Steve Fink <steve@fink.com>
3932 2002-01-04 00:47  dan
3934         * Configure.pl: Updated 64-bit patch
3936         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3938 2002-01-04 00:43  dan
3940         * Configure.pl: 64-bit Fix.
3942         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3944 2002-01-03 22:37  dan
3946         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3947         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3948         some buffering work.       Additional work on other layers.
3950         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3952 2002-01-03 19:41  gregor
3954         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3955         Updated copyright messages on top-level files.
3957 2002-01-03 04:23  robert
3959         * make.pl: Add author information.  Bonsai test.
3961 2002-01-03 04:02  dan
3963         * io/io_os.c: Twig Bonsai
3965 2002-01-03 03:45  dan
3967         * io/: io_os.c, io_os.c: Twig Bonsai
3969 2002-01-03 03:41  dan
3971         * io/io_os.c: Twig Bonsai
3973 2002-01-02 21:42  gregor
3975         * packfile.c, include/parrot/packfile.h:
3976         Get rid of warnings in packfile.[hc]
3978 2002-01-02 20:39  gregor
3980         * manicheck.pl:
3981         Bracketed translated patterns with ^ and $.
3983 2002-01-02 20:11  dan
3985         * io/io_os.c: silence a warning
3987 2002-01-02 19:52  grunblatt
3989         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3990         op_assembly to jit_struct.h, so that we get the real number of ops.
3991          Removed some warnings.
3993 2002-01-02 19:31  tom
3995         * string.c: Fix string transcoding so that it actually works.
3997         Patch from Peter Gibbs <peter@emkel.co.za>
3999 2002-01-02 19:20  gregor
4001         * manicheck.pl:
4002         A program to check the MANIFEST file, accounting for .cvsignore
4003         files.
4005 2002-01-02 19:19  dan
4007         * t/harness: twig bonsai
4009 2002-01-02 19:13  dan
4011         * t/harness: twig bonsai
4013 2002-01-02 18:54  dan
4015         * t/harness: Tweak to test Bonsai
4017 2002-01-02 16:27  dan
4019         * Configure.pl: Allow 64-bit build of parrot on systems with a
4020         mixed 32/64 bit perl
4022         Courtesy of David M. Lloyd <dmlloyd@tds.net>
4024 2002-01-02 15:33  simon
4026         * MANIFEST, docs/Makefile:
4027         Fixed up MANIFEST. (And I removed the Makefile in docs/)
4029         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4031 2002-01-02 13:51  simon
4033         * Configure.pl:
4034         Die on broken manifest.
4036 2002-01-02 13:48  simon
4038         * jit2h.pl, examples/assembly/mops.pasm:
4039         Clear up JIT warnings.
4041         Courtesy of: Nick Clark <nick@unfortu.net>
4043 2002-01-02 04:10  dan
4045         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4046         only once, so new interp creation works again
4048         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4050 2002-01-02 03:32  dan
4052         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4053         moment.
4055 2002-01-02 00:55  dan
4057         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4058         io/io_os.c: Initial IO system patches
4060         Courtesy of <mrjoltcola@mindspring.com>
4062 2002-01-01 22:55  ajgough
4064         * classes/default.pmc: On second thoughts, and some prodding, the
4065         set_* methods now only set the appropriate part of the cache, and
4066         do nothing else.
4068 2002-01-01 22:29  ajgough
4070         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4072          set_* create appropriate Perl* result.
4073          get_* simply grabs needed bit of cache.*_val
4075          Other methods do the rightest thing I can think of, at the moment.
4077          None yet cope with overflow, the modulus operation needs to be
4078         checked as
4079         I don't know quite which semantics we really want.
4081         Not tested yet.
4083 2002-01-01 20:23  dan
4085         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4086         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4087         rid of unneeded tmp var and eliminated const from encode prototype
4088         since it does make changes to the string.
4090         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4092 2002-01-01 20:11  dan
4094         * Makefile.in: Make clean now tosses pdump.o
4096         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4098 2002-01-01 19:49  dan
4100         * pdump.c, test_main.c: Warnings cleanup
4102         Courtesy of Josh Wilmes <josh@sky.net>
4104 2002-01-01 19:45  dan
4106         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4107         hints/mswin32.pl, languages/jako/Makefile.in,
4108         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4109         platforms
4111         Courtesy of "Jason Diamond" <jason@injektilo.org>
4113 2002-01-01 19:41  dan
4115         * include/parrot/register.h: Clean up some warnings
4117         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4119 2002-01-01 19:10  simon
4121         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4122         Hack-around to enable compilation of code using vtable ops.
4124 2002-01-01 18:43  dan
4126         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4127         checks on unsigned things
4129         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4131 2002-01-01 18:26  dan
4133         * runops_cores.c: More warning silences.
4135         Courtesy of Nicholas Clark <nick@unfortu.net>
4137 2002-01-01 18:25  dan
4139         * trace.c: Shuts up a warning.
4141         Courtesy of Nicholas Clark <nick@unfortu.net>
4143 2002-01-01 18:24  dan
4145         * encodings/singlebyte.c: Clean up some warnings.
4147         Courtesy of Nicholas Clark <nick@unfortu.net>
4149 2002-01-01 18:20  dan
4151         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4152         thunk it?
4154         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4156 2002-01-01 18:17  dan
4158         * packfile.c: Warning cleanup
4160         Courtesy of Nicholas Clark <nick@unfortu.net>
4162 2002-01-01 17:53  dan
4164         * string.c: New string size should be based on output encoding's
4165         size, not input encoding's size.
4167         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4169 2002-01-01 17:22  dan
4171         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4172         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4173         include/parrot/interpreter.h, include/parrot/memory.h,
4174         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4175         Warnings fixups.
4177         Courtesy of Chip Turner <cturner@redhat.com>
4179 2002-01-01 17:09  dan
4181         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4182         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4183         now unsigned, as is proper.
4185         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4186         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4188 2002-01-01 16:59  dan
4190         * include/parrot/trace.h: Useless debugging prototype removed
4192         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4194 2002-01-01 16:58  dan
4196         * MANIFEST: We forgot a file.
4198         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4200 2002-01-01 03:53  dan
4202         * Configure.pl: Okay, I give. Removed some warnings because the
4203         darned system headers were triggering them. Sloppy, sloppy
4204         coding...
4206 2002-01-01 03:48  dan
4208         * config_h.in: Add in an unsigned INTVAL.
4210         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4212 2002-01-01 03:46  dan
4214         * global_setup.c: Clean up some compiler warnings.
4216         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4218 2002-01-01 03:43  dan
4220         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4221         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4222         include/parrot/op.h: Cleaned up some things to make the compiler
4223         happier.
4225         Courtesy of Nicholas Clark <nick@unfortu.net>
4227 2002-01-01 03:14  dan
4229         * Configure.pl: Quad updates.
4231         Courtesy of Nicholas Clark <nick@unfortu.net>
4233 2001-12-31 22:53  dan
4235         * include/parrot/op.h: Typedef had parameters backwards. Threw
4236         core.ops for a big whiny warnings loop.
4238 2001-12-31 22:37  dan
4240         * Makefile.in, resources.c: Tweaks to try and get things to build
4241         in the right order.
4243 2001-12-31 21:58  dan
4245         * Configure.pl: Stupid thinko fix
4247 2001-12-31 21:34  dan
4249         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4251         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4253 2001-12-31 21:32  dan
4255         * Configure.pl: Fix for non-gcc systems
4257 2001-12-31 20:22  dan
4259         * interpreter.c: Tweak so we can build on non-JIT platforms
4261 2001-12-31 20:11  dan
4263         * Configure.pl: Force the time on some copied files to be 'now' to
4264         make the Win builds much less annoying.
4266         Courtesy of "Jason Diamond" <jason@injektilo.org>
4268 2001-12-31 20:07  dan
4270         * Configure.pl: Nuke all object files in the parrot tree that
4271         matter when configuring.  Shouldn't be necessary with good
4272         dependencies in the makefile, but we don't have those yet.
4274 2001-12-31 20:00  gregor
4276         * chartypes/unicode.c:
4277         Silence unused variable warnings.
4279 2001-12-31 19:40  dan
4281         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4283 2001-12-31 19:37  gregor
4285         * interpreter.c, jit.c, include/parrot/jit.h:
4286         Created a prototype for JIT functions and used it in interpreter.c.
4288 2001-12-31 19:31  dan
4290         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4291         detection) with really cranky warnings if we find we're using it.
4293         Courtesy of: Nicholas Clark <nick@unfortu.net>
4295 2001-12-31 18:01  gregor
4297         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4299         Fixed a few warnings wrt prototypes, etc.
4301 2001-12-31 17:23  dan
4303         * string.c: Silenced most of the compiler whines
4305 2001-12-31 17:15  gregor
4307         * Configure.pl:
4308         Get the ccname from either ccname or just cc config var.
4310 2001-12-31 17:14  gregor
4312         * Parrot/Op.pm, lib/Parrot/Op.pm:
4313         Another intermediate opbody notation. Could come in handy. Explicit
4314         types.
4316 2001-12-31 17:05  dan
4318         * string.c: Minor warnings update
4320 2001-12-31 17:00  dan
4322         * include/parrot/string.h: Warnings cleanup
4324 2001-12-31 16:00  simon
4326         * encodings/utf8.c, include/parrot/encoding.h:
4327         Remove a couple more.
4329 2001-12-31 15:58  simon
4331         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4332         include/parrot/op.h:
4333         Rid ourselves of a few warnings.
4335 2001-12-31 15:32  dan
4337         * Configure.pl: Made GCC ever so much pickier.
4339         Switch list courtesy of Jarkko.
4341 2001-12-31 15:22  dan
4343         * string.c: Tightened up initial allocation.
4345         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4347 2001-12-31 06:48  dan
4349         * Configure.pl: Minor Windows tweak
4351 2001-12-31 05:32  dan
4353         * core.ops: Unused temp variable tossed.
4355         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4357 2001-12-31 05:09  grunblatt
4359         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4360         supported plataforms
4362 2001-12-31 03:05  dan
4364         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4365         platform-independent quote substitution for the makefiles.
4366         Hopefully this'll make the Win32 builds happier.
4368 2001-12-30 21:08  dan
4370         * string.c, include/parrot/string.h: More string system tweaks.
4372         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4374 2001-12-30 20:45  dan
4376         * core.ops: Some pod cleanup
4378         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4380 2001-12-30 20:22  ajgough
4382         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4383         we aren't using them right now.  Clarified the workings of set Px,
4384         Py and clone Px, Py.
4386 2001-12-30 20:15  grunblatt
4388         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4389         Added readjit() to read *.jit files Updated core.jit to the new
4390         set_n_i
4392 2001-12-30 20:14  ajgough
4394         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4396 2001-12-30 19:52  dan
4398         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4399         include/parrot/trace.h, platforms/generic.c: Compiler whine
4400         cleanups
4402         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4404 2001-12-30 19:13  dan
4406         * Configure.pl, Makefile.in: Make GCC pickier by default.
4408         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4410 2001-12-30 18:41  dan
4412         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4413         ntoi opcodes to sets.
4415         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4417 2001-12-30 17:58  gregor
4419         * Makefile.in:
4420         'make' no longer builds the mops test. Use 'make mops' for that. To
4421         run the test, you can do 'make mopstest'.
4423 2001-12-30 17:30  gregor
4425         * Makefile.in:
4426         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4427         Gregor.
4429 2001-12-30 17:26  gregor
4431         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4432         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4433         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4434         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4435         Build enhancements. Originally to support building shared
4436         libraries, but now of broader impact.
4438           * .cvsignore: Ignore the blib/ directory, about which more later.
4440           * Configure.pl:
4442               * Got rid of TAB formatting and lined a few things up.
4444               * Added header comment with CVS Id variable, and a few other
4445                 block header comments.
4447               * Uses new Parrot::BuildUtil module to determine the Parrot
4448                 version.
4450               * Reworded a few messages, added a couple, and wrapped
4451         messages
4452                 to 79 columns.
4454               * Added 2002 to the Copyright statement.
4456               * Added new configure variables: VERSION, MAJOR, MINOR and
4457         PATCH
4459               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4460         greater
4461               than 5.6.0, but the comment implies it isn't.
4463           * Makefile.in:
4465               * Added $(SO), $(A) and $(AR_CRS) defines for library
4466         building.
4468               * Added $(RM_RF) define for removing directory trees
4470               * Grouped generated files into two classes: "sticky" (made by
4471         configure,
4472                 persisting across 'make clean') and 'fluid' (made during
4473         the build
4474                 process, deleted by 'make clean').
4476               * Added header comments.
4478               * Added target for test_prog linked with shared library.
4480               * Added rules to build shared libraries in blib/lib. The
4481         libraries are
4482                 built with trailing version numbers in their file names,
4483         and then
4484                 symbolic links are created for shorter and no version tag
4485         variants.
4487               * Added some missing dependencies
4489               * Added some missing 'make clean' targets.
4491               * Added 'make realclean' target that deletes files created by
4492                 Configure.pl (including Makefile), forcing a re-configure.
4494               * Added a 'status' CVS target.
4496           * VERSION: New file, contains only the version. This version
4497         number is
4498             propagated to a few places, such as the core oplib version
4499         number. This
4500             reduces the amount of coordination that has to happen to get
4501         version
4502             number stuff throughout the tree in sync and updated prior to
4503         cutting
4504             a new release. Feel free to grep for '0.0.3' to see the other
4505         files
4506             that contain the version number (but, do that in a fresh CVS
4507         copy, or
4508             after doing 'make realclean').
4510           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4511         PARROT_*_VERSION,
4512             since the oplib and Parrot itself share a version number now.
4513         Added
4514             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4515         (a
4516             string).
4518           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4519         of
4520             specifying the version by hand. Non-core oplibs will set this
4521         to
4522             a quoted dot-string with three natural number components
4523         without
4524             leading zeros.
4526           * interpreter.c: Make use of PARROT_VERSION to simplify some
4527         sprintf()s, and
4528             to get the complete version number in the resulting strings
4529         (including the
4530             new PATCH portion).
4532           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4533         the
4534             generated file.
4536           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4538           * ops2c.pl: Account for the PATCH version, too. This affects the
4539         name of the
4540             oplib init function, and the oplib info struct initializer.
4542           * Parrot/BuildUtil.pm: New file for reading in and validating the
4543         contents of
4544             the new VERSION file. Other build utilities could go here in
4545         futuer.
4547           * Parrot/OpsFile.pm:
4549               * Allow three components in version number, and require that
4550         the value
4551                 be in double quotes.
4553               * Allow "VERSION = PARROT_VERSION", substituting the shared
4554         Parrot
4555                 VERSION in that case.
4557           * include/parrot/oplib.h: Add the patch_version member.
4559 2001-12-30 12:16  simon
4561         * MANIFEST, Makefile.in:
4562         More stuff forgotten from MANIFEST.
4564 2001-12-30 12:13  simon
4566         * MANIFEST:
4567         Missing JIT file.
4569 2001-12-30 12:12  simon
4571         * jit2h.pl:
4572         Safety first.
4574 2001-12-30 12:12  simon
4576         * Makefile.in:
4577         Gragh.
4579 2001-12-30 12:04  simon
4581         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4582         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4583         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4584         include/parrot/string.h, t/op/string.t:
4585         * Expand the strings test suite to be more complete * Make string
4586         commands more consistent (i.e, now the only string command that
4587         actually changes the original is chopn) * Significantly reduce the
4588         number of memory allocations and eliminate reallocations.
4590         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4592 2001-12-29 22:12  dan
4594         * interpreter.c, key.c, register.c, stacks.c, string.c,
4595         test_main.c, trace.c: Updates to match the coding standards.
4597         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4599 2001-12-29 20:42  grunblatt
4601         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4602         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4603         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4604         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4605         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4606         Kitover <caelum@debian.org>
4608 2001-12-28 21:20  dan
4610         * core.ops: Okay, now print takes a preceding file handle.
4612         I feel so dirty now.
4614 2001-12-28 20:46  dan
4616         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4617         changing the open op to use fopen under the hood.
4619         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4621 2001-12-28 18:20  ajgough
4623         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4624         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4625         include/parrot/exceptions.h, include/parrot/string.h,
4626         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4627         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4628         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4629         to hold tests specific to PerlStrings, as the pmc.t file is taking
4630         too long to run and slowing down my thought processes.
4632         Changes to strings.c etc to take string functions.
4634         Some changes to the strings docs, but not yet complete.
4636         Also, PerlString was copying pointers to strings, rather than
4637         strings themselves, so some action-at-a-distance bugs were creeping
4638         in, I think I've fixed this so everything works nicely.
4640 2001-12-28 04:56  gregor
4642         * examples/assembly/pmcmops.pasm:
4643         PMC-using version of mops.pasm.
4645         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4647 2001-12-28 04:56  gregor
4649         * examples/assembly/.cvsignore:
4650         Small tinkering. Removed old stuff, etc.
4652 2001-12-28 01:26  gregor
4654         * examples/mops/mops.scheme:
4655         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4656         to the very un-scheme-like implementation.
4658 2001-12-28 01:19  gregor
4660         * examples/mops/mops.c:
4661         Some people's picky compilers don't like us redefineing time(), so
4662         we call it time_n().  :)
4664 2001-12-28 00:28  gregor
4666         * examples/mops/: README, mops.ps:
4667         Added a PostScript example and a README.
4669 2001-12-27 23:57  gregor
4671         * Makefile.in:
4672         Build the C mops translation in examples/mops/mops.c
4674 2001-12-27 23:56  gregor
4676         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4677         Some translations of mops.pasm into other languages, for inner loop
4678         performance comparisons.
4680 2001-12-27 22:40  gregor
4682         * examples/assembly/mops.pasm:
4683         Fixed erroneous file name in header comment.
4685 2001-12-27 21:18  gregor
4687         * pbc2c.pl:
4688         One-liner to avoid no-op gotos to the next op.
4690 2001-12-27 21:06  gregor
4692         * runops_cores.c:
4693         Fixed -p (profiling). Slow runops core was doing unconditional
4694         tracing, when it should have been checking the flags.
4696 2001-12-27 18:50  ajgough
4698         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4699         classes/perlstring.pmc, include/parrot/chartype.h,
4700         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4701         dded get_digit() to chartypes  * Added string_bool() to strings  *
4702         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4703         to perlstring.pmc  * Tests for above, also a for couple of other
4704         ops without tests
4706         The unicode chartype has only had placeholders added for get_digit,
4707         string_to_num has been updated to use type->get_digit rather than
4708         the previous ascii-isms.  Some remain, but we need to carefully
4709         define what we mean by a number before we let thousands of code
4710         points act as a minus sign.
4712 2001-12-27 18:32  dan
4714         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4715         compiler warnings.
4717         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4719 2001-12-27 18:23  dan
4721         * t/op/bitwise.t: More tests.
4723         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4725 2001-12-27 17:08  gregor
4727         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4728         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4729         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4730         include/parrot/interpreter.h, include/parrot/oplib.h,
4731         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4732         platforms/win32.c, platforms/win32.h:
4733         Initial code for dynamic loading of oplibs, applied for now to the
4734         loading of the core_prederef oplib when the -P flag is passed to
4735         test_parrot.
4737           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4739           * Makefile.in:
4741               * Added libcore_prederef_0_3.so to the shared target.
4742               * Added build rule for libcore_prederef_0_3.so.
4743               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4744                 to Parrot/OpLib/core.pm, core_ops.c and
4745                 core_ops_prederef.c.
4747           * config_h.in: Added defines for constants used to locate the
4748             core oplib's init function, and the core_prederef oplib for
4749             dynaloading.
4751           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4752             required by Parrot/OpsFile.pm.
4754           * interpreter.c:
4756               * Added init_prederef() and stop_prederef() functions to load
4757                 and unload the core_prederef oplib when we are in prederef
4758                 mode.
4760                 NOTE: In all likelihood, the prederef stuff has a rapidly
4761                 dwindling time-to-live. The JIT should provide vastly
4762         superior
4763                 performance, and loading an alternate set of core_ops isn't
4764                 the real direction for the dynaloading stuff. Loading
4765                 *additional* ops is. It does provide a handy test case for
4766         the
4767                 general idea for now, though.
4769               * Gets the core copcode table, etc. via the core oplibs oplib
4770                 info pointer, as returned by the core oplib's init
4771         function.
4773           * ops2c.pl
4775               * Make use of the version, major version and minor version
4776                 stuff parsed by Parrot/OpsFile.pm
4778               * The only exported symbol in the generated files is the init
4779                 function now, since that returns an oplib info struct
4780                 pointer, and all the important stuff can be found there.
4782           * ops2pm.pl: Put the oplib version in the generated .pm file.
4784           * test_main.c: Small changes necessitated by changes in the names
4785             of some members of the interpreter struct.
4787           * trace.c: Small changes necessitated by changes in the names
4788             of some members of the interpreter struct.
4790           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4791             ops are found.
4793           * include/parrot/interp_guts.h: Small changes necessitated by
4794             changes in the names of some members of the interpreter struct.
4796           * include/parrot/interpreter.h: Include the new
4797             include/parrot/oplib.h header. Small changes to the oplib-
4798             related members.
4800           * include/parrot/oplib.h: Define the type of the oplib init
4801             function, and the struct type for the oplib info.
4803           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4804             since not all platforms have it. For those that do, a default
4805             second argument is provided.
4807 2001-12-26 05:12  gregor
4809         * Configure.pl:
4810         Make jitarch calculation not get tripped up by extra components to
4811         archname.
4813 2001-12-24 21:23  gregor
4815         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4816         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4817         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4818         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4819         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4820         Some more JIT work from Daniel Grunblatt.
4822           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4823         to C
4824             functions.
4826           * Added JUMP(END) to place the number of bytes to the end of the
4827         current
4828             op.
4830           * The *.jit files syntax changed.
4832           * Added jit/i386/lib.jit to place handly functions as jump that
4833         take as
4834             argument the address where is the opcode number to jump to.
4836           * There is a bug at some point, but I will start writing
4837             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4838         have use
4839             calls, which make the jit as slow as the interpreter.
4841         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4843 2001-12-24 03:46  dan
4845         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4846         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4847         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4848         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4849         Perls before 5.6.0 don't like it.
4851 2001-12-22 16:02  ajgough
4853         * t/op/stacks.t: stopped skipping tests we can run now.  added
4854         clonep tests.
4856 2001-12-21 21:13  gregor
4858         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4859         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4860         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4861         Fixed some package name goofs.
4863         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4865 2001-12-21 19:32  gregor
4867         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4868         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4869         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4870         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4871         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4872         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4873         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4874         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4875         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4876         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4877         pbc2c.pl.
4879           * Removed ops2c-prederef.pl
4881           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4883           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4884             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4885             for old functionality of ops2c-prederef.pl), and
4886             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4888             "OpTrans" == "Op Transformation"
4890           * Makefile.in modifications to call "ops2c.pl C" where it used
4891             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4892             to be "ops2c-prederef.pl".
4894           * core.ops and obscure.ops changes to syntax. Semantics are
4895             identical with previous version:
4897               return HALT         -->  HALT()
4898               return AUTO         -->  goto NEXT()
4899               return RETREL(...)  -->  goto OFFSET(...)
4900               return RESTART(*)   -->  restart NEXT()
4902             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4903             for dest-less branch ops replaced with new notation "goto
4904         POP()",
4905             which uses the new pop_dest() function in stacks.c. This also
4906             allowed these ops to become 'inline' ops, since they no longer
4907             have local variables.
4909             The 'ret' op also became simplified to just "goto POP()", and
4910             also became an inline op.
4912           * interpreter.c reflects the change in type name:
4914               prederef_op_func_t   -->  op_func_prederef_t
4916             that occurred in include/parrot/op.h
4918           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4919             "return AUTO".
4921           * ops2c.pl is now generic. Its first argument is the last
4922             package name component of a subclass of Parrot::OpTrans. These
4923             subclasses all have full names of the form Parrot::OpTrans::*.
4924             An instance of the class is created and later consulted for
4925             various bits of information needed to generate the C code.
4927           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4928             contain its transformation rules.
4930           * stacks.c has a new function pop_dest() that pops a destination
4931             off the control stack. include/parrot/stacks.h has the
4932         prototype.
4934           * Parrot/Op.pm now supports the syntax generated by
4935         Parrot::OpsFile
4936             for the "goto POP" case.
4938             Also, the source() method now expects its second argument to be
4939             an object that ISA Parrot::OpTrans. Methods of this object are
4940             called to perform the substitutions.
4942           * Parrot/OpsFile.pm supports the change in notation mentioned
4943             above.
4945           * docs/intro.pod reflects these changes.
4947           * include/parrot/op.h: Renamed type prederef_op_func_t to
4948             op_func_prederef_t because it made the implementation of the
4949             shared ops2c.pl easier.
4951 2001-12-21 13:47  gregor
4953         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4954         Both test_parrot (via test_main.c) and the intepreter itself (via
4955         interpreter.c) use the JIT_CAPABLE config to decide whether to
4956         actually attempt JIT operation, or to complain.
4958 2001-12-20 23:25  gregor
4960         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4961         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4962         Changes to the format of *.ops files. An attempt to provide hints
4963         for future opfunc processing logic that wants to know if an opfunc
4964         is simple enough to JIT (e.g.) inline, or not.
4966         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4967         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4968         info.
4970 2001-12-20 21:28  gregor
4972         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4973         jit/i386/core.jit:
4974         More JIT stuff:
4976           * A fix to Gregor's last Configure.pl update.
4978           * Remove the need for hardcoded "\n" at the end of the "%f"
4979             format for printing floating-point numbers.
4981           * New, improved *.jit syntax for references to registers,
4982             e.g. INT_REG[n].
4984           * Support for C() improved.
4986         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4988 2001-12-20 16:55  dan
4990         * MANIFEST: Added jit.c to the manifest.
4992 2001-12-20 15:24  simon
4994         * jit2h.pl:
4995         Off-by-one error fixed.
4997 2001-12-20 14:18  simon
4999         * jit/i386/core.jit:
5000         Just a noop. It's the only machine code I know.
5002 2001-12-20 13:10  gregor
5004         * Configure.pl, Makefile.in, jit2h.pl:
5005         Attempt to fix Win32 builds.
5007           * No more empty braces in include/parrot/jit_struct.h
5009         Also:
5011           * ${jitarchname} has the *bsd -> bsd substitution on it, but
5012         ${archname}
5013             does not.
5015 2001-12-20 11:56  simon
5017         * Makefile.in:
5018         De-cp
5020 2001-12-20 01:57  gregor
5022         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
5023         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
5024         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
5025         include/parrot/.cvsignore, include/parrot/interpreter.h,
5026         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
5027         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5028         lib/Parrot/Jit/i386-nojit.pm:
5029         Initial JIT implementation.
5031           * Enabled with test_parrot -j. 20x speed boosts seen.
5033           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5035           * More to come.
5037         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5039 2001-12-20 01:53  jgoff
5041         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5042         core.ops - Removed key operators, they should be hidden from the
5043         assembler.  t/op/key.t - No need to test the nonexistent key
5044         operators.
5046 2001-12-20 00:13  ajgough
5048         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5049         that asking for type of entry at depth causes segfault as stack is
5050         zero based, fixed cmp in core.ops to reflect this.  Last test is
5051         skipped as we don't do exceptions right yet.
5053 2001-12-19 19:11  ajgough
5055         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5056         non-being was causing Irix "issues".
5058 2001-12-19 03:37  jgoff
5060         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5061         004_combined.t: Changed tests to make sure they pass with the
5062         addition of the clone operator.
5064 2001-12-18 20:06  gregor
5066         * interpreter.c, include/parrot/interp_guts.h:
5067         Performance improvements to the predereferencing code path
5068         suggested to me over lunch yesterday by my friend John Kennedy.
5069         The goal is to remove the additional test in the inner loop that
5070         was checking for NULL to decide whether or not to call the
5071         prederef() function. Also moved pc & pc_prederef syncing outside
5072         the inner loop.
5074           * Changed the prototype of the prederef() function in
5075             interpreter.c to match that of an opfunc.
5077           * Instead of initializing the prederef void * array with NULL,
5078             we initialize it with pointers to prederef().
5080           * prederef() now returns the prederef_pc passed in, so that
5081             after predereferencing, the same location is executed, but now
5082             with the real code being called.
5084         Thanks to: John Kennedy
5086 2001-12-18 19:59  ajgough
5088         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5089         (including some more in the skipped string -> int tests).
5091 2001-12-18 07:06  jgoff
5093         * MANIFEST: Forgot to add classes/perlarray.pmc
5095 2001-12-18 07:05  jgoff
5097         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5098         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5099         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5100         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5101         t/pmc/pmc.t: Big update...  Makefile.in - Added
5102         classes/perlarray.pmc core.ops - Added new series of set() ops for
5103         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5104         Added perlarray.pmc classes/*.pmc - Added
5105         set_{integer,number,string}_index and
5106         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5107         type t/op/pmc.t - Added basic array test
5109         classes/perlarray.pmc - Added
5111 2001-12-17 05:29  jgoff
5113         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5114         generator to use clone operator instead of set Px,Py
5116 2001-12-17 05:25  jgoff
5118         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5119         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5120         PMC,PMC operator. Uses the clone() vtable entries.
5122 2001-12-17 04:51  jgoff
5124         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5125         entry
5127 2001-12-17 04:41  jgoff
5129         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5130         directory...
5132 2001-12-17 04:41  jgoff
5134         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5136 2001-12-17 04:39  jgoff
5138         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5139         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5140         t/
5142 2001-12-17 04:27  jgoff
5144         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5145         Admittedly it's a little thin on true OO, but the algorithms are
5146         the key.
5148 2001-12-17 04:24  jgoff
5150         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5151         003_generator.t, 004_combined.t: Much more comprehensive test suite
5152         for the codegen et al
5154 2001-12-17 04:22  jgoff
5156         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5157         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5158         key handling
5160 2001-12-17 04:20  jgoff
5162         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5163         more comprehensive.
5165 2001-12-17 04:17  jgoff
5167         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5168         changes to the new compiler
5170 2001-12-17 04:11  jgoff
5172         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5173         files to Miniperl/
5175 2001-12-16 14:11  simon
5177         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5178         t/pmc/pmc.t:
5179         Fix bogus assumption that multiplying an integer by an integer
5180         yields an integer.
5182 2001-12-16 12:48  simon
5184         * make_vtable_ops.pl:
5185         Fixed op exploder.
5187 2001-12-16 12:45  simon
5189         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5190         Expand multimethod vtable ops.
5192 2001-12-16 12:04  simon
5194         * Makefile.in:
5195         Added 'cvsclean' which doesn't zap CVS/* directories.
5197 2001-12-15 01:50  dan
5199         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5200         indeed!
5202         Thanks to grunblatt fom #parrot for the catch
5204 2001-12-15 01:39  dan
5206         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5207         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5208         languages/miniperl/Makefile.in,
5209         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5210         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5211         tweaks.
5213         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5215 2001-12-14 17:39  dan
5217         * t/op/trans.t: More trans tests.
5219         Courtesy of: Simon Glover <scog@roe.ac.uk>
5221 2001-12-14 07:41  robert
5223         * make.pl: - define MAKE macro - topological sort and subgraph
5224         order - start of timestamp stuff   (still badly broken)
5226 2001-12-14 06:06  jgoff
5228         * optimizer.pl: Hopefully this should do the trick..
5230 2001-12-14 06:04  jgoff
5232         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5234           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5236           The optimizer performs its work on a file post-macro expansion.
5237           Run it on a .pasm file, preferably with some trivially reducible
5238         operations
5239           like 'add I0,5,-6' or 'mul I0,I1,0'
5241 2001-12-14 05:48  robert
5243         * Makefile.in: case error EXE -> exe
5245 2001-12-14 05:42  robert
5247         * Makefile.in: remove legacy PDISASM macro
5249 2001-12-14 04:01  dan
5251         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5252         better Win building
5254         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5256 2001-12-13 22:03  dan
5258         * Configure.pl, Makefile.in, Parrot/Test.pm,
5259         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5260         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5261         can change it without having to change the world.
5263 2001-12-13 21:57  dan
5265         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5266         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5267         file/line/package to interp structure, with ops to get and set
5268         them. Now we can know where we are!
5270 2001-12-13 19:43  dan
5272         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5273         WinXP builds work out of the box
5275 2001-12-13 17:05  dan
5277         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5278         name again--makes case-insensitive systems much happier.
5280 2001-12-13 16:21  dan
5282         * core.ops, key.c, string.c, test_main.c, trace.c,
5283         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5284         compiler warnings
5286         Courtesy of: Josh Wilmes <josh@sky.net>
5288 2001-12-13 13:33  gregor
5290         * languages/jako/Makefile.in:
5291         Improved the method of calling the assembler.
5293 2001-12-13 13:30  gregor
5295         * languages/jako/Makefile.in:
5296         Improve the build process. It now works from the main parrot dir,
5297         and from the languages/jako directory. Now uses the .SUFFIXES
5298         target and generic build rules to reduce clutter in the
5299         Makefile.in.
5301 2001-12-13 13:29  gregor
5303         * languages/jako/.cvsignore:
5304         Ignore the (now generated Makefile), and don't ignore .list files
5305         anymore, since we aren't generating them.
5307 2001-12-13 13:11  gregor
5309         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5310         languages/Makefile.in, languages/jako/Makefile,
5311         languages/jako/Makefile.in:
5312         Added a 'languages' target to the top-level Makefile.in, and
5313         modified the jako build procedure to involve Makefile.in -->
5314         Makefile too (done by Configure.pl).
5316         NOTE: languages/jako and language/scheme are built.
5317         languages/miniperl wasn't building right, so it was left off for
5318         now.
5320 2001-12-13 12:15  gregor
5322         * MANIFEST:
5323         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5324         the MANIFEST.
5326 2001-12-13 12:12  gregor
5328         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5329         ops2c-prederef.pl, ops2c.pl, test_main.c,
5330         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5331         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5332         Welcome to the Just-in-Time Predereferencing Patch!
5334         This patch implements a "predereferencing" mode for parrot. That
5335         means that a lot of the dereferencing you see in DO_OP and in the
5336         opfuncs is done up front (really, JIT) rather than as and each time
5337         we execute each op in the byte code stream.
5339         This works by creating an array of void pointers with the same
5340         number of elements as the byte code array. This array starts out
5341         life zero-initialized.  Each time we go to execute an op, we check
5342         first to see if we have a NULL pointer at *cur_opcode. If so, we
5343         know we haven't done our predereferencing yet (this is the JIT
5344         part), so we call the prederef() function with sufficient args that
5345         it can go look up opfunc pointers and op arg types and put the
5346         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5347         where N is the number of args (counting the op itself as one arg).
5349         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5350         to have inline INTVAL constants.
5352         I've been getting about a 22% speed increase over vanilla code path
5353         when I compile with -O0. Advantage decreases at -O9 here. I tested
5354         with mops.pbc, and also by temporarily putting the -P flag in
5355         Parrot/Test.pm and running all the tests. So, this code is as
5356         correct as the test suite can detect.
5358         Here's how it plays out in the code:
5360           * New script ops2c-prederef.pl
5362             Copy-paste code reuse from ops2c.pl. Modified to expect the
5363         args to give
5364             a void ** cur_opcode and to return a void **.
5366           * Modified ops2c.pl
5368               * opfuncs are now static. Who needs to call them by name from
5369         outside,
5370                 anyway? They are accessed via the opfunc table.
5372               * Some MACRO stuff to make things work whether we prederef or
5373         not. It
5374                 may be possible to get rid of these some day if other folks
5375         agree
5376                 that we should be using CODE object pointers + offsets as
5377         our PC
5378                 rather than raw pointers to either opcode_t's or (void *)'s
5379                 (depending on prederef mode or no).
5381           * core.ops modified to be usable to build both kinds of opfuncs.
5382         For now,
5383             this means:
5385               * calls to push_generic_entry(... cur_opcode ...) were
5386         changed to
5387                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5388         a
5389                 macro that does the right thing in both kinds of ops.c
5390         files.
5392                 This is applicable to the bsr op. If we treated
5393         destinations as
5394                 (Code PMC + local offset) rather than as
5395         pointer-to-memory-somewhere,
5396                 this wouldn't be a big deal. We may need to do that at some
5397         point
5398                 anyway, so that when you jump around and return not only do
5399         you have
5400                 the right PC (pointer, today), but you also have the
5401         thread/interpreter
5402                 knowing what chunk of bytecode it is in at all times
5403         (assuming we'll
5404                 allow reflection, as in ops that query or affect the
5405         current CODE PMC).
5407               * runinterp was modified. Instead of copying the top-level
5408         PackFile struct
5409                 and blasting its byte_code pointer, we simply call runops
5410         on the new
5411                 interp, passing in the pointer to the current interp's code
5412         and the
5413                 offset into that code at which to start (this last arg used
5414         to be a
5415                 pointer PC, now its an offset PC).
5417           * include/parrot/op.h
5419               * new typedef for prederef opfuncs (they return void **)
5421           * include/parrot/interp_guts.h
5423               * New DO_OP_PREDEREF() macro described above.
5425           * include/parrot/interpreter.h
5427               * New prototype of runops() -- see below.
5429               * resume_addr field changed to resume_flag and resume_offset
5430         pair of fields.
5431                 We might be resuming from interp using prederef to one not
5432         or vice-versa,
5433                 so pointers between the two don't play nice together.
5434         Offsets are beautiful.
5436               * New PARROT_PREDEREF_FLAG constant
5438           * interpreter.c
5440               * include "parrot/oplib/core_ops_prederef.h"
5442               * prederef() function described above.
5444               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5445         macro as its core.
5447               * runops() modified to take size_t CODE-relative offset PC
5448         rather than
5449                 pointer PC. This made other things workable and doesn't
5450         seem to have lost
5451                 anything important (IMO).
5453           * test_main.c
5455               * New flag '-P' to enable predereferencing.
5457           * Makefile modified to build core_ops_prederef.c from core.ops
5458         via
5459             ops2c-prederef.pl.
5461             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5463             Added core_ops_prederef$(O) to O_FILES
5465 2001-12-13 12:12  gregor
5467         * languages/jako/MAINTAINER:
5468         Thought it would be nice to put this right in the code...
5470 2001-12-13 04:36  jgoff
5472         * languages/miniperl/Miniperl/Generator.pm: Commented out
5473         debugging, fixed register spillover algorithm
5475 2001-12-13 04:23  jgoff
5477         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5478         line) Restructured a bit of the dependency generator to fix a
5479         different obob bug.
5481 2001-12-13 03:43  robert
5483         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5485 2001-12-13 03:03  jgoff
5487         * make.pl: Added make.pl
5489 2001-12-13 02:44  jgoff
5491         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5492         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5493         special flags...                     - Dies on undefined macros
5494         such as $(PDISASM) in current make                     - Dies on
5495         recursive macro expansions                       (Doesn't test for
5496         mutual or multipart loops)                     - In general it
5497         seems to be a little less lenient...  Missing bits - File
5498         mod/creation times aren't being looked at              - Actions
5499         aren't being taken              - The few funky variables ($@, $<)
5500         aren't being dealt with Bugs - Line numbers are slipping a bit.
5502 2001-12-13 02:29  jgoff
5504         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5505         Reconstructing files to make the parser flow a little better.
5507 2001-12-13 00:51  dan
5509         * resources.c: Be a bit less wasteful with resources that don't
5510         need to be aligned
5512 2001-12-12 18:22  dan
5514         * Makefile.in: D'oh! Fixed looping makefile bug.
5516         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5518 2001-12-12 16:23  jgoff
5520         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5522 2001-12-12 16:22  jgoff
5524         * MANIFEST: Manifest additions for languages/miniperl
5526 2001-12-12 16:19  jgoff
5528         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5529         tests. These are left over from the Scheme suite and shouldn't be
5530         used yet.
5532 2001-12-12 16:18  jgoff
5534         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5535         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5536         modules. Miniperl/ is where the real work gets done.  t/ is largely
5537         vacant because it isn't ready to survive real tests yet.
5539 2001-12-12 16:17  jgoff
5541         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5542         mpc: Final go-round, hopefully.
5544         languages/miniperl/Makefile - Used basically to run tests, as there
5545         is nothing                               here that needs to be
5546         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5547         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5548         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5549         compiler stub
5551 2001-12-12 16:09  dan
5553         * Configure.pl: Setting a variable with the make command name is
5554         useful.
5556 2001-12-12 15:07  simon
5558         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5559         Recursive make considered "ow, don't do that".
5561 2001-12-12 14:45  dan
5563         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5564         non-portable code) Killing builds on Win32 native. Small patch
5565         applied which hopefully fixes it.
5567 2001-12-12 06:12  ajgough
5569         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5571 2001-12-12 06:08  ajgough
5573         * Makefile.in: perl is $(PERL).
5575 2001-12-12 06:00  ajgough
5577         * t/op/integer.t: Added tests to integer.t so that all permutations
5578         of arguments are actually called at some point.
5580 2001-12-12 05:18  ajgough
5582         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5583          Tests for sleep i|ic
5585 2001-12-12 05:09  ajgough
5587         * t/op/stacks.t: Added pushp and popp register stack tests.
5589 2001-12-12 04:51  ajgough
5591         * t/op/stacks.t: Added tests for save and restore, for all register
5592         types.  Let there be Haiku.
5594 2001-12-12 04:27  ajgough
5596         * t/op/basic.t: bsr_i test.  You know you want it.
5598 2001-12-12 02:55  ajgough
5600         * MANIFEST: Added hints/os2.pl to MANIFEST.
5602 2001-12-12 02:52  jgoff
5604         * core.ops, key.c: Final checkin... These are actually the correct
5605         copies.
5607 2001-12-12 02:12  jgoff
5609         * include/parrot/key.h: key.c - Removed a few functions,
5610         generalized set_element_value and element_value         to accept
5611         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5612         core.ops - Modified to accept the new return style.
5614         This is a prelude to adding virtual-table methods to allow hashing
5615         &c. Expect at least one or two more redesigns before this settles
5616         down. However, it still passes the original tests.
5618 2001-12-11 13:35  gregor
5620         * runops_cores.c:
5621         Fixed a typo.
5623 2001-12-11 12:03  gregor
5625         * .cvsignore:
5626         Don't ignore test_prog, but do ignore parrot.
5628 2001-12-11 12:03  gregor
5630         * classes/.cvsignore:
5631         Ignore the generated file default.h
5633 2001-12-11 04:07  jgoff
5635         * key.c: Key source
5637 2001-12-11 04:05  jgoff
5639         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5641 2001-12-11 04:00  jgoff
5643         * core.ops: Added new key aggregate operations to core ops.
5645 2001-12-11 04:00  jgoff
5647         * include/parrot/parrot.h: Added key.h to header list
5649 2001-12-11 03:59  jgoff
5651         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5653 2001-12-11 03:58  jgoff
5655         * Makefile.in: Added implementation of key aggregates.
5657 2001-12-08 23:07  simon
5659         * README:
5660         README good to go.
5662 2001-12-08 23:05  simon
5664         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5665         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5666         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5667         test_prog? What is test_prog?
5669 2001-12-08 22:57  simon
5671         * ChangeLog:
5673         Oops, the changelog commit was on *this* machine.
5675 2001-12-08 22:56  simon
5677         * NEWS:
5678         Updates to NEWS and ChangeLog pre-release.
5680 2001-12-08 22:07  simon
5682         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5683         classes/perlnum.pmc, classes/pmc2c.pl:
5684         Add "default" PMC vtable so you can inherit implied stuff.
5686 2001-12-08 21:24  simon
5688         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5689         docs/vtables.pod, lib/Parrot/PackFile.pm:
5690         Getting the documentation up to scratch.
5692 2001-12-08 21:21  simon
5694         * classes/pmc2c.pl:
5695         Allow inheriting from default class.
5697 2001-12-07 20:43  gregor
5699         * examples/assembly/queens.pasm:
5700         Regenerated the file with the latest jakoc.
5702 2001-12-07 20:29  simon
5704         * core.ops, t/op/stacks.t:
5705         Rename "rotate" to "rotate_up".
5707 2001-12-07 20:15  simon
5709         * t/op/stacks.t:
5710         Some tests for rotate.
5712 2001-12-07 00:55  gregor
5714         * core.ops:
5715         Cast the result of the pointer arithmetic, since without the cast
5716         there are warnings with some compilers, and without the parens
5717         around the pointer arithmetic, precedence breaks the meaning and
5718         causes crashes.
5720 2001-12-06 23:37  simon
5722         * core.ops:
5723         Temporary. I prefer compiler warnings to segfaults, thanks.
5725 2001-12-06 23:34  simon
5727         * runops_cores.c:
5728         Make "trace" work again.
5730 2001-12-06 21:23  dan
5732         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5734 2001-12-06 21:22  dan
5736         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5737         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5739 2001-12-06 19:22  simon
5741         * core.ops:
5742         Yet another "How the *%$! did that compile?" moment.
5744 2001-12-06 18:28  dan
5746         * hints/vms.pl: Fix to build, with a HERE logical required
5748 2001-12-06 17:48  dan
5750         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5751         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5752         changes to the interpreter--flags are now part of the interp
5753         structure.
5755         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5757 2001-12-06 14:02  gregor
5759         * docs/intro.pod:
5760         s/little_languages/languages/ in Jako section.
5762 2001-12-06 13:15  simon
5764         * Makefile.in:
5765         Ensure the documentation gets made.
5767 2001-12-06 13:12  simon
5769         * MANIFEST, docs/intro.pod:
5770         Documentation! Added the "Some Assembly Required" article with
5771         minor updates.
5773 2001-12-06 00:39  simon
5775         * core.ops:
5776         More "eq" support.
5778         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5780 2001-12-06 00:37  simon
5782         * test_main.c:
5783         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5785         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5787 2001-12-06 00:11  tom
5789         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5790         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5791         include/parrot/chartype.h, include/parrot/encoding.h,
5792         include/parrot/parrot.h: Moved string to number conversion code out
5793         of the encoding layer and into the main string layer as neither the
5794         encoding layer nor the character type layer knows enough on it's
5795         own to do the conversion correctly.
5797 2001-12-05 23:12  tom
5799         * Makefile.in: Rebuild the classes directory if any of the object
5800         files for the classes are missing rather than only when perlint.o
5801         is missing.
5803 2001-12-05 19:43  gregor
5805         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5806           * Reworked the constantize_string() stuff a little bit because it
5807         was
5808             puking on things like "\033[H\033[2J\0" (which occurs in the
5809             languages/jako/mandelzoom.jako example).
5811 2001-12-05 19:39  gregor
5813         * languages/jako/: Makefile, mandelzoom.jako:
5814         Added 'mandelzoom' example.
5816 2001-12-05 19:38  gregor
5818         * languages/jako/jakoc:
5819           * Added sleep()
5821           * Changed some instances of die() to confess()
5823 2001-12-05 18:34  gregor
5825         * t/: op/pmc.t, pmc/pmc.t:
5826         s/sting->int/string->int/
5828 2001-12-05 18:08  gregor
5830         * Parrot/.cvsignore:
5831         Ignore PMC.pm
5833 2001-12-05 18:05  gregor
5835         * classes/.cvsignore:
5836         Ignore the generated files.
5838 2001-12-05 17:19  gregor
5840         * pbc2c.pl:
5841           * Reverted recent changes, since they broke the script. Real fix
5842         coming
5843             later.
5845 2001-12-05 17:03  simon
5847         * classes/Makefile.in:
5848         Remember: change Makefile.in, not Makefile. D'oh.
5850 2001-12-05 17:02  simon
5852         * Makefile.in:
5853         Ensure PMC.pm gets remade.
5855 2001-12-05 16:58  simon
5857         * MANIFEST, Makefile.in, classes/Makefile.in,
5858         classes/perlundef.pmc, include/parrot/pmc.h:
5859         Add perlundef class.
5861 2001-12-05 16:45  simon
5863         * core.ops:
5864         Document "new P0, foo"
5866 2001-12-05 16:43  simon
5868         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5869         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5870         Allow assembler to know about PMC class names.
5872 2001-12-04 13:39  ajgough
5874         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5876 2001-12-04 05:02  ajgough
5878         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5879         in perlnum.c
5881 2001-12-04 04:24  ajgough
5883         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5884         broken form of strtod and appropriate tests.  Does not yet check
5885         for overflow.
5887 2001-12-04 01:31  ajgough
5889         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5890         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5891         to extract_num and extract_int string vtables, without this it
5892         would be impossible to have strings with nulls in while still
5893         knowing where they ended.
5895 2001-12-03 18:40  ajgough
5897         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5898         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5899         include/parrot/string.h: Moved pmc string to number conversion into
5900         the string encoding tables.
5902 2001-12-03 00:21  ajgough
5904         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5905         for p-> integer.
5907 2001-12-02 23:09  jgoff
5909         * classes/Makefile.in: Removed some redundant targets.
5911 2001-12-02 19:02  ajgough
5913         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5914         equality macro rather than using perl to generate expected output,
5915         all tests now have <<OUTPUT.
5917 2001-12-02 17:44  ajgough
5919         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5920         for pmc.t as well.  Will probably move macros into another file at
5921         some point, although this might be best left until the tests are
5922         unperled.
5924 2001-12-02 06:16  jgoff
5926         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5927         within Parrot_Perl{Class}_init.
5929 2001-12-02 06:09  jgoff
5931         * classes/Makefile.in: I seem to have removed *$(O) twice..
5933 2001-12-02 05:06  jgoff
5935         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5936         Configure.pl - Removed '-I./include', added classes/Makefile
5937         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5938         Removed old classes/* make stuff                Added target for
5939         classes/Makefile
5941 2001-12-02 04:48  jgoff
5943         * classes/Makefile.in: Going to be used shortly...
5945 2001-12-02 04:40  jgoff
5947         * docs/Makefile: Configure.pl - Added automatic makefile creation
5948         for docs/ and classes/                Removed '-I./include' because
5949         it was getting incorrectly                passed to classes/
5950         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5951         - Removed classes/ build stuff, replaced with classes/Makefile.in
5952                     Added '-I./include' locally docs/Makefile - Should no
5953         longer be used, but I'm not brave enough to do a
5954         cvs delete.
5956 2001-12-02 01:21  ajgough
5958         * t/op/trans.t: Refactored trans math tests to have hard coded
5959         expected return values and be more ready to be unperled at some
5960         point in the future.  Added $fp_equality_macro which is a
5961         "nearly-equal-to" function.
5963 2001-12-02 01:18  ajgough
5965         * Makefile.in: Humph.  People really ought to use Makefile
5966         variables, s/perl/$(PERL)/ throughout.
5968 2001-12-01 18:15  jgoff
5970         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5971         figure out what to do vis-a-vis the lack of snprintf.
5973 2001-11-30 13:14  ajgough
5975         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5976         and integer.t
5978 2001-11-30 13:14  ajgough
5980         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5981         -, else ... form.
5983 2001-11-30 10:36  simon
5985         * core.ops:
5986         Rewrite print_p to do the right thing.
5988 2001-11-30 06:21  jgoff
5990         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5991         concat,               integer/number/string math
5993 2001-11-30 06:20  jgoff
5995         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5996         classes/perlint.pmc - Fixes and expanding for concat and math with
5997         strings classes/perlnum.pmc - Fixes and expanding for concat and
5998         math with strings classes/perlstring.pmc - Fixes and expanding for
5999         concat and math with strings
6001 2001-11-29 15:21  ajgough
6003         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
6004         $^X lies, which confused bash which make uses to run things when
6005         doing its stuff.
6007 2001-11-29 04:58  jgoff
6009         * classes/perlstring.pmc: Removed C++-style comments for good
6010         measure
6012 2001-11-29 04:51  jgoff
6014         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
6016 2001-11-29 04:28  jgoff
6018         * global_setup.c: Initialize PMC strings
6020 2001-11-29 04:25  jgoff
6022         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
6023         string PMCs.
6025 2001-11-29 04:24  jgoff
6027         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6028         files to properly upgrade int to num, do calculations.  Also added
6029         basic string operations. Currently errors out on anything but set
6030         operations, but this will be fixed soon.
6032 2001-11-29 04:22  jgoff
6034         * Makefile.in: PMC .c files weren't getting cleaned out.
6036 2001-11-28 17:00  simon
6038         * t/harness:
6040         Make csh-glob happy.
6042         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6044 2001-11-28 16:40  simon
6046         * classes/perlnum.pmc:
6048         De-C++
6050 2001-11-28 15:22  simon
6052         * string.c:
6054         Fixes Alex's string concat worry.
6056 2001-11-28 14:27  ajgough
6058         * t/op/string.t: test "null onto null" incorrectly passing as it
6059         produced no output.  Output provided.
6061 2001-11-28 11:14  simon
6063         * include/parrot/pmc.h:
6065         Placate AIX.
6067 2001-11-26 21:03  dan
6069         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6071 2001-11-26 17:29  simon
6073         * classes/perlint.pmc:
6075         Various subtle but non-showstopper bugs.
6077 2001-11-26 11:23  simon
6079         * classes/pmc2c.pl:
6081         Replace dependency on Text::Balanced
6083         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6085 2001-11-26 05:22  jgoff
6087         * global_setup.c: Last file that should need to be committed. I
6088         swear.
6090 2001-11-26 05:09  jgoff
6092         * core.ops: Let's try this again... Changes to core.ops required
6094 2001-11-26 04:58  jgoff
6096         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6097         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6098         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6099         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6100         functions classes/perlnum.pmc - Set up basic number functions
6101         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6102         tests against numbers and numbers+integers
6104 2001-11-25 13:18  simon
6106         * Makefile.in:
6107         Windows XP make doesn't like $<
6109 2001-11-25 12:56  simon
6111         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6112         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6113         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6114         examples/assembly/mops_p.pasm:
6115         PMC preprocessor.
6117         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6119         I (Simon) also added a couple more integer methods, but no tests
6120         since I'm a Bad Person.
6122 2001-11-25 08:40  brentdax
6124         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6125         lib/Parrot/OpsFile.pm: Allow _ in op names
6127 2001-11-25 05:54  jgoff
6129         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6130         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6132 2001-11-23 18:27  simon
6134         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6135         Add everything you need to make MOPS use PMCs.
6137 2001-11-23 18:06  simon
6139         * core.ops:
6140         Eh, you'll need this for rewriting mops.pasm.
6142 2001-11-23 17:55  simon
6144         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6145         t/pmc/pmc.t:
6146         More work on integer PMCs.
6148 2001-11-23 17:29  simon
6150         * Makefile.in:
6151         Surprise! Whitespace! HLAGHLAGHLAGH
6153 2001-11-23 17:28  simon
6155         * Makefile.in, ops2c.pl, ops2pm.pl:
6156         Add vtables.ops to the core
6158         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6160 2001-11-22 18:39  simon
6162         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6163         t/pmc/pmc.t:
6164         We can now create PMCs.
6166 2001-11-21 05:49  jgoff
6168         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6170 2001-11-20 16:00  simon
6172         * docs/vtables.pod, include/parrot/pmc.h:
6173         Reorder PMC flags so there's a fixed number of user-defined flags.
6175         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6177 2001-11-19 03:39  jgoff
6179         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6180         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6181         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6182         escaped quotes, and proper                handling of newlines.
6184 2001-11-16 22:03  simon
6186         * classes/perlint.c:
6187         More work on the Perl Integer class. More needed, though.
6189 2001-11-16 21:57  simon
6191         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6192         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6194 2001-11-16 20:49  simon
6196         * interpreter.c, runops_cores.c, trace.c,
6197         include/parrot/runops_cores.h:
6198         Kill superfluous runops cores.
6200 2001-11-16 17:50  simon
6202         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6203         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6204         include/parrot/parrot.h, include/parrot/pmc.h:
6205         Skeleton for Perl scalar types, done right.
6207 2001-11-16 16:15  simon
6209         * classes/genclass.pl:
6210         This tidies up genclass to deal with the new-style multimethods.
6212 2001-11-16 15:29  simon
6214         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6215         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6216         Rework multimethods to be *true* multimethods - that is, have
6217         different types.
6219 2001-11-15 22:29  simon
6221         * MANIFEST, Makefile.in, pmc.c:
6222         pmc.c linkage and support. Oh, and making it compile.
6224 2001-11-15 22:26  dan
6226         * t/op/interp.t: Forgot to tell CVS about the test...
6228 2001-11-15 22:10  dan
6230         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6231         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6232         for PMC registers for the interpreter.
6234         Added in the docs for the runinterp opcode.
6236         Added in code for both the newinterp and runinterp opcodes, so we
6237         can now create new interpreters from within parrot and have them do
6238         things. (Though we can't pass data back and forth. Yet)
6240 2001-11-15 21:24  simon
6242         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6243         More documentation, and other changes as discussed with Dan.
6245 2001-11-15 19:51  simon
6247         * classes/scalarclass.c:
6248         De-cut-and-pasto.
6250 2001-11-15 19:50  simon
6252         * classes/scalarclass.c:
6253         A little code tidiness.
6255 2001-11-15 19:33  simon
6257         * include/parrot/pmc.h:
6258         Missed this in the previous commit - un-constantize the base for
6259         user-defined PMC flags.
6261 2001-11-15 19:28  simon
6263         * classes/scalarclass.c:
6264         Hey look, sanity.
6266 2001-11-15 17:09  simon
6268         * classes/scalarclass.c:
6269         It seems I have completely forgotten how to write C.
6271 2001-11-15 16:53  simon
6273         * docs/vtables.pod:
6274         Start of the PMC classes documentation.
6276 2001-11-15 14:46  simon
6278         * classes/scalarclass.c:
6279         Changing to use a Perl-style struct instead of the union cache.
6281 2001-11-13 23:56  tom
6283         * string.c: Removed leading _ from string_index as function names
6284         starting with _ are reserved to implementors by the C standard.
6286         Also fixed string_index to use the encoding routines instead of
6287         assuming a single byte encoding.
6289 2001-11-13 12:59  jgoff
6291         * string.c: Patched string_concat to accept null strings.  That
6292         test was failing. Nothing to do with ord().
6294 2001-11-13 12:43  jgoff
6296         * string.c: string_ord function, string_concat fixes
6298 2001-11-13 04:52  jgoff
6300         * core.ops: Added ord to core.ops
6302 2001-11-13 04:35  jgoff
6304         * docs/strings.pod, include/parrot/exceptions.h,
6305         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6306         operator, documentation string.c - Added string_ord, _string_index
6307         (_string_index is a static helper)              Patched
6308         string_concat to handle null strings properly.  docs/strings.pod -
6309         Description of string_ord include/parrot/exceptions.h - Added
6310         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6311         string_ord() t/op/string.t - Added full set of test for
6312         ord_i_(s|sc)(_(i|ic))?
6314         string.c contains a bit of documentation explaining the logic
6315         behind _string_index, primarily having to do with multiple encoding
6316         formats.
6318 2001-11-12 22:30  simon
6320         * t/op/macro.t:
6321         Count 'em.
6323 2001-11-12 22:28  simon
6325         * Makefile.in:
6326         Add a rule to compile "platform"
6328 2001-11-12 22:26  simon
6330         * Makefile.in:
6331         Tidy up distclean target.
6333 2001-11-12 16:54  dan
6335         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6336         t/op/macro.t: Fixes to the assembler's macro facility and a test
6338         Courtesy of: Jeff <jgoff@speakeasy.net>
6340 2001-11-12 16:50  dan
6342         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6343         stdin
6345         Courtesy of: Jeff <jgoff@speakeasy.net>
6347 2001-11-12 16:36  dan
6349         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6350         CygWin
6352         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6354 2001-11-12 11:22  simon
6356         * examples/assembly/mops.pasm:
6358         Trivial tightening of mops loop.
6360 2001-11-07 23:57  ajgough
6362         * docs/tests.pod: This is a basic quide to writing tests with
6363         assembler.
6365 2001-11-07 22:29  dan
6367         * stacks.c: Added a little documentation on the cleanup parameter
6368         for an entry
6370 2001-11-07 14:43  dan
6372         * MANIFEST, platforms/generic.c, platforms/linux.c,
6373         platforms/linux.h: Portability patches.
6375         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6377 2001-11-06 19:51  tom
6379         * Makefile.in: Clean up object files in the subdirectories as well
6380         as those in the top level directory.
6382         Enhanced version of patch from Daniel Grunblatt
6383         <daniel@grunblatt.com.ar>
6385 2001-11-06 16:14  dan
6387         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6388         platforms/generic.c, platforms/generic.h: Made things a bit more
6389         platform-independent. Makefile still needs work to pick up changes
6390         to the platform-specific files.
6392 2001-11-05 21:32  dan
6394         * docs/parrot_assembly.pod: Added docs for the GC control ops
6396 2001-11-04 02:52  gregor
6398         * platforms/: win32.c, win32.h:
6399           * win32 dynamic loading functions.
6401         Courtesy of Jason Diamond <jason@injektilo.org>
6403 2001-11-04 00:04  brentdax
6405         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6406         allows an absolute path to be used and gives a useful error message
6407         if the original source file can't be found
6409 2001-11-02 12:37  gregor
6411         * platforms/: linux.c, linux.h:
6412           * Beginning of dynamic loading support. Linux only for now.
6414 2001-11-02 12:13  gregor
6416         * MANIFEST, time.c, include/parrot/time.h:
6417           * Removed time.[hc], since they have been superseded by the new
6418         platform
6419             stuff.
6421 2001-11-02 12:11  gregor
6423         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6424         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6425         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6426         platforms/win32.c, platforms/win32.h:
6427         Patch from Jason Diamond to make win32 platform stuff work:
6429         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6430         platform specific files in the platforms directory gets copied to
6431         the correct directories. The Makefile will re-copy the platform.h
6432         and .c files if the original is modified.
6434         * #include platform.h in parrot.h instead of time.h.
6436         * Removed time.h and time.obj from the Makefile. time.h and time.c
6437         aren't being used anymore since that code was moved to linux.c and
6438         win32.c.
6440         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6441         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6442         windows.h. This required updating several files besides parrot.h.
6444         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6445         instead of the missing identifiers (on Windows) in core.ops in the
6446         calls to open.
6448         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6449         platform files and called those from core.ops. The Linux code for
6450         these functions came from core.ops so they should hopefully work.
6452         Courtesy of Jason Diamond <jason@injektilo.org>
6454 2001-11-02 06:43  brentdax
6456         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6457         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6459 2001-11-02 02:26  gregor
6461         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6462         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6463         platforms/win32.h:
6464           * Beginnings of platform support files in platform/*.[hc]
6466 2001-11-01 23:37  tom
6468         * classes/intclass.c: Added missing *'s to STRING arguments and
6469         return values to avoid compiler warnings.
6471 2001-11-01 22:21  gregor
6473         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6474         include/parrot/parrot.h, include/parrot/time.h:
6475         Initial "fix" of time(n) op for Win32:
6477           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6479           * time.c and include/parrot/time.h
6481             First attempt at getting this working across platforms. The
6482             macro WIN32 being tested might not be right.
6484           * New functions Parrot_intval_time() and Parrot_floatval_time()
6485             wrap the appropriate functionality depending upon platform.
6486             Changed core.ops to call these.
6488         Added obscure.ops with obscure transcendental ops.
6490         Added simple file I/O ops (close, open, read, write):
6492           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6494           * I changed some arg ordering stuff.
6496           * I added read/write of INTVALs and FLOATVALs.
6498         Added environment variable ops (getenv, setenv)
6500         Added system error ops (err(i) and err(s) for accessing errno and
6501         strerr().
6503         Moved print ops in with other "temporary" developer ops, since
6504         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6506 2001-10-31 22:51  tom
6508         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6509         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6510         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6511         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6512         encodings/utf8.c, include/parrot/chartype.h,
6513         include/parrot/encoding.h, include/parrot/exceptions.h,
6514         include/parrot/parrot.h, include/parrot/string.h,
6515         include/parrot/strnative.h, include/parrot/strutf16.h,
6516         include/parrot/strutf32.h, include/parrot/strutf8.h,
6517         include/parrot/transcode.h: Reworked the string code in line with
6518         Dan's latest design that separates character sets from encodings.
6520 2001-10-31 19:53  dan
6522         * docs/parrot_assembly.pod: Finished I/O section of docs
6524 2001-10-31 16:51  dan
6526         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6527         Moved includes out of core.ops and into parrot.h where they belong
6528         (suitably guarded with #ifdefs). Also some updates to
6529         parrot_assembly.pod
6531 2001-10-30 21:43  dan
6533         * core.ops, stacks.c, docs/parrot_assembly.pod,
6534         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6535         of the entry on the stack
6537 2001-10-29 18:30  dan
6539         * stacks.c: You can turn off stack entry type validation on pop by
6540         passing in a type of 0 now. (For those cases where you just want to
6541         throw the darned thing away)
6543 2001-10-29 14:37  gregor
6545         * core.ops, languages/jako/jakoc:
6546           * New variants of the save ops to save constants on the stack.
6547         This is
6548             useful for saving zero arg and result counts on the stack, for
6549         example.
6551           * Modified jakoc to to adapt to the newly announced calling
6552         conventions.
6553             Even though Jako source code appears to show subroutines with
6554         fixed
6555             numbers of arguments and results, they are implemented with the
6556             variable count calling convention. Future modifications will be
6557         needed
6558             to ensure that an exception is raised if the stack frame is of
6559         the
6560             wrong size (or, at least that we pop the complete frame off).
6561         We'll
6562             also have to make more changes to support the true
6563         fixed-arg-count
6564             and fixed-result-count parts of the calling convention spec.
6566 2001-10-28 16:53  simon
6568         * MANIFEST, stacks.c, classes/scalarclass.c,
6569         include/parrot/stacks.h:
6570         Unbelievably bad errors of mine, plus a type incompatibility of
6571         Dan's.
6573 2001-10-28 08:30  simon
6575         * classes/scalarclass.c:
6576         Beginning of a scalar class.
6578 2001-10-28 08:29  simon
6580         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6581         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6582         include/parrot/pmc.h:
6583         This fixes the problem with vtables and pointer arithmetic.
6585 2001-10-26 19:58  dan
6587         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6588         include/parrot/stacks.h: Split the generic stack into a user push
6589         stack and a control stack
6591 2001-10-26 02:59  bdwheele
6593         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6595 2001-10-24 20:27  dan
6597         * languages/scheme/: Makefile, Scheme.pm, schemec,
6598         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6599         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6600         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6601         Scheme compiler
6603 2001-10-24 20:23  dan
6605         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6606         interpreter needs in pdump.c. Added scheme bits to manifest
6608 2001-10-24 16:43  gregor
6610         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6611           * Make the assembler handle octal character code escapes in
6612         string
6613             constants.
6615 2001-10-24 15:56  dan
6617         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6618         play the game of life
6620 2001-10-24 15:54  dan
6622         * core.ops: Added sleep. We'll need to override this to do events
6623         properly anyway, so...
6625 2001-10-24 14:03  gregor
6627         * Makefile.in, pbc2c.pl, pdump.c:
6628           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6629         interpreter
6630             pointer into string functions.
6632         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6634 2001-10-23 20:09  gregor
6636         * languages/jako/jakoc:
6637           * Terminological refinement in regexp capture comment.
6639 2001-10-23 15:23  simon
6641         * classes/genclass.pl:
6642         Use a saner ANSI C construct to make MIPSPro happy.
6644         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6646 2001-10-23 00:34  tom
6648         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6649         strutf8.c, include/parrot/string.h: Make sure the interpreter
6650         structure is passed to the transcoder as necessary, including
6651         passing it to string_compare().
6653 2001-10-23 00:32  tom
6655         * Makefile.in: Make pdump build again by including resources.o in
6656         the link.
6658 2001-10-22 22:43  dan
6660         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6661         strutf32.c, strutf8.c, test_main.c, transcode.c,
6662         include/parrot/packfile.h, include/parrot/parrot.h,
6663         include/parrot/resources.h, include/parrot/string.h,
6664         include/parrot/transcode.h: Everything now uses the allocators and
6665         deallocators in resources.c.
6667         Unfortunately we lost standalone string-test mode, but I can cope
6668         with that.
6670         Please note that until we have a real allocation/deallocation/GC
6671         system, this'll leak. A *lot*.
6673 2001-10-22 20:27  dan
6675         * MANIFEST, Makefile.in, pmc.c, resources.c,
6676         include/parrot/resources.h: First cut to handle arena allocation of
6677         PMC headers. (Amongst other things)
6679 2001-10-22 19:02  dan
6681         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6682         Now each register type has its own mask macro, which is the right
6683         thing to do.
6685         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6687 2001-10-21 23:40  tom
6689         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6690         stack chunk and add a test to test this rollover in future.
6692         Courtesy of Jason Gloudon <perl@gloudon.com>.
6694 2001-10-21 19:14  dan
6696         * include/parrot/string.h: Changed string 'unused' field to the
6697         language field.
6699 2001-10-21 18:18  gregor
6701         * languages/jako/: Makefile, mops.jako:
6702           * Makefile: 'clean' target removes .list files, too. And, it does
6703         rm -f
6704             with wildcards rather than listing things explicitly.
6706           * mops.jako actually prints out the
6707         millions-of-operations-per-second
6708             (mops) value instead of just the operations-per-second value.
6710 2001-10-21 18:03  simon
6712         * classes/intclass.o:
6713         *smack*! WRONG!
6715 2001-10-21 17:47  simon
6717         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6718         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6719         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6720         lib/Parrot/Vtable.pm:
6721         Initial work on PMCs. Explanation to follow
6723 2001-10-21 15:20  gregor
6725         * examples/assembly/queens.pasm:
6726           * Modernize the calling conventions in queens.pasm. It was using
6727         swap,
6728             which now must be rotate. Also, changed to use return values on
6729         the
6730             stack instead of in I0.
6732 2001-10-19 18:14  gregor
6734         * core.ops, stacks.c, include/parrot/stacks.h,
6735         languages/jako/jakoc:
6736         Per Dan's request, replacing 'swap' op by 'rotate'.
6738           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6740           * stacks.c and stacks.h: Removed swap-related functions from my
6741             prior commit, replacing them with stack_depth(), stack_entry()
6742             and rotate_entries().
6744             NOTE: The stack_depth() and rotate_entries() routines could
6745             be made more efficient through the caching of the sum of chunk
6746             'used' members from lower chunks in a field in the upper
6747             chunks. Also, if the interpreter's stack_base was changed to
6748             hold the pointer to the *top* chunk (since we usually come
6749             at the stack from the top down) instead of the *bottom*
6750             chunk. The code here at least works, and we can decide about
6751             bigger changes separately.
6753             For now, rotate only handles rotates in one direction and
6754             of magnituded one. A fully general rotate would do handle
6755             rotates in both directions and of arbitrary amounts. Again,
6756             this implementation is sufficient for current applications,
6757             and a feature-complete version can be developed if this turns
6758             out to be otherwise the right type of implementation.
6760             This change includes a new exception for ERROR_STACK_SHALLOW,
6761             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6763           * jakoc: Changed the calling convention to use rotate instead
6764             of swap (of course). Also changed the convention for return
6765             value passing to use the stack as well.
6767 2001-10-19 13:36  gregor
6769         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6770         examples/assembly/queens.pasm, include/parrot/stacks.h,
6771         languages/jako/.cvsignore, languages/jako/Makefile,
6772         languages/jako/bench.jako, languages/jako/euclid.jako,
6773         languages/jako/fact.jako, languages/jako/jakoc,
6774         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6775         languages/jako/primes.jako, languages/jako/queens.jako,
6776         languages/jako/sub.jako:
6777           * New stack functions push_entry(), pop_entry() and swap_entry().
6778             The first two exist for the support of the last one. These
6779             functions don't care what is in the stack entries. These exist
6780             to support the new 'swap' op (see next bullet).
6782           * New op 'swap' for swapping the top two elements on the stack.
6783             This is necessary for passing arguments to functions, since
6784             the return address will be on top of any arguments that have
6785             been pushed on the stack. This way, you can use a (swap, pop)
6786             pair to retrieve each argument (for subroutine linkage).
6788           * Disassembler now prints numbers in decimal by default, with
6789             a new '-x' flag to turn on hexadecimal display. Since other
6790             members of the Parrot Tool Set use decimal by default, this
6791             makes it easier to compare output from the various tools.
6793           * Jako compiler has more explanatory comments and the following
6794             new features:
6796               * Lexically scoped variables.
6798               * Subroutines that take arguments and return values:
6800                   sub int foo(int bar) {
6801                     if (bar == 1) {
6802                       return 42;
6803                     } else {
6804                       return 13;
6805                     }
6806                   }
6807               * ... if (...) and ... unless (...) statement modifiers
6808                 can be used on next, last and redo.
6810               * Bitwise and (&, &=) and or (|, |=) ops.
6812               * Type names are just 'int', 'num', 'str', and 'poly' now.
6813                 The old long names 'integer', 'number', 'string', and
6814                 'polytype' are no longer valid.
6816               * Integer variable assignments can now use 0b (binary),
6817                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6819           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6820             solving the eight-queens problem. The assembly example is a
6821             hand-modified version of the assembly code produced by the
6822             Jako compiler from queens.jako. A few unnecessary ops have
6823             been removed, lots of unnecessary labels have been removed,
6824             and all the Jako source code comments have been removed.
6826           * Makefile and .cvsignore in languages/jako modified so that
6827             the assembler produces listings when assembling the programs,
6828             yet the *.list files are ignored by CVS.
6830           * Made the default target in languages/jako/Makefile 'all'.
6832           * Modified some of the Jako examples to use some of the new
6833             features of Jako, such as subroutines and lexical variable
6834             scoping.
6836 2001-10-19 02:43  gregor
6838         * runops_cores.c, include/parrot/runops_cores.h:
6839         Bug fix (gcc doesn't complain, but MIPSpro does):
6841           * Added missing extern to runops_cores array declaration in
6842             include/parrot/runops_cores.h
6844           * Also added 'const' there and in runops_cores.c
6846 2001-10-18 15:18  gregor
6848         * .cvsignore, include/parrot/oplib/.cvsignore:
6849           * Ignore the vtable-related generated files.
6851 2001-10-18 15:14  gregor
6853         * core.ops:
6854           * left and right shifts now allow the 2nd argument to be a
6855         constant.
6857 2001-10-18 14:55  simon
6859         * make_vtable_ops.pl:
6860         This is C, not Perl. How on earth did that even compile?
6862 2001-10-18 14:54  simon
6864         * make_vtable_ops.pl:
6865         More vtable ops.
6867 2001-10-18 12:33  simon
6869         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6870         Initial stab at vtable opcode creation stuff.
6872 2001-10-18 02:15  gregor
6874         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6875         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6876         include/parrot/trace.h: Preparation for autogenerated runops cores:
6878           * Split tracing and runops core stuff out of interpreter.c into
6879             trace.c and runops_cores.c
6881           * Similar split of stuff from include/parrot/interpreter.h
6883           * Manifest and Makefile.in updates to make things still compile.
6885 2001-10-18 01:21  gregor
6887         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6889           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6891           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6893           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6895           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6897           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6898         with
6899             copy of $ops->preamble.
6901 2001-10-17 22:32  bdwheele
6903         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6904         request.
6906 2001-10-17 22:08  gregor
6908         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6909           * Now handles label-and-comment-only lines.
6911 2001-10-17 22:04  bdwheele
6913         * interpreter.c: added more comprehensive trace output
6915 2001-10-17 16:50  tom
6917         * Makefile.in: Removed the explicit rule for building mops.o from
6918         mops.c so that the implicit rule for compiling C files is used
6919         instead. This means that the chosen C flags are used, including any
6920         optimisation options.
6922 2001-10-17 15:24  tom
6924         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6925         op explosion logic to be able to handle exploding this:
6927           sub(i, i|ic, i|ic)
6929         into these:
6931           sub(i, i, i)
6932           sub(i, i, ic)
6933           sub(i, ic, i)
6935         without also generating this unwanted version:
6937           sub(i, ic, ic)
6939         The enhanced version rejects any expansion where there is more than
6940         one expanded argument and all the expanded arguments are constants.
6942 2001-10-17 14:20  simon
6944         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6945         Build fixes to use correct Perl version and ensure that things are
6946         running in the right directory.
6948         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6950 2001-10-17 13:16  simon
6952         * Makefile.in:
6953         core.pm is more critical than that.
6955 2001-10-17 13:05  simon
6957         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6958         "Explode" ops into multiple versions for different parameters.
6960         Courtesy of: Tom Hughes <tom@compton.nu>
6962 2001-10-17 12:54  simon
6964         * Makefile.in:
6965         Fix dependencies and cleaning.
6967 2001-10-17 12:45  simon
6969         * Configure.pl, Makefile.in:
6970         Fixes to make Parrot compile without the temporary build hack
6972         Courtesy of: Jason Gloudon <perl@gloudon.com>
6974 2001-10-16 20:43  gregor
6976         * Makefile.in:
6977           * Fixed dependencies for building Parrot/OpLib/core.pm
6979 2001-10-16 19:35  bdwheele
6981         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6982         added test, thanks to Alex Gough
6984 2001-10-16 16:49  bdwheele
6986         * core.ops: added opcode variants for constants and 3 arg concat
6988 2001-10-16 15:12  bdwheele
6990         * core.ops: added "set Sx,Sy" as a string copy to match the other
6991         register-to-register copies available
6993 2001-10-16 13:09  gregor
6995         * core.ops:
6996           * Added #include <sys/time.h> in the preamble for gettimeofday().
6998 2001-10-16 13:09  gregor
7000         * Makefile.in:
7001           * Removed cd t; make, which no longer applies
7003 2001-10-16 03:18  bdwheele
7005         * core.ops: fix save & restore operations to push correct type onto
7006         stack. [good eye to Jason Gloudon for noticing this]
7008 2001-10-16 01:38  bdwheele
7010         * core.ops, register.c, examples/assembly/fact.pasm,
7011         include/parrot/register.h: send in the clones:  clone routines for
7012         parrot + example program
7014 2001-10-15 22:37  gregor
7016         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
7017         examples/assembly/Makefile, examples/assembly/bsr.pasm,
7018         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
7019         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
7020         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
7021         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
7022         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
7023         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7024         t/test4.pasm, t/test5.pasm, t/trace.pasm:
7025           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
7026         some
7027             renames so the names match what they demonstrate.
7029 2001-10-15 22:18  gregor
7031         * core.ops, t/test.pasm:
7032           * time_n uses gettimeofday() to get sub-second times.
7034           * t/test.pasm uses time_n directly rather than doing int stuff
7035         and
7036             converting to num later.
7038 2001-10-15 12:28  gregor
7040         * t/: test.pasm, test2.pasm, trace.pasm:
7041           * t/test.pasm prints using string constants instead of string
7042         regs.
7044           * t/test2.pasm assembles (using implicit op modes)
7046           * t/trace.pasm updated for new behavior of trace_ic, which does
7047         not
7048             require an 'end' after 'trace'.
7050 2001-10-15 00:47  gregor
7052         * core.ops, interpreter.c, test_main.c,
7053         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7054         PARROT_PROFILE_FLAG
7056           * New runops cores to handle profiling
7058           * Support for -p flag in test_prog to enable profiling
7060           * New profile_ic op to control profiling at run-time
7062 2001-10-14 21:54  gregor
7064         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7065         lib/Parrot/OpsFile.pm: Integrated op documentation.
7067           * core.ops now contains POD documentation of ops, interspersed
7068         with the
7069             ops themselves
7071           * Ops are organized into POD =head2 sections
7073           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7074         anything
7075             up to the first POD directive OR op definition.
7077           * docs/Makefile now generates core_ops.pod from core.ops vi
7078         perldoc -u.
7080 2001-10-14 11:58  simon
7082         * Makefile.in:
7083         Unbreak Digital Un^W^WTru64
7085 2001-10-14 11:00  simon
7087         * Configure.pl:
7088         Remove weird typo.
7090 2001-10-14 10:56  tom
7092         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7093         op_info.c no longer exists and op.h is no longer a generated file.
7095 2001-10-14 10:54  tom
7097         * Makefile.in: Added vtable.h to the list of things removed by the
7098         clean target.
7100 2001-10-14 01:43  gregor
7102         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7103         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7104         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7105         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7106         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7107         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7108         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7109         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7110         include/parrot/interpreter.h, include/parrot/op.h,
7111         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7112         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7113         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7114         Moby Patch:
7116           * basic_opcodes.ops and opcode_table replaced by core.ops
7118           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7119             and ops2c.pl. These convert *.ops to *_ops.c and
7120             include/parrot/oplib/*_ops.h
7122           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7124           * disassemble.pl modified to use
7126           * interpreter.c modified to use structures in core_ops.c instead
7127             of the old op_info and op_func stuff. We're not yet to the
7128             point of handling multiple oplibs at a time, but we are getting
7129             there...
7131             Fingerprinting stuff disabled for now. We used to go off
7132             opcode_table. We need to rethink this. I have some ideas to
7133             make it unnecessary, but it remains to be seen whether others
7134             will like the direction they take us.
7136             Termination condition for while(){} loop in runops is now
7137             (pc) instead of (*pc). Any op can cause a HALT by returning
7138             a NULL pointer. Ops end, bounds and trace all do this. So, now
7139             the 'end' op body is actually executed, although all it does
7140             is HALT.
7142           * Makefile.in modified to perform a test build using pbc2c.pl,
7143             which is the bytecode --> C compiler I've posted to the
7144             list before.
7146           * Op full names are now autogenerated. Op root names must not
7147             contain underscores, so some op renamings have happened.
7148             Such as clear_i becoming cleari.
7150 2001-10-13 11:49  simon
7152         * Configure.pl, MANIFEST:
7153         Make parrot actually build again.
7155 2001-10-12 21:34  dan
7157         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7158         opcodes
7160 2001-10-12 20:56  dan
7162         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7163         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7164         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7165         generic stack now in. We also have subroutines, of a simple sort!
7167 2001-10-12 19:15  tom
7169         * t/op/string.t: Improved string comparison tests try all string
7170         combinations with each of the comparison ops.
7172 2001-10-12 19:09  dan
7174         * interpreter.c: Properly sets up generic stack now
7176 2001-10-12 19:09  dan
7178         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7179         interpreter structure
7181 2001-10-12 18:59  dan
7183         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7184         changes to get the generic stack working
7186 2001-10-12 18:59  dan
7188         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7189         hints/vms.pl: Made the changes to figure out mask bits for various
7190         register and stack chunks
7192 2001-10-11 22:09  dan
7194         * docs/parrot_assembly.pod: Tossed the parameter for return
7196 2001-10-11 19:28  tom
7198         * strnative.c: Assignment, not comparison.  (Plus formatted for
7199         coding standards)
7201         Courtesy of Bryan C. Warnock
7203 2001-10-10 19:21  tom
7205         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7206         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7207         include/parrot/string.h, t/op/string.t: Added support for string
7208         comparisons and extended the comparison ops to include comparison
7209         of strings.
7211 2001-10-10 17:58  dan
7213         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7215 2001-10-10 17:54  dan
7217         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7218         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7219         vtable type entries properly
7221 2001-10-10 15:37  dan
7223         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7224         parse new vtable.tbl file now that I've actually checked *in* the
7225         new format vtable.tbl file...
7227 2001-10-10 15:32  dan
7229         * vtable.tbl: New Column to indicate the type of the vtabel entry
7230         so we can know how many slots it takes
7232 2001-10-10 05:26  thgibbs
7234         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7235         allow parrot to compile.  PACKAGE is not defined, therefore, I
7236         added a struct before it to have it not complain until we define
7237         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7238         semicolon at the end of the struct declaration.
7240 2001-10-10 05:09  thgibbs
7242         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7243         string constants of the form U"string" become unicode encoded
7244         parrot strings and the form N"string" become native encoded parrot
7245         strings.
7247         Courtesy of: Tom Hughes <tom@compton.nu>
7249 2001-10-10 04:55  dan
7251         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7252         support for generating the vtable function table offset macros
7254 2001-10-10 01:05  simon
7256         * t/op/integer.t:
7257         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7258         compiles into the mod op, not the cmod_i op, hence wasn't testing
7259         what it thought it was.
7261         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7263 2001-10-09 03:45  thgibbs
7265         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7266         assembler to generate unicode strings.
7268         Courtesy of: Tom Hughes <tom@compton.nu>
7270 2001-10-08 19:30  brentdax
7272         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7273         info for Parrot::Config to remember, more flexible test.c stuff
7275 2001-10-08 15:04  gregor
7277         * basic_opcodes.ops:
7278           * Removed trash from early mod_i experiments (pardon our dust)
7280 2001-10-08 14:56  gregor
7282         * basic_opcodes.ops:
7283           * Fixed a couple of typos.
7285 2001-10-08 14:45  gregor
7287         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7288         Arithmetic enhancements:
7290           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7292             NOTE: This "uncorrected mod" algorithm uses the C language's
7293         built-in
7294             mod operator (x % y), which is
7296                 ... the remainder when x is divided by y, and thus is zero
7297         when y
7298                 divides x exactly.
7299                 ...
7300                 The direction of truncation for / and teh sign of the
7301         result for %
7302                 are machine-dependent for negative operands, as is the
7303         action taken
7304                 on overflow or underflow.
7305                                                                      --
7306         [1], page 41
7308             Also:
7310                 ... if the second operand is 0, the result is undefined.
7311         Otherwise, it
7312                 is always true that (a/b)*b + a%b is equal to z. I both
7313         operands are
7314                 non-negative, then teh remainder is non-negative and
7315         smaller than the
7316                 divisor; if not, it is guaranteed only that the absolute
7317         value of the
7318                 remainder is smaller than the absolute value of the
7319         divisor.
7320                                                                      --
7321         [1], page 205
7323             This op is provided for those who need it (such as
7324         speed-sensitive
7325             applications with heavy use of mod, but using it only with
7326         positive
7327             arguments), but a more mathematically useful numeric mod based
7328         on
7329             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7331               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7332         Programming
7333                   Language*, Second Edition. Prentice Hall, 1988.
7335           * Added "corrected" mod_i:
7337             NOTE: This "corrected mod" algorithm is based on the C code on
7338         page 70
7339             of [1]. Assuming correct behavior of C's built-in mod operator
7340         (%) with
7341             positive arguments, this algorithm implements a mathematically
7342         convenient
7343             version of mod, defined thus:
7345               x mod y = x - y * floor(x / y)
7347             For more information on this definition of mod, see section 3.4
7348         of [2],
7349             pages 81-85.
7351             References:
7353               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7354                   Millennium* Springer, 1999.
7356               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7357         *Concrete
7358                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7360           * Added mod_n, using the same formula as above, but with FLOATVAL
7361             arguments.
7363           * Added cmod_n, using the C math library's fmod() function:
7365             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7366         library's
7367             fmod() function, which computes
7369                 ... the remainder of dividing x by y. The return value is x
7370         - n * y,
7371                 where n is the quotient of x / y, rounded towards zero to
7372         an
7373                 integer.
7374                                                 -- fmod() manpage on RedHat
7375         Linux 7.0
7377             In addition, fmod() returns
7379                 the remainder, unless y is zero, when the function fails
7380         and errno
7381                 is set.
7383             According to page 251 of [1], the result when y is zero is
7384         implementation-
7385             defined.
7387             This op is provided for those who need it, but a more
7388         mathematically
7389             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7390         and
7391             defined with y == 0 is provided by the mod_n op.
7393               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7394         Programming
7395                   Language*, Second Edition. Prentice Hall, 1988.
7397           * Added and modified tests as appropriate for the above.
7399 2001-10-08 08:49  thgibbs
7401         * include/parrot/exceptions.h, include/parrot/parrot.h,
7402         include/parrot/string.h, include/parrot/strutf16.h,
7403         include/parrot/strutf32.h, include/parrot/strutf8.h,
7404         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7405         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7406         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7407         strings for utf8, utf16, and utf32.
7409         Courtesy of: Tom Hughes <tom@compton.nu>
7411 2001-10-08 08:10  thgibbs
7413         * memory.c: Fixed uninitialized variables.
7415         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7417 2001-10-08 01:21  gregor
7419         * packfile.c:   * Casting a return value
7421           * Potential uninitialized variable fix
7423         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7425 2001-10-08 01:15  gregor
7427         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7428         a few tweaks of my own):
7430           * Line wrapping
7432           * Printf format fixes
7434         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7436 2001-10-07 22:39  thgibbs
7438         * build_interp_starter.pl: No longer adds (void*) casts to
7439         interp_guts.c function table as they are not necessary in ANSI C.
7441 2001-10-07 16:27  gregor
7443         * basic_opcodes.ops, interpreter.c, opcode_table,
7444         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7445         t/trace.pasm:
7446           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7447             interpreter->flags and set interpreter->resume_addr.
7449           * Two new runops core variants, so now we cover the relevant
7450             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7452           * Runops core selection that converts the flags into an index
7453         into
7454             a core table (runops_cores) to get the core function pointer.
7456           * A new trace_op variant that doesn't do bounds checking (used by
7457             the non-bounds-checking-but-tracing runops core).
7459           * PC is passed into the cores so that they can be used when
7460             resuming (they used to assume starting at the beginning of the
7461             code, which would thwart resumption).
7463           * runops() itself is changed to have a while() loop in it so that
7464             any time we drop out of the core, we'll resume if we have an
7465             interpreter->resume_addr set (after reselecting the core,
7466         though).
7468           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7469             interpreter->resume_addr. This is used by the new ops. The new
7470             ops still return the new PC as the next op (which MUST be an
7471             'end' op to force the core loop to terminate -- *pc being false
7472             is the only termination condition we can count on for all
7473         cores).
7475           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7476             bounds checking core selection.
7478           * test_prog now has a '-b' flag in addition to the '-t' flag.
7479         Now,
7480             bounds checking is off by default (I saw a performance boost:
7481             6.3 Mop/s with -b, 7.0 Mop/s without).
7483           * A new sample/test program: t/trace.pasm that twiddles the trace
7484             flag while it is running.
7486 2001-10-07 15:41  gregor
7488         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7489         include/parrot/.cvsignore, include/parrot/interpreter.h:
7490         Now that 0.0.2 is released, I can clear out the backlog of approved
7491         but uncommitted patches. Here's one Dan approved on 2001-09-21
7492         (Simplified DO_OP):
7494           * test_prog and pdump are linked with only the files the need,
7495         not
7496             al the files.
7498           * build_interp_starter.pl writes out op_info.[hc], too. These
7499         files
7500             contain op name, arg count and arg type information. This will
7501         be
7502             useful for multiple things in the future, including better
7503         trace
7504             output and the crystalizing loader.
7506           * The DO_OP macro is now simpler and doesn't require explicit
7507             temporaries.
7509           * interpreter.c is modified to use the new op info in tracing
7510         output.
7512           * The interpreter just points its opcode_funcs and opcode_info
7513             members at the default tables rather than allocating memory on
7514             the fly.
7516 2001-10-07 03:58  thgibbs
7518         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7519         comment and adding vtable.h to .cvsignore as it is produced by
7520         vtable_h.in
7522 2001-10-06 20:58  thgibbs
7524         * vtable.tbl: Added * to REGEX type.
7526         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7528 2001-10-06 13:41  simon
7530         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7531         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7532         Framework for vtable functions.
7534 2001-10-06 06:52  thgibbs
7536         * make_op_header.pl: Removed confusing and unused typedef.
7538 2001-10-06 06:31  thgibbs
7540         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7541         are no longer used.
7543 2001-10-06 06:26  thgibbs
7545         * disassemble.pl: Changed intval to op in disassembler.
7547 2001-10-06 06:21  thgibbs
7549         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7550         Assembler, local labels, and integer constants.
7552 2001-10-06 03:11  ask
7554         * Makefile.in: make `make test` actually run the tests on
7555         darwin/macosx
7557 2001-10-06 02:04  thgibbs
7559         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7560         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7561         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7562         include/parrot/register.h, lib/Parrot/Assembler.pm,
7563         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7564         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7565         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7566         type make. :)
7568 2001-10-06 02:02  thgibbs
7570         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7571         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7572         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7573         include/parrot/register.h, lib/Parrot/Assembler.pm,
7574         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7575         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7576         t/op/integer.t: oops...this messed something up.  I must have
7577         missed something in the patch...I have reverted.
7579 2001-10-06 01:57  thgibbs
7581         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7582         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7583         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7584         include/parrot/register.h, lib/Parrot/Assembler.pm,
7585         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7586         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7587         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7588         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7589         This patch ensures that all bytecode is of type opcode_t except for
7590         the constant table constants.  That means that almost all of the
7591         INTVALs in the code were replaced with opcode_t and the i pack type
7592         was replaced with the op pack type in calls to pack_arg and such.
7593         Also, since it has been declared that ALL integer constants are to
7594         be 32 bits, some test cases were changed to ensure that an integer
7595         constant was no bigger than 2 ** 31.
7597         process_opfunc.pl was also cleaned up to no longer look at either
7598         opcode_table or interp_guts.h but gather all of its information
7599         from Opcode.pm.
7601         The Assembler.pm module was changed to do late binding of arguments
7602         so that 0 could be treated like 0.0 without having to be so
7603         declared.  Also, only strings now use the [sc:N] intermediate form
7604         as it was unnecessary for integer and float types.
7606 2001-10-05 21:59  gregor
7608         * MANIFEST, languages/jako/Makefile:
7609         Fixed things due to the movement of little_languages/* to
7610         languages/jako.
7612 2001-10-05 18:31  gregor
7614         * MANIFEST:
7615         Updated MANIFEST to reflect recent additions for Jako.
7617 2001-10-05 17:54  gregor
7619         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7620         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7621         mops.jako, primes.jako, sub.jako:
7622           * Compiler:
7624               * User-defined subroutines.
7625               * Generates assembly code with the Jako code in comments.
7626               * "end;" no longer required at the end of programs.
7627               * Better handling of const-reg and reg-const.
7628               * Optimizes const-const operations to compile-time
7629         evaluations.
7630               * Constants in addition to variables.
7631               * Arithmetic fixes.
7632               * Allow leading minus signs in integer and number constants
7633         (ahem).
7634               * goto's.
7636           * New sample programs:
7638               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7639         example)
7640               * mandelbrot.jako (based on Leon Brocard's translation of
7641         Glenn Rhodes' C code)
7642               * mops.jako (based on t/test.pasm)
7643               * primes.jako (based on Leon Brocard's primes.pasm example)
7644               * sub.jako (demonstrates a simple user-defined subroutine)
7646 2001-10-05 12:54  gregor
7648         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7649           * Removed mysterious extra copy of code after POD.
7651 2001-10-05 12:46  gregor
7653         * basic_opcodes.ops, t/op/string.t:
7654           * Enabled the previously SKIPped test of printing string regs
7655         after
7656             clear_s
7658           * Made print_s do nothing if the STRING pointer in the register
7659         file
7660             is NULL.
7662 2001-10-04 21:19  dan
7664         * Configure.pl: VMS tweaks
7666 2001-10-04 21:17  dan
7668         * hints/vms.pl: Hints file for VMS
7670 2001-10-04 00:58  bdwheele
7672         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7673         Assembler which stopped equates from working.
7675 2001-10-03 21:50  gregor
7677         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7679           * More documentation updates for the packfile stuff.
7681 2001-10-03 21:37  gregor
7683         * docs/parrotbyte.pod:
7684           * Pointed the reader at Parrot::PackFile.
7686 2001-10-03 21:34  gregor
7688         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7689           * Updated documentation to match current implementation.
7691 2001-10-03 18:30  gregor
7693         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7694         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7695         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7696         t/op/basic.t:
7697           * Added new syntax to the assembler to allow square-bracket
7698             arithmetic expressions involving (global) labels, the current
7699             instructions base address ('@'), numeric constants (not
7700         equates)
7701             and basic arithmetic operators (+, -, *, / -- although + and -
7702             are likely to be the only ones used in practice).
7704           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7705         to
7706             fail (argument passing wasn't working).
7708           * Enabled t/op/basic.t's last test, which is actually a copy of
7709         the
7710             code from t/call.pasm. Now all tests there are enabled and
7711         working.
7713           * Added new example/test program t/call.pasm to demonstrate
7714         working
7715             macros and poor-man's subroutine calls
7717           * Added header comments to t/*.pasm
7719 2001-10-03 18:00  simon
7721         * ChangeLog:
7722         Needed, since it's in the MANIFEST.
7724 2001-10-03 17:56  simon
7726         * t/op/: string.t, time.t:
7727         Small fixes to help Win32 on its way.
7729 2001-10-03 17:41  simon
7731         * MANIFEST, README:
7732         Oops. Tiny bugs.
7734 2001-10-03 17:39  simon
7736         * MANIFEST, NEWS, README:
7737         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7738         think so!
7740 2001-10-03 17:21  simon
7742         * basic_opcodes.ops, interpreter.c, packfile.c:
7743         Evil printf bandaid (which allows Sparc64 to pass tests)
7745         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7747 2001-10-03 16:58  simon
7749         * string.c, t/op/string.t:
7750         chop fixes for n < 0 and tests
7752         Courtesy of: Alex Gough <alex@rcon.org>
7754 2001-10-03 15:51  thgibbs
7756         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7758         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7760 2001-10-02 17:48  dan
7762         * include/parrot/stacks.h: Fix typo in function name
7764 2001-10-02 17:35  dan
7766         * include/parrot/stacks.h: changed to support new stack stuff
7767         coming after 0.02
7769 2001-10-02 15:01  simon
7771         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7772         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7773         process_opfunc.pl, register.c, string.c, strnative.c,
7774         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7775         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7776         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7777         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7778         include/parrot/memory.h, include/parrot/packfile.h,
7779         include/parrot/parrot.h, include/parrot/register.h,
7780         include/parrot/stacks.h, include/parrot/string.h,
7781         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7783         The Great Renaming.
7785 2001-10-02 12:49  gregor
7787         * process_opfunc.pl:
7788           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7790 2001-10-02 12:40  simon
7792         * basic_opcodes.ops, process_opfunc.pl, register.c,
7793         include/parrot/register.h:
7794         Move preprocessing of register accessors to process_opfunc.pl
7796         Courtesy of: Jason Gloudon <perl@gloudon.com>
7798 2001-10-02 01:20  ask
7800         * README: add a few lines about lists.
7802 2001-10-01 23:00  brentdax
7804         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7805         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7807 2001-10-01 22:50  brentdax
7809         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7811 2001-10-01 21:51  simon
7813         * process_opfunc.pl:
7814         Michael Fischer's patch broke conditionals.
7816 2001-10-01 15:38  simon
7818         * process_opfunc.pl:
7819         Small hack to keep process_opfunc.pl from generating extra return()
7820         statements.
7822         Courtesy of: Michael Fischer <michael@visv.net>
7824 2001-10-01 15:32  simon
7826         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7827         Documentation fix.
7829         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7831 2001-10-01 01:49  simon
7833         * packfile.c:
7834         Simon is an idiot. Don't trust him with your code.
7836         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7838 2001-10-01 00:59  simon
7840         * Parrot/String.pm, lib/Parrot/String.pm:
7841         Was in manifest, but not in CVS.
7843 2001-09-30 21:25  simon
7845         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7846         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7847         Parrot/Assembler.pm, Parrot/PackFile.pm,
7848         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7849         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7850         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7851         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7852         include/parrot/packfile.h, include/parrot/string.h:
7853         Move NVs to the constant table.    * Changes to Types_pm.in to make
7854         life easier for some of the      packing/etc. I'm doing elsewhere.
7855         Also, we now pack 'n' as      'i'.
7857           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7858             eventually we can use all these tools together inside scripts
7859             rather than call out to the shell to run the programs.
7861           * As I was tracking down problems, I converted the internal
7862             documentation of the assembler to POD from comments.
7864           * Changed the numeric regexp in the assembler to detect leading
7865             signs and trailing exponents.
7867           * Updated basic_opcodes.ops to fetch numeric constants from the
7868             constant table.
7870           * Enhanced the disassembler in a number of ways to make my life
7871             easier while tracking down bugs (try it out). It now puts in
7872             labels for ops that are the destinations of flow control ops.
7874           * packfile.c now has a TRACE_PACKFILE switch that can be set
7875             to get it to print info as it processes. I needed this while
7876             debugging, but I can remove it or change it before committing
7877             if its a problem.
7879           * Updated pdump.c because it was missing a call to init_world().
7881           * Updated process_opfunc.pl to deal with numeric constants
7882             being stored in the constant table instead of inline.
7884           * Added multiple type support to Parrot/PackFile/Constant.pm
7886           * Added Parrot/String.pm, to be used for constants.
7888           * Added packfile.[hc] functions for allocating new constants
7889             of various types.
7891           * Made string_copy visible to the world in parrot/string.h.
7893         Wow.
7895         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7897 2001-09-29 15:56  gregor
7899         * languages/jako/Makefile:
7900         Removed assumption that '.' is on the path.
7902 2001-09-29 15:55  gregor
7904         * languages/jako/Makefile:
7905         Removed references to leibnitz test program.
7907 2001-09-29 15:21  thgibbs
7909         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7910         math ops args to work on Solaris.
7912 2001-09-27 15:15  thgibbs
7914         * assemble.pl: Added case insensitive matches to hex and binary
7915         characters
7917         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7919 2001-09-27 04:46  thgibbs
7921         * assemble.pl: This patch makes integer constants of the form
7922         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7923         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7924         returning 0.  To fix this, I added a from_binary function that
7925         would take a binary string and return its decimal representation.
7926         Now, instead of blindly calilng oct, it makes a distinction between
7927         0/0x numbers and 0b numbers.
7929 2001-09-26 19:30  thgibbs
7931         * assemble.pl: Error now returns a non-zero status
7933         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7935 2001-09-26 19:13  gregor
7937         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7938         interpreter.c, packfile.c, pdump.c, test_main.c,
7939         include/parrot/bytecode.h, include/parrot/interpreter.h,
7940         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7941         t/op/stacks.t:
7942           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7943             packfile/bytecode file from C. May be renamed in the future.
7945           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7946             of 'PackFile *', just like the interpreter, etc.
7948           * Constants are accessed via the interpreter's 'code' member
7949             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7950             provided to access constants by index and the number of
7951             constants, respectively (assumes a variable 'interpreter' of
7952             the appropriate type is in scope).
7954           * Byte Code is accessed via the interpreter's 'code' member.
7956           * Changed PackFile_Constant to point to a STRING instead of
7957         having
7958             members for the string_make() arguments. Also has a 'type' IV
7959             in preparation for allowing multiple types of constants in
7960             const_table.
7962           * Removed hardcoded example program from test_main.c. We have
7963             plenty of test programs elsewhere.
7965           * test_prog now uses a PackFile to deal with the program before
7966             sending it on to the interpreter.
7968           * Added missing 'end' ops to some tests in t/op/integer.t and
7969             t/op/stacks.t.
7971 2001-09-26 18:38  thgibbs
7973         * assemble.pl: Separated code into functions and added comments.
7975 2001-09-26 18:29  simon
7977         * config_h.in:
7978         Fix 64-bit chunk-base issue.
7980 2001-09-26 06:55  thgibbs
7982         * t/op/bitwise.t: Added end to bitwise tests.
7984 2001-09-26 00:54  dan
7986         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7987         and interpreter creation. Skeleton only, but it's something to peer
7988         at.
7990 2001-09-25 21:44  thgibbs
7992         * t/op/trans.t: Removed loops in transcendtal op test.
7994 2001-09-25 10:12  simon
7996         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7997         t/op/string.t, t/op/time.t:
7998         More tests
8000         Courtesy of: Alex Gough <alex@rcon.org>
8002 2001-09-24 19:08  gregor
8004         * t/op/number.t:
8005           * Enabled the clear_n test.
8007 2001-09-24 18:56  gregor
8009         * Parrot/.cvsignore:
8010           * Ignore the generated Types.pm file.
8012 2001-09-24 18:52  gregor
8014         * languages/jako/Makefile, t/op/number.t:
8015           * No need to skip the inc and dec numeric tests anymore. I fixed
8016         the
8017             assembler earlier today.
8019 2001-09-24 18:21  simon
8021         * MANIFEST, t/op/stacks.t:
8022         Oops.
8024 2001-09-24 18:19  simon
8026         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
8027         include/parrot/exceptions.h, include/parrot/interpreter.h,
8028         lib/Parrot/Test.pm, t/op/string.t:
8029         1) captured error output, so can test errors, this might be bad,
8030         not sure.  2) basic tests for register stack frames, including some
8031         errors 3) I think we can stop skipping one of the string tests 4) I
8032         added some more substr tests, but substr was broken, so 5) changed
8033         substr to work with out of range values, or 6) throw an error if
8034         they're far too silly
8036         Courtesy of: Alex Gough <alex@rcon.org>
8038 2001-09-24 17:27  gregor
8040         * basic_opcodes.ops, opcode_table, t/op/number.t:
8041           * Op set_n was missing. Added it and a test for it. We now have
8042         the
8043             same int and num ops, except mod is int-only.
8045 2001-09-24 17:01  gregor
8047         * assemble.pl:
8048           * Fixed a typo: s/Line/line/
8050 2001-09-24 16:02  gregor
8052         * basic_opcodes.ops:
8053           * Fixed dec_n_nc opcode, which had += where it should have had
8054         -=.
8056 2001-09-24 15:34  gregor
8058         * assemble.pl:
8059           * Fixed handling of constants starting with '0' that should not
8060         be
8061             sent through oct(). For example 'set N2 0.1' was being
8062         interpreted
8063             as 'set N2 0' (naughty).
8065             As reported by Leon Brocard <acme@astray.com> in the comments
8066         of
8067             his mandelbrot.pasm example.
8069 2001-09-24 02:21  bdwheele
8071         * assemble.pl: fixed dumb code when --include was not specified.
8073 2001-09-24 02:17  simon
8075         * assemble.pl:
8076         Shit-sweeping.
8078 2001-09-24 01:56  bdwheele
8080         * assemble.pl: * Added --include=dir option to assembler to provide
8081         a path to look for included files.  * Error message of a macro is
8082         defined inside of a macro
8084 2001-09-23 21:29  bdwheele
8086         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8088 2001-09-23 15:50  simon
8090         * Configure.pl:
8091         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8093 2001-09-23 02:03  ask
8095         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8096         Courtesy of: acme@astray.com (Leon Brocard)
8098         rename 'test' executable used in Configure process to test_siz.
8100 2001-09-23 01:03  simon
8102         * process_opfunc.pl:
8103         iPaq fix. No, really.
8105 2001-09-23 00:47  simon
8107         * MANIFEST:
8108         Missed several, in fact.
8110 2001-09-23 00:46  simon
8112         * MANIFEST:
8113         Missed one.
8115 2001-09-22 21:13  simon
8117         * assemble.pl:
8118         Assembler register numbering rigour.
8120         Courtesy of: Leon Brocard <acme@astray.com>
8122 2001-09-22 18:20  simon
8124         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8125         lib/Test/Utils.pm:
8126         I'm sick of having to install Test::More everywhere. Temporary
8127         measure until we remove this silly dependency.
8129         Also a typo in Makefile.in which suggests some things were only
8130         happening correctly by sheer chance. :)
8132 2001-09-22 18:06  simon
8134         * README:
8135         test.pasm is dead, long like make test.
8137 2001-09-22 17:47  simon
8139         * t/op/number.t:
8140         De-fang overzealous floating point test.
8142 2001-09-22 17:39  simon
8144         * process_opfunc.pl:
8145         Remove hard-coded NV size assumption. Tru64 is nearly there!
8147 2001-09-22 17:18  simon
8149         * assemble.pl, disassemble.pl:
8150         More portability fixups.
8152 2001-09-22 16:44  simon
8154         * assemble.pl, Parrot/PackFile/Constant.pm,
8155         lib/Parrot/PackFile/Constant.pm:
8156         And I *think* this fixes Tru64.
8158 2001-09-22 16:37  simon
8160         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8162         Oops.
8164 2001-09-22 16:36  simon
8166         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8167         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8168         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8170         More removal of hard-coded pack formats.
8172 2001-09-22 15:21  simon
8174         * assemble.pl:
8176         Grrr. Why isn't this working?
8178 2001-09-22 15:18  simon
8180         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8181         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8183         Make assemble use the PackFile modules; also fixed some bugs in
8184         them.
8186 2001-09-22 14:38  simon
8188         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8190         Abstract the argument and opcode packing types and functions out
8191         into a separate module. This *should* help us maintain consistency
8192         when we change the various types.
8194 2001-09-22 00:46  brentdax
8196         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8197         test program finishes.
8199 2001-09-21 21:24  brentdax
8201         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8202         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8204 2001-09-21 21:09  gregor
8206         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8207         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8209           * Fixed pad calculation (similar to recent bug fix on C library)
8211 2001-09-21 20:23  simon
8213         * disassemble.pl:
8214         Pack types and sizes have gone askew.
8216 2001-09-21 20:18  brentdax
8218         * Configure.pl: Fix typo in setting stuff from the C test program
8220 2001-09-21 10:25  simon
8222         * basic_opcodes.ops, process_opfunc.pl:
8223         Document patches.
8225         Courtesy of: Leon Brocard <acme@astray.com>
8227 2001-09-21 06:06  ask
8229         * Config_pm.in, assemble.pl: fix 5.005_03.
8231 2001-09-21 06:03  ask
8233         * Configure.pl: make the ivsize detection work for us normal people
8234         without . in our PATH.  :-)
8236 2001-09-21 05:56  brentdax
8238         * test_main.c: Change _read to read for portability to Tru64
8239         (Damien Neil <neild@misago.org> and likely many others)
8241 2001-09-21 05:46  ask
8243         * Makefile.in: "update" target to update from cvs.
8245 2001-09-21 05:44  brentdax
8247         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8249 2001-09-21 02:43  brentdax
8251         * Configure.pl: Fix a typo that forced the -g flag on
8253 2001-09-20 22:41  dan
8255         * packfile.c: Had some no-value returns. Naughty
8257 2001-09-20 22:40  dan
8259         * t/test.pasm: Added labels to output
8261 2001-09-20 15:39  simon
8263         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8264         lib/Parrot/Test.pm:
8265         This patch does two only somewhat related things.
8267         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8268         = 2*sizeof(iv) to a PConfig-type computed value.
8270         Parrot/Test.pm:  Change it to run with the perl that was used to
8271         generate this version of Parrot.  This is useful if, for example,
8272         you want to use bleadperl to build and test parrot (e.g. to try out
8273         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8274         installed as the default 'perl' on your system.  Since perl-5.7.x
8275         is installed 'version-only', a plain 'perl' is quite likely to pick
8276         up the older perl in such cases. Such an older perl might well not
8277         understand pack('q') used in the assembler.
8279         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8281 2001-09-20 15:14  gregor
8283         * packfile.c:
8284           * Fixed a typo in pad calculation that throwing off unpack and
8285         pack.
8287 2001-09-20 15:03  thgibbs
8289         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8290         tests now cover all registers.
8292         Courtesy of: Damien Neil neild@misago.org
8294 2001-09-20 14:48  thgibbs
8296         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8297         machines.
8299 2001-09-20 14:35  simon
8301         * Configure.pl, assemble.pl:
8302         Pack IVs correctly.
8304         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8306 2001-09-20 14:06  gregor
8308         * languages/jako/jakoc:
8309           * Fixed a tyop in the string interpolation regex.
8311         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8313 2001-09-20 13:56  gregor
8315         * languages/jako/jakoc:
8316           * Updated jakoc to work with the single-destination comp ops.
8318 2001-09-20 05:08  bdwheele
8320         * assemble.pl: macro expansion.  Here's the test macro I was using:
8322         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8323         label.  testi       macro   num,got,want    print   "Test #"
8324         print   num     print   "..."   set     I32,want        set
8325         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8326         $end $ok:       print   "OK\n" $end:    endm
8328         It is invoked as:
8330         Test1:  testi   1,I3,I2
8332 2001-09-20 03:52  dan
8334         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8335         generic stack support
8337 2001-09-20 02:49  bdwheele
8339         * assemble.pl: Added include processing to assemble.pl  the syntax
8340         is: include 'file.to.include'
8342 2001-09-19 23:57  thgibbs
8344         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8345         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8346         function to only use 2 args, but the opcode_table still had three
8347         listed.  Fixed integer.t and number.t to use the new comparison
8348         operators.  Improved assemble.pl ability to grok operators by
8349         constructing a function set and comparing operator types.
8351 2001-09-19 22:42  dan
8353         * assemble.pl: Binmodes the output filehandles now. (No more
8354         bytecode munching...)
8356 2001-09-19 22:32  dan
8358         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8359         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8360         conditional branches take a single argument, and fall through
8361         otherwise.
8363 2001-09-19 21:19  thgibbs
8365         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8366         Sugalski
8368         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8370 2001-09-19 21:04  thgibbs
8372         * include/parrot/interpreter.h, Configure.pl,
8373         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8374         process_opfunc.pl: Changed opcode_t from a union to a configurable
8375         type.
8377 2001-09-19 20:54  thgibbs
8379         * assemble.pl: Missed a couple of changes for 64 bit portability.
8381 2001-09-19 20:37  gregor
8383         * packfile.c, include/parrot/packfile.h:
8384           * Added "methods" for setting and getting all the various
8385         attributes,
8386             probably sufficient for an assembler to use the library.
8388 2001-09-19 20:04  thgibbs
8390         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8391         a 64 bit platform manually change the  setting for 'i' from 'l' to
8392         'q'.  This should be automatically done by a Configure setting in
8393         the near future.
8395 2001-09-19 19:10  thgibbs
8397         * config_h.in: changed c++ comment to c comment.
8399         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8401 2001-09-19 17:48  gregor
8403         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8404         include/parrot/packfile.h:
8405           * C code for dealing with PackFiles as if they were objects.
8406         Mostly
8407             read-only interface for now, but it would not be hard to make
8408         it
8409             read-write. [packfile.c, include/parrot/packfile.h]
8411           * PackFile Dumping program that falls short of disassembling, but
8412             tests the above code and provides a hex listing of the byte
8413         code
8414             contents of the PackFile. [pdump.c]
8416           * New Makefile target 'pdump' for the above program, and related
8417             Makefile.in changes.
8419           * Updated MANIFEST to reflect the added files
8421           * Update .cvsignore to ignore pdump.
8423 2001-09-19 14:55  thgibbs
8425         * MANIFEST: Added number.t and trans.t to MANIFEST
8427 2001-09-19 05:40  thgibbs
8429         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8430         of union opcode_t.  I hope this will be more portable for set_n_nc.
8432 2001-09-19 05:39  thgibbs
8434         * t/op/integer.t: Added end to test 1.
8436 2001-09-19 00:09  thgibbs
8438         * t/op/number.t: Added end to each test
8440 2001-09-19 00:00  simon
8442         * t/op/number.t:
8443         Number tests! Wooo!
8445         Courtesy of: Damien Neil <neild@misago.org>
8447 2001-09-18 23:52  thgibbs
8449         * interpreter.c: Added casts to appropriate types to make -Wall not
8450         complain on certain printf formats
8452 2001-09-18 23:31  thgibbs
8454         * t/op/integer.t: Added end to each test.
8456 2001-09-18 22:54  thgibbs
8458         * t/op/trans.t: Added trans.t for transcendental math function
8459         tests.
8461 2001-09-18 22:28  simon
8463         * MANIFEST:
8464         MANIFEST updates. (And notice how I carefully snuck in the
8465         t/op/integer.t there...)
8467         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8469 2001-09-18 22:26  simon
8471         * t/: integer.t, op/integer.t:
8472         Except it doesn't go there. Duh.
8474 2001-09-18 22:25  simon
8476         * t/integer.t:
8477         Tests for integer ops.
8479         Courtesy of: Damien Neil <neild@misago.org>
8481 2001-09-18 22:03  thgibbs
8483         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8484         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8485         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8486         opcode_t union for operators.  This required a few perl script
8487         changes to output the correct type.  There were also some changes
8488         to allow -pedantic in gcc
8490 2001-09-18 21:07  gregor
8492         * disassemble.pl, Parrot/PackFile.pm,
8493         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8494         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8495         lib/Parrot/PackFile/Constant.pm:
8496         Converted the disassembler to use the Parrot::PackFile Perl classes
8497         to do its job.
8499 2001-09-18 19:18  brentdax
8501         * Makefile.in: Fix missing functions for real this time.  (I
8502         swear!)
8504 2001-09-18 18:49  brentdax
8506         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8507         <doughera@lafayette.edu>}
8509 2001-09-18 18:47  brentdax
8511         * Makefile.in: Fix bugs with missing math, etc. functions
8513 2001-09-18 14:42  thgibbs
8515         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8516         char*.
8518 2001-09-18 13:59  thgibbs
8520         * strnative.c: Removed unnecessary IV cast in concat.
8522 2001-09-18 13:58  thgibbs
8524         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8525         to concat test in string.t
8527 2001-09-18 12:07  gregor
8529         * languages/jako/jakoc:
8530           * var num ... no longer requires assignment
8531           * automatic casting between int and num
8532           * Fixed an error message
8534         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8536 2001-09-18 11:57  simon
8538         * TODO:
8539         Gonna have to start thinking of more things to do, soon.
8541 2001-09-18 10:42  simon
8543         * opcode_table:
8544         Introduce a little more tidiness into the opcode table.
8546 2001-09-18 03:06  gregor
8548         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8549         Resurrected register-const ops per Dan's request.
8551 2001-09-18 02:20  gregor
8553         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8554         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8555         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8556         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8557         Committed some files that were missed in the last *.h moving
8558         commit.
8560 2001-09-18 02:17  gregor
8562         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8564 2001-09-18 02:16  gregor
8566         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8567         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8568         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8569         missed in last commit for the move of *.h to include/parrot.
8571 2001-09-18 01:32  simon
8573         * t/Makefile:
8574         Trivial "clean" target to t/Makefile.
8576 2001-09-18 01:32  simon
8578         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8579         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8580         Change icky Digest::MD5 for nice simple unpack()
8582         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8584 2001-09-18 00:35  simon
8586         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8587         t/op/string.t:
8588         New concat op. Hey, if I'm going to talk about it in an article,
8589         better implement it...
8591 2001-09-17 22:54  gregor
8593         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8594         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8595         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8596         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8598         Functions for reading, writing and manipulating Parrot Pack Files.
8599         NOTE: This is a proposed term based on the fact that the file
8600         contains more than just byte code, and another language (Java)
8601         calls its binary files by a broader notion of what's in them (Class
8602         Files). Since Perl has packages, and since we use pack() to write
8603         them, we'll call them PackFiles (at least for now).
8605         That does, however, beg the question of file extension. Should we
8606         name the files "foo.pack" instead of "foo.pbc"?
8608 2001-09-17 20:23  thgibbs
8610         * interpreter.c, test_main.c: Uncuddled else statements for coding
8611         standard.
8613 2001-09-17 19:57  gregor
8615         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8616         Added a $revision variable, parsing of the CVS Id line in
8617         opcode_table and a &revision() subroutine.
8619 2001-09-17 19:53  gregor
8621         * opcode_table:
8622         Added a CVS Id tag to it.
8624 2001-09-17 18:58  thgibbs
8626         * interpreter.c: Cleared interpreter flags on creation.
8628 2001-09-17 18:38  gregor
8630         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8631         interpreter.h, test_main.c:
8632           * Provides macros in interp_guts.h for setting up arrays with
8633             op names and op arg counts (done via build_interp_starter.pl).
8635             These are used in the op tracing
8637           * The functions in bytecode.[hc] pass around a pointer to the
8638         length
8639             of the bytecode so that later when we get to runops, we know
8640             how much bytecode we've got and we can detect out-of-bounds
8641             jumping. The documentation is updated, too.
8643           * runops in interpreter.c now looks at interpreter->flags to
8644             decide if the core of runops should be runops_trace_core or
8645             runops_notrace_core. These new functions contain just the
8646             while-loop portion of runops. A new function runops_generic
8647             does any other setup (such as checking the bytecode
8648             fingerprint) or wrapup (such as complaining if we ended up
8649             out-of-bounds). NOTE: I didn't know what we should do for
8650             functions in here that are not part of the api, so I gave
8651             them docs with 'TODO' marks mentioning they really aren't
8652             part of the api. Guidance appreciated.
8654           * test_main.c now checks for '-t' arg and sets the tracing flag
8655             on its interpreter instance as appropriate.
8657 2001-09-17 17:47  bdwheele
8659         * assemble.pl: added some default equates, and if they're sub
8660         references, they are computed each time it is referenced.
8662 2001-09-17 16:15  dan
8664         * interpreter.h:
8666         Added flags to the interpreter structure and defined a few.
8668 2001-09-17 15:51  simon
8670         * bytecode.h, string.h:
8671         VAR_SCOPE on globals.
8673 2001-09-17 15:20  simon
8675         * MANIFEST:
8676         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8678 2001-09-17 15:05  gregor
8680         * t/jump.pasm, MANIFEST:
8681         Added a test program to demonstrate jump_i.
8683 2001-09-17 14:44  thgibbs
8685         * register.c: Fixed register pop not using correct offset (off by
8686         one).
8688         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8690 2001-09-17 13:56  thgibbs
8692         * interpreter.c, register.c: Added code to call Parrot_clear_s
8693         during initialization and Parrot_clear_s and Parrot_clear_p when a
8694         new stack frame is pushed.
8696 2001-09-17 13:51  gregor
8698         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8699         fib.jako, hello.jako: Added bench.pasm to "clean"
8701 2001-09-17 13:49  gregor
8703         * languages/jako/: jakoc, Makefile:
8704         Added CVS Id tag.
8706 2001-09-17 13:49  gregor
8708         * languages/jako/jakoc:
8709         Code streamlining.
8711         Courtesy of: Buggs <buggs-perl6@splashground.de>
8713 2001-09-17 13:29  gregor
8715         * MANIFEST, opcheck.pl:
8716         Added an opcode_table checker to make sure that all opcodes listed
8717         there conform to a simple set of naming rules (rules themselves, of
8718         course, are subject to change).
8720 2001-09-17 13:23  thgibbs
8722         * string.c: Modified string.c to correctly use the return value of
8723         realloc.
8725 2001-09-17 05:26  brentdax
8727         * Makefile.in: Making the Makefile smarter
8729 2001-09-16 23:06  brentdax
8731         * hints/mswin32.pl: Finishing the Configure hints
8733 2001-09-16 23:05  brentdax
8735         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8736         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8737         Configure hints, 5.005 compatibility, MANIFEST checking
8739 2001-09-16 19:25  bdwheele
8741         * assemble.pl: parrot assembly equates
8743 2001-09-16 18:03  gregor
8745         * Makefile.in:
8746         Added 'test' target to run new test suite.
8748 2001-09-16 17:33  simon
8750         * basic_opcodes.ops:
8751         'not' was being !, rather than ~. Too many Perl programmers here, I
8752         suspect.
8754         Courtesy of: Tom Hughes <tom@compton.nu>
8756 2001-09-16 17:21  simon
8758         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8759         t/op/string.t:
8760         A *real* test suite!
8762         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8764 2001-09-16 16:49  gregor
8766         * basic_opcodes.ops, opcode_table:
8767         At Dan's request, my new register-constant comparison ops have been
8768         removed.
8770 2001-09-16 16:40  gregor
8772         * languages/jako/jakoc:
8773         Fixed a copy-paste error in one of jakoc's error messages.
8775         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8777 2001-09-16 16:37  gregor
8779         * languages/jako/jakoc:
8780         Modified comparison implementation to use temporary registers in
8781         the case of register-constant and constant-register comparisons.
8782         This will allow the compiler to emit code that works when the
8783         constant-comparison ops are backed out of Parrot. If the ops ever
8784         make their way back in, then jakoc can emit more efficient code
8785         again.
8787 2001-09-16 16:19  bdwheele
8789         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8790         ... though not subroutine based like the documentation wants, they
8791         are local to the last non-local label defined.
8793 2001-09-16 14:02  simon
8795         * MANIFEST:
8796         And remember, when you add stuff, keep the manifest up to date.
8798 2001-09-16 02:55  ask
8800         * Makefile.in: a "shared" target for building libparrot.so
8802 2001-09-16 02:45  thgibbs
8804         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8805         global_setup.h, interpreter.c, interpreter.h, io.h,
8806         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8807         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8808         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8809         use the coding standard PDD.  Also changed Perl_Interp to
8810         Parrot_Interp.
8812 2001-09-16 02:21  ask
8814         * README: emphasise the bits about the license not being worked out
8815         yet.
8817 2001-09-15 22:21  simon
8819         * process_opfunc.pl:
8820         basic_opcodes.c should *scream* that it's autogenerated.
8822 2001-09-15 21:58  gregor
8824         * languages/jako/Makefile:
8825         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8826         compile.
8828 2001-09-15 21:58  gregor
8830         * languages/jako/: jako_compiler.pl, jakoc:
8831         Renamed the Jako compiler to jakoc from jako_compiler.pl
8833 2001-09-15 21:51  gregor
8835         * languages/jako/: Makefile, bench.jako, euclid.jako,
8836         jako_compiler.pl:
8837         Added a new bench.jako example based on Leon Brocard's Bench.java.
8839         Jako Compiler:   * fix a bug in assignment handling   * add some
8840         more conditionals to while and if   * revert to using implicit
8841         opcodes in a few cases that were broken     before the assembler
8842         patch went in recently.
8844 2001-09-15 21:46  gregor
8846         * assemble.pl, basic_opcodes.ops, opcode_table:
8847         New ops for register-constant INTEGER comparisons:
8849           {eq,ne,lt,le,gt,ge}_ic_ic
8851         New ops for register-register and register-constant NUMERIC
8852         comparisons:
8854           eq_nc_ic
8855           {ne,lt,le,gt,ge}_{n,nc}_ic
8857         Assembler:
8859           Allow uppercase and underscores in labels.
8861           Tweaks to the op infer code to make it work with the examples
8862         I've been
8863           creating.
8865 2001-09-15 19:16  thgibbs
8867         * README: Updated README to include Configure.pl
8869 2001-09-15 17:05  simon
8871         * build_interp_starter.pl:
8872         Casting happiness
8874         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8876 2001-09-15 16:45  simon
8878         * assemble.pl:
8879         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8881 2001-09-15 16:40  simon
8883         * t/Makefile:
8884         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8885         test Makefile
8887 2001-09-15 12:26  simon
8889         * memory.c:
8890         Fixed to match the coding standards.
8892         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8894 2001-09-15 01:57  ask
8896         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8897         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8898         to run Configure.pl
8900 2001-09-15 01:48  ask
8902         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8903         say so. :-)
8905 2001-09-15 01:42  gregor
8907         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8908         jako_compiler.pl:
8909         Compiler: Added variable interpolation in double-quoted strings.
8910         Examples: Made use of variable interpolation.
8912 2001-09-15 01:28  gregor
8914         * Parrot/.cvsignore:
8915         Ignore the Config.pm generated file.
8917 2001-09-15 01:22  gregor
8919         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8920         fib.jako, hello.jako, jako_compiler.pl:
8921         gnp: Added some more sample Jako files and added many more
8922         operators to the compiler. Preparations for supporting all the Math
8923         and bitwise ops.
8925 2001-09-14 19:06  simon
8927         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8928         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8929         lib/Parrot/Opcode.pm:
8930         Move common table reading stuff to a module.
8932         Courtesy of: Damien Neil <neild@misago.org>
8934 2001-09-14 17:42  simon
8936         * .cvsignore:
8937         More .cvsignore foo.
8939 2001-09-14 17:40  simon
8941         * assemble.pl, config_h.in:
8942         De-coredump
8944         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8946 2001-09-14 17:38  simon
8948         * assemble.pl, t/Makefile:
8949         Make assemble.pl look in its parent directory if the data files it
8950         needs aren't in the current one. Plus a Makefile that lets "make
8951         foo.pbc" work in t/
8953         Courtesy of: Rocco Caputo <troc@netrus.net>
8955 2001-09-14 16:29  simon
8957         * make_op_header.pl:
8958         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8959         probably segfault everywhere else.)
8961 2001-09-14 15:58  dan
8963         * languages/jako/: euclid.jako, jako_compiler.pl:
8965         Added in the first mini-language that targets Parrot.
8967         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8969 2001-09-14 15:20  dan
8971         * memory.c: Was misaligning returned memory. Fixed.
8973 2001-09-14 15:08  simon
8975         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8976         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8977         register.c, register.h, string.c, string.h, strnative.c,
8978         test_main.c:
8979         Fixes to include <parrot/foo.h>
8981         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8983 2001-09-14 12:05  simon
8985         * strnative.c:
8986         Appease Tru64.
8988 2001-09-14 12:01  simon
8990         * memory.c:
8991         Appease Tru64.
8993 2001-09-14 11:54  simon
8995         * interpreter.c:
8996         Remove lvalue cast.
8998 2001-09-14 11:45  simon
9000         * Configure.pl:
9001         Be 5.005 friendly.
9003 2001-09-14 11:39  simon
9005         * Configure.pl:
9006         Tru64 cc doesn't like -Wall
9008 2001-09-14 10:57  simon
9010         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
9011         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
9012         config.h.in, config_h.in, disassemble.pl, interpreter.c:
9013         Configure now generates Makefile
9015         Courtesy of: Brent Dax <brentdax@cpan.org>
9017 2001-09-14 10:08  simon
9019         * t/test3.pasm:
9020         Add "end"
9022         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9024 2001-09-14 10:07  simon
9026         * assemble.pl:
9027                 * uses Getopt::Long for options.  -c is now --checksyntax.
9028         I wasn't
9029         sure how to keep compatible (patches welcome!)         * options
9030         include:                 --help                 --version
9031               --verbose                 --output=file
9032         --listing=file                 --checksyntax         * produces
9033         verbose listing of what the assembler saw :)  Only one nitpick with
9034         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9035         includes symbols which may be defined later in the file (i.e.
9036         forward jumps).
9038         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9040 2001-09-14 10:06  simon
9042         * strnative.c:
9043         substr growth fixup
9045         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9047 2001-09-14 10:03  simon
9049         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9050         register.c, string.c, strnative.c, test_main.c:
9051         Coding standards conformance
9053         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9055 2001-09-14 09:46  simon
9057         * assemble.pl:
9058         Make the assembler grok transcendental maths again.  Courtesy of:
9059         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9061 2001-09-13 17:29  simon
9063         * assemble.pl:
9064         Better opcode guessing, from Brian Wheeler. (Again!)
9066 2001-09-13 17:20  dan
9068         * docs/parrot_assembly.pod:
9070         Took out duplicate entries for iton, ntoi, and tostring.
9072 2001-09-13 17:16  simon
9074         * assemble.pl, basic_opcodes.ops, opcode_table:
9075         From Brian Wheeler:
9077         This patch gives the assembler support of '\a','\n','\r','\t', and
9078         '\\' in string constants.
9080         In addition, it changes (for all registers) "I reg %li is ..." to
9081         just the value of the register.  Printing constants is also
9082         supported, but alas, you have to specify the type (print_sc,
9083         print_ic, print_nc).
9085 2001-09-13 15:38  simon
9087         * assemble.pl:
9088         Why don't I actually *test* this stuff before applying it, eh?
9090 2001-09-13 15:34  simon
9092         * TODO, t/euclid.pasm:
9093         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9094         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9095         inference
9097 2001-09-13 14:42  simon
9099         * assemble.pl:
9100         A new assembler, from Brian Wheeler.
9102 2001-09-13 09:44  simon
9104         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9105         test_main.c:
9106         Two more from Tom Hughes:     Patch to fix C++ style comments
9107         Patch to remove use of structure constant/cast
9109 2001-09-13 09:39  simon
9111         * TODO, docs/strings.pod:
9112         Update string docs.
9114 2001-09-13 09:36  simon
9116         * Makefile, basic_opcodes.ops:
9117         Tom Hughes      Patch to link with the maths library Tom Hughes
9118          Patch to fix += on rvalue
9120 2001-09-13 08:57  simon
9122         * MANIFEST:
9123         I guess nobody's been using the nightly builds...
9125 2001-09-13 08:27  simon
9127         * assemble.pl, basic_opcodes.ops, opcode_table:
9128         Bitwise ops, from Brian Wheeler.
9130 2001-09-13 08:23  simon
9132         * .cvsignore, t/.cvsignore:
9133         .cvsignore's, from Gregor Purdy.
9135 2001-09-13 08:22  simon
9137         * Makefile:
9138         Euclidean test and test output rearranging from Gregor Purdy.
9140 2001-09-13 08:21  simon
9142         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9143         Math ops from Gibbs Tanton.
9145 2001-09-13 08:14  simon
9147         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9148         t/test2.pasm:
9149         String substr op; also rearranged "encoding" to be a vtable
9150         pointer, not an array index. Haven't changed docs to reflect this,
9151         oops.
9153         Simon
9155 2001-09-12 19:48  dan
9157         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9158         Gregor Purdy
9160 2001-09-12 19:39  dan
9162         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9164 2001-09-12 19:23  dan
9166         * interpreter.h, parrot.h: Quick placeholder entry for string
9167         function tables
9169 2001-09-12 18:58  dan
9171         * memory.c: Added in a cast to make gcc happy.
9173 2001-09-12 16:44  dan
9175         * docs/parrot_assembly.pod:
9177         PDD describing parrot's assembly language and the opcodes in it
9179 2001-09-12 14:20  dan
9181         * memory.c:
9182         Fixed alignment issues with allocation
9184 2001-09-12 10:54  simon
9186         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9187         make_op_header.pl, opcode_table, process_opfunc.pl:
9188         Brian Wheeler's big patch:
9190         * Changes the opcode_table file to provide additional information
9191         about the operands.  Case shouldn't be a problem since that data
9192         never becomes a C symbol [this is pretty much as before]
9194         * Padding errors solved:  assemble.pl and bytecode.c were padding
9195         the constants incorrectly.  It should have been 4-(size % 4), not
9196         just (size % 4).  It is now fixed in both places.
9198         * assembler has less special cases, and should be easier to hang
9199         error checking on
9201         * disassembler dumps constant table and the format is a bit
9202         prettier, including register names, etc.
9204 2001-09-11 23:21  dan
9206         * build_interp_starter.pl, interpreter.c:
9208         Abstracted the runops function core into a macro for easy
9209         replacement later.
9211 2001-09-11 10:43  simon
9213         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9214         Configure system from Brent Dax <brentdax@cpan.org>
9216 2001-09-11 09:38  simon
9218         * assemble.pl, test.pbc:
9219         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9220         assembler deferred output
9222         Also got rid of the bytecode, since that's probably way out of
9223         date.
9225 2001-09-11 09:26  simon
9227         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9228         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9229         patch
9231 2001-09-10 23:20  simon
9233         * MANIFEST:
9234         And that move needs a MANIFEST change. So many things to remember!
9236 2001-09-10 23:18  simon
9238         * t/: test.pasm, test2.pasm, test3.pasm:
9239         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9241 2001-09-10 23:18  simon
9243         * test.pasm, test2.pasm, test3.pasm:
9244         Move tests to t/
9246 2001-09-10 23:04  dan
9248         * test3.pasm:
9250         Register push/pop test
9252 2001-09-10 22:47  simon
9254         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9255         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9256         (Modified to avoid conflict with Dan's changes.)
9258 2001-09-10 22:45  dan
9260         * disassemble.pl:
9262         Happier about blanks in opcode_table
9264 2001-09-10 22:40  dan
9266         * interpreter.c, register.c:
9268         Yanked out debugging code, since these work OK. The bug I want is
9269         elsewhere.
9271 2001-09-10 22:30  simon
9273         * MANIFEST:
9274         Uhm. We want make_op_header.pl. We really, really do.
9276 2001-09-10 22:26  simon
9278         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9279         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9280         opcode_table, process_opfunc.pl:
9281         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9282         This means we can add lots more opcodes without fiddling about with
9283         the numbers. Hooray!
9285         Don't forget that "end" needs to be op zero, else the interpreter
9286         falls off the end of the code. This is Bad, and I wonder if there's
9287         a way around it.
9289 2001-09-10 19:49  simon
9291         * MANIFEST, make_op_table_build.pl:
9292         Hey! This doesn't do anything...
9294 2001-09-10 19:46  simon
9296         * Makefile:
9297         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9299 2001-09-10 18:31  simon
9301         * MANIFEST:
9302         You know what this means...
9304 2001-09-10 18:30  simon
9306         * assemble.pl:
9307         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9308         wait for a release...? :)
9310 2001-09-10 18:13  simon
9312         * interpreter.c:
9313         Bad Dan! No cookie!
9315 2001-09-10 17:56  simon
9317         * README:
9318         A *real* README file, which doesn't claim it isn't for public
9319         consumption.
9321 2001-09-10 17:02  simon
9323         * TODO:
9324         More things to do.
9326 2001-09-10 16:56  dan
9328         * TODO: Added in assembler gripe. Also added a few blank lines for
9329         clarity
9331 2001-09-10 16:49  dan
9333         * register.h, register.c: Renamed the core functions so the opcodes
9334         can find 'em OK. (There were some conflicts)
9336 2001-09-10 16:48  dan
9338         * basic_opcodes.ops, opcode_table: Added register window ops
9340 2001-09-10 11:07  simon
9342         * TODO:
9343         Trivial TODO list.
9345 2001-09-10 11:05  simon
9347         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9348         note "-s" flag to test prog.
9350 2001-09-10 11:01  simon
9352         * docs/strings.pod:
9353         New string documentation.
9355 2001-09-10 11:01  simon
9357         * basic_opcodes.ops, opcode_table:
9358         String ops.
9360 2001-09-10 10:53  simon
9362         * global_setup.c:
9363         More string fu.
9365 2001-09-10 10:51  simon
9367         * memory.h:
9368         Just some more aliases for now. Used by string handling stuff.
9370 2001-09-10 10:50  simon
9372         * assemble.pl, bytecode.c, bytecode.h:
9373         Temporary hack to store string constants in bytecode and recreate
9374         them at runtime.
9376 2001-09-10 10:48  simon
9378         * op.h:
9379         op.h is now generated by the Makefile; remove it.
9381 2001-09-10 10:47  simon
9383         * Makefile:
9384         clean and op.h Makefile targets.
9386 2001-09-10 10:45  simon
9388         * string.c, string.h, strnative.c:
9389         More string vtable stuff.
9391 2001-09-07 21:07  dan
9393         * assemble.pl:
9395         Much less picky about whitespace in the opcode_table now. (Doesn't
9396         whine on blank lines)
9398 2001-09-07 16:23  dan
9400         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9401         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9402         this takes) Added global_setup.h to declare init_world function
9404         Moved variable declarations out of the interpreter loop for small
9405         speed boost.
9407         Changed end opcode to now be opcode #0. A function is provided for
9408         it, but isn't ever executed.
9410         When the interpreter sees an opcode 0 in the stream it means the
9411         end of stream. Things were coring on Cygwin otherwise. (I think I
9412         was dereferencing a zero, which is bad)
9414 2001-09-06 22:07  dan
9416         * basic_opcodes.ops, process_opfunc.pl:
9418         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9419         are minor changes now that things are in a fixed state.
9421 2001-09-06 16:13  dan
9423         * basic_opcodes.c, test_opcodes.c:
9424         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9426         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9427         should be nuked. So it is. :)
9429 2001-09-06 03:35  dan
9431         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9432         Scripts to build the header file that holds the function table
9433         creation code, as well as the script to turn an opcode file to C
9434         source. (And the basic opcode functions turned into an opcode
9435         source file)
9437 2001-09-06 03:31  dan
9439         * Makefile, interpreter.c:
9440         Changes to support the autogeneration of the opcode function
9441         pointer table in interpreter.c, along with the changes to the
9442         Makefile needed.
9444 2001-09-05 13:27  simon
9446         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9447         docs/parrotbyte.pod, docs/vtables.pod:
9448         Added stubs for the documents; working on them this week. (What's
9449         left of it.) config.h change is just to type VTABLE, and the
9450         bytecode thing you might want to revoke. It's apidoc for the
9451         functions in there.
9453 2001-09-03 18:26  simon
9455         * docs/strings.pod:
9456         A start on the string API documentation.
9458 2001-09-03 17:43  simon
9460         * opcode_table:
9461         Since we specify the opcode number, we can rearrange to a more
9462         human-friendly ordering.
9464 2001-09-03 17:42  simon
9466         * basic_opcodes.c:
9467         Coupl'a logic bugs. (I think)
9469 2001-09-03 17:41  simon
9471         * string.c, string.h, strnative.c:
9472         Tidying up the string vtables.
9474 2001-09-03 17:38  simon
9476         * make_op_header.pl:
9477         Spit out the whole of op.h, not just the bit in the middle.
9479 2001-08-29 13:16  ask
9481         * README: it seems like we indeed can commit. What about sending
9482         commit mails?
9484 2001-08-29 13:07  simon
9486         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9487         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9488         global_setup.c, interpreter.c, interpreter.h, io.h,
9489         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9490         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9491         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9492         test.pbc, test_main.c, test_opcodes.c:
9493         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9494          I'm still working on the string stuff, though.
9496 2001-08-29 12:44  ask
9498         * README: update README with list address
9500 2001-08-29 12:36  ask
9502         * README: first readme.