Fix skip/plan, should quiet coretest
[parrot.git] / ChangeLog
blobcbc3d6e6d602b24e916256a8177bfd3d8348b6d7
1 #1 $Id$
3 2010.02.16     darbelo
4         * Released 2.1.0
5         See NEWS for more.
7 2010.01.19     chromatic
8         * Released 2.0.0
9         See NEWS for more.
11 2009.12.15     Gerd
12         * Released 1.9.0
13         See NEWS for more.
15 2009.11.17     barney
16         * Released 1.8.0
17         See NEWS for more.
19 2009.10.20     dukeleto
20         * Released 1.7.0
21         See NEWS for more.
23 2009.9.15     particle
24         * Released 1.6.0
25         See NEWS for more.
27 2009.8.18     Whiteknight
28         * Released 1.5.0
29         See NEWS for more.
31 2009.7.21     cotto
32         * Released 1.4.0
33         See NEWS for more.
35 2009.06.16    Whiteknight
36         * Released 1.3.0
37         See NEWS for more.
39 2009.05.19    Infinoid
40         * Released 1.2.0
41         See NEWS for more.
43 2009.04.21    fperrad
44         * Released 1.1.0
45         See NEWS for more.
47 2009.03.17    allison
48         * Released 1.0.0
49         See NEWS for more.
51 2009.02.17    kjs
52         * Released 0.9.1
53         See NEWS for more.
55 2009.01.20    chromatic
56         * Released 0.9.0
57         See NEWS for more.
59 2008.12.16    Whiteknight
60         * Released 0.8.2
61         See NEWS for more.
63 2008.11.18    chromatic
64         * Released 0.8.1
65         See NEWS for more.
67 2008.10.21    particle
68         * Released 0.8.0
69         See NEWS for more.
71 2008.09.16    pmichaud
72         * Released 0.7.1
73         See NEWS for more.
75 2008.08.19    rgrjr
76         * Released 0.7.0
77         See NEWS for more.
79 2008.07.15    barney
80         * Released 0.6.4
81         See NEWS for more.
83 2008.06.17    smash
84         * Released 0.6.3
85         See NEWS for more.
87 2008.05.20    chromatic
88         * Released 0.6.2
89         See NEWS for more.
91 2008.04.15    particle
92         * Released 0.6.1
93         See NEWS for more.
95 2008.03.18    bernhard
96         * Released 0.6.0
97         See NEWS for more.
99 2008.02.20    pmichaud
100         * Released 0.5.3
101         See NEWS for more.
103 2008.01.15    rgrjr
104         * Released 0.5.2
105         See NEWS for more.
107 2007.12.18    jonathan
108         * Released 0.5.1
109         See NEWS for more.
111 2007.11.20    chromatic
112         * Released 0.5.0
113         See NEWS for more.
115 2007.10.17    coke
116         * Released 0.4.17
117         See NEWS for more.
119 2007.09.18    particle
120         * Released 0.4.16
121         See NEWS for more.
123 2007.08.22    pmichaud
124         * Released 0.4.15
125         See NEWS for more.
127 2007.07.17    particle
128         * Released 0.4.14
129         See NEWS for more.
131 2007.06.19    allison
132         * Released 0.4.13
133         See NEWS for more.
135 2007.05.15    chromatic
136         * Released 0.4.12
137         See NEWS for more.
139 2007.04.17    mdiep
140         * Released 0.4.11
141         See NEWS for more.
143 2007.03.20    coke
144         * Released 0.4.10
145         See NEWS for more.
147 2007.3.10     coke
148         * removed parakeet
150 2007.02.22    pmichaud
151         * Released 0.4.9
152         See NEWS for more.
154 2007.01.17    chromatic
155         * changed 'name' method on namespaces to 'get_name' per pdd21
157 2007.01.16    particle
158         * Released 0.4.8
159         See NEWS for more.
161 2006.12.12    particle
162         * added C<isnull> opcode
164 2006.11.14    chip
165         * Released 0.4.7
166         See NEWS for more.
168 2006.11.07      tewk
169         * added :init pragma functionality to subs
171 2006.10.28      jonathan
172         * added :vtable pragma functionality to subs
174 2006.09.18    chromatic
175         * added Parrot::Embed under ext/Parrot-Embed
177 2006.08.18    leo
178         * remove the None PMC - if needed it can trivially be reimplemented
179           in languages from r14189
181 2006.08.16    creiss
182         Merged Software Transactional Memory branch into trunk, adds:
183         * several new opcodes whose names start with stm_
184         * read-only PMC support
185         * several new PMC types (whose names start with STM*)
186         * support for threads (again)
188 2006.08.08    chip
189         * Released 0.4.6
190         See NEWS for more.
192 2006.08.02    chip
193         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
194         there are opcodes now that want the real "in PMC".
195         * namespace and global opcodes now accept name arrays again, as
196         well as keys; the corresponding namespace PMC methods are gone.
198 2006.07.21    leo
199         * Parrot_exit, Parrot_on_exit take now an Interp * argument
201 2006.07.25    chip
202         * add experimental op find_type_i_p
203         * fix longstanding bug that sometimes didn't encode pasm keys as
204         Key PMCs (specifically "[S0]" and "['stringliteral']").
206 2006.07.24    chip
207         further implementation of new pdd21:
208         * new opcodes {get,set}*global
209           (old {find,store}*global will be supported for a short while)
211 2006.07.20    audreyt
212         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
213           (or some such --leo)
214           (at the moment code is checking for 2.0 -- ambs)
216 2006.07.17    chip
217         partial implementation of new pdd21:
218         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
219         * get_namespace and find_global opcodes no longer accept arrays
220           of strings.  To use arrays, call namespace object methods.
222 2006.06.19    leo
223         * Released 0.4.5
224         See NEWS for more.
226 2006.06.03    leo
227         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
229 2006.05.14    leo
230         * Released 0.4.4
231         See NEWS for more.
233 2006.04.30    bernhard
234         * Make the Perl PMCs dynamic and move them to src/dynpmc
236 2006.04.02    leo
237         * Released 0.4.3
238         See NEWS for more.
240 2006.03.06    leo
241         * Shifted argument type bits left by 2 according to r11754
242           change of docs/pdds/pdd03_calling_conventions.pod
243         * if you are creating PASM then code needs adjustment
245 2006.02.22    leo
246         * Released 0.4.2
247         See NEWS for more.
249 2006.01.16    bernhard
250          * rename src/dynclasses to src/dynpmc
251          * rename src/classes to src/pmc
253 2006.01.15    leo
255          * find_global and friends returns a .Null PMC instead of .Undef on
256           lookup failure, iff lookup exceptions are off
258 2006.01.08    leo
259         * Released 0.4.1
260         See NEWS for more.
262 2005.12.28    particle
263         * renamed all .imc files to .pir
264         * modified all doc references to .pir as well
266 2005.12.13    particle
267         * moved jit/ directory to src/jit/
269 2005.12.12    particle
270         * moved io/ directory to src/io/
271         * moved classes/ directory to src/classes/
272         * moved dynclasses/ directory to src/dynclasses/
274 2005.12.08    particle
275         * moved types/ directory to src/types/
276         * moved pf/ directory to src/packfile/
277         * moved ops/ directory to src/ops/
279 2005.12.08    particle
280         * moved charset/ directory to src/charset/
281         * moved encodings/ directory to src/encodings/
283 2005.12.07    particle
284         * moved imcc/ directory to compilers/imcc/
286 2005.12.06    particle
287         * moved util/ directory to tools/util/
288         * removed imcc/examples/ directory
289         * moved ast/ directory to compilers/ast/
291 2005.12.05    particle
292         * moved imcc/docs/ directory to docs/imcc/
293         * moved build_tools/ directory to tools/build/
294         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
296 2005.12.04    leo
297         * Released 0.4.0
298         * See NEWS for changes
300 2005.11.06    leo
301         * Released 0.3.1
302         * See NEWS for changes
304 2005.10.01    leo
305         * Released 0.3.0
306         * See NEWS for changes
308 2005.08.05    leo
309         * Released 0.2.3
310         * See NEWS for changes
312 2005.07.03    leo
313         * Released 0.2.2
314         * See NEWS for changes
316 2005.06.04    leo
317         * Released 0.2.1
318         * allow short names for object attributes
319         * string encoding and charset can now be set independently
320         * experimental mmap IO layer for slurping files
321         * enable compile opcode support for compilers written in PASM/PIR
322         * improved HLL support with .HLL and n_operators pragmas
323         * simplified hash code
324         * more strength reduce optimizations
325         * distinct debug and trace flag settings
326         * glob support in PGE
327         * new character classification opcodes and interfaces
328         * numerous bug fixes and enhancements
330 2005-05-08    leo
331         * Released 0.2.0
332         * parrot repository is now under subversion
333         * MMD (Multi Method Dispatch) enhanced
334         * new unary and infix opcodes that return new result PMCs
335         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
336         * more unification of PMCs and ParrotObjects
337         * tailcalls for functions and methods
338         * PGE (Parrot Grammar Engine) reworked
339         * Pugs creates Parrot code and Pugs is a registered compiler now
340         * new languages/lisp
341         * the usual bug fixes and improvements
343 2005-03-06    leo
344         * Released 0.1.2
345         * big rewrite of string code, not yet finished but ...
346         * partial implementation of a generational garbage collector
347         * indirect register frame addressing
348         * .return(args) PIR syntax
349         * moved most of the Python code to dynclasses
350         * a lot more Python functionality
351         * precalculate opcodes with all constants
352         * PGE - Parrot Grammar Engine
353         * scalar classes refactoring
354         * much more tests and big test system cleanup
355         * improved documentation
356         * and as always a lot more
358 2004-10-09    leo
359         * Released 0.1.1
360         * Need Perl 5.6 now for building
361         * Basic AST support, PAST file parser, bits of code generation
362         * BigInt PMC using GMP
363         * Complex PMC
364         * Dynamic loading improved including bundles of PMC classes
365         * Experimental support for "make install"
366         * IA64 and hppa JIT support
367         * ICU unicode support
368         * IO layer handling code
369         * IO readline and buffered IO fixes
370         * Incremental GC
371         * Internal pythonic functions: filter, map, reduce, max, min ...
372         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
373         * Library updates, Stream and SDL library
374         * MMD - multi method dispatch for binary vtable methods
375         * Many new array PMCs
376         * Method call syntax in PIR obj."meth"(...)
377         * More OS stuff: stat, exec, system, gmtime, piped read and write
378         * New Python PMCs like Enumerate, None
379         * Non-branching compare opcodes
380         * PIR support for += and friends
381         * Python language subdir
382         * Python types mapped to existing PMCs
383         * Slices and range support
384         * Tons of bug fixes, documentation updates, new tests
385         * Win32 COFF exec support
386         * ... and a lot more
388 2004-02-29    leo
389         * Released 0.1.0
390         * "Ladies and gentlemen, I give you... objects!"
391         * Huge documentation overhaul
392         * More supported platforms, s. PLATFORMS
393         * Basic thread support for pthread based architectures
394         * Basic event handling for timers and signals including:
395         * PASM callbacks for NCI (native C) functions.
396         * Improved platform configuration
397         * COW stacks now working, stacks code redone
398         * Structure handling vastly improved
399         * Random PMC and rand primitives
400         * Better subroutine call syntax in PIR
401         * Make PIR subroutines compliant with pdd03
402         * Improved profiling (DOD, GC timings)
403         * Hash code improvements, incl. random key order support
404         * Experimental freeze/thaw code for some PMC types
405         * IO improvements for buffered layer and Win32
406         * String iterators
407         * String bitwise vtables
408         * Many new opcodes
409         * Support for JIT, where malloced memory isn't executable
410         * Priority DOD scheme for objects that need timely destruction
411         * Improved bytecode loading (e.g. onLoad functions)
412         * Language updates: forth, Perl6/P6C, m4
413         * Libraries: Getopt_Long, SDL, Dumper, Sort
414         * new JAPH examples
415         * Unified imcc and parrot test handling
416         * Many new tests (make test reports 1386 tests)
417         * Numerous bug fixes
420 2003-10-31    leo
421         * Released 0.0.13
422         * Yep thirteen - haunted by the ghost of 0.0.12
423         * Build imcc as parrot
424         * Objects more finished
425         * Delegate vtable methods to byte code
426         * Binary multi-method dispatching
427         * Isa and does methods for PMCs
428         * Call byte code from C
429         * Start of extension interface
430         * Experimental struct handling
431         * Catch access to NULL PMCs
432         * Experimental network socket interface code and opcodes
433         * IO fixes and improvements
434         * Dynamic opcode libraries
435         * Fix-assigned opcode numbers
436         * Argument flattening for function calls
437         * More native call interface (NCI) signatures
438         * Ncurses, postgres, and pcre interface libraries
439         * Forth language is vastly improved
440         * BSD and Win32 build improvements
441         * Many new tests and fixes
443 2003-10-22    melvin
444         * imcc moved from parrot/languages/ to parrot/
446 2003-09-20    sfink
448         * updated the native_pbc test files (from Leo)
449         * built 0.0.11.1 release tarball
451 2003-09-20    sfink
453         * CHANGES BUNDLED INTO 0.0.11:
454         * Executable output
455         * Dynamic PMC registration
456         * Trial exception system
457         * Beginnings of object system
458         * Iterators
459         * Ordered hashes
460         * I/O system improvements
461         * References
462         * Documentation for basic PMC types
463         * IMCC support of Parrot Calling Conventions
464         * Runtime loading of chartypes (and other string improvements)
465         * Conditional breakpoints
466         * Dramatically accelerated sweeps for finalizable objects
467         * Small PMCs (PMCs split into core and extensions)
468         * Loadable bytecode packfiles
469         * Constant PMCs
470         * Sub variants that deal with the stack correctly
471         * Switched runops core
472         * Line numbers in warnings
473         * Environment access
474         * Many documentation cleanups
475         * Conversion to CPS style!
476         * BASIC debugger and many other wacky features
477         * Filename, line number parsing support in IMCC
479 2003-07-21 17:31 chromatic
480         * applied copyright patch from Josh Wilmes
482 2003-06-14 13:50 dan
483         * Moved the registers out of the context structure, since they
484           really aren't context
485         * Changed the register stack frames to hold only 16 registers
486           rather than 32, added half-set push and pop ops, and reworked
487           the full set push/pops to do two half-set push/pops. Should
488           speed up saving register data on calls, since we usually only
489           care about the top half of the registers anyway.
490         * Started committing some of the new class/object framework
491         * Remembered to finally start updating the Changelog
493 2003-03-18 03:50  ask
495         * Various files
496           Update Yet Another copyright statements to reflect the (no longer
497           so) shiny new year.
499 2003-03-11 22:06  chip
501         * Configure.pl: print help on non-option command line args
503 2002-12-18 20:38  sfink: changes since 0.0.8
505         - Allow suppression of cgoto core to save memory during compile
506         * Native function calling interface
507         * Major rewrite of stack and list aggregates
508         - Scalar PMC added
509         * Scratchpads implemented
510         - Win32 libraries
511         - Internal memory subsystem documentation
512         * Preliminary DotGNU support
513         - Packfile fingerprinting
514         * Buffer/PMC unification (into PObjs)
515         * stabs debugging information support
516         * Major Jako overhaul, including:
517           - imcc integration
518           - native function calling
519         - Perl6 string interpolation
520         - languages/regex now targets IMCC
521         * Optional Lea memory allocator
522         * Full sprintf implementation
523         * Many, many new tests
524         * Miniparrot
525         - exchange ops
526         - runtime-controllable gc debugging
527         * PMC properties
528         - Crash info
529         * JIT: various improvements
530           - register usage tracking
531           - block register allocation
532           - optimizations
533           - more jitted ops
534           - restartable
535           - architecture abstraction layer
536           - debugging via GDB
537         * Beginning support for extensible packfiles
538         * Much better key support, generally
539         * splice()
540         * Restructured PMC hierarchy with better functionality inheritance
541         * IMCC: many, many improvements. See imcc/ChangeLog
542         * Perl6: index map grep join reverse defined
543         * Scheme with functions!
546 2002-03-19 22:54  nicholas
548         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
550          We can now get usage information for test_parrot without having to
551          grep the source.
553 2002-03-19 22:53  simon
555         * Configure.pl:
556         Parrot is called parrot.
558 2002-03-19 22:53  nicholas
560         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
562          1. There are tests in t/pmc as well as t/op now.
563          2. Adds a comment about Parrot::Test
565 2002-03-19 18:09  dan
567         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
568         messes up automated builds
570         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
572 2002-03-19 00:33  mrjoltcola
574         * core.ops: Doc cleanup from Simon Glover.
576 2002-03-18 23:52  mrjoltcola
578         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
580 2002-03-18 22:09  dan
582         * include/parrot/resources.h: Checked in old version
584 2002-03-18 20:17  dan
586         * include/parrot/resources.h: Forgot a prototype
588 2002-03-18 20:15  dan
590         * resources.c: D'oh! Thinko, fixed.
592         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
594 2002-03-18 17:33  josh
596         * Configure.pl: Lowering the bar a bit.
598 2002-03-18 17:33  sfink
600         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
601         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
602         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
603         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
604         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
605         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
606         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
607         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
608         t/example.t: Whoops, wrong time to check this in.
610 2002-03-18 16:42  dan
612         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
613         least we consider the PMC and Buffer free pools worth collecting,
614         and initialize the Buffer pool stuff.  Still not 100% correct,
615         though.
617 2002-03-18 15:35  simon
619         * packfile.c:
620         Fix format arg bug.
622 2002-03-18 07:45  brentdax
624         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
625         system.
627 2002-03-18 00:09  sfink
629         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
630         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
631         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
632         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
633         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
634         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
635         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
636         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
637         t/example.t: Buggy 1st version of regex compiler implementation.
638         Warning: the test code depends on features of the assembler that do
639         not yet exist.
641 2002-03-17 21:35  ajgough
643         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
644         through addition and subtraction.  Also added the ability to run
645         all the tests, including the ones which deal with overflow and
646         underflow.  These fail, but that's expected.  Soon they'll pass.
647         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
648         passsssssssings tesssstsssss.
650 2002-03-17 20:06  ajgough
652         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
653         check_(under|over)flow to test bignumbers, rather than values.
654         context now carries E_limit, from which max and min exp are found.
656         Added a default-context-creating function (although this isn't the
657         same as either of the default contexts defined in the eda).
659 2002-03-17 13:31  ajgough
661         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
662         exported version matches prototypes of other public functions.
664 2002-03-17 06:44  josh
666         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
667         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
668         last-minute re-indenting.
670 2002-03-17 05:07  mrjoltcola
672         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
674 2002-03-16 23:17  nicholas
676         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
677         remove warnings:
679          default.pmc: In function `Parrot_default_get_integer_keyed':
680          default.pmc:50: warning: control reaches end of non-void function
681          default.pmc: In function `Parrot_default_get_number_keyed':
682          default.pmc:58: warning: control reaches end of non-void function
683          default.pmc: In function `Parrot_default_get_string_keyed':
684          default.pmc:67: warning: control reaches end of non-void function
685          default.pmc: In function `Parrot_default_get_pmc_keyed':
686          default.pmc:87: warning: control reaches end of non-void function
688 2002-03-16 18:50  ajgough
690         * types/: bignum.c, bignum.h: Lots of prototypes changed in
691         readiness for nicely telling your caller about any oddness you've
692         caused in the persuit of flow.
694 2002-03-16 17:38  dan
696         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
697         include/parrot/interpreter.h, include/parrot/resources.h: Now we
698         can control the GC and DOD, to stop it when we don't really want
699         it.
701 2002-03-16 16:58  dan
703         * resources.c, vtable.tbl, classes/default.pmc,
704         include/parrot/resources.h: Added the last code to let PMCs control
705         their marking at DOD time
707 2002-03-16 16:57  ajgough
709         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
710         feel a little more virtuous now.  Really I do.  You might not
711         believe me, but you should.  perl -pne 's/\t/        /g', if you're
712         curious.
714 2002-03-16 16:57  josh
716         * packfile.c, packout.c: M-x untabify is my new friend.
718 2002-03-16 16:50  josh
720         * trace.c, resources.c: Minor whitespace tweak for the benefit of
721         check_source_standards.pl
723 2002-03-16 16:50  ajgough
725         * types/: bignum.c, bignum.h: More documentation, separate
726         functions into public and private sorts, some initial stuff to cope
727         with over and underflow correctly.
729 2002-03-16 16:49  josh
731         * resources.c: Re-indented (sorry bout the big diff)
733 2002-03-16 16:47  bdwheele
735         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
736         assemble again, both with Simon's new assembler and with the old
737         one.
739 2002-03-16 16:33  mrjoltcola
741         * io/TODO: Get the TODO up-to-date for 0.0.4.
743 2002-03-16 16:11  josh
745         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
746         silly people (such as me) running Configure with
747         /usr/local/bin/perl (which is 5.004_05) and not realising their
748         mistake until the pmc subdirectory, where the first qr// is
749         encountered.
751         Syntax error messages don't tell you what you did wrong. This does:
753         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
754         only version 5.00405, stopped at Configure.pl line 10.
756 2002-03-16 14:38  ajgough
758         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
759         with commenting.
761 2002-03-16 11:45  simon
763         * MANIFEST, examples/assembly/xml_parser.pasm:
764         Added Clint Pierce's XML parser.
766 2002-03-15 22:24  simon
768         * packout.c:
769         Don't need that function.
771 2002-03-15 21:56  simon
773         * Makefile.in, include/parrot/packfile.h:
774         Rebuild packout.o, since it'll be used for the Packfile XS module
776 2002-03-15 19:45  dan
778         * include/parrot/: memory.h, pmc.h: Another add-in for GC
780 2002-03-14 19:48  dan
782         * core.ops: No string to int for some reason
784 2002-03-14 18:45  dan
786         * string.c, t/op/string.t: Fix 0-length substr problem
788 2002-03-14 14:46  dan
790         * core.ops, interpreter.c, resources.c, classes/array.pmc,
791         classes/perlarray.pmc, examples/assembly/life.pasm,
792         include/parrot/interpreter.h, include/parrot/resources.h: Added in
793         a counter for copied memory, with a display in life.pasm
795 2002-03-14 03:16  mrjoltcola
797         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
799 2002-03-13 23:43  simon
801         * packfile.c:
802         Oops.
804 2002-03-13 23:43  simon
806         * packfile.c:
807         Hangs head in shame.
809 2002-03-13 21:31  simon
811         * MANIFEST:
812         FAQ moved.
814 2002-03-13 18:06  simon
816         * string.c:
818         Fix string_compare screw-up.
820 2002-03-13 18:02  brentdax
822         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
823         and add a new question/answer pair.
825 2002-03-12 22:53  mrjoltcola
827         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
829 2002-03-12 22:48  mrjoltcola
831         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
832         warranty provided.
834 2002-03-12 22:29  ajgough
836         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
838 2002-03-12 22:24  ajgough
840         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
841         version 1.1, Don't know if this is the correct number, but I don't
842         want this stuck on my harddrive where it will get lost, so 14 it is
843         :)
845 2002-03-12 11:35  simon
847         * MANIFEST, packdump.c, packout.c:
849         Just so the functionality doesn't disappear.
851 2002-03-12 11:33  simon
853         * Makefile.in, chartype.c, encoding.c, packfile.c,
854         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
855         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
856         include/parrot/chartype.h, include/parrot/encoding.h,
857         include/parrot/packfile.h:
859         Packfile axing.
861 2002-03-11 23:06  nicholas
863         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
865           Core.ops documentation nits
867 2002-03-11 23:05  nicholas
869         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
871           Most of the PerlUndef tests in pmc.t appear to have been added
872         twice.
873           Enclosed patch removes the duplicates.
875 2002-03-10 23:40  nicholas
877         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
879          More tests for the PerlString test-suite.
881 2002-03-10 23:40  nicholas
883         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
885         test for sleep with negative argument
887 2002-03-10 21:58  nicholas
889         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
891          Enclosed patch fixes up a few more holes in our test coverage.
893 2002-03-10 21:18  mrjoltcola
895         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
896         classes/parrotpointer.pmc, classes/perlarray.pmc,
897         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
898         classes/perlstring.pmc, classes/perlundef.pmc,
899         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
900         argument to the init() vtable method so PMCs have the option to
901         know how to size themselves at creation. size could be N elements
902         or a byte count, depending on the PMC or it may simply be ignored.
903         Overloaded 'new' opcode for optional arg.
905 2002-03-10 21:15  mrjoltcola
907         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
908         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
909         class).
911         Also added small hack for .sub directive (which simply translates
912         to a label, however we might eventually want to collect these to
913         validate bsr calls.
915 2002-03-10 15:09  ajgough
917         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
918         Added round_floor and round_ceiling.  3403 tests pass, none fail.
920 2002-03-10 03:56  ajgough
922         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
923         divide, divide integer and remainder.  All filled in functions now
924         have special values capability.
926         Much remains to be done though, and the pdd needs to catch up.
928 2002-03-10 01:36  ajgough
930         * types/bignum.c: Added extended stuff to _add, _subtract.
932 2002-03-10 00:14  nicholas
934         * t/op/: integer.t, number.t: Patch from Simon Glover
935         <scog@roe.ac.uk>:
937          The enclosed patch fixes a few of the holes in our test coverage
938          uncovered by Josh Wilmes
940 2002-03-09 23:03  ajgough
942         * types/: bignum.c, bignum.h: Modified compare to work with
943         extended values.  Made a couple of changes here and there to allow
944         BN_comp to take a context, so that an is_zero check doesn't clobber
945         negative zeros.
947 2002-03-09 22:19  ajgough
949         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
950         Unary plus now copes with special values.
952 2002-03-09 04:25  ajgough
954         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
955         traps and flags are now enabled and tested for all the standard
956         tests for all the functions which are currently implemented.  Test
957         harness faffed with to allow these to be tested.
959 2002-03-09 02:29  josh
961         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
962         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
963         Re-indented
965 2002-03-09 02:22  josh
967         * config_h.in: tab-blastin'
969 2002-03-09 02:21  josh
971         * check_source_standards.pl: Play nicer with M-x compile- don't
972         bother giving line numbers for things you don't want to look at.
974 2002-03-09 02:10  josh
976         * examples/mops/mops.c: re-indented
978 2002-03-09 02:07  josh
980         * classes/pmc2c.pl: Use the usual header so that we can detect the
981         autogeneratedness.
983 2002-03-09 02:05  josh
985         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
986         compiler warning
988 2002-03-09 01:59  josh
990         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
991         patch- re-indent io/*.c.
993 2002-03-09 01:52  ajgough
995         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
996         special values to the string conversion functions, some other
997         functions now need context (to let -0 pass through really_zero)
998         which have also been added.
1000 2002-03-09 01:47  josh
1002         * test_main.c: Re-indented.
1004 2002-03-09 01:41  josh
1006         * rx.c: killed a stray tab
1008 2002-03-09 01:38  josh
1010         * rx.c: Re-indented.
1012 2002-03-09 01:36  josh
1014         * misc.c: Oops, some tabs remained- cleaned up.
1016 2002-03-09 01:31  josh
1018         * misc.c: Re-indented (major patch, sorry)
1020 2002-03-09 00:59  josh
1022         * embed.c: Re-indented.
1024 2002-03-08 23:08  simon
1026         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1027         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1028         docs/pdds/pdd13_bytecode.pod:
1029         Placeholder PDDs.
1031 2002-03-08 21:12  ajgough
1033         * include/parrot/string.h: Added private flags to string.h, mostly
1034         so that other GCed stuff can also have its very own private flags.
1036 2002-03-08 19:53  simon
1038         * MANIFEST:
1039         Great PDD Renaming
1041 2002-03-08 19:41  robert
1043         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1044         pdd6.pod, pdd7.pod: Renamed...
1046 2002-03-08 18:51  simon
1048         * MANIFEST, docs/pdds/pdd08_keys.pod:
1049         Add keys PDD.
1051 2002-03-08 18:20  ajgough
1053         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1054         Introduced exception handlers and exception flags to context, will
1055         allow support of extended standard.  Unified exception checking
1056         mechanism (sort of) and made minimal changes to bulk of code to use
1057         this.  Tests pass, I'm happy, and further changes will happen more
1058         gradually.
1060 2002-03-08 04:38  josh
1062         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1063         tweaks.
1065 2002-03-08 04:37  josh
1067         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1069 2002-03-08 04:24  josh
1071         * embed.c: A bit more re-indenting
1073 2002-03-08 04:20  josh
1075         * embed.c: Indenting fixes
1077 2002-03-08 04:14  josh
1079         * jit.c: Re-indented (run_indent.pl)
1081 2002-03-08 03:36  josh
1083         * ops2c.pl: Fix the line numbers which get reported while compiling
1084         core_ops*.c
1086 2002-03-08 03:22  josh
1088         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1089         The variable "type" is set but never used.
1091               opcode_t type;
1093 2002-03-08 03:04  josh
1095         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1096         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1097         noticed by the sgi compiler.
1099 2002-03-08 03:02  josh
1101         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1102         misc.c, Line = 417   The indicated type qualifier is meaningless on
1103         cast type.
1106         (const char) 'f');
1107                                                                          ^
1109 2002-03-08 02:55  josh
1111         * Makefile.in: Clean up one of the object files it was missing
1113 2002-03-08 01:15  josh
1115         * include/parrot/interpreter.h: Fixes the following error (tcc):
1116         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1117         comma at end of list.
1119 2002-03-06 22:15  simon
1121         * stacks.c:
1122         Tidy up stack chunk allocation.
1124 2002-03-06 21:00  simon
1126         * interpreter.c:
1127         Create strings only once we've got string register heads set up.
1129 2002-03-06 20:31  simon
1131         * classes/perlarray.pmc:
1132         malloc(0) considered harmful.
1134 2002-03-06 20:24  simon
1136         * include/parrot/resources.h:
1137         I like it when Parrot compiles.
1139 2002-03-06 17:02  dan
1141         * classes/array.pmc: Changed over to data pointing to a Buffer.
1143 2002-03-06 15:45  dan
1145         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1146         packfile.c, pbc2c.pl, pdump.c, resources.c,
1147         include/parrot/interpreter.h, include/parrot/memory.h,
1148         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1149         and opcode_t > longs will now be even more suspect than what they
1150         were beforehand.  2) Feel free to bicker with names.  I don't think
1151         we've come to *any* sort of agreement with these, although we
1152         really, really, need to.  3) I forget the third thing.  4) But I
1153         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1154         ANSI C states that enums will fit within the smallest type (int or
1155         greater) that can hold the values. Is that actually correct, and
1156         does it state whether unsigned is preferred to signed for
1157         non-negative enums? 6) Since I'm no longer constrained by "three"
1158         or "quick", I'm going size_t happy for a lot of memory-related
1159         storage.  (That's good.  No sense wasting the size or performance
1160         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1161         a couple other internal things (like the GC stat counters, seen
1162         here).  Size and performance, again, and unpromotable to a bigint,
1163         so we know that we (theoretically) will wrap.  However, size_t
1164         isn't the best choice for the type.  (Not that there's anything
1165         wrong with size_t, just that it shouldn't be called size_t.)  Any
1166         thoughts?  I was thinking of just doing unsigned int, because,
1167         IIRC, int is usually the natural word size, and will be most
1168         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1169         of was while writing down the others.  Sorry.
1171         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1173 2002-03-06 15:26  dan
1175         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1176         include/parrot/resources.h: Now we allocate generic Buffers from
1177         arenas too
1179 2002-03-05 21:42  brentdax
1181         * Configure.pl: Minor cleanup and enhancements.
1183 2002-03-05 21:25  dan
1185         * resources.c: non-special GC now works with PMCs
1187 2002-03-05 19:48  brentdax
1189         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1190         Parrot now "knows" if it's a development version or a release
1191         version.  See the instructions in the DEVELOPING file.
1193 2002-03-05 18:05  brentdax
1195         * MANIFEST: pasm.vim wasn't in the manifest.
1197 2002-03-05 17:57  simon
1199         * Makefile.in:
1200         Now, through much evilness, make distclean and make cvsclean work
1201         again.
1203 2002-03-05 17:38  dan
1205         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1206         include/parrot/interpreter.h, include/parrot/pmc.h,
1207         include/parrot/resources.h: PMC tracing complete
1209 2002-03-05 16:28  gregor
1211         * languages/jako/Makefile.in:
1212         Changed -I ../../ to -I ../../lib when calling the assembler, since
1213         the perl modules have moved.
1215 2002-03-05 05:30  josh
1217         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1218         string.c: More re-indenting via run_indent.pl.
1220 2002-03-05 05:17  josh
1222         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1223         run_indent.pl)
1225 2002-03-05 04:26  josh
1227         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1228         using run_indent.pl and some minor tweaking.
1230 2002-03-05 04:21  josh
1232         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1233         interpreter.c: Re-indented using run_indent.pl and some minor
1234         tweaking.
1236 2002-03-05 03:30  josh
1238         * include/parrot/trace.h: These functions are no longer used (or
1239         even implemented)
1241 2002-03-04 18:21  josh
1243         * include/parrot/trace.h: Fix a typo in the argument type.
1245         Patch from <daniel.ritz@gmx.ch>
1247 2002-03-04 03:39  josh
1249         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1250         header to jit_struct.h so we don't try to check it for conformance.
1251          (no way will it conform)
1253 2002-03-04 03:38  josh
1255         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1256         unicode.h, warnings.h: Remove some remaining tabs and split some of
1257         the remaining long lines.
1259 2002-03-04 03:17  josh
1261         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1262         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1263         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1264         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1265         string_funcs.h, trace.h, warnings.h: This is the first batch of
1266         re-indenting.   This patch is the result of running run_indent.pl
1267         on the header files and manually tweaking the results where errors
1268         were noticed.   This should get us closed, but some refinement may
1269         follow.
1271 2002-03-04 03:06  josh
1273         * resources.c: Return without parens, as mentioned in PDD 7
1275 2002-03-04 03:01  josh
1277         * core.ops: POD fixes.
1279 2002-03-04 02:58  josh
1281         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1282         on autogenerated files- used by the check_source_standards.pl
1283         script (for now) to exempt autogenerated files from the checks.
1285 2002-03-04 02:51  josh
1287         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1288         warnings.c: Added the editor "boilerplate" footer to a few files
1289         which were missing it.
1291 2002-03-04 02:34  josh
1293         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1294         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1295         c preprocessor directive indentation to comply with pdd 7.
1297         (also fixes the check for this indentation in
1298         check_source_standards.pl)
1300 2002-03-04 02:32  josh
1302         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1303         irix.
1305         perl t/harness t/op/basic..........Use of uninitialized value at
1306         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1307         line 6) #          got: undef #     expected: ''
1309 2002-03-04 02:30  josh
1311         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1312         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1313         "indent" program to enforce some of the code style standards
1314         outlined in PDD 7.
1316         Usage: ./run_indent.pl <file>
1318 2002-03-03 19:04  simon
1320         * examples/mops/mops.c:
1321         Let's make it compile, huh?
1323 2002-03-03 19:04  simon
1325         * examples/mops/mops.cs:
1326         I R AN IDIOT
1328 2002-03-03 18:11  simon
1330         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1331         Added C# and MS-IL versions of mops tester.
1333 2002-03-03 14:52  simon
1335         * core.ops:
1336         Add a sub() op to make mops_p work.
1338 2002-03-02 18:12  nicholas
1340         * examples/mops/mops.c, include/parrot/embed.h,
1341         include/parrot/interp_guts.h, include/parrot/jit.h,
1342         include/parrot/misc.h, include/parrot/packfile.h,
1343         include/parrot/rx.h, include/parrot/warnings.h,
1344         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1345         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1346         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1347         indent variables correctly.
1349 2002-03-02 17:41  nicholas
1351         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1352         patch to fix a compiler warning.
1354 2002-03-01 22:35  dan
1356         * memory.c, resources.c, include/parrot/pmc.h,
1357         include/parrot/resources.h: PMCs now come out of arenas.
1359 2002-03-01 06:15  dan
1361         * string.c:
1362         A non-existing buffer + a non-existing buffer should be a
1363         non-existing buffer, not "", which is really '\0'.
1365         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1367 2002-03-01 06:02  dan
1369         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1371         TMTOWTDI, but strcmp is probably the worse.
1373         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1375 2002-03-01 02:32  brentdax
1377         * embed.c: Debug mode now prints out the GC data.
1379 2002-02-28 23:44  dan
1381         * core.ops, resources.c, include/parrot/resources.h: Added collect
1382         and sweep opcodes
1384 2002-02-28 22:58  dan
1386         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1387         opcode
1389 2002-02-28 22:50  dan
1391         * core.ops, interpreter.c, resources.c,
1392         examples/assembly/life.pasm, include/parrot/interpreter.h,
1393         include/parrot/resources.h: Add some stat gathering to the resource
1394         allocation code.
1396         Also add an interpreter info retrieval op, and teach it about the
1397         different things it can retrieve.
1399         Finally, add some stat info to life.pasm as an example
1401 2002-02-28 21:27  dan
1403         * editor/pasm.vim: VIM mode commands for parrot assembly files
1405         Courtesy of Scott Beck <scott@gossamer-threads.com>
1407 2002-02-28 19:20  dan
1409         * examples/assembly/life.pasm: Fix a creeping string length leak.
1411         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1413 2002-02-28 18:26  dan
1415         * string.c: When you clone a constant, it ain't constant no mo'.
1417         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1419 2002-02-28 00:51  dan
1421         * MANIFEST: Add missing files
1423         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1425 2002-02-28 00:49  dan
1427         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1428         CVS seems to have several chunks missing out of it, too.  This
1429         patch is simply an administrative patch, with the differences
1430         between my last version, and the one currently in there.  There
1431         will be a forthcoming patch for some minor tweaking to the PDD, but
1432         I wanted a common baseline before I make any (potential) semantic
1433         changes.
1435         There's only one semi-major change, which noone needs to worry
1436         about just yet.  That's a change from PDD Format 1 to PDD Format
1437         6.0 - rationale can be found under 'Standard (Version #)' of the
1438         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1439         should be 6.0.0, and we need to discuss Perl versus Parrot with
1440         PDDs.
1442         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1444 2002-02-28 00:27  dan
1446         * packfile.c, resources.c, examples/assembly/life.pasm,
1447         include/parrot/register.h, include/parrot/resources.h,
1448         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1449         no PMCs yet)
1451         This patch now implements a real copying collector. We trace from
1452         our root set and compact the contents of Buffer structs.
1454         Todo:
1456         *) It's very STRING-centric and doesn't handle memory stuffed in
1457         Buffers.  But, then, we don't have pool allocation for Buffers
1458         either, and we need to have that soonish for this to work.
1460         *) Doesn't trace PMCs, so if you trigger a collection and there's
1461         memory or STRING structs only accessible from PMCs, you'll fail
1462         horribly. That needs fixing too
1464         *) Better algorithms for when to trace or collect vs when to just
1465         go allocate more memory from the system. Should probably be more
1466         cache friendly too.
1468 2002-02-27 21:04  dan
1470         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1471         examples/assembly/life.pasm, include/parrot/resources.h,
1472         include/parrot/string.h, include/parrot/string_funcs.h,
1473         jit/i386/core.jit: Start of GC in
1475 2002-02-26 16:41  dan
1477         * jit/i386/string.jit: Fix a typo
1479         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1481 2002-02-26 16:37  dan
1483         * interpreter.c: Fix solaris test failures
1485         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1487 2002-02-26 16:36  dan
1489         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1490         unicode.h, warnings.h: Fixes various warts in header files, such
1491         as: * macros   -added parens to prevent problems with operator
1492         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1493         is no longer used * added some more INLINE definitions for MSVC and
1494         C99 compilers
1496         Courtesy of Brian Lee Ray <blray@ualr.edu>
1498 2002-02-26 16:20  dan
1500         * Configure.pl: Turns out we were using a warning flag which
1501         doesn't exist on 2.7.  Simple tweak though:
1503         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1505 2002-02-25 22:58  dan
1507         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1509 2002-02-25 17:36  dan
1511         * include/parrot/pmc.h: Fix the bits
1513 2002-02-23 21:57  dan
1515         * include/parrot/resources.h: Another 1.5% never hurts
1517 2002-02-23 21:44  dan
1519         * global_setup.c, memory.c, resources.c, string.c,
1520         include/parrot/resources.h: Allocate STRING headers from an arena
1521         with freelist rather than with the system malloc. First step in a
1522         good (or even a bad) GC system.
1524 2002-02-23 20:37  brentdax
1526         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1528 2002-02-22 14:59  ajgough
1530         * types/bignum.c: BN_multiply split into BN_multiply and
1531         BN_imultiply, the internal version to be used by idivide so that
1532         rounding isn't performed during intermediate stages of division.
1534         following test scripts now all pass: divide divideint add multiply
1535         subtract remainder compare rounding plus minus (these are all the
1536         operations currently implemented, rescale and power must still be
1537         written, so don't pass right now).
1539 2002-02-22 13:13  ajgough
1541         * types/bignum_atest.pl: Test harness modified to understand
1542         comments better, and be able to run unary (and rounding) tests.
1543         Currently a few rounding tests fail, which are being investigated.
1545 2002-02-22 01:41  dan
1547         * key.c: Although there's more work being done on the key stuff and
1548         this isn't the final fix, applying this patch does get parrot to
1549         build with two more compilers, so it's probably worthwhile.
1551         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1553 2002-02-22 00:53  dan
1555         * config_h.in, misc.c, include/parrot/embed.h,
1556         include/parrot/exceptions.h, include/parrot/interpreter.h,
1557         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1558         include/parrot/resources.h, include/parrot/rx.h,
1559         include/parrot/string.h, include/parrot/unicode.h,
1560         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1561         io/io_win32.c: Fixes the following (lcc) warnings:
1563           - interpreter.c:470: warning: expression with no effect elided
1564                (related to the way warnings flags were defined)
1566           - misc.c:352: warning: unreachable code
1567             misc.c:483: warning: unreachable code
1568                (i introduced these with some overzealous de-linting)
1570           - numerous warnings like this:
1571             io/io_unix.c:383: warning: conversion from pointer to void' to
1572         pointer to
1573             pointer to struct _ParrotIO function(pointer to struct
1574         Parrot_Interp,pointer
1575             to struct _ParrotIOLayer,pointer to const char,pointer to const
1576         char,pointer
1577             to pointer to void)' is compiler dependent
1579         Fixes the following nits:    - remove bad indenting (tabs) in the
1580         includes
1582         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1584 2002-02-21 21:12  ajgough
1586         * types/: bignum.c, bignum.h: These might look like massive
1587         changes, but really it's just he imposition of coding standards.
1588         The file still isn't entirely compliant, but is now much more so.
1590         Also changed:
1592          o a few more comments
1593          o BN_compare uses internal BN_comp to compare
1594          o lost_digits behaviour is now correct (test harness modified to
1595         test
1596            this).
1598         All binary functions now pass all the tests in the basic standard.
1599         Unary functions not yet tested, will be soon.
1601 2002-02-21 18:20  dan
1603         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1604         was no longer needed, and the ssize_t thing really shouldn't be
1605         needed either.
1607         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1609 2002-02-21 18:15  dan
1611         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1612         include/parrot/parrot.h: this patch adds support for the freely
1613         available borland c++ 5.5.1 compiler
1615         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1616         working borland compiler (compiler must know where to find headers
1617         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1618         cc='cl.exe' - a working make utility (borland make doesn't work,
1619         nmake does)
1621         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1622         hints/mswin32.pl - remove a space from Configure.pl (very very
1623         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1624         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1625         (win32 knows it, linux not)
1627         and the why: - parrot is MUCH faster when compiled with borland c
1628         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1629         seconds
1631         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1633 2002-02-21 18:09  dan
1635         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1636         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1637         cuddled elses, as required by PDD 7.
1639         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1641 2002-02-21 18:04  dan
1643         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1644         a new Makefile target called "check_source".  This target scans all
1645         the .c and .h files in the directory and checks for conformance to
1646         a number of the standards outlined in PDD 7.
1648         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1650 2002-02-21 16:38  ajgough
1652         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1653         allow arithmetic with numbers with a fixed fractional part, buffer
1654         structures now more ready to be integrated into the parrot memory
1655         allocation game, test harness modified to allow lost_digits
1656         condition to be checked.  Some more comments.
1658 2002-02-21 15:53  simon
1660         * io/io_unix.c:
1661         Fix typo
1663         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1665 2002-02-20 16:41  dan
1667         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1669 2002-02-18 18:25  dan
1671         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1673         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1675 2002-02-18 18:21  dan
1677         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1678         CPrederef.pm to make to generated code compile with the MS
1679         compiler.
1681         fixes: - ms compiler allows inline only for c++, for c there's
1682         __inline - ms header files knows nothing about ssize_t
1684         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1686 2002-02-18 17:49  dan
1688         * MANIFEST: Add the PDDs
1690 2002-02-18 17:47  dan
1692         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1693         coding standards PDD.
1695 2002-02-18 17:40  dan
1697         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1699 2002-02-18 12:41  gregor
1701         * test_main.c:
1702         Remove warning about exit() not being declared.
1704 2002-02-18 08:29  simon
1706         * misc.c, warnings.c, include/parrot/misc.h,
1707         include/parrot/warnings.h:
1708         This patch adds some missing const's to silence a number of gcc
1709         warnings.
1711         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1713 2002-02-18 08:26  simon
1715         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1716         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1717         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1718         include/parrot/parrot.h, include/parrot/rx.h,
1719         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1720         lib/Parrot/OpTrans/CPrederef.pm:
1721            - add makefile target and script to test for external libc
1722         dependencies
1723            - fix return values in hash and array PMCs (returning 0 in a
1724         void func)
1725            - remove unnecessary data pointer <=> function pointer
1726         conversions
1727              outside of the JIT code.
1728            - move the definition of the "INLINE" macro out of the rx header
1729         and make
1730              available for general use on C++ compilers and gcc.
1731            - remove a few unused variables
1733         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1735 2002-02-17 16:29  simon
1737         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1738         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1739         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1740         We're organised and responsible. Honest.
1742 2002-02-17 02:46  sfink
1744         * Makefile.in: Remove $^ for nmake compatibility.
1746 2002-02-16 09:20  brentdax
1748         * config_h.in, test_main.c, include/parrot/chartype.h,
1749         include/parrot/embed.h, include/parrot/encoding.h,
1750         include/parrot/string.h, include/parrot/string_funcs.h: Better
1751         embedding exposure and hiding, part 1.
1753 2002-02-16 04:38  dan
1755         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1756         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1757         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1758         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1759         typecasts in various places throughout the code. It probably won't
1760         work for Windows yet. The libparrot.a target might need to be
1761         modified to at least prevent it from confusing make on Windows; I
1762         don't know.
1764         Preliminary instructions for using pbc2c.pl are in
1765         docs/running.pod.  I'll try to do better later.
1767         Courtesy of Steve Fink <steve@fink.com>
1769 2002-02-16 04:15  dan
1771         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1773         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1775 2002-02-16 00:03  simon
1777         * classes/: perlarray.pmc, perlhash.pmc:
1779         pmc is already defined!
1781 2002-02-15 23:20  brentdax
1783         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1784         include/parrot/exceptions.h: Far more informative panic messages.
1786 2002-02-15 03:24  dan
1788         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1789         much more extensive patch that fixes it to work properly, and
1790         deletes a bazillion casts as well.  It also points to the question
1791         "can we make the byte_code be an opcode_t* already?"
1793         Oh, and it makes some of the formatting prettier, so it's gotta be
1794         good.
1796         Courtesy of * Steve Fink <steve@fink.com>
1798 2002-02-15 02:30  dan
1800         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1801         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1802         of the things it finds.  Attaching the patch as well as the current
1803         lint output.
1805         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1807 2002-02-15 01:59  dan
1809         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1810         moment.
1812 2002-02-15 01:48  dan
1814         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1816 2002-02-15 01:40  dan
1818         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1819         things
1821 2002-02-14 23:30  dan
1823         * resources.c: Added comment for buffer tag routine. D'oh!
1825 2002-02-14 23:28  dan
1827         * resources.c, include/parrot/resources.h: Added buffer mark
1828         routine for GC
1830 2002-02-14 23:17  dan
1832         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1833         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1834         Rejigged memory system a bit. Now should be ready for the horror
1835         that is garbage collection.
1837 2002-02-14 19:33  gregor
1839         * ops2c.pl, include/parrot/oplib.h:
1840         Added code to automatically generate a function within an oplib to
1841         lookup opinfos given the op name. This will come in handy in future
1842         when we want to twiddle opcode tables at run time and possibly at
1843         startup time.
1845 2002-02-14 19:25  gregor
1847         * examples/assembly/queens.pasm:
1848         Regenerated queens.pasm from queens.jako since the clone_* stuff
1849         went away.
1851 2002-02-14 17:12  dan
1853         * resources.c, include/parrot/resources.h: Finished up the
1854         interface for memory and tracked interpreter thingies.
1856 2002-02-14 16:53  dan
1858         * memory.c, include/parrot/memory.h: intercept free and realloc
1860 2002-02-14 05:53  dan
1862         * interpreter.c, runops_cores.c: The type changes in struct
1863         Packfile break the pointer math used in a few places to calculate
1864         the address of the end of the loaded byte code. This causes
1865         segfaults in build_asm in jit.c when using -j. It also breaks the
1866         bounds checking on opcode address in runops_slow_core.
1868         The patch adds the necessary cast to correct the code_end
1869         calculations.
1871         Courtesy of Jason Gloudon <perl@gloudon.com>
1873 2002-02-14 01:01  ajgough
1875         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1876         BigInt operations (I think), tests for normal operation continue to
1877         pass.  Also a shed load of comments.
1879 2002-02-13 01:34  ajgough
1881         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1882         is a (mostly) working bignumber library.  There remains much work
1883         to do though, some functions are not yet implemented and headers
1884         need to find their way to the correct place RSN.  Also support for
1885         bigints and a sensible error reporting mechanism are needed.
1887 2002-02-12 18:51  dan
1889         * misc.c: Fix some warnings
1891 2002-02-12 17:10  dan
1893         * misc.c: Run through indent -kr -nce so I can read it
1895 2002-02-12 16:49  dan
1897         * misc.c: Need standard header/footer comments
1899 2002-02-11 20:32  simon
1901         * classes/array.pmc:
1902         get and set pmc methods.
1904 2002-02-11 20:19  simon
1906         * classes/array.pmc:
1907         Maybe the keys aren't integer...
1909 2002-02-11 20:03  simon
1911         * core.ops, vtable.tbl, classes/default.pmc:
1912         {g,s}et_pmc_keyed
1914 2002-02-11 19:07  simon
1916         * vtable.tbl, classes/default.pmc:
1917         Add set_pmc. Usee with caution.
1919 2002-02-11 18:20  dan
1921         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1922         compile
1924 2002-02-11 17:59  simon
1926         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1927         classes/perlarray.pmc, classes/perlhash.pmc:
1928         Make it compile.
1930 2002-02-11 17:57  simon
1932         * packfile.c, include/parrot/packfile.h:
1933         Reduce warnings
1935         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1937 2002-02-11 17:55  dan
1939         * docs/parrot_assembly.pod: Document some key ops
1941 2002-02-11 09:20  brentdax
1943         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1944         disgustingly easy.
1946 2002-02-11 00:34  simon
1948         * core.ops, include/parrot/exceptions.h:
1949         This is what keyed set ops look like. Remember, however, that for
1950         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1951         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1952         obviously ambiguous that you ought to use the 4-arg version
1953         instead.
1955 2002-02-10 23:12  jgoff
1957         * classes/: array.pmc, perlarray.pmc: Properly allocate
1958         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1959         isn't tested yet, but should be fairly straightforward.  PerlHash
1960         needs to be finished before the system will compile again, and that
1961         should be done in the next few days.
1963 2002-02-09 04:46  jgoff
1965         * classes/: array.pmc, default.pmc, intqueue.pmc,
1966         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1967         Added basic _keyed member functions.  Unfortunately this still
1968         doesn't fix the problems that are causing the build to break. It's
1969         a start though. I'm not implementing the PMC add functions just
1970         yet.
1972 2002-02-08 15:59  simon
1974         * classes/array.pmc:
1975         Some more work on getting the array stuff up to date.
1977 2002-02-08 12:23  simon
1979         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1980         lib/Parrot/Vtable.pm:
1981         Got array->get_integer_keyed doing what I think it ought to. One
1982         down, all the rest to go.
1984 2002-02-08 11:47  simon
1986         * vtable.tbl:
1987         Although I didn't intend it to be quite that broken...
1989 2002-02-08 11:42  simon
1991         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1992         Completely break Parrot, but at least we get the key stuff right
1993         for now.
1995 2002-02-08 06:25  dan
1997         * hints/darwin.pl: Silences the warning about passing in
1998         -flat_namespace to the compile.  That's a link-only flag.
2000 2002-02-08 04:52  jgoff
2002         * classes/: array.pmc, default.pmc, intqueue.pmc,
2003         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
2004         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
2005         return values in *.pmc, added some missing casts to the repeat_foo
2006         members, and deleted the _index members from the perlscalar
2007         classes.  Basic cleanup, and getting ready for _keyed functions.
2009 2002-02-07 04:49  mrjoltcola
2011         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2012         added a nested subroutine call.
2014 2002-02-07 04:32  jgoff
2016         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2017         changes in order to give the whitespace rules a little workout, and
2018         do a little bit more testing. No actual structural changes were
2019         made.  lib/Parrot/Vtable.pm got an interface change, and more
2020         importantly should be ready to support the new '_keyed' attribute,
2021         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2022         src_value' followed by 'KEY* src_key'.  This will be how the new
2023         _keyed operators will function, and those should be written within
2024         a few days.
2026 2002-02-06 18:00  doughera
2028         * misc.c: Change C++-style comments to C comments (again).  Remove
2029         unused perl5 code that was in #if 0/#endif.
2031 2002-02-06 17:59  doughera
2033         * warnings.c: Add trailing newline.
2035 2002-02-06 04:14  mrjoltcola
2037         * include/parrot/io.h, io/io.c: Minor cleanup.
2039 2002-02-06 03:11  mrjoltcola
2041         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2042         couple of loose end in win32 IO stuff. Open behaves now but needs
2043         more work.
2045 2002-02-05 21:02  brentdax
2047         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2048         which showed up in Purify builds.
2050 2002-02-05 17:15  simon
2052         * misc.c:
2053         Warning fixes.
2055         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2057 2002-02-05 17:08  doughera
2059         * misc.c: Avoid C++-style comments.
2061 2002-02-05 17:07  doughera
2063         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2064         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2065         thanks to Jason Gloudon <perl@gloudon.com>.
2067 2002-02-05 14:04  simon
2069         * misc.c:
2070         Make the problem different, perhaps even better.
2072 2002-02-05 13:49  simon
2074         * misc.c:
2075         Possibly fix a `short int' is promoted to `int' when passed through
2076         `...' scary error, possibly make things absolutely worse.
2078 2002-02-05 13:15  simon
2080         * Configure.pl:
2081         Placate Tru64.
2083 2002-02-05 13:12  simon
2085         * warnings.c:
2086         Not going to get far without this one...
2088 2002-02-05 11:41  simon
2090         * string.c:
2091         Don't barf when handed null pointers.
2093 2002-02-05 10:04  simon
2095         * misc.c, include/parrot/misc.h:
2096         Fix some trivial bugs in warnings code.
2098 2002-02-05 09:27  simon
2100         * misc.c:
2101         Oops, forgot this one; also added %P support.
2103 2002-02-05 09:20  simon
2105         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2106         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2107         include/parrot/interpreter.h, include/parrot/misc.h,
2108         include/parrot/parrot.h, include/parrot/warnings.h:
2109         Warnings support.
2111         Courtesy of: Brent Dax <brentdax@cpan.org>
2113 2002-02-05 05:41  jgoff
2115         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2116         format of vtable.tbl to get rid of the tab-dependence.  The format
2117         now looks roughly like this:
2119         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2120         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2121         assumed here, but note the C-like prototyping.  Also had to disable
2122         one test that depended upon 'concat_p_p_s', which isn't necessary
2123         anyway.
2125         Vtable.pm will change again when the type '_keyed' is added,
2126         because that requires remapping parameters slightly differently
2127         again.  Also, note that it assumes 'value' is the first parameter
2128         in the list. This assumption will go away at the same time.
2130 2002-02-04 16:57  ajgough
2132         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2133         functions.  Thanks to Simon Glover.
2135 2002-02-04 02:47  ajgough
2137         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2138         needed.  I suspect that the entire hints file isn't really needed,
2139         but there's no one to actually tell us this.
2141 2002-02-02 15:45  ask
2143         * docs/ParrotFAQ.htm: fix internal links
2145 2002-02-02 04:06  jgoff
2147         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2148         Moving the internal KEY structure from the cache.struct_val member,
2149         where it doesn't really belong, to the internal SELF->data member.
2150         This frees up the cache/type members for other usage.
2152         This is the first step in moving PMCs to the point where we can do
2153         multidimensional PMC handles. The next step is to change the
2154         assembler to accept the syntax of 'set P0["foo"],7'.
2156 2002-02-02 00:13  nicholas
2158         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2159         prototype Parrot_Array_class_init
2161 2002-02-02 00:13  nicholas
2163         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2164         time to sum_time to avoid warning on FreeBSD about tracking a
2165         global [No, this warning does not appear on Linux. Yes, it is real
2166         :-)]
2168 2002-02-01 23:02  nicholas
2170         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2171         Glover
2173 2002-02-01 20:20  nicholas
2175         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2177 2002-02-01 18:20  nicholas
2179         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2180         you
2182 2002-02-01 13:22  nicholas
2184         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2186 2002-02-01 12:19  simon
2188         * core.ops, t/op/ifunless.t, t/op/integer.t:
2189         Added "unless" op.
2191 2002-02-01 12:11  simon
2193         * lib/Parrot/Test.pm:
2194         Remove a warning.
2196 2002-02-01 01:38  nicholas
2198         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2199         and a manitest target to Makefile.in that lets one test the
2200         manifest.
2202 2002-02-01 00:03  dan
2204         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2205         PMC dynaloading
2207 2002-01-31 21:46  gregor
2209         * Configure.pl, Makefile.in, hints/mswin32.pl:
2210         A few more things are now configable, so we are closer to win32
2211         shared library builds. Not there yet, but closer.
2213 2002-01-31 21:00  dan
2215         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2216         include/parrot/pmc.h: First step in dynamically loading PMC classes
2218 2002-01-31 19:38  dan
2220         * Makefile.in: Dependencies in the Makefile are currently too broad
2221         brush.  I don't enjoy waiting for everything to recompile every
2222         time I try to tweak the jit. The only file that #includes
2223         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2224         should reflect this, and not cause a gratuitous recompile of
2225         everything.  There are probably other auto-generated header files
2226         that world+dog should not depend on.
2228         Courtesy of  Nicholas Clark <nick@unfortu.net>
2230 2002-01-31 19:03  gregor
2232         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2233         Added two new make targets:
2235           * testp: Like 'make test', but passes -P to t/harness, so you get
2236         to
2237             see how broken predereferencing is.
2239           * testj: Like 'make test', but passes -j to t/harness, so you get
2240         to
2241             see how broken JIT is.
2243         Now, anyone who wants to see how good all three ways of running are
2244         can do so, at the cost of about 3x the time.
2246 2002-01-31 17:09  brentdax
2248         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2250 2002-01-31 03:41  grunblatt
2252         * docs/jit.pod: Update jit.pod
2254 2002-01-31 03:20  grunblatt
2256         * jit/i386/core.jit: Hold this until we get an assemble tool,
2257         because of the different objdump problems.
2259 2002-01-31 03:13  grunblatt
2261         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2262         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2263         of: Jason Gloudon <perl@gloudon.com>
2265 2002-01-31 02:22  grunblatt
2267         * jit/i386/core.jit: Continue if the register is null
2269 2002-01-30 23:50  grunblatt
2271         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2272         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2273         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2274         specific file.
2276 2002-01-30 23:35  mrjoltcola
2278         * io/io_win32.c: Change implementation of isatty on win32,
2279         suggested by Hong Zhang.
2281 2002-01-30 23:19  sfink
2283         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2284         Op::may_jump boolean method.
2286         Replaced jit2h's hardcoded pattern match to decide what ops might
2287         change the control flow.
2289 2002-01-30 22:13  dan
2291         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2292         parrot to mostly-build with tcc.  It allows one to skip compiling
2293         the JIT stuff (by specifying --define jitcapable=0), and it
2294         introduces a test program which gives a friendlier error in this
2295         case for compilers which are as picky as tcc is about function
2296         pointer conversion.
2298         If anyone figures out the proper way to cast these function
2299         pointers this may not be necessary.
2301         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2303 2002-01-30 20:54  dan
2305         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2306         Here's an update to docs/running.pod to better reflect the current
2307         state (both the test_parrot and assemble.pl improvements, plus
2308         documentation of a few more things.) And also a speling fiks
2309         s/POST_MORTERM/POST_MORTEM/.
2311         I could also replace some "perl foo" calls with "./foo" if someone
2312         wanted to set the executable flag in CVS on assemble.pl,
2313         optimize.pl, etc.
2315         Courtesy of Steve Fink <steve@fink.com>
2317 2002-01-30 20:43  dan
2319         * core.ops: find_global doesn't work, so stub out the wrong code
2321 2002-01-30 19:08  dan
2323         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2324         that perldoc
2325          can read it and just tidies it up generally. It also adds
2326         documentation
2327          for the constantize_integer and constantize_number functions.
2329         Courtesy of Simon Glover <scog@roe.ac.uk>
2331 2002-01-30 18:02  dan
2333         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2334         classes/genclass.pl, classes/pmc2c.pl,
2335         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2336         distribution (including assemble.pl !)
2337          can no longer find the Parrot::* modules. Enclosed patch fixes
2338         (although
2339          it would be nice if there were an easier way to do this).
2341         Courtesy of  Simon Glover <scog@roe.ac.uk>
2343 2002-01-30 16:00  mrjoltcola
2345         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2346         types.
2348 2002-01-30 15:50  mrjoltcola
2350         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2352 2002-01-30 15:42  grunblatt
2354         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2355         files around
2357 2002-01-30 15:38  grunblatt
2359         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2360         the manifest,  and also puts it back into alphabetical order.
2362         Courtesy of: Simon Glover <scog@roe.ac.uk>
2364 2002-01-30 14:41  nicholas
2366         * embed.c: Patch from Simon Glover to clean up warnings where
2367         prototype is () not (void)
2369 2002-01-30 13:54  nicholas
2371         * include/parrot/embed.h, test_main.c: Add void as an explicit
2372         parameter in test_main.c's usage(), version(void) and embed.h's
2373         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2374         warning: function declaration isn't a prototype
2376 2002-01-30 12:08  simon
2378         * lib/Parrot/.cvsignore:
2379         Ignore generated Perl modules.
2381 2002-01-30 12:07  simon
2383         * t/harness:
2384         Run the PMC tests as well.
2386 2002-01-30 12:04  simon
2388         * MANIFEST:
2389         Fix MANIFEST after recent t/pmc rejig.
2391 2002-01-30 11:42  simon
2393         * lib/Parrot/Test.pm:
2394         Report non-zero exit codes.
2396         Courtesy of: Michael G Schwern <schwern@pobox.com>
2398 2002-01-30 11:39  simon
2400         * t/op/rx.t:
2401         Skip final test, TODO doesn't work yet.
2403 2002-01-30 09:54  brentdax
2405         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2406         predereferencing works.
2408 2002-01-30 09:38  brentdax
2410         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2411         subsystem.
2413 2002-01-30 09:37  brentdax
2415         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2417 2002-01-30 09:37  brentdax
2419         * config_h.in: Expose another flag for embedders.
2421 2002-01-30 05:07  jgoff
2423         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2424         location for Parrot/, and t/harness wasn't able to run the new
2425         op/pmc tests. Both problems fixed, so I think I'm going to declare
2426         the build suitable for public consumption.
2428 2002-01-30 04:34  robert
2430         * docs/Makefile.in: update for CVS movement
2432 2002-01-30 04:32  robert
2434         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2435         .in file, not the real Makefile)
2437 2002-01-30 04:20  robert
2439         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2440         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2441         related to moving files around
2443 2002-01-30 04:10  robert
2445         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2447 2002-01-30 04:07  robert
2449         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2451 2002-01-30 03:56  robert
2453         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2454         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2455         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2456         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2457         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2458         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2459         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2460         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2461         lib/Parrot/
2463 2002-01-30 03:46  robert
2465         * languages/miniperl/miniperlc: renamed to mpc
2467 2002-01-30 03:45  robert
2469         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2470         pmc_perlstring.t: Moved to t/op/pmc/
2472 2002-01-30 03:40  robert
2474         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2476 2002-01-30 03:14  jgoff
2478         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2479         Fixed some problems with PerlArray and added tests.  Previously,
2480         only integers could be accessed by negative indices.  After this
2481         change, all basic types can be accessed by negative indices, and
2482         they can also be set at negative indices.
2484 2002-01-29 22:13  brentdax
2486         * TODO: Just look at the stupid diff.
2488 2002-01-29 21:53  simon
2490         * TODO, docs/vtables.pod:
2491         New TODO, and tiny addition to vtables.pod
2493 2002-01-29 21:47  mrjoltcola
2495         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2497 2002-01-29 21:38  mrjoltcola
2499         * Makefile.in: Makefile.in tweak for io depend.
2501 2002-01-29 21:15  brentdax
2503         * embed.c: Fix a segfault and some profiling formatting nits.
2505 2002-01-29 20:54  brentdax
2507         * pmc.c: Oops.
2509 2002-01-29 20:50  brentdax
2511         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2512         segfaults.
2514 2002-01-29 20:17  mrjoltcola
2516         * interpreter.c, core.ops, io.ops: CVS missed this.
2518 2002-01-29 20:17  mrjoltcola
2520         * io/io.c: These should have gone in Sunday with the rest. CVS is
2521         out to get me.
2523 2002-01-29 18:39  brentdax
2525         * platforms/win32.h: Fix Win32 whoops.
2527 2002-01-29 18:29  brentdax
2529         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2531 2002-01-29 17:51  simon
2533         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2534         include/parrot/embed.h, include/parrot/parrot.h:
2535         Embedding support. Cool.
2537         Courtesy of: <brentdax@cpan.org>
2539 2002-01-29 15:40  grunblatt
2541         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2542         Gloudon <perl@gloudon.com>
2544 2002-01-29 14:42  simon
2546         * include/parrot/parrot.h:
2547         Platform stuff has to be included *after* system headers.
2549 2002-01-29 14:05  grunblatt
2551         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2552         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2553         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2554         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2555         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2557 2002-01-29 10:56  simon
2559         * platforms/generic.h:
2560         If we don't have a S_ISREG, produce something close to it.
2562 2002-01-29 06:01  dan
2564         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2566 2002-01-29 04:38  jgoff
2568         * classes/array.pmc: Forgot to remove some C++-isms from the
2569         get_{foo}_index routines.
2571 2002-01-29 04:26  jgoff
2573         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2574         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2575         t/pmc/array.t: Added array class that languages other than perl can
2576         use for a basis.  It has no features like preextension, and the
2577         array index starts at 0.
2579         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2580         and classes/Makefile.in - Added array.pmc to the makefile.
2581         (Assuming rules like .pmc.o are portable (or even possible) I might
2582         alter classes/Makefile.in to autobuild the appropriate files.
2584 2002-01-29 02:32  dan
2586         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2587         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2588         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2589         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2590             Update to Test::More 0.41 which adds Test::Builder
2592             Delete the vestigal Test::Utils
2594             Change Parrot::Test so it uses Test::Builder instead of Evil
2595         Wrappers
2596             around Test::More
2598             output_* now returns whether the test passes or fails
2600             Parrot::Test no longer exports Test::More's functions.  Instead
2601         they
2602             can simply be used together.  The few tests which used
2603         Test::More
2604             features (ie. skip) have 'use Test::More' added.
2606             I ditched the export_to_level() crutch.  Do we expect parrot to
2607         work on
2608             5.004?  (literally 5.004, not 5.004_04)
2610         Courtesy of Michael G Schwern <schwern@pobox.com>
2612 2002-01-28 21:04  dan
2614         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2615         pointer should actually be to
2616          parrot_assembly.pod, as the canonical documentation.
2618         Courtesy of Simon Glover <scog@roe.ac.uk>
2620 2002-01-28 20:21  dan
2622         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2623         clone[inps]
2625 2002-01-28 19:18  dan
2627         * core.ops, register.c: clone[insp] is dead
2629 2002-01-28 17:46  grunblatt
2631         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2632         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2634 2002-01-28 16:45  dan
2636         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2637         the requirement for fink at the moment.
2639 2002-01-28 15:59  simon
2641         * test_main.c:
2642         People might try and run a directory file, with spectacular
2643         results.  We don't want that. No.
2645 2002-01-28 14:58  doughera
2647         * core.ops: Avoid C++-style comments.
2649 2002-01-28 14:16  grunblatt
2651         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2652         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2653         work again.
2655 2002-01-28 13:47  doughera
2657         * include/parrot/register.h: Avoid C++-style comment.
2659 2002-01-28 06:03  dan
2661         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2662         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2663         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2664         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2665         include/parrot/parrot.h, include/parrot/regfuncs.h,
2666         include/parrot/register.h, include/parrot/register_funcs.h,
2667         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2668         are now stored in the interpreter structure itself, rather than
2669         just a pointer to the top of the register structure. Pushes and
2670         pops now involve memcpys, but register access has one fewer
2671         dereference.
2673         Fails four of the register stack tests, though, so not perfect.
2674         Needs fixing, but this is a good place to start.
2676 2002-01-28 04:40  mrjoltcola
2678         * test_main.c: cvs commit missed this. ??
2680 2002-01-28 04:27  mrjoltcola
2682         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2683         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2684         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2685         interpreter now (at least in theory).  IO handle array added.  Misc
2686         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2687         we don't conflict         with system libraries.  Still have broken
2688         stuff in win32 and stdio layer.
2690 2002-01-28 04:01  mrjoltcola
2692         * include/parrot/chartype.h: Typo in chartype.h include guard.
2694 2002-01-28 03:41  mrjoltcola
2696         * t/op/interp.t: Fix flag for interp so we don't get "info"
2697         messages which break tests.
2699 2002-01-28 01:54  dan
2701         * include/parrot/string.h: A few more buffer/string flags
2703 2002-01-27 11:33  nicholas
2705         * chartypes/unicode.c: Cast unsigned argument to int in call to
2706         isdigit to silence gcc warning.
2708 2002-01-26 23:18  grunblatt
2710         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2711         off that flag.
2713 2002-01-26 23:17  grunblatt
2715         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2716         jit/i386/core.jit: [no log message]
2718 2002-01-26 22:18  simon
2720         * jit/i386/core.jit:
2721         Jumping to 0x0 is a recipe for segfaults.
2723 2002-01-26 18:35  simon
2725         * t/harness:
2726         Allow user to select which tests to harness
2728         Courtesy of: Nicholas Clark <nick@unfortu.net>
2730 2002-01-26 17:20  grunblatt
2732         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2733         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2734         to make the jit work in linux again.
2736 2002-01-26 16:52  dan
2738         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2739         headers can't cope with this. Darwin-only
2741 2002-01-26 16:04  dan
2743         * include/parrot/parrot.h: Quick note to remind folks that this
2744         isn't the file they're looking for if they're writing extensions or
2745         embedding parrot.
2747         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2749 2002-01-26 00:41  mrjoltcola
2751         * MANIFEST: Oopsy.
2753 2002-01-26 00:37  mrjoltcola
2755         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2756         Turoff
2758 2002-01-25 01:31  grunblatt
2760         * jit/alpha/core.jit: There is no neg or fneg.
2762 2002-01-25 01:27  grunblatt
2764         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2765         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2766         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2767         t/op/number.t: Added Parrot_neg.  Erase t.s
2769 2002-01-24 23:26  dan
2771         * interpreter.c: Best make sure unused elements are NULL
2773 2002-01-24 23:24  dan
2775         * interpreter.c: Fix stupid thinko
2777 2002-01-24 18:37  doughera
2779         * Makefile.in: Add a few missing dollar signs in the lifetest
2780         section so that ${exe} and the like get properly interpolated.
2782 2002-01-24 18:15  mrjoltcola
2784         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2785         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2786         Simon Glover <scog@roe.ac.uk>
2788 2002-01-24 06:43  mrjoltcola
2790         * io/io_stdio.c: Oops.
2792 2002-01-24 06:34  mrjoltcola
2794         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2795         of work on the buffering layer.  Decided to use shared read/write
2796         buffer (as do most implementations) for now since its the simplest
2797         way to keep everything synced, (flush on seeks, flush read on
2798         writes, etc.)
2800 2002-01-24 03:38  mrjoltcola
2802         * test_main.c: Cleaned up option handling code a bit for main().
2804 2002-01-23 23:22  dan
2806         * interpreter.c, include/parrot/interpreter.h,
2807         include/parrot/resources.h: Now each interpreter gets its own hash
2808         for globals.
2810 2002-01-23 20:45  dan
2812         * Configure.pl: Fix a warning when there's no - in an architecture
2814 2002-01-22 23:57  grunblatt
2816         * docs/running.pod: [no log message]
2818 2002-01-22 20:29  doughera
2820         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2821         appears to be a generic problem (if sizeof(long double) >
2822         sizeof(double)), not an x86-specific one.
2824 2002-01-22 16:57  doughera
2826         * runops_cores.c: Change variable name from time to starttime to
2827         avoid gcc warning about variable name shadowing.
2829 2002-01-22 16:55  doughera
2831         * classes/pmc2c.pl: Include class_init prototype too.
2833 2002-01-22 16:01  doughera
2835         * MANIFEST: [no log message]
2837 2002-01-22 01:04  ajgough
2839         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2840         classes/parrotpointer.pmc, classes/perlarray.pmc,
2841         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2842         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2843         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2844         warnings from pmc files.  Message-ID:
2845         <20020121224719.GE1726@Bagpuss.unfortu.net>
2847 2002-01-22 00:53  ajgough
2849         * test_main.c: Clears up a couple of warnings in test_main.c.
2850         Thanks to Nick Clark.  Message-ID:
2851         <20020121190457.GB1726@Bagpuss.unfortu.net>
2853 2002-01-22 00:47  ajgough
2855         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2856         include/parrot/chartype.h: Cause all codepoints to be treated as
2857         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2858         Nick Clark, see also: Message-ID:
2859         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2861 2002-01-22 00:24  dan
2863         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2865         Appended patch cures these warnings:
2867         key.c: In function `debug_key': key.c:29: warning: int format,
2868         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2869         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2870         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2871         format, INTVAL arg (arg 4)
2873         Courtesy of Nicholas Clark <nick@unfortu.net>
2875 2002-01-21 12:41  mrjoltcola
2877         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2878         be clock skew.
2880 2002-01-21 06:37  mrjoltcola
2882         * io/io.c: Cleanup a warning
2884 2002-01-21 06:28  mrjoltcola
2886         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2887         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2888         ops. Various other IO twiddlings.
2890 2002-01-21 03:25  grunblatt
2892         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2893         Melvin Smith for the catch up.
2895 2002-01-20 23:13  sfink
2897         * stacks.c: Fixed logic errors, need tests
2899 2002-01-20 22:17  brentdax
2901         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2902         prepare for /i to work.
2904 2002-01-20 20:52  grunblatt
2906         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2907         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2908         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2909         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2910         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2911         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2912         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2913         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2914         jit/alpha/string.jit:
2915         - Added support for ALPHA, by now linux and bsd.
2917         - Reduced jit2h.pl execution time by precompiling the call to the
2918         unimplemented op.
2920         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2921         Parrot/Jit/${cpuarch}Generic.pm
2923         - Changed the way to detect quads to what is written in "man
2924         perlfunc".
2926 2002-01-20 17:23  brentdax
2928         * rx.ops: There's no such thing as rx_allocateinfo.
2930 2002-01-19 08:26  brentdax
2932         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2934 2002-01-19 07:12  mrjoltcola
2936         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2937         into io.ops, leave the STDIO wrappers        in core.ops until they
2938         disappear.  Added debug op for switching on VM debug flag
2940 2002-01-19 01:55  mrjoltcola
2942         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2943         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2945 2002-01-19 00:55  brentdax
2947         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2948         include/parrot/rxstacks.h: Add regex-specific stacks for
2949         efficiency.
2951 2002-01-18 23:58  dan
2953         * Configure.pl: I think the optimal fix here is simply to remove
2954         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2955         man pages say "There is no reason to use this option [-pedantic];
2956         it exists only to satisfy pedants."
2958         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2960 2002-01-18 23:23  dan
2962         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2963         docs/running.pod, which lists the various executables Parrot
2964         currently includes, examples of running them, and mentions of where
2965         they fail to work. It's more of a cry for help than a useful
2966         reference. :-) I've been having trouble recently when making
2967         changes in figuring out whether I broke anything, because any
2968         non-default way of running the system seems to be already broken. I
2969         can't tell what brokenness is expected and what isn't.
2971         Courtesy of  Steve Fink <steve@fink.com>
2973 2002-01-15 22:13  brentdax
2975         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2976         substring use and enhance performance.
2978 2002-01-15 21:03  ajgough
2980         * string.c: Fix problem with string_transcode, &dest not being
2981         updated if src was already in desired encoding.
2983 2002-01-15 16:54  brentdax
2985         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2986         warnings.  Leaves only one warning, at rx.ops line 409, that I
2987         can't manage to get rid of.
2989 2002-01-15 16:50  dan
2991         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2992         code.  Also patches pbc2c.pl to work with rx.ops.
2994         Courtesy of Jason Gloudon <perl@gloudon.com>
2996 2002-01-15 16:15  dan
2998         * classes/Makefile.in: All the C files in classes/ weren't being
2999         compiled with an of the gcc warnings flags. With this patch they
3000         are, and there are an awful lot of warnings, more than I could hope
3001         to understand and clear up (within any sensible time period before
3002         submitting a rash of patches, by which time everyone else would
3003         have moved the code on)
3005         Courtesy of Nicholas Clark <nick@unfortu.net>
3007 2002-01-15 16:10  dan
3009         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
3010         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
3011         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3012         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3013         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3014         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3015         chartypes/usascii.c: This patch adds a few more macros for .ops
3016         files to use. In addition to the existing
3018          goto OFFSET(...)
3019          goto ADDRESS(...)
3020          goto POP()
3021          goto NEXT()
3023         it adds
3025          expr OFFSET(...)
3026          expr ADDRESS(...)
3027          expr POP()
3028          expr NEXT()
3030         This is intended mainly for use in helper functions in .ops files,
3031         but also for ops that need to eg push the address of the next
3032         opcode onto a stack. The only place this currently happens (outside
3033         of my private code) is in the bsr opcode, which previously
3034         hardcoded the computation.
3036         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3037         higher in the generated file so that it can be used by static
3038         functions in the preamble.
3040         Finally, I ran into a parentheses matching problem -- should goto
3041         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3042         \bgoto\s+OFFSET\((.*?)\)
3044         It was done inconsistently for the different calculations, and of
3045         course neither are correct because you really want matching
3046         parentheses. But that seems like too much bother. (Currently,
3047         there's only one place that uses anything other than $n in the
3048         parentheses, and that's the enternative() op.) So I made them all
3049         .*? but emulated recent POD by also allowing (( ... )) (that's two
3050         parenthesis with a space padding the body.)
3052         The generated core_ops.c and core_ops_prederef.c files after this
3053         patch are identical except for the CUR_OPCODE and REL_PC macros
3054         getting moved a little higher, and the bsr in the regular path (not
3055         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3057         In summary, this is a big wad of meaningless changes for the
3058         current code. But it will make adding some opcodes easier in the
3059         future, and cleans up a small nit in the current bsr.
3061         Courtesy of Steve Fink <steve@fink.com>
3063 2002-01-15 08:48  brentdax
3065         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3066         sort of).
3068 2002-01-15 08:45  brentdax
3070         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3072 2002-01-15 05:00  brentdax
3074         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3075         performance.
3077 2002-01-14 20:18  dan
3079         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3081         Courtesy of Nicholas Clark <nick@unfortu.net>
3083 2002-01-14 20:03  dan
3085         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3086         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3087         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3088         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3089         classes/parrotpointer.pmc, classes/perlarray.pmc,
3090         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3091         classes/perlstring.pmc, classes/perlundef.pmc,
3092         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3093         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3094         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3095         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3096         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3097         patch cleans up most of the MSVC-warnings when using warning level
3098         4 (the highest, one above the default level 3). It turns off two
3099         level-4 warnings for 'unreferenced formal parameter' and 'named
3100         type definition in parentheses', the latter of which was turning up
3101         warnings in MS VC headers.  Level 4 warnings also helped me find a
3102         couple of other lurking bugs in the parrot code.
3104         Replaces the various fprintf/exit combos with calls to
3105         internal_exception, which uses var_args to emulate printf. Various
3106         exception types were added as well. These are probably temporary
3107         until a real exception system arrives.
3109         Fixed some places in the IO code where wrong functions were being
3110         called, or put into the vtable.
3112         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3114 2002-01-14 19:00  dan
3116         * MANIFEST: D'oh! Forgot a file.
3118         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3120 2002-01-14 18:44  brentdax
3122         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3123         sense (and a few other enhancements to regexes).
3125 2002-01-14 07:07  brentdax
3127         * interpreter.c, runops_cores.c, test_main.c,
3128         include/parrot/interpreter.h: Make profiling a little more useful.
3130 2002-01-13 19:44  dan
3132         * Configure.pl: Turn off unsed things warnings for now
3134 2002-01-13 19:39  dan
3136         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3138         classes/perlarray.c:  * get_string: is casting
3139         SELF->cache.struct_val to a STRING*,    while all other methods are
3140         using it as a KEY*; don't know    what a perlarray stringifies to,
3141         so replacing with NULL  * get_bool: the default behaviour does not
3142         look right to me
3144         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3146 2002-01-13 19:37  dan
3148         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3149         flags to LDFLAGS, so that Configure.pl --debugging   works with
3150         MSVC
3152         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3153         pmc2c calls
3155         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3157 2002-01-13 19:36  dan
3159         * io/io_win32.c:   according to my MSVC docs, you should use
3160         _tcslen only after
3161           #including tchar.h
3163         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3165 2002-01-13 19:35  dan
3167         * docs/intro.pod: Doc tweak.
3169         Courtesy of Simon Glover <scog@roe.ac.uk>
3171 2002-01-13 19:34  dan
3173         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3174         that
3176           if Px, ...
3178          works with PerlString PMCs; these should be false if they are "",
3179         0, or
3180          are undefined, and true in every other case.
3182         Courtesy of Simon Glover <scog@roe.ac.uk>
3184 2002-01-13 19:23  dan
3186         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3187         NUMVAL_FMT to FLOATVAL_FMT.
3189         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3191 2002-01-13 17:45  jgoff
3193         * Makefile.in, global_setup.c, classes/Makefile.in,
3194         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3195         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3196         designing your own classes.
3198 2002-01-13 08:47  simon
3200         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3201         lib/Parrot/OpTrans/CPrederef.pm:
3202         Fix bsr in prederef mode.
3204         Courtesy of: Jason Gloudon <perl@gloudon.com>
3206 2002-01-12 15:33  dan
3208         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3209         string.c, encodings/singlebyte.c, encodings/utf32.c,
3210         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3211         Silence most of the unused variable warnings.
3213         Courtesy of Nicholas Clark <nick@unfortu.net>
3215 2002-01-12 15:18  dan
3217         * rx.ops: This patch fixes a warning and also changes an 'int' to
3218         an 'INTVAL'.  All tests should pass on Solaris.
3220         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3222 2002-01-12 15:13  dan
3224         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3225         examples/assembly/life.pasm, include/parrot/interpreter.h,
3226         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3227         io/io_win32.c: More IO work. (Plus some misc twiddles)
3229         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3231 2002-01-12 01:14  dan
3233         * include/parrot/string.h: fix a missing name
3235 2002-01-12 00:39  grunblatt
3237         * include/parrot/string.h: Few typos.
3239 2002-01-12 00:16  grunblatt
3241         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3242         that change the program control flow.
3244 2002-01-11 23:53  brentdax
3246         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3247         ParrotPointer's guts.
3249 2002-01-11 23:03  dan
3251         * include/parrot/string.h: flags for the buffers, for GC
3253 2002-01-11 22:31  dan
3255         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3257 2002-01-11 22:21  dan
3259         * include/parrot/pmc.h: Started with PMC flags
3261 2002-01-11 19:33  dan
3263         * config_h.in, memory.c, resources.c, string.c,
3264         include/parrot/resources.h: Beginnings of a memory allocation/gc
3265         system. Without the GC part.
3267 2002-01-11 18:05  dan
3269         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3270         systems
3272         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3274 2002-01-11 17:50  dan
3276         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3277         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3278         a patch that makes pbc2c generated code work with the bsr opcode.
3279         It creates a new opcode 'enternative', and uses this to support a
3280         mixed model of interpretation and execution of compiled C code.
3282         Courtesy of Jason Gloudon <perl@gloudon.com>
3284 2002-01-11 17:48  dan
3286         * Makefile.in: Add life as a potential .exe target
3288 2002-01-11 17:30  dan
3290         * include/parrot/resources.h: Start of arena stuff for GC
3292 2002-01-11 05:34  brentdax
3294         * rx.ops: Docs modifications.
3296 2002-01-11 04:19  brentdax
3298         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3299         regular expressions.
3301 2002-01-11 03:44  grunblatt
3303         * jit/i386/core.jit: off by one.
3305 2002-01-11 02:25  dan
3307         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3309         Courtesy of Steve Fink <steve@fink.com>
3311 2002-01-11 00:32  brentdax
3313         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3315 2002-01-10 23:22  ajgough
3317         * string.c, docs/strings.pod: Removed all the nul termination code,
3318         as this is in general a bad idea.  Note added to docs/strings.pod
3319         to warn people away from assuming termination.
3321 2002-01-10 23:14  dan
3323         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3324         testparrotsizes_c.in, include/parrot/interpreter.h,
3325         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3326         implementation
3328         Courtesy of Steve Fink <steve@fink.com>
3330 2002-01-10 22:48  dan
3332         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3333         sizeof(INTVAL)
3335         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3337 2002-01-10 22:46  dan
3339         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3340         t/pmc/perlhash.t:  Well, actually two bugs.
3342          The first is an off-by-one error in key.c than can cause parrot
3343          to segfault if hash % NUM_BUCKETS happens to be zero.
3345          The other is a bug in the PerlHash init() code that causes new
3346         PerlHash
3347          PMCs to start with the wrong size.
3349          Both fixed below; also tests to prevent them recurring.
3351         Courtesy of Simon Glover <scog@roe.ac.uk>
3353 2002-01-10 22:30  dan
3355         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3356         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3357         with a PerlArray,
3359         Courtesy of Simon Glover <scog@roe.ac.uk>
3361 2002-01-10 21:31  dan
3363         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3365 2002-01-10 20:30  grunblatt
3367         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3368         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3369         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3370         All the op codes that doesn't change the program control flow now
3371         work in the JIT by calling the code generated by the compiler when
3372         the op is not in core.jit TODO:     * Make all the ops that change
3373         the program control flow (and are not on core.jit) work.      *
3374         Remove the dispatch payload.
3376 2002-01-10 17:13  dan
3378         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3379         which tries to return 0 from a void function.
3381         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3383 2002-01-10 17:12  dan
3385         * t/op/macro.t: Skip tests, don't comment them out.
3387         Courtesy of Simon Glover <scog@roe.ac.uk>
3389 2002-01-10 17:10  dan
3391         * rx.c: This fixes a couple of nits in rx.c:
3393            1. There's no newline at the end, which makes gcc unhappy.
3394            2. We should use NULL, not 0 or "", for creating null pointers.
3396         Courtesy of Simon Glover <scog@roe.ac.uk>
3398 2002-01-10 17:09  dan
3400         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3401         back in
3402          alphabetical order.
3404         Courtesy of Simon Glover <scog@roe.ac.uk>
3406 2002-01-10 16:54  ajgough
3408         * resources.c: Made free_string check that there was a string to
3409         free.  In reponse to a bug spotted by Joshua Nye.
3411 2002-01-09 22:44  dan
3413         * global_setup.c: Forgot the setup
3415 2002-01-09 22:35  dan
3417         * rx.ops: Forgot this one
3419 2002-01-09 22:35  dan
3421         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3422         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3423         Tests don't work, though.
3425         Courtesy of "Brent Dax" <brentdax@cpan.org>
3427 2002-01-09 21:48  dan
3429         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3431 2002-01-09 21:22  dan
3433         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3434         Generic pointer holder class
3436         Courtesy of "Brent Dax" <brentdax@cpan.org>
3438 2002-01-09 21:19  dan
3440         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3441         patches.
3443 2002-01-09 19:54  dan
3445         * io/io_unix.c: Whoops. Forgot one
3447 2002-01-09 19:43  dan
3449         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3450         t/pmc/perlhash.t: Fix hash crash bugs
3452         Courtesy of Simon Glover <scog@roe.ac.uk>
3454 2002-01-09 19:13  dan
3456         * memory.c: Signedness whoops.
3458         Courtesy of Simon Glover <scog@roe.ac.uk>
3460 2002-01-09 18:23  dan
3462         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3463         io/io_stdio.c, io/io_win32.c: Changes:
3465         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3466         will be using the   Win32 API and company rather than the unix-ish
3467         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3468         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3469         stuff is   there. Soon we should be able to start using these
3470         rather than   fprintf(stderr, ...) and remove stdio linkage.
3472         Courtesy of <mrjoltcola@mindspring.com>
3474 2002-01-09 17:26  dan
3476         * test_main.c: Fixes bad code gen on x86.
3478         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3480 2002-01-09 17:24  dan
3482         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3483         classes/perlnum.pmc: This patch adds macros to the config.h file
3484         for INTVAL and NUMVAL printf formats.
3486         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3488 2002-01-08 22:55  ajgough
3490         * docs/vtables.pod: Clarify what get_string should do.
3492 2002-01-08 20:05  dan
3494         * key.c: Keep comments in sync.
3496         Courtesy of Simon Glover <scog@roe.ac.uk>
3498 2002-01-08 19:50  dan
3500         * memory.c, include/parrot/memory.h: Need a realloc
3502 2002-01-08 17:24  gregor
3504         * .cvsignore, Configure.pl, Makefile.in:
3505         Added 'reconfig' make target and corresponding --reconfig option to
3506         Configure.pl, so its very easy to re-run Configure.pl with the last
3507         (command-line) options you passed it.
3509 2002-01-08 16:33  dan
3511         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3512         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3513         in core.ops. Potential help for optimizers and JITters.
3515         Courtesy of gregor@linux1.kennedytech.com
3517 2002-01-08 16:32  dan
3519         * key.c: Grab key length from the right spot
3521         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3523 2002-01-08 13:27  ajgough
3525         * test_main.c: Fix slight thinko in realloc usage for reading from
3526         stdin.
3528 2002-01-08 11:34  ajgough
3530         * test_main.c: Allow test_parrot to read bytecode stream from
3531         stdin, adds -f command line option, with "-f -" doing the stdin
3532         stuff.
3534 2002-01-08 06:34  jgoff
3536         * key.c, include/parrot/key.h: key.c - Added simple implementation
3537         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3539 2002-01-08 03:21  jgoff
3541         * include/parrot/key.h: Added an undef type to the key structure,
3542         so we can delete keys without confusion.
3544 2002-01-07 22:09  dan
3546         * key.c, packfile.c, string.c, include/parrot/key.h,
3547         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3548         about index being redefined
3550         Courtesy of Nick Clark
3552 2002-01-07 21:15  dan
3554         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3556         Courtesy of Steve Fink <steve@fink.com>
3558 2002-01-07 20:48  dan
3560         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3561         failures
3563         Courtesy of "Brent Dax" <brentdax@cpan.org>
3565 2002-01-07 20:43  dan
3567         * docs/intro.pod: Missing a comma
3569         Courtesy of "coral" <coral@eekeek.org>
3571 2002-01-07 20:41  dan
3573         * global_setup.c: Quiet a warning
3575         Courtesy of Simon Glover <scog@roe.ac.uk>
3577 2002-01-07 18:58  gregor
3579         * t/op/.cvsignore:
3580         Ignore intermediate test files.
3582 2002-01-07 17:01  gregor
3584         * ops2c.pl:
3585         Print a warning if an .ops file is mentioned more than once on the
3586         command line.
3588 2002-01-07 16:12  ajgough
3590         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3591         these shouldn't fail.
3593 2002-01-07 15:15  simon
3595         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3596         Stop segfaults.
3598 2002-01-07 15:11  simon
3600         * key.c:
3601         Fix zero-termination bug in hash function.
3603 2002-01-07 13:37  ajgough
3605         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3606         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3608 2002-01-07 11:53  brentdax
3610         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3611         (:add{foo}) and a new deleting thing (:rem{foo})
3613 2002-01-07 11:43  simon
3615         * Configure.pl:
3616         Gobble the + before concatenating.
3618 2002-01-07 03:53  dan
3620         * Makefile.in: Dependency fix for new ops setup.
3622 2002-01-07 03:33  jgoff
3624         * classes/perlarray.pmc: Add negative indices, and fix a small
3625         allocation problem.
3627 2002-01-06 23:54  ajgough
3629         * hints/os2.pl: Makes the hints file take account of ldflags and
3630         ccflags being split.  This hints file is still very specific to
3631         builds with gnu tools, but a proper solution can wait.   Thanks to
3632         Nick Burch.
3634 2002-01-06 22:12  dan
3636         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3637             -changes Parrot::OpLib::core's dependencies to reflect the new
3638         selectable ops files    -allows some of the special forms of 'goto'
3639         inside the PREAMBLE of an opcode file
3641         Courtesy of "Brent Dax" <brentdax@cpan.org>
3643 2002-01-06 19:59  simon
3645         * Makefile.in:
3646         *cough*
3648 2002-01-06 18:19  dan
3650         * classes/perlhash.pmc: Fix some type issues.
3652         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3654 2002-01-06 18:03  dan
3656         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3657         for a list of opcode files to use.  The default is everything
3658         available except for obscure.ops.
3660         In addition, it makes it so that if your answer to a question
3661         starts with '+', it will concatenate it to the default.  For
3662         example:
3664         What C compiler do you want to use? [cl] +HAHAHA!!!
3666         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3667         is not terribly useful, it is quite useful with things like
3668         command-line flags and the like.
3670         Finally, it contains a couple tweaks so that my syntax-highlighting
3671         editor recognizes some heredocs correctly.  :^)
3673         Courtesy of "Brent Dax" <brentdax@cpan.org>
3675 2002-01-06 17:59  dan
3677         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3679         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3681 2002-01-06 17:58  dan
3683         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3685         Courtesy of Simon Glover <scog@roe.ac.uk>
3687 2002-01-06 17:57  dan
3689         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3690         Compiler directives, etc. in files other than core.ops will now
3691         work.   2.  Compiler warnings will now display the file and line
3692         number of the  opcode file.
3694         Courtesy of "Brent Dax" <brentdax@cpan.org>
3696 2002-01-06 17:52  dan
3698         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3700         Courtesy of Simon Glover <scog@roe.ac.uk>
3702 2002-01-06 17:36  dan
3704         * docs/intro.pod: Lots of updates
3706         Courtesy of Simon Glover <scog@roe.ac.uk>
3708 2002-01-06 02:34  gregor
3710         * interpreter.c:
3711         Add some internal documentation on the theory of operation of the
3712         prederef code.
3714 2002-01-06 02:17  gregor
3716         * interpreter.c:
3717         Removed unnecessary include.
3719 2002-01-05 12:37  simon
3721         * classes/.cvsignore:
3722         Ignore generated .h files.
3724         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3726 2002-01-05 12:37  simon
3728         * Configure.pl:
3729         Make lcc happier by adding a dummy structure.
3731         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3733 2002-01-05 12:35  simon
3735         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3736         Make perlundef work. (And coincidentally stop segfaults in the
3737         tests :)
3739         Courtesy of: Jason Gloudon <perl@gloudon.com>
3741 2002-01-05 04:59  dan
3743         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3745 2002-01-05 04:55  jgoff
3747         * classes/perlhash.pmc: Added perlhash class definition
3749 2002-01-05 04:48  dan
3751         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3753         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3755 2002-01-05 03:57  jgoff
3757         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3758         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3759         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3760         t/pmc/pmc.t: Initial hash commit.
3762         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3763          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3764         set_{integer,number,string}_index_s
3766         This does not yet do collision resolution, but will soon.
3768 2002-01-05 02:54  dan
3770         * interpreter.c: More unsigned fixes
3772         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3774 2002-01-04 22:13  dan
3776         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3777         test programs happier.
3779         Courtesy of "Jason Diamond" <jason@injektilo.org>
3781 2002-01-04 19:00  dan
3783         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3784         separate things
3786 2002-01-04 18:27  dan
3788         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3789         Fixes to get things configuring and building on Win32 Native.
3791         Courtesy of "Jason Diamond" <jason@injektilo.org>
3793 2002-01-04 17:39  dan
3795         * hints/vms.pl: debug cleanup
3797 2002-01-04 16:53  dan
3799         * docs/parrot.pod:  The enclosed patch brings the list of
3800         documentation in parrot.pod
3801          up to date.
3803         Courtesy of Simon Glover <scog@roe.ac.uk>
3805 2002-01-04 16:47  dan
3807         * test_main.c, Parrot/Jit/i386-linux.pm,
3808         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3809         off warnings..
3811         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3813 2002-01-04 16:44  dan
3815         * Configure.pl, Makefile.in: Fixed linking to use linker.
3817         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3819 2002-01-04 16:39  dan
3821         * io/io_stdio.c: Added CVS tag info
3823 2002-01-04 16:35  dan
3825         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3826         isn't it
3828 2002-01-04 16:26  dan
3830         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3831         Tokenizer test
3833         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3835 2002-01-04 16:17  dan
3837         * chartypes/unicode.c: Silence some warnings.
3839         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3841 2002-01-04 16:09  dan
3843         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3844         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3845         into generated files
3846            but the $Id$ string gets mangled when it's committed.
3847            This patch fixes the existing .pmc files and fixes genclass.pl.
3849          - Makes capitalization in .pmc header match actual filenames
3851          - The command for calling genclass.pl in vtables.pod is incorrect,
3852            since it assumes you're running in classes/ but genclass.pl
3853         assumes
3854            it's being run from the main directory. I changed genclass.pl to
3855         not
3856            care.
3858         Courtesy of Steve Fink <steve@fink.com>
3860 2002-01-04 03:57  dan
3862         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3863         me--I *had* the files:wq!
3865 2002-01-04 03:40  dan
3867         * MANIFEST: Whoops--remove files not really there
3869 2002-01-04 03:37  dan
3871         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3872         my sig adds a new_stack() function to take care of the allocation
3873         and setup of "generic" stacks.
3875         Courtesy of "Brent Dax" <brentdax@cpan.org>
3877 2002-01-04 02:36  dan
3879         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3880         and so
3881          writes a load of junk in core_ops.pod. Applied patch fixes.
3883         Courtesy of Simon Glover <scog@roe.ac.uk>
3885 2002-01-04 02:35  dan
3887         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3888         logical-or is using get_integer instead of get_bool for logical
3889         operations. This patch corrects that.
3891         Perlnum and perlstring have working get_bool's, so the default
3892         logical_or and logical_and should be sufficient. The empty methods
3893         are pointed to the default logical_or.
3895         Courtesy of Jason Gloudon <perl@gloudon.com>
3897 2002-01-04 02:31  dan
3899         * Makefile.in: docs/Makefile should be removed by realclean, but
3900         isn't
3902         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3904 2002-01-04 02:29  dan
3906         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3908         Courtesy of Steve Fink <steve@fink.com>
3910 2002-01-04 00:51  dan
3912         * docs/vtables.pod: More docs
3914         Courtesy of Steve Fink <steve@fink.com>
3916 2002-01-04 00:47  dan
3918         * Configure.pl: Updated 64-bit patch
3920         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3922 2002-01-04 00:43  dan
3924         * Configure.pl: 64-bit Fix.
3926         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3928 2002-01-03 22:37  dan
3930         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3931         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3932         some buffering work.       Additional work on other layers.
3934         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3936 2002-01-03 19:41  gregor
3938         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3939         Updated copyright messages on top-level files.
3941 2002-01-03 04:23  robert
3943         * make.pl: Add author information.  Bonsai test.
3945 2002-01-03 04:02  dan
3947         * io/io_os.c: Twig Bonsai
3949 2002-01-03 03:45  dan
3951         * io/: io_os.c, io_os.c: Twig Bonsai
3953 2002-01-03 03:41  dan
3955         * io/io_os.c: Twig Bonsai
3957 2002-01-02 21:42  gregor
3959         * packfile.c, include/parrot/packfile.h:
3960         Get rid of warnings in packfile.[hc]
3962 2002-01-02 20:39  gregor
3964         * manicheck.pl:
3965         Bracketed translated patterns with ^ and $.
3967 2002-01-02 20:11  dan
3969         * io/io_os.c: silence a warning
3971 2002-01-02 19:52  grunblatt
3973         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3974         op_assembly to jit_struct.h, so that we get the real number of ops.
3975          Removed some warnings.
3977 2002-01-02 19:31  tom
3979         * string.c: Fix string transcoding so that it actually works.
3981         Patch from Peter Gibbs <peter@emkel.co.za>
3983 2002-01-02 19:20  gregor
3985         * manicheck.pl:
3986         A program to check the MANIFEST file, accounting for .cvsignore
3987         files.
3989 2002-01-02 19:19  dan
3991         * t/harness: twig bonsai
3993 2002-01-02 19:13  dan
3995         * t/harness: twig bonsai
3997 2002-01-02 18:54  dan
3999         * t/harness: Tweak to test Bonsai
4001 2002-01-02 16:27  dan
4003         * Configure.pl: Allow 64-bit build of parrot on systems with a
4004         mixed 32/64 bit perl
4006         Courtesy of David M. Lloyd <dmlloyd@tds.net>
4008 2002-01-02 15:33  simon
4010         * MANIFEST, docs/Makefile:
4011         Fixed up MANIFEST. (And I removed the Makefile in docs/)
4013         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4015 2002-01-02 13:51  simon
4017         * Configure.pl:
4018         Die on broken manifest.
4020 2002-01-02 13:48  simon
4022         * jit2h.pl, examples/assembly/mops.pasm:
4023         Clear up JIT warnings.
4025         Courtesy of: Nick Clark <nick@unfortu.net>
4027 2002-01-02 04:10  dan
4029         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4030         only once, so new interp creation works again
4032         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4034 2002-01-02 03:32  dan
4036         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4037         moment.
4039 2002-01-02 00:55  dan
4041         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4042         io/io_os.c: Initial IO system patches
4044         Courtesy of <mrjoltcola@mindspring.com>
4046 2002-01-01 22:55  ajgough
4048         * classes/default.pmc: On second thoughts, and some prodding, the
4049         set_* methods now only set the appropriate part of the cache, and
4050         do nothing else.
4052 2002-01-01 22:29  ajgough
4054         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4056          set_* create appropriate Perl* result.
4057          get_* simply grabs needed bit of cache.*_val
4059          Other methods do the rightest thing I can think of, at the moment.
4061          None yet cope with overflow, the modulus operation needs to be
4062         checked as
4063         I don't know quite which semantics we really want.
4065         Not tested yet.
4067 2002-01-01 20:23  dan
4069         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4070         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4071         rid of unneeded tmp var and eliminated const from encode prototype
4072         since it does make changes to the string.
4074         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4076 2002-01-01 20:11  dan
4078         * Makefile.in: Make clean now tosses pdump.o
4080         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4082 2002-01-01 19:49  dan
4084         * pdump.c, test_main.c: Warnings cleanup
4086         Courtesy of Josh Wilmes <josh@sky.net>
4088 2002-01-01 19:45  dan
4090         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4091         hints/mswin32.pl, languages/jako/Makefile.in,
4092         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4093         platforms
4095         Courtesy of "Jason Diamond" <jason@injektilo.org>
4097 2002-01-01 19:41  dan
4099         * include/parrot/register.h: Clean up some warnings
4101         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4103 2002-01-01 19:10  simon
4105         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4106         Hack-around to enable compilation of code using vtable ops.
4108 2002-01-01 18:43  dan
4110         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4111         checks on unsigned things
4113         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4115 2002-01-01 18:26  dan
4117         * runops_cores.c: More warning silences.
4119         Courtesy of Nicholas Clark <nick@unfortu.net>
4121 2002-01-01 18:25  dan
4123         * trace.c: Shuts up a warning.
4125         Courtesy of Nicholas Clark <nick@unfortu.net>
4127 2002-01-01 18:24  dan
4129         * encodings/singlebyte.c: Clean up some warnings.
4131         Courtesy of Nicholas Clark <nick@unfortu.net>
4133 2002-01-01 18:20  dan
4135         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4136         thunk it?
4138         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4140 2002-01-01 18:17  dan
4142         * packfile.c: Warning cleanup
4144         Courtesy of Nicholas Clark <nick@unfortu.net>
4146 2002-01-01 17:53  dan
4148         * string.c: New string size should be based on output encoding's
4149         size, not input encoding's size.
4151         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4153 2002-01-01 17:22  dan
4155         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4156         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4157         include/parrot/interpreter.h, include/parrot/memory.h,
4158         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4159         Warnings fixups.
4161         Courtesy of Chip Turner <cturner@redhat.com>
4163 2002-01-01 17:09  dan
4165         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4166         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4167         now unsigned, as is proper.
4169         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4170         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4172 2002-01-01 16:59  dan
4174         * include/parrot/trace.h: Useless debugging prototype removed
4176         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4178 2002-01-01 16:58  dan
4180         * MANIFEST: We forgot a file.
4182         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4184 2002-01-01 03:53  dan
4186         * Configure.pl: Okay, I give. Removed some warnings because the
4187         darned system headers were triggering them. Sloppy, sloppy
4188         coding...
4190 2002-01-01 03:48  dan
4192         * config_h.in: Add in an unsigned INTVAL.
4194         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4196 2002-01-01 03:46  dan
4198         * global_setup.c: Clean up some compiler warnings.
4200         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4202 2002-01-01 03:43  dan
4204         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4205         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4206         include/parrot/op.h: Cleaned up some things to make the compiler
4207         happier.
4209         Courtesy of Nicholas Clark <nick@unfortu.net>
4211 2002-01-01 03:14  dan
4213         * Configure.pl: Quad updates.
4215         Courtesy of Nicholas Clark <nick@unfortu.net>
4217 2001-12-31 22:53  dan
4219         * include/parrot/op.h: Typedef had parameters backwards. Threw
4220         core.ops for a big whiny warnings loop.
4222 2001-12-31 22:37  dan
4224         * Makefile.in, resources.c: Tweaks to try and get things to build
4225         in the right order.
4227 2001-12-31 21:58  dan
4229         * Configure.pl: Stupid thinko fix
4231 2001-12-31 21:34  dan
4233         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4235         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4237 2001-12-31 21:32  dan
4239         * Configure.pl: Fix for non-gcc systems
4241 2001-12-31 20:22  dan
4243         * interpreter.c: Tweak so we can build on non-JIT platforms
4245 2001-12-31 20:11  dan
4247         * Configure.pl: Force the time on some copied files to be 'now' to
4248         make the Win builds much less annoying.
4250         Courtesy of "Jason Diamond" <jason@injektilo.org>
4252 2001-12-31 20:07  dan
4254         * Configure.pl: Nuke all object files in the parrot tree that
4255         matter when configuring.  Shouldn't be necessary with good
4256         dependencies in the makefile, but we don't have those yet.
4258 2001-12-31 20:00  gregor
4260         * chartypes/unicode.c:
4261         Silence unused variable warnings.
4263 2001-12-31 19:40  dan
4265         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4267 2001-12-31 19:37  gregor
4269         * interpreter.c, jit.c, include/parrot/jit.h:
4270         Created a prototype for JIT functions and used it in interpreter.c.
4272 2001-12-31 19:31  dan
4274         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4275         detection) with really cranky warnings if we find we're using it.
4277         Courtesy of: Nicholas Clark <nick@unfortu.net>
4279 2001-12-31 18:01  gregor
4281         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4283         Fixed a few warnings wrt prototypes, etc.
4285 2001-12-31 17:23  dan
4287         * string.c: Silenced most of the compiler whines
4289 2001-12-31 17:15  gregor
4291         * Configure.pl:
4292         Get the ccname from either ccname or just cc config var.
4294 2001-12-31 17:14  gregor
4296         * Parrot/Op.pm, lib/Parrot/Op.pm:
4297         Another intermediate opbody notation. Could come in handy. Explicit
4298         types.
4300 2001-12-31 17:05  dan
4302         * string.c: Minor warnings update
4304 2001-12-31 17:00  dan
4306         * include/parrot/string.h: Warnings cleanup
4308 2001-12-31 16:00  simon
4310         * encodings/utf8.c, include/parrot/encoding.h:
4311         Remove a couple more.
4313 2001-12-31 15:58  simon
4315         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4316         include/parrot/op.h:
4317         Rid ourselves of a few warnings.
4319 2001-12-31 15:32  dan
4321         * Configure.pl: Made GCC ever so much pickier.
4323         Switch list courtesy of Jarkko.
4325 2001-12-31 15:22  dan
4327         * string.c: Tightened up initial allocation.
4329         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4331 2001-12-31 06:48  dan
4333         * Configure.pl: Minor Windows tweak
4335 2001-12-31 05:32  dan
4337         * core.ops: Unused temp variable tossed.
4339         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4341 2001-12-31 05:09  grunblatt
4343         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4344         supported plataforms
4346 2001-12-31 03:05  dan
4348         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4349         platform-independent quote substitution for the makefiles.
4350         Hopefully this'll make the Win32 builds happier.
4352 2001-12-30 21:08  dan
4354         * string.c, include/parrot/string.h: More string system tweaks.
4356         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4358 2001-12-30 20:45  dan
4360         * core.ops: Some pod cleanup
4362         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4364 2001-12-30 20:22  ajgough
4366         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4367         we aren't using them right now.  Clarified the workings of set Px,
4368         Py and clone Px, Py.
4370 2001-12-30 20:15  grunblatt
4372         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4373         Added readjit() to read *.jit files Updated core.jit to the new
4374         set_n_i
4376 2001-12-30 20:14  ajgough
4378         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4380 2001-12-30 19:52  dan
4382         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4383         include/parrot/trace.h, platforms/generic.c: Compiler whine
4384         cleanups
4386         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4388 2001-12-30 19:13  dan
4390         * Configure.pl, Makefile.in: Make GCC pickier by default.
4392         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4394 2001-12-30 18:41  dan
4396         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4397         ntoi opcodes to sets.
4399         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4401 2001-12-30 17:58  gregor
4403         * Makefile.in:
4404         'make' no longer builds the mops test. Use 'make mops' for that. To
4405         run the test, you can do 'make mopstest'.
4407 2001-12-30 17:30  gregor
4409         * Makefile.in:
4410         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4411         Gregor.
4413 2001-12-30 17:26  gregor
4415         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4416         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4417         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4418         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4419         Build enhancements. Originally to support building shared
4420         libraries, but now of broader impact.
4422           * .cvsignore: Ignore the blib/ directory, about which more later.
4424           * Configure.pl:
4426               * Got rid of TAB formatting and lined a few things up.
4428               * Added header comment with CVS Id variable, and a few other
4429                 block header comments.
4431               * Uses new Parrot::BuildUtil module to determine the Parrot
4432                 version.
4434               * Reworded a few messages, added a couple, and wrapped
4435         messages
4436                 to 79 columns.
4438               * Added 2002 to the Copyright statement.
4440               * Added new configure variables: VERSION, MAJOR, MINOR and
4441         PATCH
4443               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4444         greater
4445               than 5.6.0, but the comment implies it isn't.
4447           * Makefile.in:
4449               * Added $(SO), $(A) and $(AR_CRS) defines for library
4450         building.
4452               * Added $(RM_RF) define for removing directory trees
4454               * Grouped generated files into two classes: "sticky" (made by
4455         configure,
4456                 persisting across 'make clean') and 'fluid' (made during
4457         the build
4458                 process, deleted by 'make clean').
4460               * Added header comments.
4462               * Added target for test_prog linked with shared library.
4464               * Added rules to build shared libraries in blib/lib. The
4465         libraries are
4466                 built with trailing version numbers in their file names,
4467         and then
4468                 symbolic links are created for shorter and no version tag
4469         variants.
4471               * Added some missing dependencies
4473               * Added some missing 'make clean' targets.
4475               * Added 'make realclean' target that deletes files created by
4476                 Configure.pl (including Makefile), forcing a re-configure.
4478               * Added a 'status' CVS target.
4480           * VERSION: New file, contains only the version. This version
4481         number is
4482             propagated to a few places, such as the core oplib version
4483         number. This
4484             reduces the amount of coordination that has to happen to get
4485         version
4486             number stuff throughout the tree in sync and updated prior to
4487         cutting
4488             a new release. Feel free to grep for '0.0.3' to see the other
4489         files
4490             that contain the version number (but, do that in a fresh CVS
4491         copy, or
4492             after doing 'make realclean').
4494           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4495         PARROT_*_VERSION,
4496             since the oplib and Parrot itself share a version number now.
4497         Added
4498             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4499         (a
4500             string).
4502           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4503         of
4504             specifying the version by hand. Non-core oplibs will set this
4505         to
4506             a quoted dot-string with three natural number components
4507         without
4508             leading zeros.
4510           * interpreter.c: Make use of PARROT_VERSION to simplify some
4511         sprintf()s, and
4512             to get the complete version number in the resulting strings
4513         (including the
4514             new PATCH portion).
4516           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4517         the
4518             generated file.
4520           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4522           * ops2c.pl: Account for the PATCH version, too. This affects the
4523         name of the
4524             oplib init function, and the oplib info struct initializer.
4526           * Parrot/BuildUtil.pm: New file for reading in and validating the
4527         contents of
4528             the new VERSION file. Other build utilities could go here in
4529         futuer.
4531           * Parrot/OpsFile.pm:
4533               * Allow three components in version number, and require that
4534         the value
4535                 be in double quotes.
4537               * Allow "VERSION = PARROT_VERSION", substituting the shared
4538         Parrot
4539                 VERSION in that case.
4541           * include/parrot/oplib.h: Add the patch_version member.
4543 2001-12-30 12:16  simon
4545         * MANIFEST, Makefile.in:
4546         More stuff forgotten from MANIFEST.
4548 2001-12-30 12:13  simon
4550         * MANIFEST:
4551         Missing JIT file.
4553 2001-12-30 12:12  simon
4555         * jit2h.pl:
4556         Safety first.
4558 2001-12-30 12:12  simon
4560         * Makefile.in:
4561         Gragh.
4563 2001-12-30 12:04  simon
4565         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4566         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4567         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4568         include/parrot/string.h, t/op/string.t:
4569         * Expand the strings test suite to be more complete * Make string
4570         commands more consistent (i.e, now the only string command that
4571         actually changes the original is chopn) * Significantly reduce the
4572         number of memory allocations and eliminate reallocations.
4574         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4576 2001-12-29 22:12  dan
4578         * interpreter.c, key.c, register.c, stacks.c, string.c,
4579         test_main.c, trace.c: Updates to match the coding standards.
4581         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4583 2001-12-29 20:42  grunblatt
4585         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4586         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4587         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4588         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4589         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4590         Kitover <caelum@debian.org>
4592 2001-12-28 21:20  dan
4594         * core.ops: Okay, now print takes a preceding file handle.
4596         I feel so dirty now.
4598 2001-12-28 20:46  dan
4600         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4601         changing the open op to use fopen under the hood.
4603         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4605 2001-12-28 18:20  ajgough
4607         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4608         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4609         include/parrot/exceptions.h, include/parrot/string.h,
4610         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4611         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4612         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4613         to hold tests specific to PerlStrings, as the pmc.t file is taking
4614         too long to run and slowing down my thought processes.
4616         Changes to strings.c etc to take string functions.
4618         Some changes to the strings docs, but not yet complete.
4620         Also, PerlString was copying pointers to strings, rather than
4621         strings themselves, so some action-at-a-distance bugs were creeping
4622         in, I think I've fixed this so everything works nicely.
4624 2001-12-28 04:56  gregor
4626         * examples/assembly/pmcmops.pasm:
4627         PMC-using version of mops.pasm.
4629         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4631 2001-12-28 04:56  gregor
4633         * examples/assembly/.cvsignore:
4634         Small tinkering. Removed old stuff, etc.
4636 2001-12-28 01:26  gregor
4638         * examples/mops/mops.scheme:
4639         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4640         to the very un-scheme-like implementation.
4642 2001-12-28 01:19  gregor
4644         * examples/mops/mops.c:
4645         Some people's picky compilers don't like us redefineing time(), so
4646         we call it time_n().  :)
4648 2001-12-28 00:28  gregor
4650         * examples/mops/: README, mops.ps:
4651         Added a PostScript example and a README.
4653 2001-12-27 23:57  gregor
4655         * Makefile.in:
4656         Build the C mops translation in examples/mops/mops.c
4658 2001-12-27 23:56  gregor
4660         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4661         Some translations of mops.pasm into other languages, for inner loop
4662         performance comparisons.
4664 2001-12-27 22:40  gregor
4666         * examples/assembly/mops.pasm:
4667         Fixed erroneous file name in header comment.
4669 2001-12-27 21:18  gregor
4671         * pbc2c.pl:
4672         One-liner to avoid no-op gotos to the next op.
4674 2001-12-27 21:06  gregor
4676         * runops_cores.c:
4677         Fixed -p (profiling). Slow runops core was doing unconditional
4678         tracing, when it should have been checking the flags.
4680 2001-12-27 18:50  ajgough
4682         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4683         classes/perlstring.pmc, include/parrot/chartype.h,
4684         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4685         dded get_digit() to chartypes  * Added string_bool() to strings  *
4686         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4687         to perlstring.pmc  * Tests for above, also a for couple of other
4688         ops without tests
4690         The unicode chartype has only had placeholders added for get_digit,
4691         string_to_num has been updated to use type->get_digit rather than
4692         the previous ascii-isms.  Some remain, but we need to carefully
4693         define what we mean by a number before we let thousands of code
4694         points act as a minus sign.
4696 2001-12-27 18:32  dan
4698         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4699         compiler warnings.
4701         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4703 2001-12-27 18:23  dan
4705         * t/op/bitwise.t: More tests.
4707         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4709 2001-12-27 17:08  gregor
4711         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4712         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4713         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4714         include/parrot/interpreter.h, include/parrot/oplib.h,
4715         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4716         platforms/win32.c, platforms/win32.h:
4717         Initial code for dynamic loading of oplibs, applied for now to the
4718         loading of the core_prederef oplib when the -P flag is passed to
4719         test_parrot.
4721           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4723           * Makefile.in:
4725               * Added libcore_prederef_0_3.so to the shared target.
4726               * Added build rule for libcore_prederef_0_3.so.
4727               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4728                 to Parrot/OpLib/core.pm, core_ops.c and
4729                 core_ops_prederef.c.
4731           * config_h.in: Added defines for constants used to locate the
4732             core oplib's init function, and the core_prederef oplib for
4733             dynaloading.
4735           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4736             required by Parrot/OpsFile.pm.
4738           * interpreter.c:
4740               * Added init_prederef() and stop_prederef() functions to load
4741                 and unload the core_prederef oplib when we are in prederef
4742                 mode.
4744                 NOTE: In all likelihood, the prederef stuff has a rapidly
4745                 dwindling time-to-live. The JIT should provide vastly
4746         superior
4747                 performance, and loading an alternate set of core_ops isn't
4748                 the real direction for the dynaloading stuff. Loading
4749                 *additional* ops is. It does provide a handy test case for
4750         the
4751                 general idea for now, though.
4753               * Gets the core copcode table, etc. via the core oplibs oplib
4754                 info pointer, as returned by the core oplib's init
4755         function.
4757           * ops2c.pl
4759               * Make use of the version, major version and minor version
4760                 stuff parsed by Parrot/OpsFile.pm
4762               * The only exported symbol in the generated files is the init
4763                 function now, since that returns an oplib info struct
4764                 pointer, and all the important stuff can be found there.
4766           * ops2pm.pl: Put the oplib version in the generated .pm file.
4768           * test_main.c: Small changes necessitated by changes in the names
4769             of some members of the interpreter struct.
4771           * trace.c: Small changes necessitated by changes in the names
4772             of some members of the interpreter struct.
4774           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4775             ops are found.
4777           * include/parrot/interp_guts.h: Small changes necessitated by
4778             changes in the names of some members of the interpreter struct.
4780           * include/parrot/interpreter.h: Include the new
4781             include/parrot/oplib.h header. Small changes to the oplib-
4782             related members.
4784           * include/parrot/oplib.h: Define the type of the oplib init
4785             function, and the struct type for the oplib info.
4787           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4788             since not all platforms have it. For those that do, a default
4789             second argument is provided.
4791 2001-12-26 05:12  gregor
4793         * Configure.pl:
4794         Make jitarch calculation not get tripped up by extra components to
4795         archname.
4797 2001-12-24 21:23  gregor
4799         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4800         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4801         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4802         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4803         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4804         Some more JIT work from Daniel Grunblatt.
4806           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4807         to C
4808             functions.
4810           * Added JUMP(END) to place the number of bytes to the end of the
4811         current
4812             op.
4814           * The *.jit files syntax changed.
4816           * Added jit/i386/lib.jit to place handly functions as jump that
4817         take as
4818             argument the address where is the opcode number to jump to.
4820           * There is a bug at some point, but I will start writing
4821             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4822         have use
4823             calls, which make the jit as slow as the interpreter.
4825         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4827 2001-12-24 03:46  dan
4829         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4830         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4831         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4832         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4833         Perls before 5.6.0 don't like it.
4835 2001-12-22 16:02  ajgough
4837         * t/op/stacks.t: stopped skipping tests we can run now.  added
4838         clonep tests.
4840 2001-12-21 21:13  gregor
4842         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4843         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4844         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4845         Fixed some package name goofs.
4847         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4849 2001-12-21 19:32  gregor
4851         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4852         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4853         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4854         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4855         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4856         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4857         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4858         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4859         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4860         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4861         pbc2c.pl.
4863           * Removed ops2c-prederef.pl
4865           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4867           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4868             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4869             for old functionality of ops2c-prederef.pl), and
4870             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4872             "OpTrans" == "Op Transformation"
4874           * Makefile.in modifications to call "ops2c.pl C" where it used
4875             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4876             to be "ops2c-prederef.pl".
4878           * core.ops and obscure.ops changes to syntax. Semantics are
4879             identical with previous version:
4881               return HALT         -->  HALT()
4882               return AUTO         -->  goto NEXT()
4883               return RETREL(...)  -->  goto OFFSET(...)
4884               return RESTART(*)   -->  restart NEXT()
4886             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4887             for dest-less branch ops replaced with new notation "goto
4888         POP()",
4889             which uses the new pop_dest() function in stacks.c. This also
4890             allowed these ops to become 'inline' ops, since they no longer
4891             have local variables.
4893             The 'ret' op also became simplified to just "goto POP()", and
4894             also became an inline op.
4896           * interpreter.c reflects the change in type name:
4898               prederef_op_func_t   -->  op_func_prederef_t
4900             that occurred in include/parrot/op.h
4902           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4903             "return AUTO".
4905           * ops2c.pl is now generic. Its first argument is the last
4906             package name component of a subclass of Parrot::OpTrans. These
4907             subclasses all have full names of the form Parrot::OpTrans::*.
4908             An instance of the class is created and later consulted for
4909             various bits of information needed to generate the C code.
4911           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4912             contain its transformation rules.
4914           * stacks.c has a new function pop_dest() that pops a destination
4915             off the control stack. include/parrot/stacks.h has the
4916         prototype.
4918           * Parrot/Op.pm now supports the syntax generated by
4919         Parrot::OpsFile
4920             for the "goto POP" case.
4922             Also, the source() method now expects its second argument to be
4923             an object that ISA Parrot::OpTrans. Methods of this object are
4924             called to perform the substitutions.
4926           * Parrot/OpsFile.pm supports the change in notation mentioned
4927             above.
4929           * docs/intro.pod reflects these changes.
4931           * include/parrot/op.h: Renamed type prederef_op_func_t to
4932             op_func_prederef_t because it made the implementation of the
4933             shared ops2c.pl easier.
4935 2001-12-21 13:47  gregor
4937         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4938         Both test_parrot (via test_main.c) and the intepreter itself (via
4939         interpreter.c) use the JIT_CAPABLE config to decide whether to
4940         actually attempt JIT operation, or to complain.
4942 2001-12-20 23:25  gregor
4944         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4945         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4946         Changes to the format of *.ops files. An attempt to provide hints
4947         for future opfunc processing logic that wants to know if an opfunc
4948         is simple enough to JIT (e.g.) inline, or not.
4950         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4951         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4952         info.
4954 2001-12-20 21:28  gregor
4956         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4957         jit/i386/core.jit:
4958         More JIT stuff:
4960           * A fix to Gregor's last Configure.pl update.
4962           * Remove the need for hardcoded "\n" at the end of the "%f"
4963             format for printing floating-point numbers.
4965           * New, improved *.jit syntax for references to registers,
4966             e.g. INT_REG[n].
4968           * Support for C() improved.
4970         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4972 2001-12-20 16:55  dan
4974         * MANIFEST: Added jit.c to the manifest.
4976 2001-12-20 15:24  simon
4978         * jit2h.pl:
4979         Off-by-one error fixed.
4981 2001-12-20 14:18  simon
4983         * jit/i386/core.jit:
4984         Just a noop. It's the only machine code I know.
4986 2001-12-20 13:10  gregor
4988         * Configure.pl, Makefile.in, jit2h.pl:
4989         Attempt to fix Win32 builds.
4991           * No more empty braces in include/parrot/jit_struct.h
4993         Also:
4995           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4996         ${archname}
4997             does not.
4999 2001-12-20 11:56  simon
5001         * Makefile.in:
5002         De-cp
5004 2001-12-20 01:57  gregor
5006         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
5007         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
5008         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
5009         include/parrot/.cvsignore, include/parrot/interpreter.h,
5010         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
5011         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5012         lib/Parrot/Jit/i386-nojit.pm:
5013         Initial JIT implementation.
5015           * Enabled with test_parrot -j. 20x speed boosts seen.
5017           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5019           * More to come.
5021         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5023 2001-12-20 01:53  jgoff
5025         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5026         core.ops - Removed key operators, they should be hidden from the
5027         assembler.  t/op/key.t - No need to test the nonexistent key
5028         operators.
5030 2001-12-20 00:13  ajgough
5032         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5033         that asking for type of entry at depth causes segfault as stack is
5034         zero based, fixed cmp in core.ops to reflect this.  Last test is
5035         skipped as we don't do exceptions right yet.
5037 2001-12-19 19:11  ajgough
5039         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5040         non-being was causing Irix "issues".
5042 2001-12-19 03:37  jgoff
5044         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5045         004_combined.t: Changed tests to make sure they pass with the
5046         addition of the clone operator.
5048 2001-12-18 20:06  gregor
5050         * interpreter.c, include/parrot/interp_guts.h:
5051         Performance improvements to the predereferencing code path
5052         suggested to me over lunch yesterday by my friend John Kennedy.
5053         The goal is to remove the additional test in the inner loop that
5054         was checking for NULL to decide whether or not to call the
5055         prederef() function. Also moved pc & pc_prederef syncing outside
5056         the inner loop.
5058           * Changed the prototype of the prederef() function in
5059             interpreter.c to match that of an opfunc.
5061           * Instead of initializing the prederef void * array with NULL,
5062             we initialize it with pointers to prederef().
5064           * prederef() now returns the prederef_pc passed in, so that
5065             after predereferencing, the same location is executed, but now
5066             with the real code being called.
5068         Thanks to: John Kennedy
5070 2001-12-18 19:59  ajgough
5072         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5073         (including some more in the skipped string -> int tests).
5075 2001-12-18 07:06  jgoff
5077         * MANIFEST: Forgot to add classes/perlarray.pmc
5079 2001-12-18 07:05  jgoff
5081         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5082         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5083         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5084         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5085         t/pmc/pmc.t: Big update...  Makefile.in - Added
5086         classes/perlarray.pmc core.ops - Added new series of set() ops for
5087         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5088         Added perlarray.pmc classes/*.pmc - Added
5089         set_{integer,number,string}_index and
5090         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5091         type t/op/pmc.t - Added basic array test
5093         classes/perlarray.pmc - Added
5095 2001-12-17 05:29  jgoff
5097         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5098         generator to use clone operator instead of set Px,Py
5100 2001-12-17 05:25  jgoff
5102         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5103         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5104         PMC,PMC operator. Uses the clone() vtable entries.
5106 2001-12-17 04:51  jgoff
5108         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5109         entry
5111 2001-12-17 04:41  jgoff
5113         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5114         directory...
5116 2001-12-17 04:41  jgoff
5118         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5120 2001-12-17 04:39  jgoff
5122         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5123         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5124         t/
5126 2001-12-17 04:27  jgoff
5128         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5129         Admittedly it's a little thin on true OO, but the algorithms are
5130         the key.
5132 2001-12-17 04:24  jgoff
5134         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5135         003_generator.t, 004_combined.t: Much more comprehensive test suite
5136         for the codegen et al
5138 2001-12-17 04:22  jgoff
5140         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5141         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5142         key handling
5144 2001-12-17 04:20  jgoff
5146         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5147         more comprehensive.
5149 2001-12-17 04:17  jgoff
5151         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5152         changes to the new compiler
5154 2001-12-17 04:11  jgoff
5156         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5157         files to Miniperl/
5159 2001-12-16 14:11  simon
5161         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5162         t/pmc/pmc.t:
5163         Fix bogus assumption that multiplying an integer by an integer
5164         yields an integer.
5166 2001-12-16 12:48  simon
5168         * make_vtable_ops.pl:
5169         Fixed op exploder.
5171 2001-12-16 12:45  simon
5173         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5174         Expand multimethod vtable ops.
5176 2001-12-16 12:04  simon
5178         * Makefile.in:
5179         Added 'cvsclean' which doesn't zap CVS/* directories.
5181 2001-12-15 01:50  dan
5183         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5184         indeed!
5186         Thanks to grunblatt fom #parrot for the catch
5188 2001-12-15 01:39  dan
5190         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5191         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5192         languages/miniperl/Makefile.in,
5193         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5194         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5195         tweaks.
5197         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5199 2001-12-14 17:39  dan
5201         * t/op/trans.t: More trans tests.
5203         Courtesy of: Simon Glover <scog@roe.ac.uk>
5205 2001-12-14 07:41  robert
5207         * make.pl: - define MAKE macro - topological sort and subgraph
5208         order - start of timestamp stuff   (still badly broken)
5210 2001-12-14 06:06  jgoff
5212         * optimizer.pl: Hopefully this should do the trick..
5214 2001-12-14 06:04  jgoff
5216         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5218           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5220           The optimizer performs its work on a file post-macro expansion.
5221           Run it on a .pasm file, preferably with some trivially reducible
5222         operations
5223           like 'add I0,5,-6' or 'mul I0,I1,0'
5225 2001-12-14 05:48  robert
5227         * Makefile.in: case error EXE -> exe
5229 2001-12-14 05:42  robert
5231         * Makefile.in: remove legacy PDISASM macro
5233 2001-12-14 04:01  dan
5235         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5236         better Win building
5238         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5240 2001-12-13 22:03  dan
5242         * Configure.pl, Makefile.in, Parrot/Test.pm,
5243         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5244         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5245         can change it without having to change the world.
5247 2001-12-13 21:57  dan
5249         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5250         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5251         file/line/package to interp structure, with ops to get and set
5252         them. Now we can know where we are!
5254 2001-12-13 19:43  dan
5256         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5257         WinXP builds work out of the box
5259 2001-12-13 17:05  dan
5261         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5262         name again--makes case-insensitive systems much happier.
5264 2001-12-13 16:21  dan
5266         * core.ops, key.c, string.c, test_main.c, trace.c,
5267         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5268         compiler warnings
5270         Courtesy of: Josh Wilmes <josh@sky.net>
5272 2001-12-13 13:33  gregor
5274         * languages/jako/Makefile.in:
5275         Improved the method of calling the assembler.
5277 2001-12-13 13:30  gregor
5279         * languages/jako/Makefile.in:
5280         Improve the build process. It now works from the main parrot dir,
5281         and from the languages/jako directory. Now uses the .SUFFIXES
5282         target and generic build rules to reduce clutter in the
5283         Makefile.in.
5285 2001-12-13 13:29  gregor
5287         * languages/jako/.cvsignore:
5288         Ignore the (now generated Makefile), and don't ignore .list files
5289         anymore, since we aren't generating them.
5291 2001-12-13 13:11  gregor
5293         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5294         languages/Makefile.in, languages/jako/Makefile,
5295         languages/jako/Makefile.in:
5296         Added a 'languages' target to the top-level Makefile.in, and
5297         modified the jako build procedure to involve Makefile.in -->
5298         Makefile too (done by Configure.pl).
5300         NOTE: languages/jako and language/scheme are built.
5301         languages/miniperl wasn't building right, so it was left off for
5302         now.
5304 2001-12-13 12:15  gregor
5306         * MANIFEST:
5307         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5308         the MANIFEST.
5310 2001-12-13 12:12  gregor
5312         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5313         ops2c-prederef.pl, ops2c.pl, test_main.c,
5314         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5315         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5316         Welcome to the Just-in-Time Predereferencing Patch!
5318         This patch implements a "predereferencing" mode for parrot. That
5319         means that a lot of the dereferencing you see in DO_OP and in the
5320         opfuncs is done up front (really, JIT) rather than as and each time
5321         we execute each op in the byte code stream.
5323         This works by creating an array of void pointers with the same
5324         number of elements as the byte code array. This array starts out
5325         life zero-initialized.  Each time we go to execute an op, we check
5326         first to see if we have a NULL pointer at *cur_opcode. If so, we
5327         know we haven't done our predereferencing yet (this is the JIT
5328         part), so we call the prederef() function with sufficient args that
5329         it can go look up opfunc pointers and op arg types and put the
5330         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5331         where N is the number of args (counting the op itself as one arg).
5333         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5334         to have inline INTVAL constants.
5336         I've been getting about a 22% speed increase over vanilla code path
5337         when I compile with -O0. Advantage decreases at -O9 here. I tested
5338         with mops.pbc, and also by temporarily putting the -P flag in
5339         Parrot/Test.pm and running all the tests. So, this code is as
5340         correct as the test suite can detect.
5342         Here's how it plays out in the code:
5344           * New script ops2c-prederef.pl
5346             Copy-paste code reuse from ops2c.pl. Modified to expect the
5347         args to give
5348             a void ** cur_opcode and to return a void **.
5350           * Modified ops2c.pl
5352               * opfuncs are now static. Who needs to call them by name from
5353         outside,
5354                 anyway? They are accessed via the opfunc table.
5356               * Some MACRO stuff to make things work whether we prederef or
5357         not. It
5358                 may be possible to get rid of these some day if other folks
5359         agree
5360                 that we should be using CODE object pointers + offsets as
5361         our PC
5362                 rather than raw pointers to either opcode_t's or (void *)'s
5363                 (depending on prederef mode or no).
5365           * core.ops modified to be usable to build both kinds of opfuncs.
5366         For now,
5367             this means:
5369               * calls to push_generic_entry(... cur_opcode ...) were
5370         changed to
5371                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5372         a
5373                 macro that does the right thing in both kinds of ops.c
5374         files.
5376                 This is applicable to the bsr op. If we treated
5377         destinations as
5378                 (Code PMC + local offset) rather than as
5379         pointer-to-memory-somewhere,
5380                 this wouldn't be a big deal. We may need to do that at some
5381         point
5382                 anyway, so that when you jump around and return not only do
5383         you have
5384                 the right PC (pointer, today), but you also have the
5385         thread/interpreter
5386                 knowing what chunk of bytecode it is in at all times
5387         (assuming we'll
5388                 allow reflection, as in ops that query or affect the
5389         current CODE PMC).
5391               * runinterp was modified. Instead of copying the top-level
5392         PackFile struct
5393                 and blasting its byte_code pointer, we simply call runops
5394         on the new
5395                 interp, passing in the pointer to the current interp's code
5396         and the
5397                 offset into that code at which to start (this last arg used
5398         to be a
5399                 pointer PC, now its an offset PC).
5401           * include/parrot/op.h
5403               * new typedef for prederef opfuncs (they return void **)
5405           * include/parrot/interp_guts.h
5407               * New DO_OP_PREDEREF() macro described above.
5409           * include/parrot/interpreter.h
5411               * New prototype of runops() -- see below.
5413               * resume_addr field changed to resume_flag and resume_offset
5414         pair of fields.
5415                 We might be resuming from interp using prederef to one not
5416         or vice-versa,
5417                 so pointers between the two don't play nice together.
5418         Offsets are beautiful.
5420               * New PARROT_PREDEREF_FLAG constant
5422           * interpreter.c
5424               * include "parrot/oplib/core_ops_prederef.h"
5426               * prederef() function described above.
5428               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5429         macro as its core.
5431               * runops() modified to take size_t CODE-relative offset PC
5432         rather than
5433                 pointer PC. This made other things workable and doesn't
5434         seem to have lost
5435                 anything important (IMO).
5437           * test_main.c
5439               * New flag '-P' to enable predereferencing.
5441           * Makefile modified to build core_ops_prederef.c from core.ops
5442         via
5443             ops2c-prederef.pl.
5445             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5447             Added core_ops_prederef$(O) to O_FILES
5449 2001-12-13 12:12  gregor
5451         * languages/jako/MAINTAINER:
5452         Thought it would be nice to put this right in the code...
5454 2001-12-13 04:36  jgoff
5456         * languages/miniperl/Miniperl/Generator.pm: Commented out
5457         debugging, fixed register spillover algorithm
5459 2001-12-13 04:23  jgoff
5461         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5462         line) Restructured a bit of the dependency generator to fix a
5463         different obob bug.
5465 2001-12-13 03:43  robert
5467         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5469 2001-12-13 03:03  jgoff
5471         * make.pl: Added make.pl
5473 2001-12-13 02:44  jgoff
5475         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5476         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5477         special flags...                     - Dies on undefined macros
5478         such as $(PDISASM) in current make                     - Dies on
5479         recursive macro expansions                       (Doesn't test for
5480         mutual or multipart loops)                     - In general it
5481         seems to be a little less lenient...  Missing bits - File
5482         mod/creation times aren't being looked at              - Actions
5483         aren't being taken              - The few funky variables ($@, $<)
5484         aren't being dealt with Bugs - Line numbers are slipping a bit.
5486 2001-12-13 02:29  jgoff
5488         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5489         Reconstructing files to make the parser flow a little better.
5491 2001-12-13 00:51  dan
5493         * resources.c: Be a bit less wasteful with resources that don't
5494         need to be aligned
5496 2001-12-12 18:22  dan
5498         * Makefile.in: D'oh! Fixed looping makefile bug.
5500         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5502 2001-12-12 16:23  jgoff
5504         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5506 2001-12-12 16:22  jgoff
5508         * MANIFEST: Manifest additions for languages/miniperl
5510 2001-12-12 16:19  jgoff
5512         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5513         tests. These are left over from the Scheme suite and shouldn't be
5514         used yet.
5516 2001-12-12 16:18  jgoff
5518         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5519         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5520         modules. Miniperl/ is where the real work gets done.  t/ is largely
5521         vacant because it isn't ready to survive real tests yet.
5523 2001-12-12 16:17  jgoff
5525         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5526         mpc: Final go-round, hopefully.
5528         languages/miniperl/Makefile - Used basically to run tests, as there
5529         is nothing                               here that needs to be
5530         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5531         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5532         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5533         compiler stub
5535 2001-12-12 16:09  dan
5537         * Configure.pl: Setting a variable with the make command name is
5538         useful.
5540 2001-12-12 15:07  simon
5542         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5543         Recursive make considered "ow, don't do that".
5545 2001-12-12 14:45  dan
5547         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5548         non-portable code) Killing builds on Win32 native. Small patch
5549         applied which hopefully fixes it.
5551 2001-12-12 06:12  ajgough
5553         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5555 2001-12-12 06:08  ajgough
5557         * Makefile.in: perl is $(PERL).
5559 2001-12-12 06:00  ajgough
5561         * t/op/integer.t: Added tests to integer.t so that all permutations
5562         of arguments are actually called at some point.
5564 2001-12-12 05:18  ajgough
5566         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5567          Tests for sleep i|ic
5569 2001-12-12 05:09  ajgough
5571         * t/op/stacks.t: Added pushp and popp register stack tests.
5573 2001-12-12 04:51  ajgough
5575         * t/op/stacks.t: Added tests for save and restore, for all register
5576         types.  Let there be Haiku.
5578 2001-12-12 04:27  ajgough
5580         * t/op/basic.t: bsr_i test.  You know you want it.
5582 2001-12-12 02:55  ajgough
5584         * MANIFEST: Added hints/os2.pl to MANIFEST.
5586 2001-12-12 02:52  jgoff
5588         * core.ops, key.c: Final checkin... These are actually the correct
5589         copies.
5591 2001-12-12 02:12  jgoff
5593         * include/parrot/key.h: key.c - Removed a few functions,
5594         generalized set_element_value and element_value         to accept
5595         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5596         core.ops - Modified to accept the new return style.
5598         This is a prelude to adding virtual-table methods to allow hashing
5599         &c. Expect at least one or two more redesigns before this settles
5600         down. However, it still passes the original tests.
5602 2001-12-11 13:35  gregor
5604         * runops_cores.c:
5605         Fixed a typo.
5607 2001-12-11 12:03  gregor
5609         * .cvsignore:
5610         Don't ignore test_prog, but do ignore parrot.
5612 2001-12-11 12:03  gregor
5614         * classes/.cvsignore:
5615         Ignore the generated file default.h
5617 2001-12-11 04:07  jgoff
5619         * key.c: Key source
5621 2001-12-11 04:05  jgoff
5623         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5625 2001-12-11 04:00  jgoff
5627         * core.ops: Added new key aggregate operations to core ops.
5629 2001-12-11 04:00  jgoff
5631         * include/parrot/parrot.h: Added key.h to header list
5633 2001-12-11 03:59  jgoff
5635         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5637 2001-12-11 03:58  jgoff
5639         * Makefile.in: Added implementation of key aggregates.
5641 2001-12-08 23:07  simon
5643         * README:
5644         README good to go.
5646 2001-12-08 23:05  simon
5648         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5649         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5650         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5651         test_prog? What is test_prog?
5653 2001-12-08 22:57  simon
5655         * ChangeLog:
5657         Oops, the changelog commit was on *this* machine.
5659 2001-12-08 22:56  simon
5661         * NEWS:
5662         Updates to NEWS and ChangeLog pre-release.
5664 2001-12-08 22:07  simon
5666         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5667         classes/perlnum.pmc, classes/pmc2c.pl:
5668         Add "default" PMC vtable so you can inherit implied stuff.
5670 2001-12-08 21:24  simon
5672         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5673         docs/vtables.pod, lib/Parrot/PackFile.pm:
5674         Getting the documentation up to scratch.
5676 2001-12-08 21:21  simon
5678         * classes/pmc2c.pl:
5679         Allow inheriting from default class.
5681 2001-12-07 20:43  gregor
5683         * examples/assembly/queens.pasm:
5684         Regenerated the file with the latest jakoc.
5686 2001-12-07 20:29  simon
5688         * core.ops, t/op/stacks.t:
5689         Rename "rotate" to "rotate_up".
5691 2001-12-07 20:15  simon
5693         * t/op/stacks.t:
5694         Some tests for rotate.
5696 2001-12-07 00:55  gregor
5698         * core.ops:
5699         Cast the result of the pointer arithmetic, since without the cast
5700         there are warnings with some compilers, and without the parens
5701         around the pointer arithmetic, precedence breaks the meaning and
5702         causes crashes.
5704 2001-12-06 23:37  simon
5706         * core.ops:
5707         Temporary. I prefer compiler warnings to segfaults, thanks.
5709 2001-12-06 23:34  simon
5711         * runops_cores.c:
5712         Make "trace" work again.
5714 2001-12-06 21:23  dan
5716         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5718 2001-12-06 21:22  dan
5720         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5721         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5723 2001-12-06 19:22  simon
5725         * core.ops:
5726         Yet another "How the *%$! did that compile?" moment.
5728 2001-12-06 18:28  dan
5730         * hints/vms.pl: Fix to build, with a HERE logical required
5732 2001-12-06 17:48  dan
5734         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5735         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5736         changes to the interpreter--flags are now part of the interp
5737         structure.
5739         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5741 2001-12-06 14:02  gregor
5743         * docs/intro.pod:
5744         s/little_languages/languages/ in Jako section.
5746 2001-12-06 13:15  simon
5748         * Makefile.in:
5749         Ensure the documentation gets made.
5751 2001-12-06 13:12  simon
5753         * MANIFEST, docs/intro.pod:
5754         Documentation! Added the "Some Assembly Required" article with
5755         minor updates.
5757 2001-12-06 00:39  simon
5759         * core.ops:
5760         More "eq" support.
5762         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5764 2001-12-06 00:37  simon
5766         * test_main.c:
5767         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5769         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5771 2001-12-06 00:11  tom
5773         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5774         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5775         include/parrot/chartype.h, include/parrot/encoding.h,
5776         include/parrot/parrot.h: Moved string to number conversion code out
5777         of the encoding layer and into the main string layer as neither the
5778         encoding layer nor the character type layer knows enough on it's
5779         own to do the conversion correctly.
5781 2001-12-05 23:12  tom
5783         * Makefile.in: Rebuild the classes directory if any of the object
5784         files for the classes are missing rather than only when perlint.o
5785         is missing.
5787 2001-12-05 19:43  gregor
5789         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5790           * Reworked the constantize_string() stuff a little bit because it
5791         was
5792             puking on things like "\033[H\033[2J\0" (which occurs in the
5793             languages/jako/mandelzoom.jako example).
5795 2001-12-05 19:39  gregor
5797         * languages/jako/: Makefile, mandelzoom.jako:
5798         Added 'mandelzoom' example.
5800 2001-12-05 19:38  gregor
5802         * languages/jako/jakoc:
5803           * Added sleep()
5805           * Changed some instances of die() to confess()
5807 2001-12-05 18:34  gregor
5809         * t/: op/pmc.t, pmc/pmc.t:
5810         s/sting->int/string->int/
5812 2001-12-05 18:08  gregor
5814         * Parrot/.cvsignore:
5815         Ignore PMC.pm
5817 2001-12-05 18:05  gregor
5819         * classes/.cvsignore:
5820         Ignore the generated files.
5822 2001-12-05 17:19  gregor
5824         * pbc2c.pl:
5825           * Reverted recent changes, since they broke the script. Real fix
5826         coming
5827             later.
5829 2001-12-05 17:03  simon
5831         * classes/Makefile.in:
5832         Remember: change Makefile.in, not Makefile. D'oh.
5834 2001-12-05 17:02  simon
5836         * Makefile.in:
5837         Ensure PMC.pm gets remade.
5839 2001-12-05 16:58  simon
5841         * MANIFEST, Makefile.in, classes/Makefile.in,
5842         classes/perlundef.pmc, include/parrot/pmc.h:
5843         Add perlundef class.
5845 2001-12-05 16:45  simon
5847         * core.ops:
5848         Document "new P0, foo"
5850 2001-12-05 16:43  simon
5852         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5853         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5854         Allow assembler to know about PMC class names.
5856 2001-12-04 13:39  ajgough
5858         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5860 2001-12-04 05:02  ajgough
5862         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5863         in perlnum.c
5865 2001-12-04 04:24  ajgough
5867         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5868         broken form of strtod and appropriate tests.  Does not yet check
5869         for overflow.
5871 2001-12-04 01:31  ajgough
5873         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5874         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5875         to extract_num and extract_int string vtables, without this it
5876         would be impossible to have strings with nulls in while still
5877         knowing where they ended.
5879 2001-12-03 18:40  ajgough
5881         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5882         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5883         include/parrot/string.h: Moved pmc string to number conversion into
5884         the string encoding tables.
5886 2001-12-03 00:21  ajgough
5888         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5889         for p-> integer.
5891 2001-12-02 23:09  jgoff
5893         * classes/Makefile.in: Removed some redundant targets.
5895 2001-12-02 19:02  ajgough
5897         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5898         equality macro rather than using perl to generate expected output,
5899         all tests now have <<OUTPUT.
5901 2001-12-02 17:44  ajgough
5903         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5904         for pmc.t as well.  Will probably move macros into another file at
5905         some point, although this might be best left until the tests are
5906         unperled.
5908 2001-12-02 06:16  jgoff
5910         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5911         within Parrot_Perl{Class}_init.
5913 2001-12-02 06:09  jgoff
5915         * classes/Makefile.in: I seem to have removed *$(O) twice..
5917 2001-12-02 05:06  jgoff
5919         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5920         Configure.pl - Removed '-I./include', added classes/Makefile
5921         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5922         Removed old classes/* make stuff                Added target for
5923         classes/Makefile
5925 2001-12-02 04:48  jgoff
5927         * classes/Makefile.in: Going to be used shortly...
5929 2001-12-02 04:40  jgoff
5931         * docs/Makefile: Configure.pl - Added automatic makefile creation
5932         for docs/ and classes/                Removed '-I./include' because
5933         it was getting incorrectly                passed to classes/
5934         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5935         - Removed classes/ build stuff, replaced with classes/Makefile.in
5936                     Added '-I./include' locally docs/Makefile - Should no
5937         longer be used, but I'm not brave enough to do a
5938         cvs delete.
5940 2001-12-02 01:21  ajgough
5942         * t/op/trans.t: Refactored trans math tests to have hard coded
5943         expected return values and be more ready to be unperled at some
5944         point in the future.  Added $fp_equality_macro which is a
5945         "nearly-equal-to" function.
5947 2001-12-02 01:18  ajgough
5949         * Makefile.in: Humph.  People really ought to use Makefile
5950         variables, s/perl/$(PERL)/ throughout.
5952 2001-12-01 18:15  jgoff
5954         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5955         figure out what to do vis-a-vis the lack of snprintf.
5957 2001-11-30 13:14  ajgough
5959         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5960         and integer.t
5962 2001-11-30 13:14  ajgough
5964         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5965         -, else ... form.
5967 2001-11-30 10:36  simon
5969         * core.ops:
5970         Rewrite print_p to do the right thing.
5972 2001-11-30 06:21  jgoff
5974         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5975         concat,               integer/number/string math
5977 2001-11-30 06:20  jgoff
5979         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5980         classes/perlint.pmc - Fixes and expanding for concat and math with
5981         strings classes/perlnum.pmc - Fixes and expanding for concat and
5982         math with strings classes/perlstring.pmc - Fixes and expanding for
5983         concat and math with strings
5985 2001-11-29 15:21  ajgough
5987         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5988         $^X lies, which confused bash which make uses to run things when
5989         doing its stuff.
5991 2001-11-29 04:58  jgoff
5993         * classes/perlstring.pmc: Removed C++-style comments for good
5994         measure
5996 2001-11-29 04:51  jgoff
5998         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
6000 2001-11-29 04:28  jgoff
6002         * global_setup.c: Initialize PMC strings
6004 2001-11-29 04:25  jgoff
6006         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
6007         string PMCs.
6009 2001-11-29 04:24  jgoff
6011         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6012         files to properly upgrade int to num, do calculations.  Also added
6013         basic string operations. Currently errors out on anything but set
6014         operations, but this will be fixed soon.
6016 2001-11-29 04:22  jgoff
6018         * Makefile.in: PMC .c files weren't getting cleaned out.
6020 2001-11-28 17:00  simon
6022         * t/harness:
6024         Make csh-glob happy.
6026         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6028 2001-11-28 16:40  simon
6030         * classes/perlnum.pmc:
6032         De-C++
6034 2001-11-28 15:22  simon
6036         * string.c:
6038         Fixes Alex's string concat worry.
6040 2001-11-28 14:27  ajgough
6042         * t/op/string.t: test "null onto null" incorrectly passing as it
6043         produced no output.  Output provided.
6045 2001-11-28 11:14  simon
6047         * include/parrot/pmc.h:
6049         Placate AIX.
6051 2001-11-26 21:03  dan
6053         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6055 2001-11-26 17:29  simon
6057         * classes/perlint.pmc:
6059         Various subtle but non-showstopper bugs.
6061 2001-11-26 11:23  simon
6063         * classes/pmc2c.pl:
6065         Replace dependency on Text::Balanced
6067         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6069 2001-11-26 05:22  jgoff
6071         * global_setup.c: Last file that should need to be committed. I
6072         swear.
6074 2001-11-26 05:09  jgoff
6076         * core.ops: Let's try this again... Changes to core.ops required
6078 2001-11-26 04:58  jgoff
6080         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6081         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6082         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6083         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6084         functions classes/perlnum.pmc - Set up basic number functions
6085         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6086         tests against numbers and numbers+integers
6088 2001-11-25 13:18  simon
6090         * Makefile.in:
6091         Windows XP make doesn't like $<
6093 2001-11-25 12:56  simon
6095         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6096         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6097         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6098         examples/assembly/mops_p.pasm:
6099         PMC preprocessor.
6101         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6103         I (Simon) also added a couple more integer methods, but no tests
6104         since I'm a Bad Person.
6106 2001-11-25 08:40  brentdax
6108         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6109         lib/Parrot/OpsFile.pm: Allow _ in op names
6111 2001-11-25 05:54  jgoff
6113         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6114         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6116 2001-11-23 18:27  simon
6118         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6119         Add everything you need to make MOPS use PMCs.
6121 2001-11-23 18:06  simon
6123         * core.ops:
6124         Eh, you'll need this for rewriting mops.pasm.
6126 2001-11-23 17:55  simon
6128         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6129         t/pmc/pmc.t:
6130         More work on integer PMCs.
6132 2001-11-23 17:29  simon
6134         * Makefile.in:
6135         Surprise! Whitespace! HLAGHLAGHLAGH
6137 2001-11-23 17:28  simon
6139         * Makefile.in, ops2c.pl, ops2pm.pl:
6140         Add vtables.ops to the core
6142         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6144 2001-11-22 18:39  simon
6146         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6147         t/pmc/pmc.t:
6148         We can now create PMCs.
6150 2001-11-21 05:49  jgoff
6152         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6154 2001-11-20 16:00  simon
6156         * docs/vtables.pod, include/parrot/pmc.h:
6157         Reorder PMC flags so there's a fixed number of user-defined flags.
6159         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6161 2001-11-19 03:39  jgoff
6163         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6164         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6165         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6166         escaped quotes, and proper                handling of newlines.
6168 2001-11-16 22:03  simon
6170         * classes/perlint.c:
6171         More work on the Perl Integer class. More needed, though.
6173 2001-11-16 21:57  simon
6175         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6176         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6178 2001-11-16 20:49  simon
6180         * interpreter.c, runops_cores.c, trace.c,
6181         include/parrot/runops_cores.h:
6182         Kill superfluous runops cores.
6184 2001-11-16 17:50  simon
6186         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6187         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6188         include/parrot/parrot.h, include/parrot/pmc.h:
6189         Skeleton for Perl scalar types, done right.
6191 2001-11-16 16:15  simon
6193         * classes/genclass.pl:
6194         This tidies up genclass to deal with the new-style multimethods.
6196 2001-11-16 15:29  simon
6198         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6199         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6200         Rework multimethods to be *true* multimethods - that is, have
6201         different types.
6203 2001-11-15 22:29  simon
6205         * MANIFEST, Makefile.in, pmc.c:
6206         pmc.c linkage and support. Oh, and making it compile.
6208 2001-11-15 22:26  dan
6210         * t/op/interp.t: Forgot to tell CVS about the test...
6212 2001-11-15 22:10  dan
6214         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6215         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6216         for PMC registers for the interpreter.
6218         Added in the docs for the runinterp opcode.
6220         Added in code for both the newinterp and runinterp opcodes, so we
6221         can now create new interpreters from within parrot and have them do
6222         things. (Though we can't pass data back and forth. Yet)
6224 2001-11-15 21:24  simon
6226         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6227         More documentation, and other changes as discussed with Dan.
6229 2001-11-15 19:51  simon
6231         * classes/scalarclass.c:
6232         De-cut-and-pasto.
6234 2001-11-15 19:50  simon
6236         * classes/scalarclass.c:
6237         A little code tidiness.
6239 2001-11-15 19:33  simon
6241         * include/parrot/pmc.h:
6242         Missed this in the previous commit - un-constantize the base for
6243         user-defined PMC flags.
6245 2001-11-15 19:28  simon
6247         * classes/scalarclass.c:
6248         Hey look, sanity.
6250 2001-11-15 17:09  simon
6252         * classes/scalarclass.c:
6253         It seems I have completely forgotten how to write C.
6255 2001-11-15 16:53  simon
6257         * docs/vtables.pod:
6258         Start of the PMC classes documentation.
6260 2001-11-15 14:46  simon
6262         * classes/scalarclass.c:
6263         Changing to use a Perl-style struct instead of the union cache.
6265 2001-11-13 23:56  tom
6267         * string.c: Removed leading _ from string_index as function names
6268         starting with _ are reserved to implementors by the C standard.
6270         Also fixed string_index to use the encoding routines instead of
6271         assuming a single byte encoding.
6273 2001-11-13 12:59  jgoff
6275         * string.c: Patched string_concat to accept null strings.  That
6276         test was failing. Nothing to do with ord().
6278 2001-11-13 12:43  jgoff
6280         * string.c: string_ord function, string_concat fixes
6282 2001-11-13 04:52  jgoff
6284         * core.ops: Added ord to core.ops
6286 2001-11-13 04:35  jgoff
6288         * docs/strings.pod, include/parrot/exceptions.h,
6289         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6290         operator, documentation string.c - Added string_ord, _string_index
6291         (_string_index is a static helper)              Patched
6292         string_concat to handle null strings properly.  docs/strings.pod -
6293         Description of string_ord include/parrot/exceptions.h - Added
6294         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6295         string_ord() t/op/string.t - Added full set of test for
6296         ord_i_(s|sc)(_(i|ic))?
6298         string.c contains a bit of documentation explaining the logic
6299         behind _string_index, primarily having to do with multiple encoding
6300         formats.
6302 2001-11-12 22:30  simon
6304         * t/op/macro.t:
6305         Count 'em.
6307 2001-11-12 22:28  simon
6309         * Makefile.in:
6310         Add a rule to compile "platform"
6312 2001-11-12 22:26  simon
6314         * Makefile.in:
6315         Tidy up distclean target.
6317 2001-11-12 16:54  dan
6319         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6320         t/op/macro.t: Fixes to the assembler's macro facility and a test
6322         Courtesy of: Jeff <jgoff@speakeasy.net>
6324 2001-11-12 16:50  dan
6326         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6327         stdin
6329         Courtesy of: Jeff <jgoff@speakeasy.net>
6331 2001-11-12 16:36  dan
6333         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6334         CygWin
6336         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6338 2001-11-12 11:22  simon
6340         * examples/assembly/mops.pasm:
6342         Trivial tightening of mops loop.
6344 2001-11-07 23:57  ajgough
6346         * docs/tests.pod: This is a basic quide to writing tests with
6347         assembler.
6349 2001-11-07 22:29  dan
6351         * stacks.c: Added a little documentation on the cleanup parameter
6352         for an entry
6354 2001-11-07 14:43  dan
6356         * MANIFEST, platforms/generic.c, platforms/linux.c,
6357         platforms/linux.h: Portability patches.
6359         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6361 2001-11-06 19:51  tom
6363         * Makefile.in: Clean up object files in the subdirectories as well
6364         as those in the top level directory.
6366         Enhanced version of patch from Daniel Grunblatt
6367         <daniel@grunblatt.com.ar>
6369 2001-11-06 16:14  dan
6371         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6372         platforms/generic.c, platforms/generic.h: Made things a bit more
6373         platform-independent. Makefile still needs work to pick up changes
6374         to the platform-specific files.
6376 2001-11-05 21:32  dan
6378         * docs/parrot_assembly.pod: Added docs for the GC control ops
6380 2001-11-04 02:52  gregor
6382         * platforms/: win32.c, win32.h:
6383           * win32 dynamic loading functions.
6385         Courtesy of Jason Diamond <jason@injektilo.org>
6387 2001-11-04 00:04  brentdax
6389         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6390         allows an absolute path to be used and gives a useful error message
6391         if the original source file can't be found
6393 2001-11-02 12:37  gregor
6395         * platforms/: linux.c, linux.h:
6396           * Beginning of dynamic loading support. Linux only for now.
6398 2001-11-02 12:13  gregor
6400         * MANIFEST, time.c, include/parrot/time.h:
6401           * Removed time.[hc], since they have been superseded by the new
6402         platform
6403             stuff.
6405 2001-11-02 12:11  gregor
6407         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6408         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6409         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6410         platforms/win32.c, platforms/win32.h:
6411         Patch from Jason Diamond to make win32 platform stuff work:
6413         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6414         platform specific files in the platforms directory gets copied to
6415         the correct directories. The Makefile will re-copy the platform.h
6416         and .c files if the original is modified.
6418         * #include platform.h in parrot.h instead of time.h.
6420         * Removed time.h and time.obj from the Makefile. time.h and time.c
6421         aren't being used anymore since that code was moved to linux.c and
6422         win32.c.
6424         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6425         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6426         windows.h. This required updating several files besides parrot.h.
6428         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6429         instead of the missing identifiers (on Windows) in core.ops in the
6430         calls to open.
6432         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6433         platform files and called those from core.ops. The Linux code for
6434         these functions came from core.ops so they should hopefully work.
6436         Courtesy of Jason Diamond <jason@injektilo.org>
6438 2001-11-02 06:43  brentdax
6440         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6441         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6443 2001-11-02 02:26  gregor
6445         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6446         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6447         platforms/win32.h:
6448           * Beginnings of platform support files in platform/*.[hc]
6450 2001-11-01 23:37  tom
6452         * classes/intclass.c: Added missing *'s to STRING arguments and
6453         return values to avoid compiler warnings.
6455 2001-11-01 22:21  gregor
6457         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6458         include/parrot/parrot.h, include/parrot/time.h:
6459         Initial "fix" of time(n) op for Win32:
6461           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6463           * time.c and include/parrot/time.h
6465             First attempt at getting this working across platforms. The
6466             macro WIN32 being tested might not be right.
6468           * New functions Parrot_intval_time() and Parrot_floatval_time()
6469             wrap the appropriate functionality depending upon platform.
6470             Changed core.ops to call these.
6472         Added obscure.ops with obscure transcendental ops.
6474         Added simple file I/O ops (close, open, read, write):
6476           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6478           * I changed some arg ordering stuff.
6480           * I added read/write of INTVALs and FLOATVALs.
6482         Added environment variable ops (getenv, setenv)
6484         Added system error ops (err(i) and err(s) for accessing errno and
6485         strerr().
6487         Moved print ops in with other "temporary" developer ops, since
6488         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6490 2001-10-31 22:51  tom
6492         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6493         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6494         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6495         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6496         encodings/utf8.c, include/parrot/chartype.h,
6497         include/parrot/encoding.h, include/parrot/exceptions.h,
6498         include/parrot/parrot.h, include/parrot/string.h,
6499         include/parrot/strnative.h, include/parrot/strutf16.h,
6500         include/parrot/strutf32.h, include/parrot/strutf8.h,
6501         include/parrot/transcode.h: Reworked the string code in line with
6502         Dan's latest design that separates character sets from encodings.
6504 2001-10-31 19:53  dan
6506         * docs/parrot_assembly.pod: Finished I/O section of docs
6508 2001-10-31 16:51  dan
6510         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6511         Moved includes out of core.ops and into parrot.h where they belong
6512         (suitably guarded with #ifdefs). Also some updates to
6513         parrot_assembly.pod
6515 2001-10-30 21:43  dan
6517         * core.ops, stacks.c, docs/parrot_assembly.pod,
6518         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6519         of the entry on the stack
6521 2001-10-29 18:30  dan
6523         * stacks.c: You can turn off stack entry type validation on pop by
6524         passing in a type of 0 now. (For those cases where you just want to
6525         throw the darned thing away)
6527 2001-10-29 14:37  gregor
6529         * core.ops, languages/jako/jakoc:
6530           * New variants of the save ops to save constants on the stack.
6531         This is
6532             useful for saving zero arg and result counts on the stack, for
6533         example.
6535           * Modified jakoc to to adapt to the newly announced calling
6536         conventions.
6537             Even though Jako source code appears to show subroutines with
6538         fixed
6539             numbers of arguments and results, they are implemented with the
6540             variable count calling convention. Future modifications will be
6541         needed
6542             to ensure that an exception is raised if the stack frame is of
6543         the
6544             wrong size (or, at least that we pop the complete frame off).
6545         We'll
6546             also have to make more changes to support the true
6547         fixed-arg-count
6548             and fixed-result-count parts of the calling convention spec.
6550 2001-10-28 16:53  simon
6552         * MANIFEST, stacks.c, classes/scalarclass.c,
6553         include/parrot/stacks.h:
6554         Unbelievably bad errors of mine, plus a type incompatibility of
6555         Dan's.
6557 2001-10-28 08:30  simon
6559         * classes/scalarclass.c:
6560         Beginning of a scalar class.
6562 2001-10-28 08:29  simon
6564         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6565         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6566         include/parrot/pmc.h:
6567         This fixes the problem with vtables and pointer arithmetic.
6569 2001-10-26 19:58  dan
6571         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6572         include/parrot/stacks.h: Split the generic stack into a user push
6573         stack and a control stack
6575 2001-10-26 02:59  bdwheele
6577         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6579 2001-10-24 20:27  dan
6581         * languages/scheme/: Makefile, Scheme.pm, schemec,
6582         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6583         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6584         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6585         Scheme compiler
6587 2001-10-24 20:23  dan
6589         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6590         interpreter needs in pdump.c. Added scheme bits to manifest
6592 2001-10-24 16:43  gregor
6594         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6595           * Make the assembler handle octal character code escapes in
6596         string
6597             constants.
6599 2001-10-24 15:56  dan
6601         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6602         play the game of life
6604 2001-10-24 15:54  dan
6606         * core.ops: Added sleep. We'll need to override this to do events
6607         properly anyway, so...
6609 2001-10-24 14:03  gregor
6611         * Makefile.in, pbc2c.pl, pdump.c:
6612           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6613         interpreter
6614             pointer into string functions.
6616         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6618 2001-10-23 20:09  gregor
6620         * languages/jako/jakoc:
6621           * Terminological refinement in regexp capture comment.
6623 2001-10-23 15:23  simon
6625         * classes/genclass.pl:
6626         Use a saner ANSI C construct to make MIPSPro happy.
6628         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6630 2001-10-23 00:34  tom
6632         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6633         strutf8.c, include/parrot/string.h: Make sure the interpreter
6634         structure is passed to the transcoder as necessary, including
6635         passing it to string_compare().
6637 2001-10-23 00:32  tom
6639         * Makefile.in: Make pdump build again by including resources.o in
6640         the link.
6642 2001-10-22 22:43  dan
6644         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6645         strutf32.c, strutf8.c, test_main.c, transcode.c,
6646         include/parrot/packfile.h, include/parrot/parrot.h,
6647         include/parrot/resources.h, include/parrot/string.h,
6648         include/parrot/transcode.h: Everything now uses the allocators and
6649         deallocators in resources.c.
6651         Unfortunately we lost standalone string-test mode, but I can cope
6652         with that.
6654         Please note that until we have a real allocation/deallocation/GC
6655         system, this'll leak. A *lot*.
6657 2001-10-22 20:27  dan
6659         * MANIFEST, Makefile.in, pmc.c, resources.c,
6660         include/parrot/resources.h: First cut to handle arena allocation of
6661         PMC headers. (Amongst other things)
6663 2001-10-22 19:02  dan
6665         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6666         Now each register type has its own mask macro, which is the right
6667         thing to do.
6669         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6671 2001-10-21 23:40  tom
6673         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6674         stack chunk and add a test to test this rollover in future.
6676         Courtesy of Jason Gloudon <perl@gloudon.com>.
6678 2001-10-21 19:14  dan
6680         * include/parrot/string.h: Changed string 'unused' field to the
6681         language field.
6683 2001-10-21 18:18  gregor
6685         * languages/jako/: Makefile, mops.jako:
6686           * Makefile: 'clean' target removes .list files, too. And, it does
6687         rm -f
6688             with wildcards rather than listing things explicitly.
6690           * mops.jako actually prints out the
6691         millions-of-operations-per-second
6692             (mops) value instead of just the operations-per-second value.
6694 2001-10-21 18:03  simon
6696         * classes/intclass.o:
6697         *smack*! WRONG!
6699 2001-10-21 17:47  simon
6701         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6702         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6703         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6704         lib/Parrot/Vtable.pm:
6705         Initial work on PMCs. Explanation to follow
6707 2001-10-21 15:20  gregor
6709         * examples/assembly/queens.pasm:
6710           * Modernize the calling conventions in queens.pasm. It was using
6711         swap,
6712             which now must be rotate. Also, changed to use return values on
6713         the
6714             stack instead of in I0.
6716 2001-10-19 18:14  gregor
6718         * core.ops, stacks.c, include/parrot/stacks.h,
6719         languages/jako/jakoc:
6720         Per Dan's request, replacing 'swap' op by 'rotate'.
6722           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6724           * stacks.c and stacks.h: Removed swap-related functions from my
6725             prior commit, replacing them with stack_depth(), stack_entry()
6726             and rotate_entries().
6728             NOTE: The stack_depth() and rotate_entries() routines could
6729             be made more efficient through the caching of the sum of chunk
6730             'used' members from lower chunks in a field in the upper
6731             chunks. Also, if the interpreter's stack_base was changed to
6732             hold the pointer to the *top* chunk (since we usually come
6733             at the stack from the top down) instead of the *bottom*
6734             chunk. The code here at least works, and we can decide about
6735             bigger changes separately.
6737             For now, rotate only handles rotates in one direction and
6738             of magnituded one. A fully general rotate would do handle
6739             rotates in both directions and of arbitrary amounts. Again,
6740             this implementation is sufficient for current applications,
6741             and a feature-complete version can be developed if this turns
6742             out to be otherwise the right type of implementation.
6744             This change includes a new exception for ERROR_STACK_SHALLOW,
6745             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6747           * jakoc: Changed the calling convention to use rotate instead
6748             of swap (of course). Also changed the convention for return
6749             value passing to use the stack as well.
6751 2001-10-19 13:36  gregor
6753         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6754         examples/assembly/queens.pasm, include/parrot/stacks.h,
6755         languages/jako/.cvsignore, languages/jako/Makefile,
6756         languages/jako/bench.jako, languages/jako/euclid.jako,
6757         languages/jako/fact.jako, languages/jako/jakoc,
6758         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6759         languages/jako/primes.jako, languages/jako/queens.jako,
6760         languages/jako/sub.jako:
6761           * New stack functions push_entry(), pop_entry() and swap_entry().
6762             The first two exist for the support of the last one. These
6763             functions don't care what is in the stack entries. These exist
6764             to support the new 'swap' op (see next bullet).
6766           * New op 'swap' for swapping the top two elements on the stack.
6767             This is necessary for passing arguments to functions, since
6768             the return address will be on top of any arguments that have
6769             been pushed on the stack. This way, you can use a (swap, pop)
6770             pair to retrieve each argument (for subroutine linkage).
6772           * Disassembler now prints numbers in decimal by default, with
6773             a new '-x' flag to turn on hexadecimal display. Since other
6774             members of the Parrot Tool Set use decimal by default, this
6775             makes it easier to compare output from the various tools.
6777           * Jako compiler has more explanatory comments and the following
6778             new features:
6780               * Lexically scoped variables.
6782               * Subroutines that take arguments and return values:
6784                   sub int foo(int bar) {
6785                     if (bar == 1) {
6786                       return 42;
6787                     } else {
6788                       return 13;
6789                     }
6790                   }
6791               * ... if (...) and ... unless (...) statement modifiers
6792                 can be used on next, last and redo.
6794               * Bitwise and (&, &=) and or (|, |=) ops.
6796               * Type names are just 'int', 'num', 'str', and 'poly' now.
6797                 The old long names 'integer', 'number', 'string', and
6798                 'polytype' are no longer valid.
6800               * Integer variable assignments can now use 0b (binary),
6801                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6803           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6804             solving the eight-queens problem. The assembly example is a
6805             hand-modified version of the assembly code produced by the
6806             Jako compiler from queens.jako. A few unnecessary ops have
6807             been removed, lots of unnecessary labels have been removed,
6808             and all the Jako source code comments have been removed.
6810           * Makefile and .cvsignore in languages/jako modified so that
6811             the assembler produces listings when assembling the programs,
6812             yet the *.list files are ignored by CVS.
6814           * Made the default target in languages/jako/Makefile 'all'.
6816           * Modified some of the Jako examples to use some of the new
6817             features of Jako, such as subroutines and lexical variable
6818             scoping.
6820 2001-10-19 02:43  gregor
6822         * runops_cores.c, include/parrot/runops_cores.h:
6823         Bug fix (gcc doesn't complain, but MIPSpro does):
6825           * Added missing extern to runops_cores array declaration in
6826             include/parrot/runops_cores.h
6828           * Also added 'const' there and in runops_cores.c
6830 2001-10-18 15:18  gregor
6832         * .cvsignore, include/parrot/oplib/.cvsignore:
6833           * Ignore the vtable-related generated files.
6835 2001-10-18 15:14  gregor
6837         * core.ops:
6838           * left and right shifts now allow the 2nd argument to be a
6839         constant.
6841 2001-10-18 14:55  simon
6843         * make_vtable_ops.pl:
6844         This is C, not Perl. How on earth did that even compile?
6846 2001-10-18 14:54  simon
6848         * make_vtable_ops.pl:
6849         More vtable ops.
6851 2001-10-18 12:33  simon
6853         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6854         Initial stab at vtable opcode creation stuff.
6856 2001-10-18 02:15  gregor
6858         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6859         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6860         include/parrot/trace.h: Preparation for autogenerated runops cores:
6862           * Split tracing and runops core stuff out of interpreter.c into
6863             trace.c and runops_cores.c
6865           * Similar split of stuff from include/parrot/interpreter.h
6867           * Manifest and Makefile.in updates to make things still compile.
6869 2001-10-18 01:21  gregor
6871         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6873           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6875           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6877           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6879           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6881           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6882         with
6883             copy of $ops->preamble.
6885 2001-10-17 22:32  bdwheele
6887         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6888         request.
6890 2001-10-17 22:08  gregor
6892         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6893           * Now handles label-and-comment-only lines.
6895 2001-10-17 22:04  bdwheele
6897         * interpreter.c: added more comprehensive trace output
6899 2001-10-17 16:50  tom
6901         * Makefile.in: Removed the explicit rule for building mops.o from
6902         mops.c so that the implicit rule for compiling C files is used
6903         instead. This means that the chosen C flags are used, including any
6904         optimisation options.
6906 2001-10-17 15:24  tom
6908         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6909         op explosion logic to be able to handle exploding this:
6911           sub(i, i|ic, i|ic)
6913         into these:
6915           sub(i, i, i)
6916           sub(i, i, ic)
6917           sub(i, ic, i)
6919         without also generating this unwanted version:
6921           sub(i, ic, ic)
6923         The enhanced version rejects any expansion where there is more than
6924         one expanded argument and all the expanded arguments are constants.
6926 2001-10-17 14:20  simon
6928         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6929         Build fixes to use correct Perl version and ensure that things are
6930         running in the right directory.
6932         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6934 2001-10-17 13:16  simon
6936         * Makefile.in:
6937         core.pm is more critical than that.
6939 2001-10-17 13:05  simon
6941         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6942         "Explode" ops into multiple versions for different parameters.
6944         Courtesy of: Tom Hughes <tom@compton.nu>
6946 2001-10-17 12:54  simon
6948         * Makefile.in:
6949         Fix dependencies and cleaning.
6951 2001-10-17 12:45  simon
6953         * Configure.pl, Makefile.in:
6954         Fixes to make Parrot compile without the temporary build hack
6956         Courtesy of: Jason Gloudon <perl@gloudon.com>
6958 2001-10-16 20:43  gregor
6960         * Makefile.in:
6961           * Fixed dependencies for building Parrot/OpLib/core.pm
6963 2001-10-16 19:35  bdwheele
6965         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6966         added test, thanks to Alex Gough
6968 2001-10-16 16:49  bdwheele
6970         * core.ops: added opcode variants for constants and 3 arg concat
6972 2001-10-16 15:12  bdwheele
6974         * core.ops: added "set Sx,Sy" as a string copy to match the other
6975         register-to-register copies available
6977 2001-10-16 13:09  gregor
6979         * core.ops:
6980           * Added #include <sys/time.h> in the preamble for gettimeofday().
6982 2001-10-16 13:09  gregor
6984         * Makefile.in:
6985           * Removed cd t; make, which no longer applies
6987 2001-10-16 03:18  bdwheele
6989         * core.ops: fix save & restore operations to push correct type onto
6990         stack. [good eye to Jason Gloudon for noticing this]
6992 2001-10-16 01:38  bdwheele
6994         * core.ops, register.c, examples/assembly/fact.pasm,
6995         include/parrot/register.h: send in the clones:  clone routines for
6996         parrot + example program
6998 2001-10-15 22:37  gregor
7000         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
7001         examples/assembly/Makefile, examples/assembly/bsr.pasm,
7002         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
7003         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
7004         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
7005         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
7006         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
7007         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7008         t/test4.pasm, t/test5.pasm, t/trace.pasm:
7009           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
7010         some
7011             renames so the names match what they demonstrate.
7013 2001-10-15 22:18  gregor
7015         * core.ops, t/test.pasm:
7016           * time_n uses gettimeofday() to get sub-second times.
7018           * t/test.pasm uses time_n directly rather than doing int stuff
7019         and
7020             converting to num later.
7022 2001-10-15 12:28  gregor
7024         * t/: test.pasm, test2.pasm, trace.pasm:
7025           * t/test.pasm prints using string constants instead of string
7026         regs.
7028           * t/test2.pasm assembles (using implicit op modes)
7030           * t/trace.pasm updated for new behavior of trace_ic, which does
7031         not
7032             require an 'end' after 'trace'.
7034 2001-10-15 00:47  gregor
7036         * core.ops, interpreter.c, test_main.c,
7037         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7038         PARROT_PROFILE_FLAG
7040           * New runops cores to handle profiling
7042           * Support for -p flag in test_prog to enable profiling
7044           * New profile_ic op to control profiling at run-time
7046 2001-10-14 21:54  gregor
7048         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7049         lib/Parrot/OpsFile.pm: Integrated op documentation.
7051           * core.ops now contains POD documentation of ops, interspersed
7052         with the
7053             ops themselves
7055           * Ops are organized into POD =head2 sections
7057           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7058         anything
7059             up to the first POD directive OR op definition.
7061           * docs/Makefile now generates core_ops.pod from core.ops vi
7062         perldoc -u.
7064 2001-10-14 11:58  simon
7066         * Makefile.in:
7067         Unbreak Digital Un^W^WTru64
7069 2001-10-14 11:00  simon
7071         * Configure.pl:
7072         Remove weird typo.
7074 2001-10-14 10:56  tom
7076         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7077         op_info.c no longer exists and op.h is no longer a generated file.
7079 2001-10-14 10:54  tom
7081         * Makefile.in: Added vtable.h to the list of things removed by the
7082         clean target.
7084 2001-10-14 01:43  gregor
7086         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7087         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7088         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7089         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7090         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7091         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7092         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7093         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7094         include/parrot/interpreter.h, include/parrot/op.h,
7095         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7096         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7097         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7098         Moby Patch:
7100           * basic_opcodes.ops and opcode_table replaced by core.ops
7102           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7103             and ops2c.pl. These convert *.ops to *_ops.c and
7104             include/parrot/oplib/*_ops.h
7106           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7108           * disassemble.pl modified to use
7110           * interpreter.c modified to use structures in core_ops.c instead
7111             of the old op_info and op_func stuff. We're not yet to the
7112             point of handling multiple oplibs at a time, but we are getting
7113             there...
7115             Fingerprinting stuff disabled for now. We used to go off
7116             opcode_table. We need to rethink this. I have some ideas to
7117             make it unnecessary, but it remains to be seen whether others
7118             will like the direction they take us.
7120             Termination condition for while(){} loop in runops is now
7121             (pc) instead of (*pc). Any op can cause a HALT by returning
7122             a NULL pointer. Ops end, bounds and trace all do this. So, now
7123             the 'end' op body is actually executed, although all it does
7124             is HALT.
7126           * Makefile.in modified to perform a test build using pbc2c.pl,
7127             which is the bytecode --> C compiler I've posted to the
7128             list before.
7130           * Op full names are now autogenerated. Op root names must not
7131             contain underscores, so some op renamings have happened.
7132             Such as clear_i becoming cleari.
7134 2001-10-13 11:49  simon
7136         * Configure.pl, MANIFEST:
7137         Make parrot actually build again.
7139 2001-10-12 21:34  dan
7141         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7142         opcodes
7144 2001-10-12 20:56  dan
7146         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7147         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7148         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7149         generic stack now in. We also have subroutines, of a simple sort!
7151 2001-10-12 19:15  tom
7153         * t/op/string.t: Improved string comparison tests try all string
7154         combinations with each of the comparison ops.
7156 2001-10-12 19:09  dan
7158         * interpreter.c: Properly sets up generic stack now
7160 2001-10-12 19:09  dan
7162         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7163         interpreter structure
7165 2001-10-12 18:59  dan
7167         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7168         changes to get the generic stack working
7170 2001-10-12 18:59  dan
7172         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7173         hints/vms.pl: Made the changes to figure out mask bits for various
7174         register and stack chunks
7176 2001-10-11 22:09  dan
7178         * docs/parrot_assembly.pod: Tossed the parameter for return
7180 2001-10-11 19:28  tom
7182         * strnative.c: Assignment, not comparison.  (Plus formatted for
7183         coding standards)
7185         Courtesy of Bryan C. Warnock
7187 2001-10-10 19:21  tom
7189         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7190         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7191         include/parrot/string.h, t/op/string.t: Added support for string
7192         comparisons and extended the comparison ops to include comparison
7193         of strings.
7195 2001-10-10 17:58  dan
7197         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7199 2001-10-10 17:54  dan
7201         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7202         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7203         vtable type entries properly
7205 2001-10-10 15:37  dan
7207         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7208         parse new vtable.tbl file now that I've actually checked *in* the
7209         new format vtable.tbl file...
7211 2001-10-10 15:32  dan
7213         * vtable.tbl: New Column to indicate the type of the vtabel entry
7214         so we can know how many slots it takes
7216 2001-10-10 05:26  thgibbs
7218         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7219         allow parrot to compile.  PACKAGE is not defined, therefore, I
7220         added a struct before it to have it not complain until we define
7221         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7222         semicolon at the end of the struct declaration.
7224 2001-10-10 05:09  thgibbs
7226         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7227         string constants of the form U"string" become unicode encoded
7228         parrot strings and the form N"string" become native encoded parrot
7229         strings.
7231         Courtesy of: Tom Hughes <tom@compton.nu>
7233 2001-10-10 04:55  dan
7235         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7236         support for generating the vtable function table offset macros
7238 2001-10-10 01:05  simon
7240         * t/op/integer.t:
7241         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7242         compiles into the mod op, not the cmod_i op, hence wasn't testing
7243         what it thought it was.
7245         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7247 2001-10-09 03:45  thgibbs
7249         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7250         assembler to generate unicode strings.
7252         Courtesy of: Tom Hughes <tom@compton.nu>
7254 2001-10-08 19:30  brentdax
7256         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7257         info for Parrot::Config to remember, more flexible test.c stuff
7259 2001-10-08 15:04  gregor
7261         * basic_opcodes.ops:
7262           * Removed trash from early mod_i experiments (pardon our dust)
7264 2001-10-08 14:56  gregor
7266         * basic_opcodes.ops:
7267           * Fixed a couple of typos.
7269 2001-10-08 14:45  gregor
7271         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7272         Arithmetic enhancements:
7274           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7276             NOTE: This "uncorrected mod" algorithm uses the C language's
7277         built-in
7278             mod operator (x % y), which is
7280                 ... the remainder when x is divided by y, and thus is zero
7281         when y
7282                 divides x exactly.
7283                 ...
7284                 The direction of truncation for / and teh sign of the
7285         result for %
7286                 are machine-dependent for negative operands, as is the
7287         action taken
7288                 on overflow or underflow.
7289                                                                      --
7290         [1], page 41
7292             Also:
7294                 ... if the second operand is 0, the result is undefined.
7295         Otherwise, it
7296                 is always true that (a/b)*b + a%b is equal to z. I both
7297         operands are
7298                 non-negative, then teh remainder is non-negative and
7299         smaller than the
7300                 divisor; if not, it is guaranteed only that the absolute
7301         value of the
7302                 remainder is smaller than the absolute value of the
7303         divisor.
7304                                                                      --
7305         [1], page 205
7307             This op is provided for those who need it (such as
7308         speed-sensitive
7309             applications with heavy use of mod, but using it only with
7310         positive
7311             arguments), but a more mathematically useful numeric mod based
7312         on
7313             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7315               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7316         Programming
7317                   Language*, Second Edition. Prentice Hall, 1988.
7319           * Added "corrected" mod_i:
7321             NOTE: This "corrected mod" algorithm is based on the C code on
7322         page 70
7323             of [1]. Assuming correct behavior of C's built-in mod operator
7324         (%) with
7325             positive arguments, this algorithm implements a mathematically
7326         convenient
7327             version of mod, defined thus:
7329               x mod y = x - y * floor(x / y)
7331             For more information on this definition of mod, see section 3.4
7332         of [2],
7333             pages 81-85.
7335             References:
7337               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7338                   Millennium* Springer, 1999.
7340               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7341         *Concrete
7342                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7344           * Added mod_n, using the same formula as above, but with FLOATVAL
7345             arguments.
7347           * Added cmod_n, using the C math library's fmod() function:
7349             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7350         library's
7351             fmod() function, which computes
7353                 ... the remainder of dividing x by y. The return value is x
7354         - n * y,
7355                 where n is the quotient of x / y, rounded towards zero to
7356         an
7357                 integer.
7358                                                 -- fmod() manpage on RedHat
7359         Linux 7.0
7361             In addition, fmod() returns
7363                 the remainder, unless y is zero, when the function fails
7364         and errno
7365                 is set.
7367             According to page 251 of [1], the result when y is zero is
7368         implementation-
7369             defined.
7371             This op is provided for those who need it, but a more
7372         mathematically
7373             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7374         and
7375             defined with y == 0 is provided by the mod_n op.
7377               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7378         Programming
7379                   Language*, Second Edition. Prentice Hall, 1988.
7381           * Added and modified tests as appropriate for the above.
7383 2001-10-08 08:49  thgibbs
7385         * include/parrot/exceptions.h, include/parrot/parrot.h,
7386         include/parrot/string.h, include/parrot/strutf16.h,
7387         include/parrot/strutf32.h, include/parrot/strutf8.h,
7388         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7389         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7390         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7391         strings for utf8, utf16, and utf32.
7393         Courtesy of: Tom Hughes <tom@compton.nu>
7395 2001-10-08 08:10  thgibbs
7397         * memory.c: Fixed uninitialized variables.
7399         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7401 2001-10-08 01:21  gregor
7403         * packfile.c:   * Casting a return value
7405           * Potential uninitialized variable fix
7407         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7409 2001-10-08 01:15  gregor
7411         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7412         a few tweaks of my own):
7414           * Line wrapping
7416           * Printf format fixes
7418         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7420 2001-10-07 22:39  thgibbs
7422         * build_interp_starter.pl: No longer adds (void*) casts to
7423         interp_guts.c function table as they are not necessary in ANSI C.
7425 2001-10-07 16:27  gregor
7427         * basic_opcodes.ops, interpreter.c, opcode_table,
7428         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7429         t/trace.pasm:
7430           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7431             interpreter->flags and set interpreter->resume_addr.
7433           * Two new runops core variants, so now we cover the relevant
7434             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7436           * Runops core selection that converts the flags into an index
7437         into
7438             a core table (runops_cores) to get the core function pointer.
7440           * A new trace_op variant that doesn't do bounds checking (used by
7441             the non-bounds-checking-but-tracing runops core).
7443           * PC is passed into the cores so that they can be used when
7444             resuming (they used to assume starting at the beginning of the
7445             code, which would thwart resumption).
7447           * runops() itself is changed to have a while() loop in it so that
7448             any time we drop out of the core, we'll resume if we have an
7449             interpreter->resume_addr set (after reselecting the core,
7450         though).
7452           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7453             interpreter->resume_addr. This is used by the new ops. The new
7454             ops still return the new PC as the next op (which MUST be an
7455             'end' op to force the core loop to terminate -- *pc being false
7456             is the only termination condition we can count on for all
7457         cores).
7459           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7460             bounds checking core selection.
7462           * test_prog now has a '-b' flag in addition to the '-t' flag.
7463         Now,
7464             bounds checking is off by default (I saw a performance boost:
7465             6.3 Mop/s with -b, 7.0 Mop/s without).
7467           * A new sample/test program: t/trace.pasm that twiddles the trace
7468             flag while it is running.
7470 2001-10-07 15:41  gregor
7472         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7473         include/parrot/.cvsignore, include/parrot/interpreter.h:
7474         Now that 0.0.2 is released, I can clear out the backlog of approved
7475         but uncommitted patches. Here's one Dan approved on 2001-09-21
7476         (Simplified DO_OP):
7478           * test_prog and pdump are linked with only the files the need,
7479         not
7480             al the files.
7482           * build_interp_starter.pl writes out op_info.[hc], too. These
7483         files
7484             contain op name, arg count and arg type information. This will
7485         be
7486             useful for multiple things in the future, including better
7487         trace
7488             output and the crystalizing loader.
7490           * The DO_OP macro is now simpler and doesn't require explicit
7491             temporaries.
7493           * interpreter.c is modified to use the new op info in tracing
7494         output.
7496           * The interpreter just points its opcode_funcs and opcode_info
7497             members at the default tables rather than allocating memory on
7498             the fly.
7500 2001-10-07 03:58  thgibbs
7502         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7503         comment and adding vtable.h to .cvsignore as it is produced by
7504         vtable_h.in
7506 2001-10-06 20:58  thgibbs
7508         * vtable.tbl: Added * to REGEX type.
7510         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7512 2001-10-06 13:41  simon
7514         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7515         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7516         Framework for vtable functions.
7518 2001-10-06 06:52  thgibbs
7520         * make_op_header.pl: Removed confusing and unused typedef.
7522 2001-10-06 06:31  thgibbs
7524         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7525         are no longer used.
7527 2001-10-06 06:26  thgibbs
7529         * disassemble.pl: Changed intval to op in disassembler.
7531 2001-10-06 06:21  thgibbs
7533         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7534         Assembler, local labels, and integer constants.
7536 2001-10-06 03:11  ask
7538         * Makefile.in: make `make test` actually run the tests on
7539         darwin/macosx
7541 2001-10-06 02:04  thgibbs
7543         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7544         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7545         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7546         include/parrot/register.h, lib/Parrot/Assembler.pm,
7547         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7548         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7549         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7550         type make. :)
7552 2001-10-06 02:02  thgibbs
7554         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7555         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7556         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7557         include/parrot/register.h, lib/Parrot/Assembler.pm,
7558         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7559         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7560         t/op/integer.t: oops...this messed something up.  I must have
7561         missed something in the patch...I have reverted.
7563 2001-10-06 01:57  thgibbs
7565         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7566         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7567         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7568         include/parrot/register.h, lib/Parrot/Assembler.pm,
7569         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7570         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7571         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7572         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7573         This patch ensures that all bytecode is of type opcode_t except for
7574         the constant table constants.  That means that almost all of the
7575         INTVALs in the code were replaced with opcode_t and the i pack type
7576         was replaced with the op pack type in calls to pack_arg and such.
7577         Also, since it has been declared that ALL integer constants are to
7578         be 32 bits, some test cases were changed to ensure that an integer
7579         constant was no bigger than 2 ** 31.
7581         process_opfunc.pl was also cleaned up to no longer look at either
7582         opcode_table or interp_guts.h but gather all of its information
7583         from Opcode.pm.
7585         The Assembler.pm module was changed to do late binding of arguments
7586         so that 0 could be treated like 0.0 without having to be so
7587         declared.  Also, only strings now use the [sc:N] intermediate form
7588         as it was unnecessary for integer and float types.
7590 2001-10-05 21:59  gregor
7592         * MANIFEST, languages/jako/Makefile:
7593         Fixed things due to the movement of little_languages/* to
7594         languages/jako.
7596 2001-10-05 18:31  gregor
7598         * MANIFEST:
7599         Updated MANIFEST to reflect recent additions for Jako.
7601 2001-10-05 17:54  gregor
7603         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7604         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7605         mops.jako, primes.jako, sub.jako:
7606           * Compiler:
7608               * User-defined subroutines.
7609               * Generates assembly code with the Jako code in comments.
7610               * "end;" no longer required at the end of programs.
7611               * Better handling of const-reg and reg-const.
7612               * Optimizes const-const operations to compile-time
7613         evaluations.
7614               * Constants in addition to variables.
7615               * Arithmetic fixes.
7616               * Allow leading minus signs in integer and number constants
7617         (ahem).
7618               * goto's.
7620           * New sample programs:
7622               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7623         example)
7624               * mandelbrot.jako (based on Leon Brocard's translation of
7625         Glenn Rhodes' C code)
7626               * mops.jako (based on t/test.pasm)
7627               * primes.jako (based on Leon Brocard's primes.pasm example)
7628               * sub.jako (demonstrates a simple user-defined subroutine)
7630 2001-10-05 12:54  gregor
7632         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7633           * Removed mysterious extra copy of code after POD.
7635 2001-10-05 12:46  gregor
7637         * basic_opcodes.ops, t/op/string.t:
7638           * Enabled the previously SKIPped test of printing string regs
7639         after
7640             clear_s
7642           * Made print_s do nothing if the STRING pointer in the register
7643         file
7644             is NULL.
7646 2001-10-04 21:19  dan
7648         * Configure.pl: VMS tweaks
7650 2001-10-04 21:17  dan
7652         * hints/vms.pl: Hints file for VMS
7654 2001-10-04 00:58  bdwheele
7656         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7657         Assembler which stopped equates from working.
7659 2001-10-03 21:50  gregor
7661         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7663           * More documentation updates for the packfile stuff.
7665 2001-10-03 21:37  gregor
7667         * docs/parrotbyte.pod:
7668           * Pointed the reader at Parrot::PackFile.
7670 2001-10-03 21:34  gregor
7672         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7673           * Updated documentation to match current implementation.
7675 2001-10-03 18:30  gregor
7677         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7678         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7679         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7680         t/op/basic.t:
7681           * Added new syntax to the assembler to allow square-bracket
7682             arithmetic expressions involving (global) labels, the current
7683             instructions base address ('@'), numeric constants (not
7684         equates)
7685             and basic arithmetic operators (+, -, *, / -- although + and -
7686             are likely to be the only ones used in practice).
7688           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7689         to
7690             fail (argument passing wasn't working).
7692           * Enabled t/op/basic.t's last test, which is actually a copy of
7693         the
7694             code from t/call.pasm. Now all tests there are enabled and
7695         working.
7697           * Added new example/test program t/call.pasm to demonstrate
7698         working
7699             macros and poor-man's subroutine calls
7701           * Added header comments to t/*.pasm
7703 2001-10-03 18:00  simon
7705         * ChangeLog:
7706         Needed, since it's in the MANIFEST.
7708 2001-10-03 17:56  simon
7710         * t/op/: string.t, time.t:
7711         Small fixes to help Win32 on its way.
7713 2001-10-03 17:41  simon
7715         * MANIFEST, README:
7716         Oops. Tiny bugs.
7718 2001-10-03 17:39  simon
7720         * MANIFEST, NEWS, README:
7721         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7722         think so!
7724 2001-10-03 17:21  simon
7726         * basic_opcodes.ops, interpreter.c, packfile.c:
7727         Evil printf bandaid (which allows Sparc64 to pass tests)
7729         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7731 2001-10-03 16:58  simon
7733         * string.c, t/op/string.t:
7734         chop fixes for n < 0 and tests
7736         Courtesy of: Alex Gough <alex@rcon.org>
7738 2001-10-03 15:51  thgibbs
7740         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7742         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7744 2001-10-02 17:48  dan
7746         * include/parrot/stacks.h: Fix typo in function name
7748 2001-10-02 17:35  dan
7750         * include/parrot/stacks.h: changed to support new stack stuff
7751         coming after 0.02
7753 2001-10-02 15:01  simon
7755         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7756         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7757         process_opfunc.pl, register.c, string.c, strnative.c,
7758         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7759         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7760         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7761         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7762         include/parrot/memory.h, include/parrot/packfile.h,
7763         include/parrot/parrot.h, include/parrot/register.h,
7764         include/parrot/stacks.h, include/parrot/string.h,
7765         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7767         The Great Renaming.
7769 2001-10-02 12:49  gregor
7771         * process_opfunc.pl:
7772           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7774 2001-10-02 12:40  simon
7776         * basic_opcodes.ops, process_opfunc.pl, register.c,
7777         include/parrot/register.h:
7778         Move preprocessing of register accessors to process_opfunc.pl
7780         Courtesy of: Jason Gloudon <perl@gloudon.com>
7782 2001-10-02 01:20  ask
7784         * README: add a few lines about lists.
7786 2001-10-01 23:00  brentdax
7788         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7789         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7791 2001-10-01 22:50  brentdax
7793         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7795 2001-10-01 21:51  simon
7797         * process_opfunc.pl:
7798         Michael Fischer's patch broke conditionals.
7800 2001-10-01 15:38  simon
7802         * process_opfunc.pl:
7803         Small hack to keep process_opfunc.pl from generating extra return()
7804         statements.
7806         Courtesy of: Michael Fischer <michael@visv.net>
7808 2001-10-01 15:32  simon
7810         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7811         Documentation fix.
7813         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7815 2001-10-01 01:49  simon
7817         * packfile.c:
7818         Simon is an idiot. Don't trust him with your code.
7820         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7822 2001-10-01 00:59  simon
7824         * Parrot/String.pm, lib/Parrot/String.pm:
7825         Was in manifest, but not in CVS.
7827 2001-09-30 21:25  simon
7829         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7830         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7831         Parrot/Assembler.pm, Parrot/PackFile.pm,
7832         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7833         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7834         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7835         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7836         include/parrot/packfile.h, include/parrot/string.h:
7837         Move NVs to the constant table.    * Changes to Types_pm.in to make
7838         life easier for some of the      packing/etc. I'm doing elsewhere.
7839         Also, we now pack 'n' as      'i'.
7841           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7842             eventually we can use all these tools together inside scripts
7843             rather than call out to the shell to run the programs.
7845           * As I was tracking down problems, I converted the internal
7846             documentation of the assembler to POD from comments.
7848           * Changed the numeric regexp in the assembler to detect leading
7849             signs and trailing exponents.
7851           * Updated basic_opcodes.ops to fetch numeric constants from the
7852             constant table.
7854           * Enhanced the disassembler in a number of ways to make my life
7855             easier while tracking down bugs (try it out). It now puts in
7856             labels for ops that are the destinations of flow control ops.
7858           * packfile.c now has a TRACE_PACKFILE switch that can be set
7859             to get it to print info as it processes. I needed this while
7860             debugging, but I can remove it or change it before committing
7861             if its a problem.
7863           * Updated pdump.c because it was missing a call to init_world().
7865           * Updated process_opfunc.pl to deal with numeric constants
7866             being stored in the constant table instead of inline.
7868           * Added multiple type support to Parrot/PackFile/Constant.pm
7870           * Added Parrot/String.pm, to be used for constants.
7872           * Added packfile.[hc] functions for allocating new constants
7873             of various types.
7875           * Made string_copy visible to the world in parrot/string.h.
7877         Wow.
7879         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7881 2001-09-29 15:56  gregor
7883         * languages/jako/Makefile:
7884         Removed assumption that '.' is on the path.
7886 2001-09-29 15:55  gregor
7888         * languages/jako/Makefile:
7889         Removed references to leibnitz test program.
7891 2001-09-29 15:21  thgibbs
7893         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7894         math ops args to work on Solaris.
7896 2001-09-27 15:15  thgibbs
7898         * assemble.pl: Added case insensitive matches to hex and binary
7899         characters
7901         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7903 2001-09-27 04:46  thgibbs
7905         * assemble.pl: This patch makes integer constants of the form
7906         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7907         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7908         returning 0.  To fix this, I added a from_binary function that
7909         would take a binary string and return its decimal representation.
7910         Now, instead of blindly calilng oct, it makes a distinction between
7911         0/0x numbers and 0b numbers.
7913 2001-09-26 19:30  thgibbs
7915         * assemble.pl: Error now returns a non-zero status
7917         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7919 2001-09-26 19:13  gregor
7921         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7922         interpreter.c, packfile.c, pdump.c, test_main.c,
7923         include/parrot/bytecode.h, include/parrot/interpreter.h,
7924         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7925         t/op/stacks.t:
7926           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7927             packfile/bytecode file from C. May be renamed in the future.
7929           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7930             of 'PackFile *', just like the interpreter, etc.
7932           * Constants are accessed via the interpreter's 'code' member
7933             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7934             provided to access constants by index and the number of
7935             constants, respectively (assumes a variable 'interpreter' of
7936             the appropriate type is in scope).
7938           * Byte Code is accessed via the interpreter's 'code' member.
7940           * Changed PackFile_Constant to point to a STRING instead of
7941         having
7942             members for the string_make() arguments. Also has a 'type' IV
7943             in preparation for allowing multiple types of constants in
7944             const_table.
7946           * Removed hardcoded example program from test_main.c. We have
7947             plenty of test programs elsewhere.
7949           * test_prog now uses a PackFile to deal with the program before
7950             sending it on to the interpreter.
7952           * Added missing 'end' ops to some tests in t/op/integer.t and
7953             t/op/stacks.t.
7955 2001-09-26 18:38  thgibbs
7957         * assemble.pl: Separated code into functions and added comments.
7959 2001-09-26 18:29  simon
7961         * config_h.in:
7962         Fix 64-bit chunk-base issue.
7964 2001-09-26 06:55  thgibbs
7966         * t/op/bitwise.t: Added end to bitwise tests.
7968 2001-09-26 00:54  dan
7970         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7971         and interpreter creation. Skeleton only, but it's something to peer
7972         at.
7974 2001-09-25 21:44  thgibbs
7976         * t/op/trans.t: Removed loops in transcendtal op test.
7978 2001-09-25 10:12  simon
7980         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7981         t/op/string.t, t/op/time.t:
7982         More tests
7984         Courtesy of: Alex Gough <alex@rcon.org>
7986 2001-09-24 19:08  gregor
7988         * t/op/number.t:
7989           * Enabled the clear_n test.
7991 2001-09-24 18:56  gregor
7993         * Parrot/.cvsignore:
7994           * Ignore the generated Types.pm file.
7996 2001-09-24 18:52  gregor
7998         * languages/jako/Makefile, t/op/number.t:
7999           * No need to skip the inc and dec numeric tests anymore. I fixed
8000         the
8001             assembler earlier today.
8003 2001-09-24 18:21  simon
8005         * MANIFEST, t/op/stacks.t:
8006         Oops.
8008 2001-09-24 18:19  simon
8010         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
8011         include/parrot/exceptions.h, include/parrot/interpreter.h,
8012         lib/Parrot/Test.pm, t/op/string.t:
8013         1) captured error output, so can test errors, this might be bad,
8014         not sure.  2) basic tests for register stack frames, including some
8015         errors 3) I think we can stop skipping one of the string tests 4) I
8016         added some more substr tests, but substr was broken, so 5) changed
8017         substr to work with out of range values, or 6) throw an error if
8018         they're far too silly
8020         Courtesy of: Alex Gough <alex@rcon.org>
8022 2001-09-24 17:27  gregor
8024         * basic_opcodes.ops, opcode_table, t/op/number.t:
8025           * Op set_n was missing. Added it and a test for it. We now have
8026         the
8027             same int and num ops, except mod is int-only.
8029 2001-09-24 17:01  gregor
8031         * assemble.pl:
8032           * Fixed a typo: s/Line/line/
8034 2001-09-24 16:02  gregor
8036         * basic_opcodes.ops:
8037           * Fixed dec_n_nc opcode, which had += where it should have had
8038         -=.
8040 2001-09-24 15:34  gregor
8042         * assemble.pl:
8043           * Fixed handling of constants starting with '0' that should not
8044         be
8045             sent through oct(). For example 'set N2 0.1' was being
8046         interpreted
8047             as 'set N2 0' (naughty).
8049             As reported by Leon Brocard <acme@astray.com> in the comments
8050         of
8051             his mandelbrot.pasm example.
8053 2001-09-24 02:21  bdwheele
8055         * assemble.pl: fixed dumb code when --include was not specified.
8057 2001-09-24 02:17  simon
8059         * assemble.pl:
8060         Shit-sweeping.
8062 2001-09-24 01:56  bdwheele
8064         * assemble.pl: * Added --include=dir option to assembler to provide
8065         a path to look for included files.  * Error message of a macro is
8066         defined inside of a macro
8068 2001-09-23 21:29  bdwheele
8070         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8072 2001-09-23 15:50  simon
8074         * Configure.pl:
8075         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8077 2001-09-23 02:03  ask
8079         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8080         Courtesy of: acme@astray.com (Leon Brocard)
8082         rename 'test' executable used in Configure process to test_siz.
8084 2001-09-23 01:03  simon
8086         * process_opfunc.pl:
8087         iPaq fix. No, really.
8089 2001-09-23 00:47  simon
8091         * MANIFEST:
8092         Missed several, in fact.
8094 2001-09-23 00:46  simon
8096         * MANIFEST:
8097         Missed one.
8099 2001-09-22 21:13  simon
8101         * assemble.pl:
8102         Assembler register numbering rigour.
8104         Courtesy of: Leon Brocard <acme@astray.com>
8106 2001-09-22 18:20  simon
8108         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8109         lib/Test/Utils.pm:
8110         I'm sick of having to install Test::More everywhere. Temporary
8111         measure until we remove this silly dependency.
8113         Also a typo in Makefile.in which suggests some things were only
8114         happening correctly by sheer chance. :)
8116 2001-09-22 18:06  simon
8118         * README:
8119         test.pasm is dead, long like make test.
8121 2001-09-22 17:47  simon
8123         * t/op/number.t:
8124         De-fang overzealous floating point test.
8126 2001-09-22 17:39  simon
8128         * process_opfunc.pl:
8129         Remove hard-coded NV size assumption. Tru64 is nearly there!
8131 2001-09-22 17:18  simon
8133         * assemble.pl, disassemble.pl:
8134         More portability fixups.
8136 2001-09-22 16:44  simon
8138         * assemble.pl, Parrot/PackFile/Constant.pm,
8139         lib/Parrot/PackFile/Constant.pm:
8140         And I *think* this fixes Tru64.
8142 2001-09-22 16:37  simon
8144         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8146         Oops.
8148 2001-09-22 16:36  simon
8150         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8151         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8152         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8154         More removal of hard-coded pack formats.
8156 2001-09-22 15:21  simon
8158         * assemble.pl:
8160         Grrr. Why isn't this working?
8162 2001-09-22 15:18  simon
8164         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8165         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8167         Make assemble use the PackFile modules; also fixed some bugs in
8168         them.
8170 2001-09-22 14:38  simon
8172         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8174         Abstract the argument and opcode packing types and functions out
8175         into a separate module. This *should* help us maintain consistency
8176         when we change the various types.
8178 2001-09-22 00:46  brentdax
8180         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8181         test program finishes.
8183 2001-09-21 21:24  brentdax
8185         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8186         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8188 2001-09-21 21:09  gregor
8190         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8191         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8193           * Fixed pad calculation (similar to recent bug fix on C library)
8195 2001-09-21 20:23  simon
8197         * disassemble.pl:
8198         Pack types and sizes have gone askew.
8200 2001-09-21 20:18  brentdax
8202         * Configure.pl: Fix typo in setting stuff from the C test program
8204 2001-09-21 10:25  simon
8206         * basic_opcodes.ops, process_opfunc.pl:
8207         Document patches.
8209         Courtesy of: Leon Brocard <acme@astray.com>
8211 2001-09-21 06:06  ask
8213         * Config_pm.in, assemble.pl: fix 5.005_03.
8215 2001-09-21 06:03  ask
8217         * Configure.pl: make the ivsize detection work for us normal people
8218         without . in our PATH.  :-)
8220 2001-09-21 05:56  brentdax
8222         * test_main.c: Change _read to read for portability to Tru64
8223         (Damien Neil <neild@misago.org> and likely many others)
8225 2001-09-21 05:46  ask
8227         * Makefile.in: "update" target to update from cvs.
8229 2001-09-21 05:44  brentdax
8231         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8233 2001-09-21 02:43  brentdax
8235         * Configure.pl: Fix a typo that forced the -g flag on
8237 2001-09-20 22:41  dan
8239         * packfile.c: Had some no-value returns. Naughty
8241 2001-09-20 22:40  dan
8243         * t/test.pasm: Added labels to output
8245 2001-09-20 15:39  simon
8247         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8248         lib/Parrot/Test.pm:
8249         This patch does two only somewhat related things.
8251         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8252         = 2*sizeof(iv) to a PConfig-type computed value.
8254         Parrot/Test.pm:  Change it to run with the perl that was used to
8255         generate this version of Parrot.  This is useful if, for example,
8256         you want to use bleadperl to build and test parrot (e.g. to try out
8257         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8258         installed as the default 'perl' on your system.  Since perl-5.7.x
8259         is installed 'version-only', a plain 'perl' is quite likely to pick
8260         up the older perl in such cases. Such an older perl might well not
8261         understand pack('q') used in the assembler.
8263         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8265 2001-09-20 15:14  gregor
8267         * packfile.c:
8268           * Fixed a typo in pad calculation that throwing off unpack and
8269         pack.
8271 2001-09-20 15:03  thgibbs
8273         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8274         tests now cover all registers.
8276         Courtesy of: Damien Neil neild@misago.org
8278 2001-09-20 14:48  thgibbs
8280         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8281         machines.
8283 2001-09-20 14:35  simon
8285         * Configure.pl, assemble.pl:
8286         Pack IVs correctly.
8288         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8290 2001-09-20 14:06  gregor
8292         * languages/jako/jakoc:
8293           * Fixed a tyop in the string interpolation regex.
8295         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8297 2001-09-20 13:56  gregor
8299         * languages/jako/jakoc:
8300           * Updated jakoc to work with the single-destination comp ops.
8302 2001-09-20 05:08  bdwheele
8304         * assemble.pl: macro expansion.  Here's the test macro I was using:
8306         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8307         label.  testi       macro   num,got,want    print   "Test #"
8308         print   num     print   "..."   set     I32,want        set
8309         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8310         $end $ok:       print   "OK\n" $end:    endm
8312         It is invoked as:
8314         Test1:  testi   1,I3,I2
8316 2001-09-20 03:52  dan
8318         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8319         generic stack support
8321 2001-09-20 02:49  bdwheele
8323         * assemble.pl: Added include processing to assemble.pl  the syntax
8324         is: include 'file.to.include'
8326 2001-09-19 23:57  thgibbs
8328         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8329         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8330         function to only use 2 args, but the opcode_table still had three
8331         listed.  Fixed integer.t and number.t to use the new comparison
8332         operators.  Improved assemble.pl ability to grok operators by
8333         constructing a function set and comparing operator types.
8335 2001-09-19 22:42  dan
8337         * assemble.pl: Binmodes the output filehandles now. (No more
8338         bytecode munching...)
8340 2001-09-19 22:32  dan
8342         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8343         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8344         conditional branches take a single argument, and fall through
8345         otherwise.
8347 2001-09-19 21:19  thgibbs
8349         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8350         Sugalski
8352         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8354 2001-09-19 21:04  thgibbs
8356         * include/parrot/interpreter.h, Configure.pl,
8357         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8358         process_opfunc.pl: Changed opcode_t from a union to a configurable
8359         type.
8361 2001-09-19 20:54  thgibbs
8363         * assemble.pl: Missed a couple of changes for 64 bit portability.
8365 2001-09-19 20:37  gregor
8367         * packfile.c, include/parrot/packfile.h:
8368           * Added "methods" for setting and getting all the various
8369         attributes,
8370             probably sufficient for an assembler to use the library.
8372 2001-09-19 20:04  thgibbs
8374         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8375         a 64 bit platform manually change the  setting for 'i' from 'l' to
8376         'q'.  This should be automatically done by a Configure setting in
8377         the near future.
8379 2001-09-19 19:10  thgibbs
8381         * config_h.in: changed c++ comment to c comment.
8383         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8385 2001-09-19 17:48  gregor
8387         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8388         include/parrot/packfile.h:
8389           * C code for dealing with PackFiles as if they were objects.
8390         Mostly
8391             read-only interface for now, but it would not be hard to make
8392         it
8393             read-write. [packfile.c, include/parrot/packfile.h]
8395           * PackFile Dumping program that falls short of disassembling, but
8396             tests the above code and provides a hex listing of the byte
8397         code
8398             contents of the PackFile. [pdump.c]
8400           * New Makefile target 'pdump' for the above program, and related
8401             Makefile.in changes.
8403           * Updated MANIFEST to reflect the added files
8405           * Update .cvsignore to ignore pdump.
8407 2001-09-19 14:55  thgibbs
8409         * MANIFEST: Added number.t and trans.t to MANIFEST
8411 2001-09-19 05:40  thgibbs
8413         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8414         of union opcode_t.  I hope this will be more portable for set_n_nc.
8416 2001-09-19 05:39  thgibbs
8418         * t/op/integer.t: Added end to test 1.
8420 2001-09-19 00:09  thgibbs
8422         * t/op/number.t: Added end to each test
8424 2001-09-19 00:00  simon
8426         * t/op/number.t:
8427         Number tests! Wooo!
8429         Courtesy of: Damien Neil <neild@misago.org>
8431 2001-09-18 23:52  thgibbs
8433         * interpreter.c: Added casts to appropriate types to make -Wall not
8434         complain on certain printf formats
8436 2001-09-18 23:31  thgibbs
8438         * t/op/integer.t: Added end to each test.
8440 2001-09-18 22:54  thgibbs
8442         * t/op/trans.t: Added trans.t for transcendental math function
8443         tests.
8445 2001-09-18 22:28  simon
8447         * MANIFEST:
8448         MANIFEST updates. (And notice how I carefully snuck in the
8449         t/op/integer.t there...)
8451         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8453 2001-09-18 22:26  simon
8455         * t/: integer.t, op/integer.t:
8456         Except it doesn't go there. Duh.
8458 2001-09-18 22:25  simon
8460         * t/integer.t:
8461         Tests for integer ops.
8463         Courtesy of: Damien Neil <neild@misago.org>
8465 2001-09-18 22:03  thgibbs
8467         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8468         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8469         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8470         opcode_t union for operators.  This required a few perl script
8471         changes to output the correct type.  There were also some changes
8472         to allow -pedantic in gcc
8474 2001-09-18 21:07  gregor
8476         * disassemble.pl, Parrot/PackFile.pm,
8477         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8478         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8479         lib/Parrot/PackFile/Constant.pm:
8480         Converted the disassembler to use the Parrot::PackFile Perl classes
8481         to do its job.
8483 2001-09-18 19:18  brentdax
8485         * Makefile.in: Fix missing functions for real this time.  (I
8486         swear!)
8488 2001-09-18 18:49  brentdax
8490         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8491         <doughera@lafayette.edu>}
8493 2001-09-18 18:47  brentdax
8495         * Makefile.in: Fix bugs with missing math, etc. functions
8497 2001-09-18 14:42  thgibbs
8499         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8500         char*.
8502 2001-09-18 13:59  thgibbs
8504         * strnative.c: Removed unnecessary IV cast in concat.
8506 2001-09-18 13:58  thgibbs
8508         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8509         to concat test in string.t
8511 2001-09-18 12:07  gregor
8513         * languages/jako/jakoc:
8514           * var num ... no longer requires assignment
8515           * automatic casting between int and num
8516           * Fixed an error message
8518         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8520 2001-09-18 11:57  simon
8522         * TODO:
8523         Gonna have to start thinking of more things to do, soon.
8525 2001-09-18 10:42  simon
8527         * opcode_table:
8528         Introduce a little more tidiness into the opcode table.
8530 2001-09-18 03:06  gregor
8532         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8533         Resurrected register-const ops per Dan's request.
8535 2001-09-18 02:20  gregor
8537         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8538         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8539         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8540         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8541         Committed some files that were missed in the last *.h moving
8542         commit.
8544 2001-09-18 02:17  gregor
8546         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8548 2001-09-18 02:16  gregor
8550         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8551         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8552         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8553         missed in last commit for the move of *.h to include/parrot.
8555 2001-09-18 01:32  simon
8557         * t/Makefile:
8558         Trivial "clean" target to t/Makefile.
8560 2001-09-18 01:32  simon
8562         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8563         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8564         Change icky Digest::MD5 for nice simple unpack()
8566         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8568 2001-09-18 00:35  simon
8570         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8571         t/op/string.t:
8572         New concat op. Hey, if I'm going to talk about it in an article,
8573         better implement it...
8575 2001-09-17 22:54  gregor
8577         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8578         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8579         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8580         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8582         Functions for reading, writing and manipulating Parrot Pack Files.
8583         NOTE: This is a proposed term based on the fact that the file
8584         contains more than just byte code, and another language (Java)
8585         calls its binary files by a broader notion of what's in them (Class
8586         Files). Since Perl has packages, and since we use pack() to write
8587         them, we'll call them PackFiles (at least for now).
8589         That does, however, beg the question of file extension. Should we
8590         name the files "foo.pack" instead of "foo.pbc"?
8592 2001-09-17 20:23  thgibbs
8594         * interpreter.c, test_main.c: Uncuddled else statements for coding
8595         standard.
8597 2001-09-17 19:57  gregor
8599         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8600         Added a $revision variable, parsing of the CVS Id line in
8601         opcode_table and a &revision() subroutine.
8603 2001-09-17 19:53  gregor
8605         * opcode_table:
8606         Added a CVS Id tag to it.
8608 2001-09-17 18:58  thgibbs
8610         * interpreter.c: Cleared interpreter flags on creation.
8612 2001-09-17 18:38  gregor
8614         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8615         interpreter.h, test_main.c:
8616           * Provides macros in interp_guts.h for setting up arrays with
8617             op names and op arg counts (done via build_interp_starter.pl).
8619             These are used in the op tracing
8621           * The functions in bytecode.[hc] pass around a pointer to the
8622         length
8623             of the bytecode so that later when we get to runops, we know
8624             how much bytecode we've got and we can detect out-of-bounds
8625             jumping. The documentation is updated, too.
8627           * runops in interpreter.c now looks at interpreter->flags to
8628             decide if the core of runops should be runops_trace_core or
8629             runops_notrace_core. These new functions contain just the
8630             while-loop portion of runops. A new function runops_generic
8631             does any other setup (such as checking the bytecode
8632             fingerprint) or wrapup (such as complaining if we ended up
8633             out-of-bounds). NOTE: I didn't know what we should do for
8634             functions in here that are not part of the api, so I gave
8635             them docs with 'TODO' marks mentioning they really aren't
8636             part of the api. Guidance appreciated.
8638           * test_main.c now checks for '-t' arg and sets the tracing flag
8639             on its interpreter instance as appropriate.
8641 2001-09-17 17:47  bdwheele
8643         * assemble.pl: added some default equates, and if they're sub
8644         references, they are computed each time it is referenced.
8646 2001-09-17 16:15  dan
8648         * interpreter.h:
8650         Added flags to the interpreter structure and defined a few.
8652 2001-09-17 15:51  simon
8654         * bytecode.h, string.h:
8655         VAR_SCOPE on globals.
8657 2001-09-17 15:20  simon
8659         * MANIFEST:
8660         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8662 2001-09-17 15:05  gregor
8664         * t/jump.pasm, MANIFEST:
8665         Added a test program to demonstrate jump_i.
8667 2001-09-17 14:44  thgibbs
8669         * register.c: Fixed register pop not using correct offset (off by
8670         one).
8672         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8674 2001-09-17 13:56  thgibbs
8676         * interpreter.c, register.c: Added code to call Parrot_clear_s
8677         during initialization and Parrot_clear_s and Parrot_clear_p when a
8678         new stack frame is pushed.
8680 2001-09-17 13:51  gregor
8682         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8683         fib.jako, hello.jako: Added bench.pasm to "clean"
8685 2001-09-17 13:49  gregor
8687         * languages/jako/: jakoc, Makefile:
8688         Added CVS Id tag.
8690 2001-09-17 13:49  gregor
8692         * languages/jako/jakoc:
8693         Code streamlining.
8695         Courtesy of: Buggs <buggs-perl6@splashground.de>
8697 2001-09-17 13:29  gregor
8699         * MANIFEST, opcheck.pl:
8700         Added an opcode_table checker to make sure that all opcodes listed
8701         there conform to a simple set of naming rules (rules themselves, of
8702         course, are subject to change).
8704 2001-09-17 13:23  thgibbs
8706         * string.c: Modified string.c to correctly use the return value of
8707         realloc.
8709 2001-09-17 05:26  brentdax
8711         * Makefile.in: Making the Makefile smarter
8713 2001-09-16 23:06  brentdax
8715         * hints/mswin32.pl: Finishing the Configure hints
8717 2001-09-16 23:05  brentdax
8719         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8720         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8721         Configure hints, 5.005 compatibility, MANIFEST checking
8723 2001-09-16 19:25  bdwheele
8725         * assemble.pl: parrot assembly equates
8727 2001-09-16 18:03  gregor
8729         * Makefile.in:
8730         Added 'test' target to run new test suite.
8732 2001-09-16 17:33  simon
8734         * basic_opcodes.ops:
8735         'not' was being !, rather than ~. Too many Perl programmers here, I
8736         suspect.
8738         Courtesy of: Tom Hughes <tom@compton.nu>
8740 2001-09-16 17:21  simon
8742         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8743         t/op/string.t:
8744         A *real* test suite!
8746         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8748 2001-09-16 16:49  gregor
8750         * basic_opcodes.ops, opcode_table:
8751         At Dan's request, my new register-constant comparison ops have been
8752         removed.
8754 2001-09-16 16:40  gregor
8756         * languages/jako/jakoc:
8757         Fixed a copy-paste error in one of jakoc's error messages.
8759         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8761 2001-09-16 16:37  gregor
8763         * languages/jako/jakoc:
8764         Modified comparison implementation to use temporary registers in
8765         the case of register-constant and constant-register comparisons.
8766         This will allow the compiler to emit code that works when the
8767         constant-comparison ops are backed out of Parrot. If the ops ever
8768         make their way back in, then jakoc can emit more efficient code
8769         again.
8771 2001-09-16 16:19  bdwheele
8773         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8774         ... though not subroutine based like the documentation wants, they
8775         are local to the last non-local label defined.
8777 2001-09-16 14:02  simon
8779         * MANIFEST:
8780         And remember, when you add stuff, keep the manifest up to date.
8782 2001-09-16 02:55  ask
8784         * Makefile.in: a "shared" target for building libparrot.so
8786 2001-09-16 02:45  thgibbs
8788         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8789         global_setup.h, interpreter.c, interpreter.h, io.h,
8790         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8791         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8792         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8793         use the coding standard PDD.  Also changed Perl_Interp to
8794         Parrot_Interp.
8796 2001-09-16 02:21  ask
8798         * README: emphasise the bits about the license not being worked out
8799         yet.
8801 2001-09-15 22:21  simon
8803         * process_opfunc.pl:
8804         basic_opcodes.c should *scream* that it's autogenerated.
8806 2001-09-15 21:58  gregor
8808         * languages/jako/Makefile:
8809         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8810         compile.
8812 2001-09-15 21:58  gregor
8814         * languages/jako/: jako_compiler.pl, jakoc:
8815         Renamed the Jako compiler to jakoc from jako_compiler.pl
8817 2001-09-15 21:51  gregor
8819         * languages/jako/: Makefile, bench.jako, euclid.jako,
8820         jako_compiler.pl:
8821         Added a new bench.jako example based on Leon Brocard's Bench.java.
8823         Jako Compiler:   * fix a bug in assignment handling   * add some
8824         more conditionals to while and if   * revert to using implicit
8825         opcodes in a few cases that were broken     before the assembler
8826         patch went in recently.
8828 2001-09-15 21:46  gregor
8830         * assemble.pl, basic_opcodes.ops, opcode_table:
8831         New ops for register-constant INTEGER comparisons:
8833           {eq,ne,lt,le,gt,ge}_ic_ic
8835         New ops for register-register and register-constant NUMERIC
8836         comparisons:
8838           eq_nc_ic
8839           {ne,lt,le,gt,ge}_{n,nc}_ic
8841         Assembler:
8843           Allow uppercase and underscores in labels.
8845           Tweaks to the op infer code to make it work with the examples
8846         I've been
8847           creating.
8849 2001-09-15 19:16  thgibbs
8851         * README: Updated README to include Configure.pl
8853 2001-09-15 17:05  simon
8855         * build_interp_starter.pl:
8856         Casting happiness
8858         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8860 2001-09-15 16:45  simon
8862         * assemble.pl:
8863         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8865 2001-09-15 16:40  simon
8867         * t/Makefile:
8868         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8869         test Makefile
8871 2001-09-15 12:26  simon
8873         * memory.c:
8874         Fixed to match the coding standards.
8876         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8878 2001-09-15 01:57  ask
8880         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8881         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8882         to run Configure.pl
8884 2001-09-15 01:48  ask
8886         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8887         say so. :-)
8889 2001-09-15 01:42  gregor
8891         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8892         jako_compiler.pl:
8893         Compiler: Added variable interpolation in double-quoted strings.
8894         Examples: Made use of variable interpolation.
8896 2001-09-15 01:28  gregor
8898         * Parrot/.cvsignore:
8899         Ignore the Config.pm generated file.
8901 2001-09-15 01:22  gregor
8903         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8904         fib.jako, hello.jako, jako_compiler.pl:
8905         gnp: Added some more sample Jako files and added many more
8906         operators to the compiler. Preparations for supporting all the Math
8907         and bitwise ops.
8909 2001-09-14 19:06  simon
8911         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8912         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8913         lib/Parrot/Opcode.pm:
8914         Move common table reading stuff to a module.
8916         Courtesy of: Damien Neil <neild@misago.org>
8918 2001-09-14 17:42  simon
8920         * .cvsignore:
8921         More .cvsignore foo.
8923 2001-09-14 17:40  simon
8925         * assemble.pl, config_h.in:
8926         De-coredump
8928         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8930 2001-09-14 17:38  simon
8932         * assemble.pl, t/Makefile:
8933         Make assemble.pl look in its parent directory if the data files it
8934         needs aren't in the current one. Plus a Makefile that lets "make
8935         foo.pbc" work in t/
8937         Courtesy of: Rocco Caputo <troc@netrus.net>
8939 2001-09-14 16:29  simon
8941         * make_op_header.pl:
8942         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8943         probably segfault everywhere else.)
8945 2001-09-14 15:58  dan
8947         * languages/jako/: euclid.jako, jako_compiler.pl:
8949         Added in the first mini-language that targets Parrot.
8951         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8953 2001-09-14 15:20  dan
8955         * memory.c: Was misaligning returned memory. Fixed.
8957 2001-09-14 15:08  simon
8959         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8960         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8961         register.c, register.h, string.c, string.h, strnative.c,
8962         test_main.c:
8963         Fixes to include <parrot/foo.h>
8965         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8967 2001-09-14 12:05  simon
8969         * strnative.c:
8970         Appease Tru64.
8972 2001-09-14 12:01  simon
8974         * memory.c:
8975         Appease Tru64.
8977 2001-09-14 11:54  simon
8979         * interpreter.c:
8980         Remove lvalue cast.
8982 2001-09-14 11:45  simon
8984         * Configure.pl:
8985         Be 5.005 friendly.
8987 2001-09-14 11:39  simon
8989         * Configure.pl:
8990         Tru64 cc doesn't like -Wall
8992 2001-09-14 10:57  simon
8994         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8995         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8996         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8997         Configure now generates Makefile
8999         Courtesy of: Brent Dax <brentdax@cpan.org>
9001 2001-09-14 10:08  simon
9003         * t/test3.pasm:
9004         Add "end"
9006         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9008 2001-09-14 10:07  simon
9010         * assemble.pl:
9011                 * uses Getopt::Long for options.  -c is now --checksyntax.
9012         I wasn't
9013         sure how to keep compatible (patches welcome!)         * options
9014         include:                 --help                 --version
9015               --verbose                 --output=file
9016         --listing=file                 --checksyntax         * produces
9017         verbose listing of what the assembler saw :)  Only one nitpick with
9018         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9019         includes symbols which may be defined later in the file (i.e.
9020         forward jumps).
9022         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9024 2001-09-14 10:06  simon
9026         * strnative.c:
9027         substr growth fixup
9029         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9031 2001-09-14 10:03  simon
9033         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9034         register.c, string.c, strnative.c, test_main.c:
9035         Coding standards conformance
9037         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9039 2001-09-14 09:46  simon
9041         * assemble.pl:
9042         Make the assembler grok transcendental maths again.  Courtesy of:
9043         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9045 2001-09-13 17:29  simon
9047         * assemble.pl:
9048         Better opcode guessing, from Brian Wheeler. (Again!)
9050 2001-09-13 17:20  dan
9052         * docs/parrot_assembly.pod:
9054         Took out duplicate entries for iton, ntoi, and tostring.
9056 2001-09-13 17:16  simon
9058         * assemble.pl, basic_opcodes.ops, opcode_table:
9059         From Brian Wheeler:
9061         This patch gives the assembler support of '\a','\n','\r','\t', and
9062         '\\' in string constants.
9064         In addition, it changes (for all registers) "I reg %li is ..." to
9065         just the value of the register.  Printing constants is also
9066         supported, but alas, you have to specify the type (print_sc,
9067         print_ic, print_nc).
9069 2001-09-13 15:38  simon
9071         * assemble.pl:
9072         Why don't I actually *test* this stuff before applying it, eh?
9074 2001-09-13 15:34  simon
9076         * TODO, t/euclid.pasm:
9077         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9078         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9079         inference
9081 2001-09-13 14:42  simon
9083         * assemble.pl:
9084         A new assembler, from Brian Wheeler.
9086 2001-09-13 09:44  simon
9088         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9089         test_main.c:
9090         Two more from Tom Hughes:     Patch to fix C++ style comments
9091         Patch to remove use of structure constant/cast
9093 2001-09-13 09:39  simon
9095         * TODO, docs/strings.pod:
9096         Update string docs.
9098 2001-09-13 09:36  simon
9100         * Makefile, basic_opcodes.ops:
9101         Tom Hughes      Patch to link with the maths library Tom Hughes
9102          Patch to fix += on rvalue
9104 2001-09-13 08:57  simon
9106         * MANIFEST:
9107         I guess nobody's been using the nightly builds...
9109 2001-09-13 08:27  simon
9111         * assemble.pl, basic_opcodes.ops, opcode_table:
9112         Bitwise ops, from Brian Wheeler.
9114 2001-09-13 08:23  simon
9116         * .cvsignore, t/.cvsignore:
9117         .cvsignore's, from Gregor Purdy.
9119 2001-09-13 08:22  simon
9121         * Makefile:
9122         Euclidean test and test output rearranging from Gregor Purdy.
9124 2001-09-13 08:21  simon
9126         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9127         Math ops from Gibbs Tanton.
9129 2001-09-13 08:14  simon
9131         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9132         t/test2.pasm:
9133         String substr op; also rearranged "encoding" to be a vtable
9134         pointer, not an array index. Haven't changed docs to reflect this,
9135         oops.
9137         Simon
9139 2001-09-12 19:48  dan
9141         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9142         Gregor Purdy
9144 2001-09-12 19:39  dan
9146         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9148 2001-09-12 19:23  dan
9150         * interpreter.h, parrot.h: Quick placeholder entry for string
9151         function tables
9153 2001-09-12 18:58  dan
9155         * memory.c: Added in a cast to make gcc happy.
9157 2001-09-12 16:44  dan
9159         * docs/parrot_assembly.pod:
9161         PDD describing parrot's assembly language and the opcodes in it
9163 2001-09-12 14:20  dan
9165         * memory.c:
9166         Fixed alignment issues with allocation
9168 2001-09-12 10:54  simon
9170         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9171         make_op_header.pl, opcode_table, process_opfunc.pl:
9172         Brian Wheeler's big patch:
9174         * Changes the opcode_table file to provide additional information
9175         about the operands.  Case shouldn't be a problem since that data
9176         never becomes a C symbol [this is pretty much as before]
9178         * Padding errors solved:  assemble.pl and bytecode.c were padding
9179         the constants incorrectly.  It should have been 4-(size % 4), not
9180         just (size % 4).  It is now fixed in both places.
9182         * assembler has less special cases, and should be easier to hang
9183         error checking on
9185         * disassembler dumps constant table and the format is a bit
9186         prettier, including register names, etc.
9188 2001-09-11 23:21  dan
9190         * build_interp_starter.pl, interpreter.c:
9192         Abstracted the runops function core into a macro for easy
9193         replacement later.
9195 2001-09-11 10:43  simon
9197         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9198         Configure system from Brent Dax <brentdax@cpan.org>
9200 2001-09-11 09:38  simon
9202         * assemble.pl, test.pbc:
9203         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9204         assembler deferred output
9206         Also got rid of the bytecode, since that's probably way out of
9207         date.
9209 2001-09-11 09:26  simon
9211         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9212         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9213         patch
9215 2001-09-10 23:20  simon
9217         * MANIFEST:
9218         And that move needs a MANIFEST change. So many things to remember!
9220 2001-09-10 23:18  simon
9222         * t/: test.pasm, test2.pasm, test3.pasm:
9223         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9225 2001-09-10 23:18  simon
9227         * test.pasm, test2.pasm, test3.pasm:
9228         Move tests to t/
9230 2001-09-10 23:04  dan
9232         * test3.pasm:
9234         Register push/pop test
9236 2001-09-10 22:47  simon
9238         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9239         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9240         (Modified to avoid conflict with Dan's changes.)
9242 2001-09-10 22:45  dan
9244         * disassemble.pl:
9246         Happier about blanks in opcode_table
9248 2001-09-10 22:40  dan
9250         * interpreter.c, register.c:
9252         Yanked out debugging code, since these work OK. The bug I want is
9253         elsewhere.
9255 2001-09-10 22:30  simon
9257         * MANIFEST:
9258         Uhm. We want make_op_header.pl. We really, really do.
9260 2001-09-10 22:26  simon
9262         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9263         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9264         opcode_table, process_opfunc.pl:
9265         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9266         This means we can add lots more opcodes without fiddling about with
9267         the numbers. Hooray!
9269         Don't forget that "end" needs to be op zero, else the interpreter
9270         falls off the end of the code. This is Bad, and I wonder if there's
9271         a way around it.
9273 2001-09-10 19:49  simon
9275         * MANIFEST, make_op_table_build.pl:
9276         Hey! This doesn't do anything...
9278 2001-09-10 19:46  simon
9280         * Makefile:
9281         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9283 2001-09-10 18:31  simon
9285         * MANIFEST:
9286         You know what this means...
9288 2001-09-10 18:30  simon
9290         * assemble.pl:
9291         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9292         wait for a release...? :)
9294 2001-09-10 18:13  simon
9296         * interpreter.c:
9297         Bad Dan! No cookie!
9299 2001-09-10 17:56  simon
9301         * README:
9302         A *real* README file, which doesn't claim it isn't for public
9303         consumption.
9305 2001-09-10 17:02  simon
9307         * TODO:
9308         More things to do.
9310 2001-09-10 16:56  dan
9312         * TODO: Added in assembler gripe. Also added a few blank lines for
9313         clarity
9315 2001-09-10 16:49  dan
9317         * register.h, register.c: Renamed the core functions so the opcodes
9318         can find 'em OK. (There were some conflicts)
9320 2001-09-10 16:48  dan
9322         * basic_opcodes.ops, opcode_table: Added register window ops
9324 2001-09-10 11:07  simon
9326         * TODO:
9327         Trivial TODO list.
9329 2001-09-10 11:05  simon
9331         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9332         note "-s" flag to test prog.
9334 2001-09-10 11:01  simon
9336         * docs/strings.pod:
9337         New string documentation.
9339 2001-09-10 11:01  simon
9341         * basic_opcodes.ops, opcode_table:
9342         String ops.
9344 2001-09-10 10:53  simon
9346         * global_setup.c:
9347         More string fu.
9349 2001-09-10 10:51  simon
9351         * memory.h:
9352         Just some more aliases for now. Used by string handling stuff.
9354 2001-09-10 10:50  simon
9356         * assemble.pl, bytecode.c, bytecode.h:
9357         Temporary hack to store string constants in bytecode and recreate
9358         them at runtime.
9360 2001-09-10 10:48  simon
9362         * op.h:
9363         op.h is now generated by the Makefile; remove it.
9365 2001-09-10 10:47  simon
9367         * Makefile:
9368         clean and op.h Makefile targets.
9370 2001-09-10 10:45  simon
9372         * string.c, string.h, strnative.c:
9373         More string vtable stuff.
9375 2001-09-07 21:07  dan
9377         * assemble.pl:
9379         Much less picky about whitespace in the opcode_table now. (Doesn't
9380         whine on blank lines)
9382 2001-09-07 16:23  dan
9384         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9385         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9386         this takes) Added global_setup.h to declare init_world function
9388         Moved variable declarations out of the interpreter loop for small
9389         speed boost.
9391         Changed end opcode to now be opcode #0. A function is provided for
9392         it, but isn't ever executed.
9394         When the interpreter sees an opcode 0 in the stream it means the
9395         end of stream. Things were coring on Cygwin otherwise. (I think I
9396         was dereferencing a zero, which is bad)
9398 2001-09-06 22:07  dan
9400         * basic_opcodes.ops, process_opfunc.pl:
9402         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9403         are minor changes now that things are in a fixed state.
9405 2001-09-06 16:13  dan
9407         * basic_opcodes.c, test_opcodes.c:
9408         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9410         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9411         should be nuked. So it is. :)
9413 2001-09-06 03:35  dan
9415         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9416         Scripts to build the header file that holds the function table
9417         creation code, as well as the script to turn an opcode file to C
9418         source. (And the basic opcode functions turned into an opcode
9419         source file)
9421 2001-09-06 03:31  dan
9423         * Makefile, interpreter.c:
9424         Changes to support the autogeneration of the opcode function
9425         pointer table in interpreter.c, along with the changes to the
9426         Makefile needed.
9428 2001-09-05 13:27  simon
9430         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9431         docs/parrotbyte.pod, docs/vtables.pod:
9432         Added stubs for the documents; working on them this week. (What's
9433         left of it.) config.h change is just to type VTABLE, and the
9434         bytecode thing you might want to revoke. It's apidoc for the
9435         functions in there.
9437 2001-09-03 18:26  simon
9439         * docs/strings.pod:
9440         A start on the string API documentation.
9442 2001-09-03 17:43  simon
9444         * opcode_table:
9445         Since we specify the opcode number, we can rearrange to a more
9446         human-friendly ordering.
9448 2001-09-03 17:42  simon
9450         * basic_opcodes.c:
9451         Coupl'a logic bugs. (I think)
9453 2001-09-03 17:41  simon
9455         * string.c, string.h, strnative.c:
9456         Tidying up the string vtables.
9458 2001-09-03 17:38  simon
9460         * make_op_header.pl:
9461         Spit out the whole of op.h, not just the bit in the middle.
9463 2001-08-29 13:16  ask
9465         * README: it seems like we indeed can commit. What about sending
9466         commit mails?
9468 2001-08-29 13:07  simon
9470         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9471         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9472         global_setup.c, interpreter.c, interpreter.h, io.h,
9473         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9474         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9475         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9476         test.pbc, test_main.c, test_opcodes.c:
9477         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9478          I'm still working on the string stuff, though.
9480 2001-08-29 12:44  ask
9482         * README: update README with list address
9484 2001-08-29 12:36  ask
9486         * README: first readme.