[t][cage] De-backslash-itis t/pmc/filehandle.t
[parrot.git] / ChangeLog
blob6e33dcbb030397cc530ed65150400e21a57b1a06
1 #1 $Id$
3 2009.10.20     barney
4         * Released 1.8.0
5         See NEWS for more.
7 2009.10.20     dukeleto
8         * Released 1.7.0
9         See NEWS for more.
11 2009.9.15     particle
12         * Released 1.6.0
13         See NEWS for more.
15 2009.8.18     Whiteknight
16         * Released 1.5.0
17         See NEWS for more.
19 2009.7.21     cotto
20         * Released 1.4.0
21         See NEWS for more.
23 2009.06.16    Whiteknight
24         * Released 1.3.0
25         See NEWS for more.
27 2009.05.19    Infinoid
28         * Released 1.2.0
29         See NEWS for more.
31 2009.04.21    fperrad
32         * Released 1.1.0
33         See NEWS for more.
35 2009.03.17    allison
36         * Released 1.0.0
37         See NEWS for more.
39 2009.02.17    kjs
40         * Released 0.9.1
41         See NEWS for more.
43 2009.01.20    chromatic
44         * Released 0.9.0
45         See NEWS for more.
47 2008.12.16    Whiteknight
48         * Released 0.8.2
49         See NEWS for more.
51 2008.11.18    chromatic
52         * Released 0.8.1
53         See NEWS for more.
55 2008.10.21    particle
56         * Released 0.8.0
57         See NEWS for more.
59 2008.09.16    pmichaud
60         * Released 0.7.1
61         See NEWS for more.
63 2008.08.19    rgrjr
64         * Released 0.7.0
65         See NEWS for more.
67 2008.07.15    barney
68         * Released 0.6.4
69         See NEWS for more.
71 2008.06.17    smash
72         * Released 0.6.3
73         See NEWS for more.
75 2008.05.20    chromatic
76         * Released 0.6.2
77         See NEWS for more.
79 2008.04.15    particle
80         * Released 0.6.1
81         See NEWS for more.
83 2008.03.18    bernhard
84         * Released 0.6.0
85         See NEWS for more.
87 2008.02.20    pmichaud
88         * Released 0.5.3
89         See NEWS for more.
91 2008.01.15    rgrjr
92         * Released 0.5.2
93         See NEWS for more.
95 2007.12.18    jonathan
96         * Released 0.5.1
97         See NEWS for more.
99 2007.11.20    chromatic
100         * Released 0.5.0
101         See NEWS for more.
103 2007.10.17    coke
104         * Released 0.4.17
105         See NEWS for more.
107 2007.09.18    particle
108         * Released 0.4.16
109         See NEWS for more.
111 2007.08.22    pmichaud
112         * Released 0.4.15
113         See NEWS for more.
115 2007.07.17    particle
116         * Released 0.4.14
117         See NEWS for more.
119 2007.06.19    allison
120         * Released 0.4.13
121         See NEWS for more.
123 2007.05.15    chromatic
124         * Released 0.4.12
125         See NEWS for more.
127 2007.04.17    mdiep
128         * Released 0.4.11
129         See NEWS for more.
131 2007.03.20    coke
132         * Released 0.4.10
133         See NEWS for more.
135 2007.3.10     coke
136         * removed parakeet
138 2007.02.22    pmichaud
139         * Released 0.4.9
140         See NEWS for more.
142 2007.01.17    chromatic
143         * changed 'name' method on namespaces to 'get_name' per pdd21
145 2007.01.16    particle
146         * Released 0.4.8
147         See NEWS for more.
149 2006.12.12    particle
150         * added C<isnull> opcode
152 2006.11.14    chip
153         * Released 0.4.7
154         See NEWS for more.
156 2006.11.07      tewk
157         * added :init pragma functionality to subs
159 2006.10.28      jonathan
160         * added :vtable pragma functionality to subs
162 2006.09.18    chromatic
163         * added Parrot::Embed under ext/Parrot-Embed
165 2006.08.18    leo
166         * remove the None PMC - if needed it can trivially be reimplemented
167           in languages from r14189
169 2006.08.16    creiss
170         Merged Software Transactional Memory branch into trunk, adds:
171         * several new opcodes whose names start with stm_
172         * read-only PMC support
173         * several new PMC types (whose names start with STM*)
174         * support for threads (again)
176 2006.08.08    chip
177         * Released 0.4.6
178         See NEWS for more.
180 2006.08.02    chip
181         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
182         there are opcodes now that want the real "in PMC".
183         * namespace and global opcodes now accept name arrays again, as
184         well as keys; the corresponding namespace PMC methods are gone.
186 2006.07.21    leo
187         * Parrot_exit, Parrot_on_exit take now an Interp * argument
189 2006.07.25    chip
190         * add experimental op find_type_i_p
191         * fix longstanding bug that sometimes didn't encode pasm keys as
192         Key PMCs (specifically "[S0]" and "['stringliteral']").
194 2006.07.24    chip
195         further implementation of new pdd21:
196         * new opcodes {get,set}*global
197           (old {find,store}*global will be supported for a short while)
199 2006.07.20    audreyt
200         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
201           (or some such --leo)
202           (at the moment code is checking for 2.0 -- ambs)
204 2006.07.17    chip
205         partial implementation of new pdd21:
206         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
207         * get_namespace and find_global opcodes no longer accept arrays
208           of strings.  To use arrays, call namespace object methods.
210 2006.06.19    leo
211         * Released 0.4.5
212         See NEWS for more.
214 2006.06.03    leo
215         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
217 2006.05.14    leo
218         * Released 0.4.4
219         See NEWS for more.
221 2006.04.30    bernhard
222         * Make the Perl PMCs dynamic and move them to src/dynpmc
224 2006.04.02    leo
225         * Released 0.4.3
226         See NEWS for more.
228 2006.03.06    leo
229         * Shifted argument type bits left by 2 according to r11754
230           change of docs/pdds/pdd03_calling_conventions.pod
231         * if you are creating PASM then code needs adjustment
233 2006.02.22    leo
234         * Released 0.4.2
235         See NEWS for more.
237 2006.01.16    bernhard
238          * rename src/dynclasses to src/dynpmc
239          * rename src/classes to src/pmc
241 2006.01.15    leo
243          * find_global and friends returns a .Null PMC instead of .Undef on
244           lookup failure, iff lookup exceptions are off
246 2006.01.08    leo
247         * Released 0.4.1
248         See NEWS for more.
250 2005.12.28    particle
251         * renamed all .imc files to .pir
252         * modified all doc references to .pir as well
254 2005.12.13    particle
255         * moved jit/ directory to src/jit/
257 2005.12.12    particle
258         * moved io/ directory to src/io/
259         * moved classes/ directory to src/classes/
260         * moved dynclasses/ directory to src/dynclasses/
262 2005.12.08    particle
263         * moved types/ directory to src/types/
264         * moved pf/ directory to src/packfile/
265         * moved ops/ directory to src/ops/
267 2005.12.08    particle
268         * moved charset/ directory to src/charset/
269         * moved encodings/ directory to src/encodings/
271 2005.12.07    particle
272         * moved imcc/ directory to compilers/imcc/
274 2005.12.06    particle
275         * moved util/ directory to tools/util/
276         * removed imcc/examples/ directory
277         * moved ast/ directory to compilers/ast/
279 2005.12.05    particle
280         * moved imcc/docs/ directory to docs/imcc/
281         * moved build_tools/ directory to tools/build/
282         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
284 2005.12.04    leo
285         * Released 0.4.0
286         * See NEWS for changes
288 2005.11.06    leo
289         * Released 0.3.1
290         * See NEWS for changes
292 2005.10.01    leo
293         * Released 0.3.0
294         * See NEWS for changes
296 2005.08.05    leo
297         * Released 0.2.3
298         * See NEWS for changes
300 2005.07.03    leo
301         * Released 0.2.2
302         * See NEWS for changes
304 2005.06.04    leo
305         * Released 0.2.1
306         * allow short names for object attributes
307         * string encoding and charset can now be set independently
308         * experimental mmap IO layer for slurping files
309         * enable compile opcode support for compilers written in PASM/PIR
310         * improved HLL support with .HLL and n_operators pragmas
311         * simplified hash code
312         * more strength reduce optimizations
313         * distinct debug and trace flag settings
314         * glob support in PGE
315         * new character classification opcodes and interfaces
316         * numerous bug fixes and enhancements
318 2005-05-08    leo
319         * Released 0.2.0
320         * parrot repository is now under subversion
321         * MMD (Multi Method Dispatch) enhanced
322         * new unary and infix opcodes that return new result PMCs
323         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
324         * more unification of PMCs and ParrotObjects
325         * tailcalls for functions and methods
326         * PGE (Parrot Grammar Engine) reworked
327         * Pugs creates Parrot code and Pugs is a registered compiler now
328         * new languages/lisp
329         * the usual bug fixes and improvements
331 2005-03-06    leo
332         * Released 0.1.2
333         * big rewrite of string code, not yet finished but ...
334         * partial implementation of a generational garbage collector
335         * indirect register frame addressing
336         * .return(args) PIR syntax
337         * moved most of the Python code to dynclasses
338         * a lot more Python functionality
339         * precalculate opcodes with all constants
340         * PGE - Parrot Grammar Engine
341         * scalar classes refactoring
342         * much more tests and big test system cleanup
343         * improved documentation
344         * and as always a lot more
346 2004-10-09    leo
347         * Released 0.1.1
348         * Need Perl 5.6 now for building
349         * Basic AST support, PAST file parser, bits of code generation
350         * BigInt PMC using GMP
351         * Complex PMC
352         * Dynamic loading improved including bundles of PMC classes
353         * Experimental support for "make install"
354         * IA64 and hppa JIT support
355         * ICU unicode support
356         * IO layer handling code
357         * IO readline and buffered IO fixes
358         * Incremental GC
359         * Internal pythonic functions: filter, map, reduce, max, min ...
360         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
361         * Library updates, Stream and SDL library
362         * MMD - multi method dispatch for binary vtable methods
363         * Many new array PMCs
364         * Method call syntax in PIR obj."meth"(...)
365         * More OS stuff: stat, exec, system, gmtime, piped read and write
366         * New Python PMCs like Enumerate, None
367         * Non-branching compare opcodes
368         * PIR support for += and friends
369         * Python language subdir
370         * Python types mapped to existing PMCs
371         * Slices and range support
372         * Tons of bug fixes, documentation updates, new tests
373         * Win32 COFF exec support
374         * ... and a lot more
376 2004-02-29    leo
377         * Released 0.1.0
378         * "Ladies and gentlemen, I give you... objects!"
379         * Huge documentation overhaul
380         * More supported platforms, s. PLATFORMS
381         * Basic thread support for pthread based architectures
382         * Basic event handling for timers and signals including:
383         * PASM callbacks for NCI (native C) functions.
384         * Improved platform configuration
385         * COW stacks now working, stacks code redone
386         * Structure handling vastly improved
387         * Random PMC and rand primitives
388         * Better subroutine call syntax in PIR
389         * Make PIR subroutines compliant with pdd03
390         * Improved profiling (DOD, GC timings)
391         * Hash code improvements, incl. random key order support
392         * Experimental freeze/thaw code for some PMC types
393         * IO improvements for buffered layer and Win32
394         * String iterators
395         * String bitwise vtables
396         * Many new opcodes
397         * Support for JIT, where malloced memory isn't executable
398         * Priority DOD scheme for objects that need timely destruction
399         * Improved bytecode loading (e.g. onLoad functions)
400         * Language updates: forth, Perl6/P6C, m4
401         * Libraries: Getopt_Long, SDL, Dumper, Sort
402         * new JAPH examples
403         * Unified imcc and parrot test handling
404         * Many new tests (make test reports 1386 tests)
405         * Numerous bug fixes
408 2003-10-31    leo
409         * Released 0.0.13
410         * Yep thirteen - haunted by the ghost of 0.0.12
411         * Build imcc as parrot
412         * Objects more finished
413         * Delegate vtable methods to byte code
414         * Binary multi-method dispatching
415         * Isa and does methods for PMCs
416         * Call byte code from C
417         * Start of extension interface
418         * Experimental struct handling
419         * Catch access to NULL PMCs
420         * Experimental network socket interface code and opcodes
421         * IO fixes and improvements
422         * Dynamic opcode libraries
423         * Fix-assigned opcode numbers
424         * Argument flattening for function calls
425         * More native call interface (NCI) signatures
426         * Ncurses, postgres, and pcre interface libraries
427         * Forth language is vastly improved
428         * BSD and Win32 build improvements
429         * Many new tests and fixes
431 2003-10-22    melvin
432         * imcc moved from parrot/languages/ to parrot/
434 2003-09-20    sfink
436         * updated the native_pbc test files (from Leo)
437         * built 0.0.11.1 release tarball
439 2003-09-20    sfink
441         * CHANGES BUNDLED INTO 0.0.11:
442         * Executable output
443         * Dynamic PMC registration
444         * Trial exception system
445         * Beginnings of object system
446         * Iterators
447         * Ordered hashes
448         * I/O system improvements
449         * References
450         * Documentation for basic PMC types
451         * IMCC support of Parrot Calling Conventions
452         * Runtime loading of chartypes (and other string improvements)
453         * Conditional breakpoints
454         * Dramatically accelerated sweeps for finalizable objects
455         * Small PMCs (PMCs split into core and extensions)
456         * Loadable bytecode packfiles
457         * Constant PMCs
458         * Sub variants that deal with the stack correctly
459         * Switched runops core
460         * Line numbers in warnings
461         * Environment access
462         * Many documentation cleanups
463         * Conversion to CPS style!
464         * BASIC debugger and many other wacky features
465         * Filename, line number parsing support in IMCC
467 2003-07-21 17:31 chromatic
468         * applied copyright patch from Josh Wilmes
470 2003-06-14 13:50 dan
471         * Moved the registers out of the context structure, since they
472           really aren't context
473         * Changed the register stack frames to hold only 16 registers
474           rather than 32, added half-set push and pop ops, and reworked
475           the full set push/pops to do two half-set push/pops. Should
476           speed up saving register data on calls, since we usually only
477           care about the top half of the registers anyway.
478         * Started committing some of the new class/object framework
479         * Remembered to finally start updating the Changelog
481 2003-03-18 03:50  ask
483         * Various files
484           Update Yet Another copyright statements to reflect the (no longer
485           so) shiny new year.
487 2003-03-11 22:06  chip
489         * Configure.pl: print help on non-option command line args
491 2002-12-18 20:38  sfink: changes since 0.0.8
493         - Allow suppression of cgoto core to save memory during compile
494         * Native function calling interface
495         * Major rewrite of stack and list aggregates
496         - Scalar PMC added
497         * Scratchpads implemented
498         - Win32 libraries
499         - Internal memory subsystem documentation
500         * Preliminary DotGNU support
501         - Packfile fingerprinting
502         * Buffer/PMC unification (into PObjs)
503         * stabs debugging information support
504         * Major Jako overhaul, including:
505           - imcc integration
506           - native function calling
507         - Perl6 string interpolation
508         - languages/regex now targets IMCC
509         * Optional Lea memory allocator
510         * Full sprintf implementation
511         * Many, many new tests
512         * Miniparrot
513         - exchange ops
514         - runtime-controllable gc debugging
515         * PMC properties
516         - Crash info
517         * JIT: various improvements
518           - register usage tracking
519           - block register allocation
520           - optimizations
521           - more jitted ops
522           - restartable
523           - architecture abstraction layer
524           - debugging via GDB
525         * Beginning support for extensible packfiles
526         * Much better key support, generally
527         * splice()
528         * Restructured PMC hierarchy with better functionality inheritance
529         * IMCC: many, many improvements. See imcc/ChangeLog
530         * Perl6: index map grep join reverse defined
531         * Scheme with functions!
534 2002-03-19 22:54  nicholas
536         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
538          We can now get usage information for test_parrot without having to
539          grep the source.
541 2002-03-19 22:53  simon
543         * Configure.pl:
544         Parrot is called parrot.
546 2002-03-19 22:53  nicholas
548         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
550          1. There are tests in t/pmc as well as t/op now.
551          2. Adds a comment about Parrot::Test
553 2002-03-19 18:09  dan
555         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
556         messes up automated builds
558         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
560 2002-03-19 00:33  mrjoltcola
562         * core.ops: Doc cleanup from Simon Glover.
564 2002-03-18 23:52  mrjoltcola
566         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
568 2002-03-18 22:09  dan
570         * include/parrot/resources.h: Checked in old version
572 2002-03-18 20:17  dan
574         * include/parrot/resources.h: Forgot a prototype
576 2002-03-18 20:15  dan
578         * resources.c: D'oh! Thinko, fixed.
580         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
582 2002-03-18 17:33  josh
584         * Configure.pl: Lowering the bar a bit.
586 2002-03-18 17:33  sfink
588         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
589         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
590         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
591         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
592         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
593         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
594         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
595         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
596         t/example.t: Whoops, wrong time to check this in.
598 2002-03-18 16:42  dan
600         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
601         least we consider the PMC and Buffer free pools worth collecting,
602         and initialize the Buffer pool stuff.  Still not 100% correct,
603         though.
605 2002-03-18 15:35  simon
607         * packfile.c:
608         Fix format arg bug.
610 2002-03-18 07:45  brentdax
612         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
613         system.
615 2002-03-18 00:09  sfink
617         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
618         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
619         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
620         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
621         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
622         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
623         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
624         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
625         t/example.t: Buggy 1st version of regex compiler implementation.
626         Warning: the test code depends on features of the assembler that do
627         not yet exist.
629 2002-03-17 21:35  ajgough
631         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
632         through addition and subtraction.  Also added the ability to run
633         all the tests, including the ones which deal with overflow and
634         underflow.  These fail, but that's expected.  Soon they'll pass.
635         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
636         passsssssssings tesssstsssss.
638 2002-03-17 20:06  ajgough
640         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
641         check_(under|over)flow to test bignumbers, rather than values.
642         context now carries E_limit, from which max and min exp are found.
644         Added a default-context-creating function (although this isn't the
645         same as either of the default contexts defined in the eda).
647 2002-03-17 13:31  ajgough
649         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
650         exported version matches prototypes of other public functions.
652 2002-03-17 06:44  josh
654         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
655         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
656         last-minute re-indenting.
658 2002-03-17 05:07  mrjoltcola
660         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
662 2002-03-16 23:17  nicholas
664         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
665         remove warnings:
667          default.pmc: In function `Parrot_default_get_integer_keyed':
668          default.pmc:50: warning: control reaches end of non-void function
669          default.pmc: In function `Parrot_default_get_number_keyed':
670          default.pmc:58: warning: control reaches end of non-void function
671          default.pmc: In function `Parrot_default_get_string_keyed':
672          default.pmc:67: warning: control reaches end of non-void function
673          default.pmc: In function `Parrot_default_get_pmc_keyed':
674          default.pmc:87: warning: control reaches end of non-void function
676 2002-03-16 18:50  ajgough
678         * types/: bignum.c, bignum.h: Lots of prototypes changed in
679         readiness for nicely telling your caller about any oddness you've
680         caused in the persuit of flow.
682 2002-03-16 17:38  dan
684         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
685         include/parrot/interpreter.h, include/parrot/resources.h: Now we
686         can control the GC and DOD, to stop it when we don't really want
687         it.
689 2002-03-16 16:58  dan
691         * resources.c, vtable.tbl, classes/default.pmc,
692         include/parrot/resources.h: Added the last code to let PMCs control
693         their marking at DOD time
695 2002-03-16 16:57  ajgough
697         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
698         feel a little more virtuous now.  Really I do.  You might not
699         believe me, but you should.  perl -pne 's/\t/        /g', if you're
700         curious.
702 2002-03-16 16:57  josh
704         * packfile.c, packout.c: M-x untabify is my new friend.
706 2002-03-16 16:50  josh
708         * trace.c, resources.c: Minor whitespace tweak for the benefit of
709         check_source_standards.pl
711 2002-03-16 16:50  ajgough
713         * types/: bignum.c, bignum.h: More documentation, separate
714         functions into public and private sorts, some initial stuff to cope
715         with over and underflow correctly.
717 2002-03-16 16:49  josh
719         * resources.c: Re-indented (sorry bout the big diff)
721 2002-03-16 16:47  bdwheele
723         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
724         assemble again, both with Simon's new assembler and with the old
725         one.
727 2002-03-16 16:33  mrjoltcola
729         * io/TODO: Get the TODO up-to-date for 0.0.4.
731 2002-03-16 16:11  josh
733         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
734         silly people (such as me) running Configure with
735         /usr/local/bin/perl (which is 5.004_05) and not realising their
736         mistake until the pmc subdirectory, where the first qr// is
737         encountered.
739         Syntax error messages don't tell you what you did wrong. This does:
741         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
742         only version 5.00405, stopped at Configure.pl line 10.
744 2002-03-16 14:38  ajgough
746         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
747         with commenting.
749 2002-03-16 11:45  simon
751         * MANIFEST, examples/assembly/xml_parser.pasm:
752         Added Clint Pierce's XML parser.
754 2002-03-15 22:24  simon
756         * packout.c:
757         Don't need that function.
759 2002-03-15 21:56  simon
761         * Makefile.in, include/parrot/packfile.h:
762         Rebuild packout.o, since it'll be used for the Packfile XS module
764 2002-03-15 19:45  dan
766         * include/parrot/: memory.h, pmc.h: Another add-in for GC
768 2002-03-14 19:48  dan
770         * core.ops: No string to int for some reason
772 2002-03-14 18:45  dan
774         * string.c, t/op/string.t: Fix 0-length substr problem
776 2002-03-14 14:46  dan
778         * core.ops, interpreter.c, resources.c, classes/array.pmc,
779         classes/perlarray.pmc, examples/assembly/life.pasm,
780         include/parrot/interpreter.h, include/parrot/resources.h: Added in
781         a counter for copied memory, with a display in life.pasm
783 2002-03-14 03:16  mrjoltcola
785         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
787 2002-03-13 23:43  simon
789         * packfile.c:
790         Oops.
792 2002-03-13 23:43  simon
794         * packfile.c:
795         Hangs head in shame.
797 2002-03-13 21:31  simon
799         * MANIFEST:
800         FAQ moved.
802 2002-03-13 18:06  simon
804         * string.c:
806         Fix string_compare screw-up.
808 2002-03-13 18:02  brentdax
810         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
811         and add a new question/answer pair.
813 2002-03-12 22:53  mrjoltcola
815         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
817 2002-03-12 22:48  mrjoltcola
819         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
820         warranty provided.
822 2002-03-12 22:29  ajgough
824         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
826 2002-03-12 22:24  ajgough
828         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
829         version 1.1, Don't know if this is the correct number, but I don't
830         want this stuck on my harddrive where it will get lost, so 14 it is
831         :)
833 2002-03-12 11:35  simon
835         * MANIFEST, packdump.c, packout.c:
837         Just so the functionality doesn't disappear.
839 2002-03-12 11:33  simon
841         * Makefile.in, chartype.c, encoding.c, packfile.c,
842         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
843         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
844         include/parrot/chartype.h, include/parrot/encoding.h,
845         include/parrot/packfile.h:
847         Packfile axing.
849 2002-03-11 23:06  nicholas
851         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
853           Core.ops documentation nits
855 2002-03-11 23:05  nicholas
857         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
859           Most of the PerlUndef tests in pmc.t appear to have been added
860         twice.
861           Enclosed patch removes the duplicates.
863 2002-03-10 23:40  nicholas
865         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
867          More tests for the PerlString test-suite.
869 2002-03-10 23:40  nicholas
871         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
873         test for sleep with negative argument
875 2002-03-10 21:58  nicholas
877         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
879          Enclosed patch fixes up a few more holes in our test coverage.
881 2002-03-10 21:18  mrjoltcola
883         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
884         classes/parrotpointer.pmc, classes/perlarray.pmc,
885         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
886         classes/perlstring.pmc, classes/perlundef.pmc,
887         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
888         argument to the init() vtable method so PMCs have the option to
889         know how to size themselves at creation. size could be N elements
890         or a byte count, depending on the PMC or it may simply be ignored.
891         Overloaded 'new' opcode for optional arg.
893 2002-03-10 21:15  mrjoltcola
895         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
896         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
897         class).
899         Also added small hack for .sub directive (which simply translates
900         to a label, however we might eventually want to collect these to
901         validate bsr calls.
903 2002-03-10 15:09  ajgough
905         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
906         Added round_floor and round_ceiling.  3403 tests pass, none fail.
908 2002-03-10 03:56  ajgough
910         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
911         divide, divide integer and remainder.  All filled in functions now
912         have special values capability.
914         Much remains to be done though, and the pdd needs to catch up.
916 2002-03-10 01:36  ajgough
918         * types/bignum.c: Added extended stuff to _add, _subtract.
920 2002-03-10 00:14  nicholas
922         * t/op/: integer.t, number.t: Patch from Simon Glover
923         <scog@roe.ac.uk>:
925          The enclosed patch fixes a few of the holes in our test coverage
926          uncovered by Josh Wilmes
928 2002-03-09 23:03  ajgough
930         * types/: bignum.c, bignum.h: Modified compare to work with
931         extended values.  Made a couple of changes here and there to allow
932         BN_comp to take a context, so that an is_zero check doesn't clobber
933         negative zeros.
935 2002-03-09 22:19  ajgough
937         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
938         Unary plus now copes with special values.
940 2002-03-09 04:25  ajgough
942         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
943         traps and flags are now enabled and tested for all the standard
944         tests for all the functions which are currently implemented.  Test
945         harness faffed with to allow these to be tested.
947 2002-03-09 02:29  josh
949         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
950         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
951         Re-indented
953 2002-03-09 02:22  josh
955         * config_h.in: tab-blastin'
957 2002-03-09 02:21  josh
959         * check_source_standards.pl: Play nicer with M-x compile- don't
960         bother giving line numbers for things you don't want to look at.
962 2002-03-09 02:10  josh
964         * examples/mops/mops.c: re-indented
966 2002-03-09 02:07  josh
968         * classes/pmc2c.pl: Use the usual header so that we can detect the
969         autogeneratedness.
971 2002-03-09 02:05  josh
973         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
974         compiler warning
976 2002-03-09 01:59  josh
978         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
979         patch- re-indent io/*.c.
981 2002-03-09 01:52  ajgough
983         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
984         special values to the string conversion functions, some other
985         functions now need context (to let -0 pass through really_zero)
986         which have also been added.
988 2002-03-09 01:47  josh
990         * test_main.c: Re-indented.
992 2002-03-09 01:41  josh
994         * rx.c: killed a stray tab
996 2002-03-09 01:38  josh
998         * rx.c: Re-indented.
1000 2002-03-09 01:36  josh
1002         * misc.c: Oops, some tabs remained- cleaned up.
1004 2002-03-09 01:31  josh
1006         * misc.c: Re-indented (major patch, sorry)
1008 2002-03-09 00:59  josh
1010         * embed.c: Re-indented.
1012 2002-03-08 23:08  simon
1014         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1015         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1016         docs/pdds/pdd13_bytecode.pod:
1017         Placeholder PDDs.
1019 2002-03-08 21:12  ajgough
1021         * include/parrot/string.h: Added private flags to string.h, mostly
1022         so that other GCed stuff can also have its very own private flags.
1024 2002-03-08 19:53  simon
1026         * MANIFEST:
1027         Great PDD Renaming
1029 2002-03-08 19:41  robert
1031         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1032         pdd6.pod, pdd7.pod: Renamed...
1034 2002-03-08 18:51  simon
1036         * MANIFEST, docs/pdds/pdd08_keys.pod:
1037         Add keys PDD.
1039 2002-03-08 18:20  ajgough
1041         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1042         Introduced exception handlers and exception flags to context, will
1043         allow support of extended standard.  Unified exception checking
1044         mechanism (sort of) and made minimal changes to bulk of code to use
1045         this.  Tests pass, I'm happy, and further changes will happen more
1046         gradually.
1048 2002-03-08 04:38  josh
1050         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1051         tweaks.
1053 2002-03-08 04:37  josh
1055         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1057 2002-03-08 04:24  josh
1059         * embed.c: A bit more re-indenting
1061 2002-03-08 04:20  josh
1063         * embed.c: Indenting fixes
1065 2002-03-08 04:14  josh
1067         * jit.c: Re-indented (run_indent.pl)
1069 2002-03-08 03:36  josh
1071         * ops2c.pl: Fix the line numbers which get reported while compiling
1072         core_ops*.c
1074 2002-03-08 03:22  josh
1076         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1077         The variable "type" is set but never used.
1079               opcode_t type;
1081 2002-03-08 03:04  josh
1083         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1084         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1085         noticed by the sgi compiler.
1087 2002-03-08 03:02  josh
1089         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1090         misc.c, Line = 417   The indicated type qualifier is meaningless on
1091         cast type.
1094         (const char) 'f');
1095                                                                          ^
1097 2002-03-08 02:55  josh
1099         * Makefile.in: Clean up one of the object files it was missing
1101 2002-03-08 01:15  josh
1103         * include/parrot/interpreter.h: Fixes the following error (tcc):
1104         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1105         comma at end of list.
1107 2002-03-06 22:15  simon
1109         * stacks.c:
1110         Tidy up stack chunk allocation.
1112 2002-03-06 21:00  simon
1114         * interpreter.c:
1115         Create strings only once we've got string register heads set up.
1117 2002-03-06 20:31  simon
1119         * classes/perlarray.pmc:
1120         malloc(0) considered harmful.
1122 2002-03-06 20:24  simon
1124         * include/parrot/resources.h:
1125         I like it when Parrot compiles.
1127 2002-03-06 17:02  dan
1129         * classes/array.pmc: Changed over to data pointing to a Buffer.
1131 2002-03-06 15:45  dan
1133         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1134         packfile.c, pbc2c.pl, pdump.c, resources.c,
1135         include/parrot/interpreter.h, include/parrot/memory.h,
1136         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1137         and opcode_t > longs will now be even more suspect than what they
1138         were beforehand.  2) Feel free to bicker with names.  I don't think
1139         we've come to *any* sort of agreement with these, although we
1140         really, really, need to.  3) I forget the third thing.  4) But I
1141         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1142         ANSI C states that enums will fit within the smallest type (int or
1143         greater) that can hold the values. Is that actually correct, and
1144         does it state whether unsigned is preferred to signed for
1145         non-negative enums? 6) Since I'm no longer constrained by "three"
1146         or "quick", I'm going size_t happy for a lot of memory-related
1147         storage.  (That's good.  No sense wasting the size or performance
1148         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1149         a couple other internal things (like the GC stat counters, seen
1150         here).  Size and performance, again, and unpromotable to a bigint,
1151         so we know that we (theoretically) will wrap.  However, size_t
1152         isn't the best choice for the type.  (Not that there's anything
1153         wrong with size_t, just that it shouldn't be called size_t.)  Any
1154         thoughts?  I was thinking of just doing unsigned int, because,
1155         IIRC, int is usually the natural word size, and will be most
1156         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1157         of was while writing down the others.  Sorry.
1159         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1161 2002-03-06 15:26  dan
1163         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1164         include/parrot/resources.h: Now we allocate generic Buffers from
1165         arenas too
1167 2002-03-05 21:42  brentdax
1169         * Configure.pl: Minor cleanup and enhancements.
1171 2002-03-05 21:25  dan
1173         * resources.c: non-special GC now works with PMCs
1175 2002-03-05 19:48  brentdax
1177         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1178         Parrot now "knows" if it's a development version or a release
1179         version.  See the instructions in the DEVELOPING file.
1181 2002-03-05 18:05  brentdax
1183         * MANIFEST: pasm.vim wasn't in the manifest.
1185 2002-03-05 17:57  simon
1187         * Makefile.in:
1188         Now, through much evilness, make distclean and make cvsclean work
1189         again.
1191 2002-03-05 17:38  dan
1193         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1194         include/parrot/interpreter.h, include/parrot/pmc.h,
1195         include/parrot/resources.h: PMC tracing complete
1197 2002-03-05 16:28  gregor
1199         * languages/jako/Makefile.in:
1200         Changed -I ../../ to -I ../../lib when calling the assembler, since
1201         the perl modules have moved.
1203 2002-03-05 05:30  josh
1205         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1206         string.c: More re-indenting via run_indent.pl.
1208 2002-03-05 05:17  josh
1210         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1211         run_indent.pl)
1213 2002-03-05 04:26  josh
1215         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1216         using run_indent.pl and some minor tweaking.
1218 2002-03-05 04:21  josh
1220         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1221         interpreter.c: Re-indented using run_indent.pl and some minor
1222         tweaking.
1224 2002-03-05 03:30  josh
1226         * include/parrot/trace.h: These functions are no longer used (or
1227         even implemented)
1229 2002-03-04 18:21  josh
1231         * include/parrot/trace.h: Fix a typo in the argument type.
1233         Patch from <daniel.ritz@gmx.ch>
1235 2002-03-04 03:39  josh
1237         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1238         header to jit_struct.h so we don't try to check it for conformance.
1239          (no way will it conform)
1241 2002-03-04 03:38  josh
1243         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1244         unicode.h, warnings.h: Remove some remaining tabs and split some of
1245         the remaining long lines.
1247 2002-03-04 03:17  josh
1249         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1250         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1251         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1252         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1253         string_funcs.h, trace.h, warnings.h: This is the first batch of
1254         re-indenting.   This patch is the result of running run_indent.pl
1255         on the header files and manually tweaking the results where errors
1256         were noticed.   This should get us closed, but some refinement may
1257         follow.
1259 2002-03-04 03:06  josh
1261         * resources.c: Return without parens, as mentioned in PDD 7
1263 2002-03-04 03:01  josh
1265         * core.ops: POD fixes.
1267 2002-03-04 02:58  josh
1269         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1270         on autogenerated files- used by the check_source_standards.pl
1271         script (for now) to exempt autogenerated files from the checks.
1273 2002-03-04 02:51  josh
1275         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1276         warnings.c: Added the editor "boilerplate" footer to a few files
1277         which were missing it.
1279 2002-03-04 02:34  josh
1281         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1282         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1283         c preprocessor directive indentation to comply with pdd 7.
1285         (also fixes the check for this indentation in
1286         check_source_standards.pl)
1288 2002-03-04 02:32  josh
1290         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1291         irix.
1293         perl t/harness t/op/basic..........Use of uninitialized value at
1294         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1295         line 6) #          got: undef #     expected: ''
1297 2002-03-04 02:30  josh
1299         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1300         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1301         "indent" program to enforce some of the code style standards
1302         outlined in PDD 7.
1304         Usage: ./run_indent.pl <file>
1306 2002-03-03 19:04  simon
1308         * examples/mops/mops.c:
1309         Let's make it compile, huh?
1311 2002-03-03 19:04  simon
1313         * examples/mops/mops.cs:
1314         I R AN IDIOT
1316 2002-03-03 18:11  simon
1318         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1319         Added C# and MS-IL versions of mops tester.
1321 2002-03-03 14:52  simon
1323         * core.ops:
1324         Add a sub() op to make mops_p work.
1326 2002-03-02 18:12  nicholas
1328         * examples/mops/mops.c, include/parrot/embed.h,
1329         include/parrot/interp_guts.h, include/parrot/jit.h,
1330         include/parrot/misc.h, include/parrot/packfile.h,
1331         include/parrot/rx.h, include/parrot/warnings.h,
1332         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1333         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1334         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1335         indent variables correctly.
1337 2002-03-02 17:41  nicholas
1339         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1340         patch to fix a compiler warning.
1342 2002-03-01 22:35  dan
1344         * memory.c, resources.c, include/parrot/pmc.h,
1345         include/parrot/resources.h: PMCs now come out of arenas.
1347 2002-03-01 06:15  dan
1349         * string.c:
1350         A non-existing buffer + a non-existing buffer should be a
1351         non-existing buffer, not "", which is really '\0'.
1353         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1355 2002-03-01 06:02  dan
1357         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1359         TMTOWTDI, but strcmp is probably the worse.
1361         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1363 2002-03-01 02:32  brentdax
1365         * embed.c: Debug mode now prints out the GC data.
1367 2002-02-28 23:44  dan
1369         * core.ops, resources.c, include/parrot/resources.h: Added collect
1370         and sweep opcodes
1372 2002-02-28 22:58  dan
1374         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1375         opcode
1377 2002-02-28 22:50  dan
1379         * core.ops, interpreter.c, resources.c,
1380         examples/assembly/life.pasm, include/parrot/interpreter.h,
1381         include/parrot/resources.h: Add some stat gathering to the resource
1382         allocation code.
1384         Also add an interpreter info retrieval op, and teach it about the
1385         different things it can retrieve.
1387         Finally, add some stat info to life.pasm as an example
1389 2002-02-28 21:27  dan
1391         * editor/pasm.vim: VIM mode commands for parrot assembly files
1393         Courtesy of Scott Beck <scott@gossamer-threads.com>
1395 2002-02-28 19:20  dan
1397         * examples/assembly/life.pasm: Fix a creeping string length leak.
1399         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1401 2002-02-28 18:26  dan
1403         * string.c: When you clone a constant, it ain't constant no mo'.
1405         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1407 2002-02-28 00:51  dan
1409         * MANIFEST: Add missing files
1411         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1413 2002-02-28 00:49  dan
1415         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1416         CVS seems to have several chunks missing out of it, too.  This
1417         patch is simply an administrative patch, with the differences
1418         between my last version, and the one currently in there.  There
1419         will be a forthcoming patch for some minor tweaking to the PDD, but
1420         I wanted a common baseline before I make any (potential) semantic
1421         changes.
1423         There's only one semi-major change, which noone needs to worry
1424         about just yet.  That's a change from PDD Format 1 to PDD Format
1425         6.0 - rationale can be found under 'Standard (Version #)' of the
1426         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1427         should be 6.0.0, and we need to discuss Perl versus Parrot with
1428         PDDs.
1430         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1432 2002-02-28 00:27  dan
1434         * packfile.c, resources.c, examples/assembly/life.pasm,
1435         include/parrot/register.h, include/parrot/resources.h,
1436         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1437         no PMCs yet)
1439         This patch now implements a real copying collector. We trace from
1440         our root set and compact the contents of Buffer structs.
1442         Todo:
1444         *) It's very STRING-centric and doesn't handle memory stuffed in
1445         Buffers.  But, then, we don't have pool allocation for Buffers
1446         either, and we need to have that soonish for this to work.
1448         *) Doesn't trace PMCs, so if you trigger a collection and there's
1449         memory or STRING structs only accessible from PMCs, you'll fail
1450         horribly. That needs fixing too
1452         *) Better algorithms for when to trace or collect vs when to just
1453         go allocate more memory from the system. Should probably be more
1454         cache friendly too.
1456 2002-02-27 21:04  dan
1458         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1459         examples/assembly/life.pasm, include/parrot/resources.h,
1460         include/parrot/string.h, include/parrot/string_funcs.h,
1461         jit/i386/core.jit: Start of GC in
1463 2002-02-26 16:41  dan
1465         * jit/i386/string.jit: Fix a typo
1467         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1469 2002-02-26 16:37  dan
1471         * interpreter.c: Fix solaris test failures
1473         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1475 2002-02-26 16:36  dan
1477         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1478         unicode.h, warnings.h: Fixes various warts in header files, such
1479         as: * macros   -added parens to prevent problems with operator
1480         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1481         is no longer used * added some more INLINE definitions for MSVC and
1482         C99 compilers
1484         Courtesy of Brian Lee Ray <blray@ualr.edu>
1486 2002-02-26 16:20  dan
1488         * Configure.pl: Turns out we were using a warning flag which
1489         doesn't exist on 2.7.  Simple tweak though:
1491         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1493 2002-02-25 22:58  dan
1495         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1497 2002-02-25 17:36  dan
1499         * include/parrot/pmc.h: Fix the bits
1501 2002-02-23 21:57  dan
1503         * include/parrot/resources.h: Another 1.5% never hurts
1505 2002-02-23 21:44  dan
1507         * global_setup.c, memory.c, resources.c, string.c,
1508         include/parrot/resources.h: Allocate STRING headers from an arena
1509         with freelist rather than with the system malloc. First step in a
1510         good (or even a bad) GC system.
1512 2002-02-23 20:37  brentdax
1514         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1516 2002-02-22 14:59  ajgough
1518         * types/bignum.c: BN_multiply split into BN_multiply and
1519         BN_imultiply, the internal version to be used by idivide so that
1520         rounding isn't performed during intermediate stages of division.
1522         following test scripts now all pass: divide divideint add multiply
1523         subtract remainder compare rounding plus minus (these are all the
1524         operations currently implemented, rescale and power must still be
1525         written, so don't pass right now).
1527 2002-02-22 13:13  ajgough
1529         * types/bignum_atest.pl: Test harness modified to understand
1530         comments better, and be able to run unary (and rounding) tests.
1531         Currently a few rounding tests fail, which are being investigated.
1533 2002-02-22 01:41  dan
1535         * key.c: Although there's more work being done on the key stuff and
1536         this isn't the final fix, applying this patch does get parrot to
1537         build with two more compilers, so it's probably worthwhile.
1539         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1541 2002-02-22 00:53  dan
1543         * config_h.in, misc.c, include/parrot/embed.h,
1544         include/parrot/exceptions.h, include/parrot/interpreter.h,
1545         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1546         include/parrot/resources.h, include/parrot/rx.h,
1547         include/parrot/string.h, include/parrot/unicode.h,
1548         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1549         io/io_win32.c: Fixes the following (lcc) warnings:
1551           - interpreter.c:470: warning: expression with no effect elided
1552                (related to the way warnings flags were defined)
1554           - misc.c:352: warning: unreachable code
1555             misc.c:483: warning: unreachable code
1556                (i introduced these with some overzealous de-linting)
1558           - numerous warnings like this:
1559             io/io_unix.c:383: warning: conversion from pointer to void' to
1560         pointer to
1561             pointer to struct _ParrotIO function(pointer to struct
1562         Parrot_Interp,pointer
1563             to struct _ParrotIOLayer,pointer to const char,pointer to const
1564         char,pointer
1565             to pointer to void)' is compiler dependent
1567         Fixes the following nits:    - remove bad indenting (tabs) in the
1568         includes
1570         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1572 2002-02-21 21:12  ajgough
1574         * types/: bignum.c, bignum.h: These might look like massive
1575         changes, but really it's just he imposition of coding standards.
1576         The file still isn't entirely compliant, but is now much more so.
1578         Also changed:
1580          o a few more comments
1581          o BN_compare uses internal BN_comp to compare
1582          o lost_digits behaviour is now correct (test harness modified to
1583         test
1584            this).
1586         All binary functions now pass all the tests in the basic standard.
1587         Unary functions not yet tested, will be soon.
1589 2002-02-21 18:20  dan
1591         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1592         was no longer needed, and the ssize_t thing really shouldn't be
1593         needed either.
1595         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1597 2002-02-21 18:15  dan
1599         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1600         include/parrot/parrot.h: this patch adds support for the freely
1601         available borland c++ 5.5.1 compiler
1603         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1604         working borland compiler (compiler must know where to find headers
1605         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1606         cc='cl.exe' - a working make utility (borland make doesn't work,
1607         nmake does)
1609         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1610         hints/mswin32.pl - remove a space from Configure.pl (very very
1611         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1612         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1613         (win32 knows it, linux not)
1615         and the why: - parrot is MUCH faster when compiled with borland c
1616         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1617         seconds
1619         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1621 2002-02-21 18:09  dan
1623         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1624         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1625         cuddled elses, as required by PDD 7.
1627         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1629 2002-02-21 18:04  dan
1631         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1632         a new Makefile target called "check_source".  This target scans all
1633         the .c and .h files in the directory and checks for conformance to
1634         a number of the standards outlined in PDD 7.
1636         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1638 2002-02-21 16:38  ajgough
1640         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1641         allow arithmetic with numbers with a fixed fractional part, buffer
1642         structures now more ready to be integrated into the parrot memory
1643         allocation game, test harness modified to allow lost_digits
1644         condition to be checked.  Some more comments.
1646 2002-02-21 15:53  simon
1648         * io/io_unix.c:
1649         Fix typo
1651         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1653 2002-02-20 16:41  dan
1655         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1657 2002-02-18 18:25  dan
1659         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1661         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1663 2002-02-18 18:21  dan
1665         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1666         CPrederef.pm to make to generated code compile with the MS
1667         compiler.
1669         fixes: - ms compiler allows inline only for c++, for c there's
1670         __inline - ms header files knows nothing about ssize_t
1672         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1674 2002-02-18 17:49  dan
1676         * MANIFEST: Add the PDDs
1678 2002-02-18 17:47  dan
1680         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1681         coding standards PDD.
1683 2002-02-18 17:40  dan
1685         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1687 2002-02-18 12:41  gregor
1689         * test_main.c:
1690         Remove warning about exit() not being declared.
1692 2002-02-18 08:29  simon
1694         * misc.c, warnings.c, include/parrot/misc.h,
1695         include/parrot/warnings.h:
1696         This patch adds some missing const's to silence a number of gcc
1697         warnings.
1699         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1701 2002-02-18 08:26  simon
1703         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1704         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1705         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1706         include/parrot/parrot.h, include/parrot/rx.h,
1707         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1708         lib/Parrot/OpTrans/CPrederef.pm:
1709            - add makefile target and script to test for external libc
1710         dependencies
1711            - fix return values in hash and array PMCs (returning 0 in a
1712         void func)
1713            - remove unnecessary data pointer <=> function pointer
1714         conversions
1715              outside of the JIT code.
1716            - move the definition of the "INLINE" macro out of the rx header
1717         and make
1718              available for general use on C++ compilers and gcc.
1719            - remove a few unused variables
1721         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1723 2002-02-17 16:29  simon
1725         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1726         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1727         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1728         We're organised and responsible. Honest.
1730 2002-02-17 02:46  sfink
1732         * Makefile.in: Remove $^ for nmake compatibility.
1734 2002-02-16 09:20  brentdax
1736         * config_h.in, test_main.c, include/parrot/chartype.h,
1737         include/parrot/embed.h, include/parrot/encoding.h,
1738         include/parrot/string.h, include/parrot/string_funcs.h: Better
1739         embedding exposure and hiding, part 1.
1741 2002-02-16 04:38  dan
1743         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1744         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1745         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1746         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1747         typecasts in various places throughout the code. It probably won't
1748         work for Windows yet. The libparrot.a target might need to be
1749         modified to at least prevent it from confusing make on Windows; I
1750         don't know.
1752         Preliminary instructions for using pbc2c.pl are in
1753         docs/running.pod.  I'll try to do better later.
1755         Courtesy of Steve Fink <steve@fink.com>
1757 2002-02-16 04:15  dan
1759         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1761         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1763 2002-02-16 00:03  simon
1765         * classes/: perlarray.pmc, perlhash.pmc:
1767         pmc is already defined!
1769 2002-02-15 23:20  brentdax
1771         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1772         include/parrot/exceptions.h: Far more informative panic messages.
1774 2002-02-15 03:24  dan
1776         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1777         much more extensive patch that fixes it to work properly, and
1778         deletes a bazillion casts as well.  It also points to the question
1779         "can we make the byte_code be an opcode_t* already?"
1781         Oh, and it makes some of the formatting prettier, so it's gotta be
1782         good.
1784         Courtesy of * Steve Fink <steve@fink.com>
1786 2002-02-15 02:30  dan
1788         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1789         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1790         of the things it finds.  Attaching the patch as well as the current
1791         lint output.
1793         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1795 2002-02-15 01:59  dan
1797         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1798         moment.
1800 2002-02-15 01:48  dan
1802         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1804 2002-02-15 01:40  dan
1806         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1807         things
1809 2002-02-14 23:30  dan
1811         * resources.c: Added comment for buffer tag routine. D'oh!
1813 2002-02-14 23:28  dan
1815         * resources.c, include/parrot/resources.h: Added buffer mark
1816         routine for GC
1818 2002-02-14 23:17  dan
1820         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1821         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1822         Rejigged memory system a bit. Now should be ready for the horror
1823         that is garbage collection.
1825 2002-02-14 19:33  gregor
1827         * ops2c.pl, include/parrot/oplib.h:
1828         Added code to automatically generate a function within an oplib to
1829         lookup opinfos given the op name. This will come in handy in future
1830         when we want to twiddle opcode tables at run time and possibly at
1831         startup time.
1833 2002-02-14 19:25  gregor
1835         * examples/assembly/queens.pasm:
1836         Regenerated queens.pasm from queens.jako since the clone_* stuff
1837         went away.
1839 2002-02-14 17:12  dan
1841         * resources.c, include/parrot/resources.h: Finished up the
1842         interface for memory and tracked interpreter thingies.
1844 2002-02-14 16:53  dan
1846         * memory.c, include/parrot/memory.h: intercept free and realloc
1848 2002-02-14 05:53  dan
1850         * interpreter.c, runops_cores.c: The type changes in struct
1851         Packfile break the pointer math used in a few places to calculate
1852         the address of the end of the loaded byte code. This causes
1853         segfaults in build_asm in jit.c when using -j. It also breaks the
1854         bounds checking on opcode address in runops_slow_core.
1856         The patch adds the necessary cast to correct the code_end
1857         calculations.
1859         Courtesy of Jason Gloudon <perl@gloudon.com>
1861 2002-02-14 01:01  ajgough
1863         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1864         BigInt operations (I think), tests for normal operation continue to
1865         pass.  Also a shed load of comments.
1867 2002-02-13 01:34  ajgough
1869         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1870         is a (mostly) working bignumber library.  There remains much work
1871         to do though, some functions are not yet implemented and headers
1872         need to find their way to the correct place RSN.  Also support for
1873         bigints and a sensible error reporting mechanism are needed.
1875 2002-02-12 18:51  dan
1877         * misc.c: Fix some warnings
1879 2002-02-12 17:10  dan
1881         * misc.c: Run through indent -kr -nce so I can read it
1883 2002-02-12 16:49  dan
1885         * misc.c: Need standard header/footer comments
1887 2002-02-11 20:32  simon
1889         * classes/array.pmc:
1890         get and set pmc methods.
1892 2002-02-11 20:19  simon
1894         * classes/array.pmc:
1895         Maybe the keys aren't integer...
1897 2002-02-11 20:03  simon
1899         * core.ops, vtable.tbl, classes/default.pmc:
1900         {g,s}et_pmc_keyed
1902 2002-02-11 19:07  simon
1904         * vtable.tbl, classes/default.pmc:
1905         Add set_pmc. Usee with caution.
1907 2002-02-11 18:20  dan
1909         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1910         compile
1912 2002-02-11 17:59  simon
1914         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1915         classes/perlarray.pmc, classes/perlhash.pmc:
1916         Make it compile.
1918 2002-02-11 17:57  simon
1920         * packfile.c, include/parrot/packfile.h:
1921         Reduce warnings
1923         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1925 2002-02-11 17:55  dan
1927         * docs/parrot_assembly.pod: Document some key ops
1929 2002-02-11 09:20  brentdax
1931         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1932         disgustingly easy.
1934 2002-02-11 00:34  simon
1936         * core.ops, include/parrot/exceptions.h:
1937         This is what keyed set ops look like. Remember, however, that for
1938         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1939         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1940         obviously ambiguous that you ought to use the 4-arg version
1941         instead.
1943 2002-02-10 23:12  jgoff
1945         * classes/: array.pmc, perlarray.pmc: Properly allocate
1946         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1947         isn't tested yet, but should be fairly straightforward.  PerlHash
1948         needs to be finished before the system will compile again, and that
1949         should be done in the next few days.
1951 2002-02-09 04:46  jgoff
1953         * classes/: array.pmc, default.pmc, intqueue.pmc,
1954         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1955         Added basic _keyed member functions.  Unfortunately this still
1956         doesn't fix the problems that are causing the build to break. It's
1957         a start though. I'm not implementing the PMC add functions just
1958         yet.
1960 2002-02-08 15:59  simon
1962         * classes/array.pmc:
1963         Some more work on getting the array stuff up to date.
1965 2002-02-08 12:23  simon
1967         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1968         lib/Parrot/Vtable.pm:
1969         Got array->get_integer_keyed doing what I think it ought to. One
1970         down, all the rest to go.
1972 2002-02-08 11:47  simon
1974         * vtable.tbl:
1975         Although I didn't intend it to be quite that broken...
1977 2002-02-08 11:42  simon
1979         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1980         Completely break Parrot, but at least we get the key stuff right
1981         for now.
1983 2002-02-08 06:25  dan
1985         * hints/darwin.pl: Silences the warning about passing in
1986         -flat_namespace to the compile.  That's a link-only flag.
1988 2002-02-08 04:52  jgoff
1990         * classes/: array.pmc, default.pmc, intqueue.pmc,
1991         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1992         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1993         return values in *.pmc, added some missing casts to the repeat_foo
1994         members, and deleted the _index members from the perlscalar
1995         classes.  Basic cleanup, and getting ready for _keyed functions.
1997 2002-02-07 04:49  mrjoltcola
1999         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2000         added a nested subroutine call.
2002 2002-02-07 04:32  jgoff
2004         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2005         changes in order to give the whitespace rules a little workout, and
2006         do a little bit more testing. No actual structural changes were
2007         made.  lib/Parrot/Vtable.pm got an interface change, and more
2008         importantly should be ready to support the new '_keyed' attribute,
2009         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2010         src_value' followed by 'KEY* src_key'.  This will be how the new
2011         _keyed operators will function, and those should be written within
2012         a few days.
2014 2002-02-06 18:00  doughera
2016         * misc.c: Change C++-style comments to C comments (again).  Remove
2017         unused perl5 code that was in #if 0/#endif.
2019 2002-02-06 17:59  doughera
2021         * warnings.c: Add trailing newline.
2023 2002-02-06 04:14  mrjoltcola
2025         * include/parrot/io.h, io/io.c: Minor cleanup.
2027 2002-02-06 03:11  mrjoltcola
2029         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2030         couple of loose end in win32 IO stuff. Open behaves now but needs
2031         more work.
2033 2002-02-05 21:02  brentdax
2035         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2036         which showed up in Purify builds.
2038 2002-02-05 17:15  simon
2040         * misc.c:
2041         Warning fixes.
2043         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2045 2002-02-05 17:08  doughera
2047         * misc.c: Avoid C++-style comments.
2049 2002-02-05 17:07  doughera
2051         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2052         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2053         thanks to Jason Gloudon <perl@gloudon.com>.
2055 2002-02-05 14:04  simon
2057         * misc.c:
2058         Make the problem different, perhaps even better.
2060 2002-02-05 13:49  simon
2062         * misc.c:
2063         Possibly fix a `short int' is promoted to `int' when passed through
2064         `...' scary error, possibly make things absolutely worse.
2066 2002-02-05 13:15  simon
2068         * Configure.pl:
2069         Placate Tru64.
2071 2002-02-05 13:12  simon
2073         * warnings.c:
2074         Not going to get far without this one...
2076 2002-02-05 11:41  simon
2078         * string.c:
2079         Don't barf when handed null pointers.
2081 2002-02-05 10:04  simon
2083         * misc.c, include/parrot/misc.h:
2084         Fix some trivial bugs in warnings code.
2086 2002-02-05 09:27  simon
2088         * misc.c:
2089         Oops, forgot this one; also added %P support.
2091 2002-02-05 09:20  simon
2093         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2094         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2095         include/parrot/interpreter.h, include/parrot/misc.h,
2096         include/parrot/parrot.h, include/parrot/warnings.h:
2097         Warnings support.
2099         Courtesy of: Brent Dax <brentdax@cpan.org>
2101 2002-02-05 05:41  jgoff
2103         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2104         format of vtable.tbl to get rid of the tab-dependence.  The format
2105         now looks roughly like this:
2107         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2108         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2109         assumed here, but note the C-like prototyping.  Also had to disable
2110         one test that depended upon 'concat_p_p_s', which isn't necessary
2111         anyway.
2113         Vtable.pm will change again when the type '_keyed' is added,
2114         because that requires remapping parameters slightly differently
2115         again.  Also, note that it assumes 'value' is the first parameter
2116         in the list. This assumption will go away at the same time.
2118 2002-02-04 16:57  ajgough
2120         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2121         functions.  Thanks to Simon Glover.
2123 2002-02-04 02:47  ajgough
2125         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2126         needed.  I suspect that the entire hints file isn't really needed,
2127         but there's no one to actually tell us this.
2129 2002-02-02 15:45  ask
2131         * docs/ParrotFAQ.htm: fix internal links
2133 2002-02-02 04:06  jgoff
2135         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2136         Moving the internal KEY structure from the cache.struct_val member,
2137         where it doesn't really belong, to the internal SELF->data member.
2138         This frees up the cache/type members for other usage.
2140         This is the first step in moving PMCs to the point where we can do
2141         multidimensional PMC handles. The next step is to change the
2142         assembler to accept the syntax of 'set P0["foo"],7'.
2144 2002-02-02 00:13  nicholas
2146         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2147         prototype Parrot_Array_class_init
2149 2002-02-02 00:13  nicholas
2151         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2152         time to sum_time to avoid warning on FreeBSD about tracking a
2153         global [No, this warning does not appear on Linux. Yes, it is real
2154         :-)]
2156 2002-02-01 23:02  nicholas
2158         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2159         Glover
2161 2002-02-01 20:20  nicholas
2163         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2165 2002-02-01 18:20  nicholas
2167         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2168         you
2170 2002-02-01 13:22  nicholas
2172         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2174 2002-02-01 12:19  simon
2176         * core.ops, t/op/ifunless.t, t/op/integer.t:
2177         Added "unless" op.
2179 2002-02-01 12:11  simon
2181         * lib/Parrot/Test.pm:
2182         Remove a warning.
2184 2002-02-01 01:38  nicholas
2186         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2187         and a manitest target to Makefile.in that lets one test the
2188         manifest.
2190 2002-02-01 00:03  dan
2192         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2193         PMC dynaloading
2195 2002-01-31 21:46  gregor
2197         * Configure.pl, Makefile.in, hints/mswin32.pl:
2198         A few more things are now configable, so we are closer to win32
2199         shared library builds. Not there yet, but closer.
2201 2002-01-31 21:00  dan
2203         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2204         include/parrot/pmc.h: First step in dynamically loading PMC classes
2206 2002-01-31 19:38  dan
2208         * Makefile.in: Dependencies in the Makefile are currently too broad
2209         brush.  I don't enjoy waiting for everything to recompile every
2210         time I try to tweak the jit. The only file that #includes
2211         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2212         should reflect this, and not cause a gratuitous recompile of
2213         everything.  There are probably other auto-generated header files
2214         that world+dog should not depend on.
2216         Courtesy of  Nicholas Clark <nick@unfortu.net>
2218 2002-01-31 19:03  gregor
2220         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2221         Added two new make targets:
2223           * testp: Like 'make test', but passes -P to t/harness, so you get
2224         to
2225             see how broken predereferencing is.
2227           * testj: Like 'make test', but passes -j to t/harness, so you get
2228         to
2229             see how broken JIT is.
2231         Now, anyone who wants to see how good all three ways of running are
2232         can do so, at the cost of about 3x the time.
2234 2002-01-31 17:09  brentdax
2236         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2238 2002-01-31 03:41  grunblatt
2240         * docs/jit.pod: Update jit.pod
2242 2002-01-31 03:20  grunblatt
2244         * jit/i386/core.jit: Hold this until we get an assemble tool,
2245         because of the different objdump problems.
2247 2002-01-31 03:13  grunblatt
2249         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2250         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2251         of: Jason Gloudon <perl@gloudon.com>
2253 2002-01-31 02:22  grunblatt
2255         * jit/i386/core.jit: Continue if the register is null
2257 2002-01-30 23:50  grunblatt
2259         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2260         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2261         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2262         specific file.
2264 2002-01-30 23:35  mrjoltcola
2266         * io/io_win32.c: Change implementation of isatty on win32,
2267         suggested by Hong Zhang.
2269 2002-01-30 23:19  sfink
2271         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2272         Op::may_jump boolean method.
2274         Replaced jit2h's hardcoded pattern match to decide what ops might
2275         change the control flow.
2277 2002-01-30 22:13  dan
2279         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2280         parrot to mostly-build with tcc.  It allows one to skip compiling
2281         the JIT stuff (by specifying --define jitcapable=0), and it
2282         introduces a test program which gives a friendlier error in this
2283         case for compilers which are as picky as tcc is about function
2284         pointer conversion.
2286         If anyone figures out the proper way to cast these function
2287         pointers this may not be necessary.
2289         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2291 2002-01-30 20:54  dan
2293         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2294         Here's an update to docs/running.pod to better reflect the current
2295         state (both the test_parrot and assemble.pl improvements, plus
2296         documentation of a few more things.) And also a speling fiks
2297         s/POST_MORTERM/POST_MORTEM/.
2299         I could also replace some "perl foo" calls with "./foo" if someone
2300         wanted to set the executable flag in CVS on assemble.pl,
2301         optimize.pl, etc.
2303         Courtesy of Steve Fink <steve@fink.com>
2305 2002-01-30 20:43  dan
2307         * core.ops: find_global doesn't work, so stub out the wrong code
2309 2002-01-30 19:08  dan
2311         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2312         that perldoc
2313          can read it and just tidies it up generally. It also adds
2314         documentation
2315          for the constantize_integer and constantize_number functions.
2317         Courtesy of Simon Glover <scog@roe.ac.uk>
2319 2002-01-30 18:02  dan
2321         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2322         classes/genclass.pl, classes/pmc2c.pl,
2323         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2324         distribution (including assemble.pl !)
2325          can no longer find the Parrot::* modules. Enclosed patch fixes
2326         (although
2327          it would be nice if there were an easier way to do this).
2329         Courtesy of  Simon Glover <scog@roe.ac.uk>
2331 2002-01-30 16:00  mrjoltcola
2333         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2334         types.
2336 2002-01-30 15:50  mrjoltcola
2338         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2340 2002-01-30 15:42  grunblatt
2342         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2343         files around
2345 2002-01-30 15:38  grunblatt
2347         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2348         the manifest,  and also puts it back into alphabetical order.
2350         Courtesy of: Simon Glover <scog@roe.ac.uk>
2352 2002-01-30 14:41  nicholas
2354         * embed.c: Patch from Simon Glover to clean up warnings where
2355         prototype is () not (void)
2357 2002-01-30 13:54  nicholas
2359         * include/parrot/embed.h, test_main.c: Add void as an explicit
2360         parameter in test_main.c's usage(), version(void) and embed.h's
2361         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2362         warning: function declaration isn't a prototype
2364 2002-01-30 12:08  simon
2366         * lib/Parrot/.cvsignore:
2367         Ignore generated Perl modules.
2369 2002-01-30 12:07  simon
2371         * t/harness:
2372         Run the PMC tests as well.
2374 2002-01-30 12:04  simon
2376         * MANIFEST:
2377         Fix MANIFEST after recent t/pmc rejig.
2379 2002-01-30 11:42  simon
2381         * lib/Parrot/Test.pm:
2382         Report non-zero exit codes.
2384         Courtesy of: Michael G Schwern <schwern@pobox.com>
2386 2002-01-30 11:39  simon
2388         * t/op/rx.t:
2389         Skip final test, TODO doesn't work yet.
2391 2002-01-30 09:54  brentdax
2393         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2394         predereferencing works.
2396 2002-01-30 09:38  brentdax
2398         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2399         subsystem.
2401 2002-01-30 09:37  brentdax
2403         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2405 2002-01-30 09:37  brentdax
2407         * config_h.in: Expose another flag for embedders.
2409 2002-01-30 05:07  jgoff
2411         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2412         location for Parrot/, and t/harness wasn't able to run the new
2413         op/pmc tests. Both problems fixed, so I think I'm going to declare
2414         the build suitable for public consumption.
2416 2002-01-30 04:34  robert
2418         * docs/Makefile.in: update for CVS movement
2420 2002-01-30 04:32  robert
2422         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2423         .in file, not the real Makefile)
2425 2002-01-30 04:20  robert
2427         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2428         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2429         related to moving files around
2431 2002-01-30 04:10  robert
2433         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2435 2002-01-30 04:07  robert
2437         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2439 2002-01-30 03:56  robert
2441         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2442         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2443         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2444         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2445         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2446         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2447         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2448         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2449         lib/Parrot/
2451 2002-01-30 03:46  robert
2453         * languages/miniperl/miniperlc: renamed to mpc
2455 2002-01-30 03:45  robert
2457         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2458         pmc_perlstring.t: Moved to t/op/pmc/
2460 2002-01-30 03:40  robert
2462         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2464 2002-01-30 03:14  jgoff
2466         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2467         Fixed some problems with PerlArray and added tests.  Previously,
2468         only integers could be accessed by negative indices.  After this
2469         change, all basic types can be accessed by negative indices, and
2470         they can also be set at negative indices.
2472 2002-01-29 22:13  brentdax
2474         * TODO: Just look at the stupid diff.
2476 2002-01-29 21:53  simon
2478         * TODO, docs/vtables.pod:
2479         New TODO, and tiny addition to vtables.pod
2481 2002-01-29 21:47  mrjoltcola
2483         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2485 2002-01-29 21:38  mrjoltcola
2487         * Makefile.in: Makefile.in tweak for io depend.
2489 2002-01-29 21:15  brentdax
2491         * embed.c: Fix a segfault and some profiling formatting nits.
2493 2002-01-29 20:54  brentdax
2495         * pmc.c: Oops.
2497 2002-01-29 20:50  brentdax
2499         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2500         segfaults.
2502 2002-01-29 20:17  mrjoltcola
2504         * interpreter.c, core.ops, io.ops: CVS missed this.
2506 2002-01-29 20:17  mrjoltcola
2508         * io/io.c: These should have gone in Sunday with the rest. CVS is
2509         out to get me.
2511 2002-01-29 18:39  brentdax
2513         * platforms/win32.h: Fix Win32 whoops.
2515 2002-01-29 18:29  brentdax
2517         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2519 2002-01-29 17:51  simon
2521         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2522         include/parrot/embed.h, include/parrot/parrot.h:
2523         Embedding support. Cool.
2525         Courtesy of: <brentdax@cpan.org>
2527 2002-01-29 15:40  grunblatt
2529         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2530         Gloudon <perl@gloudon.com>
2532 2002-01-29 14:42  simon
2534         * include/parrot/parrot.h:
2535         Platform stuff has to be included *after* system headers.
2537 2002-01-29 14:05  grunblatt
2539         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2540         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2541         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2542         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2543         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2545 2002-01-29 10:56  simon
2547         * platforms/generic.h:
2548         If we don't have a S_ISREG, produce something close to it.
2550 2002-01-29 06:01  dan
2552         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2554 2002-01-29 04:38  jgoff
2556         * classes/array.pmc: Forgot to remove some C++-isms from the
2557         get_{foo}_index routines.
2559 2002-01-29 04:26  jgoff
2561         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2562         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2563         t/pmc/array.t: Added array class that languages other than perl can
2564         use for a basis.  It has no features like preextension, and the
2565         array index starts at 0.
2567         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2568         and classes/Makefile.in - Added array.pmc to the makefile.
2569         (Assuming rules like .pmc.o are portable (or even possible) I might
2570         alter classes/Makefile.in to autobuild the appropriate files.
2572 2002-01-29 02:32  dan
2574         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2575         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2576         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2577         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2578             Update to Test::More 0.41 which adds Test::Builder
2580             Delete the vestigal Test::Utils
2582             Change Parrot::Test so it uses Test::Builder instead of Evil
2583         Wrappers
2584             around Test::More
2586             output_* now returns whether the test passes or fails
2588             Parrot::Test no longer exports Test::More's functions.  Instead
2589         they
2590             can simply be used together.  The few tests which used
2591         Test::More
2592             features (ie. skip) have 'use Test::More' added.
2594             I ditched the export_to_level() crutch.  Do we expect parrot to
2595         work on
2596             5.004?  (literally 5.004, not 5.004_04)
2598         Courtesy of Michael G Schwern <schwern@pobox.com>
2600 2002-01-28 21:04  dan
2602         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2603         pointer should actually be to
2604          parrot_assembly.pod, as the canonical documentation.
2606         Courtesy of Simon Glover <scog@roe.ac.uk>
2608 2002-01-28 20:21  dan
2610         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2611         clone[inps]
2613 2002-01-28 19:18  dan
2615         * core.ops, register.c: clone[insp] is dead
2617 2002-01-28 17:46  grunblatt
2619         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2620         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2622 2002-01-28 16:45  dan
2624         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2625         the requirement for fink at the moment.
2627 2002-01-28 15:59  simon
2629         * test_main.c:
2630         People might try and run a directory file, with spectacular
2631         results.  We don't want that. No.
2633 2002-01-28 14:58  doughera
2635         * core.ops: Avoid C++-style comments.
2637 2002-01-28 14:16  grunblatt
2639         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2640         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2641         work again.
2643 2002-01-28 13:47  doughera
2645         * include/parrot/register.h: Avoid C++-style comment.
2647 2002-01-28 06:03  dan
2649         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2650         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2651         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2652         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2653         include/parrot/parrot.h, include/parrot/regfuncs.h,
2654         include/parrot/register.h, include/parrot/register_funcs.h,
2655         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2656         are now stored in the interpreter structure itself, rather than
2657         just a pointer to the top of the register structure. Pushes and
2658         pops now involve memcpys, but register access has one fewer
2659         dereference.
2661         Fails four of the register stack tests, though, so not perfect.
2662         Needs fixing, but this is a good place to start.
2664 2002-01-28 04:40  mrjoltcola
2666         * test_main.c: cvs commit missed this. ??
2668 2002-01-28 04:27  mrjoltcola
2670         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2671         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2672         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2673         interpreter now (at least in theory).  IO handle array added.  Misc
2674         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2675         we don't conflict         with system libraries.  Still have broken
2676         stuff in win32 and stdio layer.
2678 2002-01-28 04:01  mrjoltcola
2680         * include/parrot/chartype.h: Typo in chartype.h include guard.
2682 2002-01-28 03:41  mrjoltcola
2684         * t/op/interp.t: Fix flag for interp so we don't get "info"
2685         messages which break tests.
2687 2002-01-28 01:54  dan
2689         * include/parrot/string.h: A few more buffer/string flags
2691 2002-01-27 11:33  nicholas
2693         * chartypes/unicode.c: Cast unsigned argument to int in call to
2694         isdigit to silence gcc warning.
2696 2002-01-26 23:18  grunblatt
2698         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2699         off that flag.
2701 2002-01-26 23:17  grunblatt
2703         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2704         jit/i386/core.jit: [no log message]
2706 2002-01-26 22:18  simon
2708         * jit/i386/core.jit:
2709         Jumping to 0x0 is a recipe for segfaults.
2711 2002-01-26 18:35  simon
2713         * t/harness:
2714         Allow user to select which tests to harness
2716         Courtesy of: Nicholas Clark <nick@unfortu.net>
2718 2002-01-26 17:20  grunblatt
2720         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2721         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2722         to make the jit work in linux again.
2724 2002-01-26 16:52  dan
2726         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2727         headers can't cope with this. Darwin-only
2729 2002-01-26 16:04  dan
2731         * include/parrot/parrot.h: Quick note to remind folks that this
2732         isn't the file they're looking for if they're writing extensions or
2733         embedding parrot.
2735         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2737 2002-01-26 00:41  mrjoltcola
2739         * MANIFEST: Oopsy.
2741 2002-01-26 00:37  mrjoltcola
2743         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2744         Turoff
2746 2002-01-25 01:31  grunblatt
2748         * jit/alpha/core.jit: There is no neg or fneg.
2750 2002-01-25 01:27  grunblatt
2752         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2753         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2754         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2755         t/op/number.t: Added Parrot_neg.  Erase t.s
2757 2002-01-24 23:26  dan
2759         * interpreter.c: Best make sure unused elements are NULL
2761 2002-01-24 23:24  dan
2763         * interpreter.c: Fix stupid thinko
2765 2002-01-24 18:37  doughera
2767         * Makefile.in: Add a few missing dollar signs in the lifetest
2768         section so that ${exe} and the like get properly interpolated.
2770 2002-01-24 18:15  mrjoltcola
2772         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2773         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2774         Simon Glover <scog@roe.ac.uk>
2776 2002-01-24 06:43  mrjoltcola
2778         * io/io_stdio.c: Oops.
2780 2002-01-24 06:34  mrjoltcola
2782         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2783         of work on the buffering layer.  Decided to use shared read/write
2784         buffer (as do most implementations) for now since its the simplest
2785         way to keep everything synced, (flush on seeks, flush read on
2786         writes, etc.)
2788 2002-01-24 03:38  mrjoltcola
2790         * test_main.c: Cleaned up option handling code a bit for main().
2792 2002-01-23 23:22  dan
2794         * interpreter.c, include/parrot/interpreter.h,
2795         include/parrot/resources.h: Now each interpreter gets its own hash
2796         for globals.
2798 2002-01-23 20:45  dan
2800         * Configure.pl: Fix a warning when there's no - in an architecture
2802 2002-01-22 23:57  grunblatt
2804         * docs/running.pod: [no log message]
2806 2002-01-22 20:29  doughera
2808         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2809         appears to be a generic problem (if sizeof(long double) >
2810         sizeof(double)), not an x86-specific one.
2812 2002-01-22 16:57  doughera
2814         * runops_cores.c: Change variable name from time to starttime to
2815         avoid gcc warning about variable name shadowing.
2817 2002-01-22 16:55  doughera
2819         * classes/pmc2c.pl: Include class_init prototype too.
2821 2002-01-22 16:01  doughera
2823         * MANIFEST: [no log message]
2825 2002-01-22 01:04  ajgough
2827         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2828         classes/parrotpointer.pmc, classes/perlarray.pmc,
2829         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2830         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2831         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2832         warnings from pmc files.  Message-ID:
2833         <20020121224719.GE1726@Bagpuss.unfortu.net>
2835 2002-01-22 00:53  ajgough
2837         * test_main.c: Clears up a couple of warnings in test_main.c.
2838         Thanks to Nick Clark.  Message-ID:
2839         <20020121190457.GB1726@Bagpuss.unfortu.net>
2841 2002-01-22 00:47  ajgough
2843         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2844         include/parrot/chartype.h: Cause all codepoints to be treated as
2845         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2846         Nick Clark, see also: Message-ID:
2847         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2849 2002-01-22 00:24  dan
2851         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2853         Appended patch cures these warnings:
2855         key.c: In function `debug_key': key.c:29: warning: int format,
2856         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2857         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2858         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2859         format, INTVAL arg (arg 4)
2861         Courtesy of Nicholas Clark <nick@unfortu.net>
2863 2002-01-21 12:41  mrjoltcola
2865         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2866         be clock skew.
2868 2002-01-21 06:37  mrjoltcola
2870         * io/io.c: Cleanup a warning
2872 2002-01-21 06:28  mrjoltcola
2874         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2875         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2876         ops. Various other IO twiddlings.
2878 2002-01-21 03:25  grunblatt
2880         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2881         Melvin Smith for the catch up.
2883 2002-01-20 23:13  sfink
2885         * stacks.c: Fixed logic errors, need tests
2887 2002-01-20 22:17  brentdax
2889         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2890         prepare for /i to work.
2892 2002-01-20 20:52  grunblatt
2894         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2895         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2896         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2897         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2898         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2899         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2900         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2901         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2902         jit/alpha/string.jit:
2903         - Added support for ALPHA, by now linux and bsd.
2905         - Reduced jit2h.pl execution time by precompiling the call to the
2906         unimplemented op.
2908         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2909         Parrot/Jit/${cpuarch}Generic.pm
2911         - Changed the way to detect quads to what is written in "man
2912         perlfunc".
2914 2002-01-20 17:23  brentdax
2916         * rx.ops: There's no such thing as rx_allocateinfo.
2918 2002-01-19 08:26  brentdax
2920         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2922 2002-01-19 07:12  mrjoltcola
2924         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2925         into io.ops, leave the STDIO wrappers        in core.ops until they
2926         disappear.  Added debug op for switching on VM debug flag
2928 2002-01-19 01:55  mrjoltcola
2930         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2931         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2933 2002-01-19 00:55  brentdax
2935         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2936         include/parrot/rxstacks.h: Add regex-specific stacks for
2937         efficiency.
2939 2002-01-18 23:58  dan
2941         * Configure.pl: I think the optimal fix here is simply to remove
2942         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2943         man pages say "There is no reason to use this option [-pedantic];
2944         it exists only to satisfy pedants."
2946         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2948 2002-01-18 23:23  dan
2950         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2951         docs/running.pod, which lists the various executables Parrot
2952         currently includes, examples of running them, and mentions of where
2953         they fail to work. It's more of a cry for help than a useful
2954         reference. :-) I've been having trouble recently when making
2955         changes in figuring out whether I broke anything, because any
2956         non-default way of running the system seems to be already broken. I
2957         can't tell what brokenness is expected and what isn't.
2959         Courtesy of  Steve Fink <steve@fink.com>
2961 2002-01-15 22:13  brentdax
2963         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2964         substring use and enhance performance.
2966 2002-01-15 21:03  ajgough
2968         * string.c: Fix problem with string_transcode, &dest not being
2969         updated if src was already in desired encoding.
2971 2002-01-15 16:54  brentdax
2973         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2974         warnings.  Leaves only one warning, at rx.ops line 409, that I
2975         can't manage to get rid of.
2977 2002-01-15 16:50  dan
2979         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2980         code.  Also patches pbc2c.pl to work with rx.ops.
2982         Courtesy of Jason Gloudon <perl@gloudon.com>
2984 2002-01-15 16:15  dan
2986         * classes/Makefile.in: All the C files in classes/ weren't being
2987         compiled with an of the gcc warnings flags. With this patch they
2988         are, and there are an awful lot of warnings, more than I could hope
2989         to understand and clear up (within any sensible time period before
2990         submitting a rash of patches, by which time everyone else would
2991         have moved the code on)
2993         Courtesy of Nicholas Clark <nick@unfortu.net>
2995 2002-01-15 16:10  dan
2997         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2998         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2999         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3000         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3001         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3002         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3003         chartypes/usascii.c: This patch adds a few more macros for .ops
3004         files to use. In addition to the existing
3006          goto OFFSET(...)
3007          goto ADDRESS(...)
3008          goto POP()
3009          goto NEXT()
3011         it adds
3013          expr OFFSET(...)
3014          expr ADDRESS(...)
3015          expr POP()
3016          expr NEXT()
3018         This is intended mainly for use in helper functions in .ops files,
3019         but also for ops that need to eg push the address of the next
3020         opcode onto a stack. The only place this currently happens (outside
3021         of my private code) is in the bsr opcode, which previously
3022         hardcoded the computation.
3024         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3025         higher in the generated file so that it can be used by static
3026         functions in the preamble.
3028         Finally, I ran into a parentheses matching problem -- should goto
3029         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3030         \bgoto\s+OFFSET\((.*?)\)
3032         It was done inconsistently for the different calculations, and of
3033         course neither are correct because you really want matching
3034         parentheses. But that seems like too much bother. (Currently,
3035         there's only one place that uses anything other than $n in the
3036         parentheses, and that's the enternative() op.) So I made them all
3037         .*? but emulated recent POD by also allowing (( ... )) (that's two
3038         parenthesis with a space padding the body.)
3040         The generated core_ops.c and core_ops_prederef.c files after this
3041         patch are identical except for the CUR_OPCODE and REL_PC macros
3042         getting moved a little higher, and the bsr in the regular path (not
3043         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3045         In summary, this is a big wad of meaningless changes for the
3046         current code. But it will make adding some opcodes easier in the
3047         future, and cleans up a small nit in the current bsr.
3049         Courtesy of Steve Fink <steve@fink.com>
3051 2002-01-15 08:48  brentdax
3053         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3054         sort of).
3056 2002-01-15 08:45  brentdax
3058         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3060 2002-01-15 05:00  brentdax
3062         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3063         performance.
3065 2002-01-14 20:18  dan
3067         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3069         Courtesy of Nicholas Clark <nick@unfortu.net>
3071 2002-01-14 20:03  dan
3073         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3074         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3075         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3076         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3077         classes/parrotpointer.pmc, classes/perlarray.pmc,
3078         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3079         classes/perlstring.pmc, classes/perlundef.pmc,
3080         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3081         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3082         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3083         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3084         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3085         patch cleans up most of the MSVC-warnings when using warning level
3086         4 (the highest, one above the default level 3). It turns off two
3087         level-4 warnings for 'unreferenced formal parameter' and 'named
3088         type definition in parentheses', the latter of which was turning up
3089         warnings in MS VC headers.  Level 4 warnings also helped me find a
3090         couple of other lurking bugs in the parrot code.
3092         Replaces the various fprintf/exit combos with calls to
3093         internal_exception, which uses var_args to emulate printf. Various
3094         exception types were added as well. These are probably temporary
3095         until a real exception system arrives.
3097         Fixed some places in the IO code where wrong functions were being
3098         called, or put into the vtable.
3100         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3102 2002-01-14 19:00  dan
3104         * MANIFEST: D'oh! Forgot a file.
3106         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3108 2002-01-14 18:44  brentdax
3110         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3111         sense (and a few other enhancements to regexes).
3113 2002-01-14 07:07  brentdax
3115         * interpreter.c, runops_cores.c, test_main.c,
3116         include/parrot/interpreter.h: Make profiling a little more useful.
3118 2002-01-13 19:44  dan
3120         * Configure.pl: Turn off unsed things warnings for now
3122 2002-01-13 19:39  dan
3124         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3126         classes/perlarray.c:  * get_string: is casting
3127         SELF->cache.struct_val to a STRING*,    while all other methods are
3128         using it as a KEY*; don't know    what a perlarray stringifies to,
3129         so replacing with NULL  * get_bool: the default behaviour does not
3130         look right to me
3132         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3134 2002-01-13 19:37  dan
3136         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3137         flags to LDFLAGS, so that Configure.pl --debugging   works with
3138         MSVC
3140         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3141         pmc2c calls
3143         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3145 2002-01-13 19:36  dan
3147         * io/io_win32.c:   according to my MSVC docs, you should use
3148         _tcslen only after
3149           #including tchar.h
3151         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3153 2002-01-13 19:35  dan
3155         * docs/intro.pod: Doc tweak.
3157         Courtesy of Simon Glover <scog@roe.ac.uk>
3159 2002-01-13 19:34  dan
3161         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3162         that
3164           if Px, ...
3166          works with PerlString PMCs; these should be false if they are "",
3167         0, or
3168          are undefined, and true in every other case.
3170         Courtesy of Simon Glover <scog@roe.ac.uk>
3172 2002-01-13 19:23  dan
3174         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3175         NUMVAL_FMT to FLOATVAL_FMT.
3177         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3179 2002-01-13 17:45  jgoff
3181         * Makefile.in, global_setup.c, classes/Makefile.in,
3182         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3183         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3184         designing your own classes.
3186 2002-01-13 08:47  simon
3188         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3189         lib/Parrot/OpTrans/CPrederef.pm:
3190         Fix bsr in prederef mode.
3192         Courtesy of: Jason Gloudon <perl@gloudon.com>
3194 2002-01-12 15:33  dan
3196         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3197         string.c, encodings/singlebyte.c, encodings/utf32.c,
3198         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3199         Silence most of the unused variable warnings.
3201         Courtesy of Nicholas Clark <nick@unfortu.net>
3203 2002-01-12 15:18  dan
3205         * rx.ops: This patch fixes a warning and also changes an 'int' to
3206         an 'INTVAL'.  All tests should pass on Solaris.
3208         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3210 2002-01-12 15:13  dan
3212         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3213         examples/assembly/life.pasm, include/parrot/interpreter.h,
3214         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3215         io/io_win32.c: More IO work. (Plus some misc twiddles)
3217         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3219 2002-01-12 01:14  dan
3221         * include/parrot/string.h: fix a missing name
3223 2002-01-12 00:39  grunblatt
3225         * include/parrot/string.h: Few typos.
3227 2002-01-12 00:16  grunblatt
3229         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3230         that change the program control flow.
3232 2002-01-11 23:53  brentdax
3234         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3235         ParrotPointer's guts.
3237 2002-01-11 23:03  dan
3239         * include/parrot/string.h: flags for the buffers, for GC
3241 2002-01-11 22:31  dan
3243         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3245 2002-01-11 22:21  dan
3247         * include/parrot/pmc.h: Started with PMC flags
3249 2002-01-11 19:33  dan
3251         * config_h.in, memory.c, resources.c, string.c,
3252         include/parrot/resources.h: Beginnings of a memory allocation/gc
3253         system. Without the GC part.
3255 2002-01-11 18:05  dan
3257         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3258         systems
3260         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3262 2002-01-11 17:50  dan
3264         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3265         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3266         a patch that makes pbc2c generated code work with the bsr opcode.
3267         It creates a new opcode 'enternative', and uses this to support a
3268         mixed model of interpretation and execution of compiled C code.
3270         Courtesy of Jason Gloudon <perl@gloudon.com>
3272 2002-01-11 17:48  dan
3274         * Makefile.in: Add life as a potential .exe target
3276 2002-01-11 17:30  dan
3278         * include/parrot/resources.h: Start of arena stuff for GC
3280 2002-01-11 05:34  brentdax
3282         * rx.ops: Docs modifications.
3284 2002-01-11 04:19  brentdax
3286         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3287         regular expressions.
3289 2002-01-11 03:44  grunblatt
3291         * jit/i386/core.jit: off by one.
3293 2002-01-11 02:25  dan
3295         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3297         Courtesy of Steve Fink <steve@fink.com>
3299 2002-01-11 00:32  brentdax
3301         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3303 2002-01-10 23:22  ajgough
3305         * string.c, docs/strings.pod: Removed all the nul termination code,
3306         as this is in general a bad idea.  Note added to docs/strings.pod
3307         to warn people away from assuming termination.
3309 2002-01-10 23:14  dan
3311         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3312         testparrotsizes_c.in, include/parrot/interpreter.h,
3313         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3314         implementation
3316         Courtesy of Steve Fink <steve@fink.com>
3318 2002-01-10 22:48  dan
3320         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3321         sizeof(INTVAL)
3323         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3325 2002-01-10 22:46  dan
3327         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3328         t/pmc/perlhash.t:  Well, actually two bugs.
3330          The first is an off-by-one error in key.c than can cause parrot
3331          to segfault if hash % NUM_BUCKETS happens to be zero.
3333          The other is a bug in the PerlHash init() code that causes new
3334         PerlHash
3335          PMCs to start with the wrong size.
3337          Both fixed below; also tests to prevent them recurring.
3339         Courtesy of Simon Glover <scog@roe.ac.uk>
3341 2002-01-10 22:30  dan
3343         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3344         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3345         with a PerlArray,
3347         Courtesy of Simon Glover <scog@roe.ac.uk>
3349 2002-01-10 21:31  dan
3351         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3353 2002-01-10 20:30  grunblatt
3355         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3356         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3357         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3358         All the op codes that doesn't change the program control flow now
3359         work in the JIT by calling the code generated by the compiler when
3360         the op is not in core.jit TODO:     * Make all the ops that change
3361         the program control flow (and are not on core.jit) work.      *
3362         Remove the dispatch payload.
3364 2002-01-10 17:13  dan
3366         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3367         which tries to return 0 from a void function.
3369         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3371 2002-01-10 17:12  dan
3373         * t/op/macro.t: Skip tests, don't comment them out.
3375         Courtesy of Simon Glover <scog@roe.ac.uk>
3377 2002-01-10 17:10  dan
3379         * rx.c: This fixes a couple of nits in rx.c:
3381            1. There's no newline at the end, which makes gcc unhappy.
3382            2. We should use NULL, not 0 or "", for creating null pointers.
3384         Courtesy of Simon Glover <scog@roe.ac.uk>
3386 2002-01-10 17:09  dan
3388         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3389         back in
3390          alphabetical order.
3392         Courtesy of Simon Glover <scog@roe.ac.uk>
3394 2002-01-10 16:54  ajgough
3396         * resources.c: Made free_string check that there was a string to
3397         free.  In reponse to a bug spotted by Joshua Nye.
3399 2002-01-09 22:44  dan
3401         * global_setup.c: Forgot the setup
3403 2002-01-09 22:35  dan
3405         * rx.ops: Forgot this one
3407 2002-01-09 22:35  dan
3409         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3410         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3411         Tests don't work, though.
3413         Courtesy of "Brent Dax" <brentdax@cpan.org>
3415 2002-01-09 21:48  dan
3417         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3419 2002-01-09 21:22  dan
3421         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3422         Generic pointer holder class
3424         Courtesy of "Brent Dax" <brentdax@cpan.org>
3426 2002-01-09 21:19  dan
3428         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3429         patches.
3431 2002-01-09 19:54  dan
3433         * io/io_unix.c: Whoops. Forgot one
3435 2002-01-09 19:43  dan
3437         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3438         t/pmc/perlhash.t: Fix hash crash bugs
3440         Courtesy of Simon Glover <scog@roe.ac.uk>
3442 2002-01-09 19:13  dan
3444         * memory.c: Signedness whoops.
3446         Courtesy of Simon Glover <scog@roe.ac.uk>
3448 2002-01-09 18:23  dan
3450         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3451         io/io_stdio.c, io/io_win32.c: Changes:
3453         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3454         will be using the   Win32 API and company rather than the unix-ish
3455         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3456         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3457         stuff is   there. Soon we should be able to start using these
3458         rather than   fprintf(stderr, ...) and remove stdio linkage.
3460         Courtesy of <mrjoltcola@mindspring.com>
3462 2002-01-09 17:26  dan
3464         * test_main.c: Fixes bad code gen on x86.
3466         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3468 2002-01-09 17:24  dan
3470         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3471         classes/perlnum.pmc: This patch adds macros to the config.h file
3472         for INTVAL and NUMVAL printf formats.
3474         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3476 2002-01-08 22:55  ajgough
3478         * docs/vtables.pod: Clarify what get_string should do.
3480 2002-01-08 20:05  dan
3482         * key.c: Keep comments in sync.
3484         Courtesy of Simon Glover <scog@roe.ac.uk>
3486 2002-01-08 19:50  dan
3488         * memory.c, include/parrot/memory.h: Need a realloc
3490 2002-01-08 17:24  gregor
3492         * .cvsignore, Configure.pl, Makefile.in:
3493         Added 'reconfig' make target and corresponding --reconfig option to
3494         Configure.pl, so its very easy to re-run Configure.pl with the last
3495         (command-line) options you passed it.
3497 2002-01-08 16:33  dan
3499         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3500         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3501         in core.ops. Potential help for optimizers and JITters.
3503         Courtesy of gregor@linux1.kennedytech.com
3505 2002-01-08 16:32  dan
3507         * key.c: Grab key length from the right spot
3509         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3511 2002-01-08 13:27  ajgough
3513         * test_main.c: Fix slight thinko in realloc usage for reading from
3514         stdin.
3516 2002-01-08 11:34  ajgough
3518         * test_main.c: Allow test_parrot to read bytecode stream from
3519         stdin, adds -f command line option, with "-f -" doing the stdin
3520         stuff.
3522 2002-01-08 06:34  jgoff
3524         * key.c, include/parrot/key.h: key.c - Added simple implementation
3525         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3527 2002-01-08 03:21  jgoff
3529         * include/parrot/key.h: Added an undef type to the key structure,
3530         so we can delete keys without confusion.
3532 2002-01-07 22:09  dan
3534         * key.c, packfile.c, string.c, include/parrot/key.h,
3535         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3536         about index being redefined
3538         Courtesy of Nick Clark
3540 2002-01-07 21:15  dan
3542         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3544         Courtesy of Steve Fink <steve@fink.com>
3546 2002-01-07 20:48  dan
3548         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3549         failures
3551         Courtesy of "Brent Dax" <brentdax@cpan.org>
3553 2002-01-07 20:43  dan
3555         * docs/intro.pod: Missing a comma
3557         Courtesy of "coral" <coral@eekeek.org>
3559 2002-01-07 20:41  dan
3561         * global_setup.c: Quiet a warning
3563         Courtesy of Simon Glover <scog@roe.ac.uk>
3565 2002-01-07 18:58  gregor
3567         * t/op/.cvsignore:
3568         Ignore intermediate test files.
3570 2002-01-07 17:01  gregor
3572         * ops2c.pl:
3573         Print a warning if an .ops file is mentioned more than once on the
3574         command line.
3576 2002-01-07 16:12  ajgough
3578         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3579         these shouldn't fail.
3581 2002-01-07 15:15  simon
3583         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3584         Stop segfaults.
3586 2002-01-07 15:11  simon
3588         * key.c:
3589         Fix zero-termination bug in hash function.
3591 2002-01-07 13:37  ajgough
3593         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3594         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3596 2002-01-07 11:53  brentdax
3598         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3599         (:add{foo}) and a new deleting thing (:rem{foo})
3601 2002-01-07 11:43  simon
3603         * Configure.pl:
3604         Gobble the + before concatenating.
3606 2002-01-07 03:53  dan
3608         * Makefile.in: Dependency fix for new ops setup.
3610 2002-01-07 03:33  jgoff
3612         * classes/perlarray.pmc: Add negative indices, and fix a small
3613         allocation problem.
3615 2002-01-06 23:54  ajgough
3617         * hints/os2.pl: Makes the hints file take account of ldflags and
3618         ccflags being split.  This hints file is still very specific to
3619         builds with gnu tools, but a proper solution can wait.   Thanks to
3620         Nick Burch.
3622 2002-01-06 22:12  dan
3624         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3625             -changes Parrot::OpLib::core's dependencies to reflect the new
3626         selectable ops files    -allows some of the special forms of 'goto'
3627         inside the PREAMBLE of an opcode file
3629         Courtesy of "Brent Dax" <brentdax@cpan.org>
3631 2002-01-06 19:59  simon
3633         * Makefile.in:
3634         *cough*
3636 2002-01-06 18:19  dan
3638         * classes/perlhash.pmc: Fix some type issues.
3640         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3642 2002-01-06 18:03  dan
3644         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3645         for a list of opcode files to use.  The default is everything
3646         available except for obscure.ops.
3648         In addition, it makes it so that if your answer to a question
3649         starts with '+', it will concatenate it to the default.  For
3650         example:
3652         What C compiler do you want to use? [cl] +HAHAHA!!!
3654         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3655         is not terribly useful, it is quite useful with things like
3656         command-line flags and the like.
3658         Finally, it contains a couple tweaks so that my syntax-highlighting
3659         editor recognizes some heredocs correctly.  :^)
3661         Courtesy of "Brent Dax" <brentdax@cpan.org>
3663 2002-01-06 17:59  dan
3665         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3667         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3669 2002-01-06 17:58  dan
3671         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3673         Courtesy of Simon Glover <scog@roe.ac.uk>
3675 2002-01-06 17:57  dan
3677         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3678         Compiler directives, etc. in files other than core.ops will now
3679         work.   2.  Compiler warnings will now display the file and line
3680         number of the  opcode file.
3682         Courtesy of "Brent Dax" <brentdax@cpan.org>
3684 2002-01-06 17:52  dan
3686         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3688         Courtesy of Simon Glover <scog@roe.ac.uk>
3690 2002-01-06 17:36  dan
3692         * docs/intro.pod: Lots of updates
3694         Courtesy of Simon Glover <scog@roe.ac.uk>
3696 2002-01-06 02:34  gregor
3698         * interpreter.c:
3699         Add some internal documentation on the theory of operation of the
3700         prederef code.
3702 2002-01-06 02:17  gregor
3704         * interpreter.c:
3705         Removed unnecessary include.
3707 2002-01-05 12:37  simon
3709         * classes/.cvsignore:
3710         Ignore generated .h files.
3712         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3714 2002-01-05 12:37  simon
3716         * Configure.pl:
3717         Make lcc happier by adding a dummy structure.
3719         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3721 2002-01-05 12:35  simon
3723         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3724         Make perlundef work. (And coincidentally stop segfaults in the
3725         tests :)
3727         Courtesy of: Jason Gloudon <perl@gloudon.com>
3729 2002-01-05 04:59  dan
3731         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3733 2002-01-05 04:55  jgoff
3735         * classes/perlhash.pmc: Added perlhash class definition
3737 2002-01-05 04:48  dan
3739         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3741         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3743 2002-01-05 03:57  jgoff
3745         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3746         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3747         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3748         t/pmc/pmc.t: Initial hash commit.
3750         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3751          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3752         set_{integer,number,string}_index_s
3754         This does not yet do collision resolution, but will soon.
3756 2002-01-05 02:54  dan
3758         * interpreter.c: More unsigned fixes
3760         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3762 2002-01-04 22:13  dan
3764         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3765         test programs happier.
3767         Courtesy of "Jason Diamond" <jason@injektilo.org>
3769 2002-01-04 19:00  dan
3771         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3772         separate things
3774 2002-01-04 18:27  dan
3776         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3777         Fixes to get things configuring and building on Win32 Native.
3779         Courtesy of "Jason Diamond" <jason@injektilo.org>
3781 2002-01-04 17:39  dan
3783         * hints/vms.pl: debug cleanup
3785 2002-01-04 16:53  dan
3787         * docs/parrot.pod:  The enclosed patch brings the list of
3788         documentation in parrot.pod
3789          up to date.
3791         Courtesy of Simon Glover <scog@roe.ac.uk>
3793 2002-01-04 16:47  dan
3795         * test_main.c, Parrot/Jit/i386-linux.pm,
3796         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3797         off warnings..
3799         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3801 2002-01-04 16:44  dan
3803         * Configure.pl, Makefile.in: Fixed linking to use linker.
3805         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3807 2002-01-04 16:39  dan
3809         * io/io_stdio.c: Added CVS tag info
3811 2002-01-04 16:35  dan
3813         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3814         isn't it
3816 2002-01-04 16:26  dan
3818         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3819         Tokenizer test
3821         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3823 2002-01-04 16:17  dan
3825         * chartypes/unicode.c: Silence some warnings.
3827         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3829 2002-01-04 16:09  dan
3831         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3832         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3833         into generated files
3834            but the $Id$ string gets mangled when it's committed.
3835            This patch fixes the existing .pmc files and fixes genclass.pl.
3837          - Makes capitalization in .pmc header match actual filenames
3839          - The command for calling genclass.pl in vtables.pod is incorrect,
3840            since it assumes you're running in classes/ but genclass.pl
3841         assumes
3842            it's being run from the main directory. I changed genclass.pl to
3843         not
3844            care.
3846         Courtesy of Steve Fink <steve@fink.com>
3848 2002-01-04 03:57  dan
3850         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3851         me--I *had* the files:wq!
3853 2002-01-04 03:40  dan
3855         * MANIFEST: Whoops--remove files not really there
3857 2002-01-04 03:37  dan
3859         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3860         my sig adds a new_stack() function to take care of the allocation
3861         and setup of "generic" stacks.
3863         Courtesy of "Brent Dax" <brentdax@cpan.org>
3865 2002-01-04 02:36  dan
3867         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3868         and so
3869          writes a load of junk in core_ops.pod. Applied patch fixes.
3871         Courtesy of Simon Glover <scog@roe.ac.uk>
3873 2002-01-04 02:35  dan
3875         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3876         logical-or is using get_integer instead of get_bool for logical
3877         operations. This patch corrects that.
3879         Perlnum and perlstring have working get_bool's, so the default
3880         logical_or and logical_and should be sufficient. The empty methods
3881         are pointed to the default logical_or.
3883         Courtesy of Jason Gloudon <perl@gloudon.com>
3885 2002-01-04 02:31  dan
3887         * Makefile.in: docs/Makefile should be removed by realclean, but
3888         isn't
3890         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3892 2002-01-04 02:29  dan
3894         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3896         Courtesy of Steve Fink <steve@fink.com>
3898 2002-01-04 00:51  dan
3900         * docs/vtables.pod: More docs
3902         Courtesy of Steve Fink <steve@fink.com>
3904 2002-01-04 00:47  dan
3906         * Configure.pl: Updated 64-bit patch
3908         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3910 2002-01-04 00:43  dan
3912         * Configure.pl: 64-bit Fix.
3914         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3916 2002-01-03 22:37  dan
3918         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3919         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3920         some buffering work.       Additional work on other layers.
3922         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3924 2002-01-03 19:41  gregor
3926         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3927         Updated copyright messages on top-level files.
3929 2002-01-03 04:23  robert
3931         * make.pl: Add author information.  Bonsai test.
3933 2002-01-03 04:02  dan
3935         * io/io_os.c: Twig Bonsai
3937 2002-01-03 03:45  dan
3939         * io/: io_os.c, io_os.c: Twig Bonsai
3941 2002-01-03 03:41  dan
3943         * io/io_os.c: Twig Bonsai
3945 2002-01-02 21:42  gregor
3947         * packfile.c, include/parrot/packfile.h:
3948         Get rid of warnings in packfile.[hc]
3950 2002-01-02 20:39  gregor
3952         * manicheck.pl:
3953         Bracketed translated patterns with ^ and $.
3955 2002-01-02 20:11  dan
3957         * io/io_os.c: silence a warning
3959 2002-01-02 19:52  grunblatt
3961         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3962         op_assembly to jit_struct.h, so that we get the real number of ops.
3963          Removed some warnings.
3965 2002-01-02 19:31  tom
3967         * string.c: Fix string transcoding so that it actually works.
3969         Patch from Peter Gibbs <peter@emkel.co.za>
3971 2002-01-02 19:20  gregor
3973         * manicheck.pl:
3974         A program to check the MANIFEST file, accounting for .cvsignore
3975         files.
3977 2002-01-02 19:19  dan
3979         * t/harness: twig bonsai
3981 2002-01-02 19:13  dan
3983         * t/harness: twig bonsai
3985 2002-01-02 18:54  dan
3987         * t/harness: Tweak to test Bonsai
3989 2002-01-02 16:27  dan
3991         * Configure.pl: Allow 64-bit build of parrot on systems with a
3992         mixed 32/64 bit perl
3994         Courtesy of David M. Lloyd <dmlloyd@tds.net>
3996 2002-01-02 15:33  simon
3998         * MANIFEST, docs/Makefile:
3999         Fixed up MANIFEST. (And I removed the Makefile in docs/)
4001         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4003 2002-01-02 13:51  simon
4005         * Configure.pl:
4006         Die on broken manifest.
4008 2002-01-02 13:48  simon
4010         * jit2h.pl, examples/assembly/mops.pasm:
4011         Clear up JIT warnings.
4013         Courtesy of: Nick Clark <nick@unfortu.net>
4015 2002-01-02 04:10  dan
4017         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4018         only once, so new interp creation works again
4020         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4022 2002-01-02 03:32  dan
4024         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4025         moment.
4027 2002-01-02 00:55  dan
4029         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4030         io/io_os.c: Initial IO system patches
4032         Courtesy of <mrjoltcola@mindspring.com>
4034 2002-01-01 22:55  ajgough
4036         * classes/default.pmc: On second thoughts, and some prodding, the
4037         set_* methods now only set the appropriate part of the cache, and
4038         do nothing else.
4040 2002-01-01 22:29  ajgough
4042         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4044          set_* create appropriate Perl* result.
4045          get_* simply grabs needed bit of cache.*_val
4047          Other methods do the rightest thing I can think of, at the moment.
4049          None yet cope with overflow, the modulus operation needs to be
4050         checked as
4051         I don't know quite which semantics we really want.
4053         Not tested yet.
4055 2002-01-01 20:23  dan
4057         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4058         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4059         rid of unneeded tmp var and eliminated const from encode prototype
4060         since it does make changes to the string.
4062         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4064 2002-01-01 20:11  dan
4066         * Makefile.in: Make clean now tosses pdump.o
4068         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4070 2002-01-01 19:49  dan
4072         * pdump.c, test_main.c: Warnings cleanup
4074         Courtesy of Josh Wilmes <josh@sky.net>
4076 2002-01-01 19:45  dan
4078         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4079         hints/mswin32.pl, languages/jako/Makefile.in,
4080         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4081         platforms
4083         Courtesy of "Jason Diamond" <jason@injektilo.org>
4085 2002-01-01 19:41  dan
4087         * include/parrot/register.h: Clean up some warnings
4089         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4091 2002-01-01 19:10  simon
4093         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4094         Hack-around to enable compilation of code using vtable ops.
4096 2002-01-01 18:43  dan
4098         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4099         checks on unsigned things
4101         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4103 2002-01-01 18:26  dan
4105         * runops_cores.c: More warning silences.
4107         Courtesy of Nicholas Clark <nick@unfortu.net>
4109 2002-01-01 18:25  dan
4111         * trace.c: Shuts up a warning.
4113         Courtesy of Nicholas Clark <nick@unfortu.net>
4115 2002-01-01 18:24  dan
4117         * encodings/singlebyte.c: Clean up some warnings.
4119         Courtesy of Nicholas Clark <nick@unfortu.net>
4121 2002-01-01 18:20  dan
4123         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4124         thunk it?
4126         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4128 2002-01-01 18:17  dan
4130         * packfile.c: Warning cleanup
4132         Courtesy of Nicholas Clark <nick@unfortu.net>
4134 2002-01-01 17:53  dan
4136         * string.c: New string size should be based on output encoding's
4137         size, not input encoding's size.
4139         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4141 2002-01-01 17:22  dan
4143         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4144         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4145         include/parrot/interpreter.h, include/parrot/memory.h,
4146         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4147         Warnings fixups.
4149         Courtesy of Chip Turner <cturner@redhat.com>
4151 2002-01-01 17:09  dan
4153         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4154         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4155         now unsigned, as is proper.
4157         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4158         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4160 2002-01-01 16:59  dan
4162         * include/parrot/trace.h: Useless debugging prototype removed
4164         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4166 2002-01-01 16:58  dan
4168         * MANIFEST: We forgot a file.
4170         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4172 2002-01-01 03:53  dan
4174         * Configure.pl: Okay, I give. Removed some warnings because the
4175         darned system headers were triggering them. Sloppy, sloppy
4176         coding...
4178 2002-01-01 03:48  dan
4180         * config_h.in: Add in an unsigned INTVAL.
4182         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4184 2002-01-01 03:46  dan
4186         * global_setup.c: Clean up some compiler warnings.
4188         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4190 2002-01-01 03:43  dan
4192         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4193         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4194         include/parrot/op.h: Cleaned up some things to make the compiler
4195         happier.
4197         Courtesy of Nicholas Clark <nick@unfortu.net>
4199 2002-01-01 03:14  dan
4201         * Configure.pl: Quad updates.
4203         Courtesy of Nicholas Clark <nick@unfortu.net>
4205 2001-12-31 22:53  dan
4207         * include/parrot/op.h: Typedef had parameters backwards. Threw
4208         core.ops for a big whiny warnings loop.
4210 2001-12-31 22:37  dan
4212         * Makefile.in, resources.c: Tweaks to try and get things to build
4213         in the right order.
4215 2001-12-31 21:58  dan
4217         * Configure.pl: Stupid thinko fix
4219 2001-12-31 21:34  dan
4221         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4223         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4225 2001-12-31 21:32  dan
4227         * Configure.pl: Fix for non-gcc systems
4229 2001-12-31 20:22  dan
4231         * interpreter.c: Tweak so we can build on non-JIT platforms
4233 2001-12-31 20:11  dan
4235         * Configure.pl: Force the time on some copied files to be 'now' to
4236         make the Win builds much less annoying.
4238         Courtesy of "Jason Diamond" <jason@injektilo.org>
4240 2001-12-31 20:07  dan
4242         * Configure.pl: Nuke all object files in the parrot tree that
4243         matter when configuring.  Shouldn't be necessary with good
4244         dependencies in the makefile, but we don't have those yet.
4246 2001-12-31 20:00  gregor
4248         * chartypes/unicode.c:
4249         Silence unused variable warnings.
4251 2001-12-31 19:40  dan
4253         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4255 2001-12-31 19:37  gregor
4257         * interpreter.c, jit.c, include/parrot/jit.h:
4258         Created a prototype for JIT functions and used it in interpreter.c.
4260 2001-12-31 19:31  dan
4262         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4263         detection) with really cranky warnings if we find we're using it.
4265         Courtesy of: Nicholas Clark <nick@unfortu.net>
4267 2001-12-31 18:01  gregor
4269         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4271         Fixed a few warnings wrt prototypes, etc.
4273 2001-12-31 17:23  dan
4275         * string.c: Silenced most of the compiler whines
4277 2001-12-31 17:15  gregor
4279         * Configure.pl:
4280         Get the ccname from either ccname or just cc config var.
4282 2001-12-31 17:14  gregor
4284         * Parrot/Op.pm, lib/Parrot/Op.pm:
4285         Another intermediate opbody notation. Could come in handy. Explicit
4286         types.
4288 2001-12-31 17:05  dan
4290         * string.c: Minor warnings update
4292 2001-12-31 17:00  dan
4294         * include/parrot/string.h: Warnings cleanup
4296 2001-12-31 16:00  simon
4298         * encodings/utf8.c, include/parrot/encoding.h:
4299         Remove a couple more.
4301 2001-12-31 15:58  simon
4303         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4304         include/parrot/op.h:
4305         Rid ourselves of a few warnings.
4307 2001-12-31 15:32  dan
4309         * Configure.pl: Made GCC ever so much pickier.
4311         Switch list courtesy of Jarkko.
4313 2001-12-31 15:22  dan
4315         * string.c: Tightened up initial allocation.
4317         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4319 2001-12-31 06:48  dan
4321         * Configure.pl: Minor Windows tweak
4323 2001-12-31 05:32  dan
4325         * core.ops: Unused temp variable tossed.
4327         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4329 2001-12-31 05:09  grunblatt
4331         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4332         supported plataforms
4334 2001-12-31 03:05  dan
4336         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4337         platform-independent quote substitution for the makefiles.
4338         Hopefully this'll make the Win32 builds happier.
4340 2001-12-30 21:08  dan
4342         * string.c, include/parrot/string.h: More string system tweaks.
4344         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4346 2001-12-30 20:45  dan
4348         * core.ops: Some pod cleanup
4350         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4352 2001-12-30 20:22  ajgough
4354         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4355         we aren't using them right now.  Clarified the workings of set Px,
4356         Py and clone Px, Py.
4358 2001-12-30 20:15  grunblatt
4360         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4361         Added readjit() to read *.jit files Updated core.jit to the new
4362         set_n_i
4364 2001-12-30 20:14  ajgough
4366         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4368 2001-12-30 19:52  dan
4370         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4371         include/parrot/trace.h, platforms/generic.c: Compiler whine
4372         cleanups
4374         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4376 2001-12-30 19:13  dan
4378         * Configure.pl, Makefile.in: Make GCC pickier by default.
4380         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4382 2001-12-30 18:41  dan
4384         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4385         ntoi opcodes to sets.
4387         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4389 2001-12-30 17:58  gregor
4391         * Makefile.in:
4392         'make' no longer builds the mops test. Use 'make mops' for that. To
4393         run the test, you can do 'make mopstest'.
4395 2001-12-30 17:30  gregor
4397         * Makefile.in:
4398         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4399         Gregor.
4401 2001-12-30 17:26  gregor
4403         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4404         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4405         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4406         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4407         Build enhancements. Originally to support building shared
4408         libraries, but now of broader impact.
4410           * .cvsignore: Ignore the blib/ directory, about which more later.
4412           * Configure.pl:
4414               * Got rid of TAB formatting and lined a few things up.
4416               * Added header comment with CVS Id variable, and a few other
4417                 block header comments.
4419               * Uses new Parrot::BuildUtil module to determine the Parrot
4420                 version.
4422               * Reworded a few messages, added a couple, and wrapped
4423         messages
4424                 to 79 columns.
4426               * Added 2002 to the Copyright statement.
4428               * Added new configure variables: VERSION, MAJOR, MINOR and
4429         PATCH
4431               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4432         greater
4433               than 5.6.0, but the comment implies it isn't.
4435           * Makefile.in:
4437               * Added $(SO), $(A) and $(AR_CRS) defines for library
4438         building.
4440               * Added $(RM_RF) define for removing directory trees
4442               * Grouped generated files into two classes: "sticky" (made by
4443         configure,
4444                 persisting across 'make clean') and 'fluid' (made during
4445         the build
4446                 process, deleted by 'make clean').
4448               * Added header comments.
4450               * Added target for test_prog linked with shared library.
4452               * Added rules to build shared libraries in blib/lib. The
4453         libraries are
4454                 built with trailing version numbers in their file names,
4455         and then
4456                 symbolic links are created for shorter and no version tag
4457         variants.
4459               * Added some missing dependencies
4461               * Added some missing 'make clean' targets.
4463               * Added 'make realclean' target that deletes files created by
4464                 Configure.pl (including Makefile), forcing a re-configure.
4466               * Added a 'status' CVS target.
4468           * VERSION: New file, contains only the version. This version
4469         number is
4470             propagated to a few places, such as the core oplib version
4471         number. This
4472             reduces the amount of coordination that has to happen to get
4473         version
4474             number stuff throughout the tree in sync and updated prior to
4475         cutting
4476             a new release. Feel free to grep for '0.0.3' to see the other
4477         files
4478             that contain the version number (but, do that in a fresh CVS
4479         copy, or
4480             after doing 'make realclean').
4482           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4483         PARROT_*_VERSION,
4484             since the oplib and Parrot itself share a version number now.
4485         Added
4486             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4487         (a
4488             string).
4490           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4491         of
4492             specifying the version by hand. Non-core oplibs will set this
4493         to
4494             a quoted dot-string with three natural number components
4495         without
4496             leading zeros.
4498           * interpreter.c: Make use of PARROT_VERSION to simplify some
4499         sprintf()s, and
4500             to get the complete version number in the resulting strings
4501         (including the
4502             new PATCH portion).
4504           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4505         the
4506             generated file.
4508           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4510           * ops2c.pl: Account for the PATCH version, too. This affects the
4511         name of the
4512             oplib init function, and the oplib info struct initializer.
4514           * Parrot/BuildUtil.pm: New file for reading in and validating the
4515         contents of
4516             the new VERSION file. Other build utilities could go here in
4517         futuer.
4519           * Parrot/OpsFile.pm:
4521               * Allow three components in version number, and require that
4522         the value
4523                 be in double quotes.
4525               * Allow "VERSION = PARROT_VERSION", substituting the shared
4526         Parrot
4527                 VERSION in that case.
4529           * include/parrot/oplib.h: Add the patch_version member.
4531 2001-12-30 12:16  simon
4533         * MANIFEST, Makefile.in:
4534         More stuff forgotten from MANIFEST.
4536 2001-12-30 12:13  simon
4538         * MANIFEST:
4539         Missing JIT file.
4541 2001-12-30 12:12  simon
4543         * jit2h.pl:
4544         Safety first.
4546 2001-12-30 12:12  simon
4548         * Makefile.in:
4549         Gragh.
4551 2001-12-30 12:04  simon
4553         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4554         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4555         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4556         include/parrot/string.h, t/op/string.t:
4557         * Expand the strings test suite to be more complete * Make string
4558         commands more consistent (i.e, now the only string command that
4559         actually changes the original is chopn) * Significantly reduce the
4560         number of memory allocations and eliminate reallocations.
4562         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4564 2001-12-29 22:12  dan
4566         * interpreter.c, key.c, register.c, stacks.c, string.c,
4567         test_main.c, trace.c: Updates to match the coding standards.
4569         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4571 2001-12-29 20:42  grunblatt
4573         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4574         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4575         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4576         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4577         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4578         Kitover <caelum@debian.org>
4580 2001-12-28 21:20  dan
4582         * core.ops: Okay, now print takes a preceding file handle.
4584         I feel so dirty now.
4586 2001-12-28 20:46  dan
4588         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4589         changing the open op to use fopen under the hood.
4591         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4593 2001-12-28 18:20  ajgough
4595         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4596         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4597         include/parrot/exceptions.h, include/parrot/string.h,
4598         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4599         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4600         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4601         to hold tests specific to PerlStrings, as the pmc.t file is taking
4602         too long to run and slowing down my thought processes.
4604         Changes to strings.c etc to take string functions.
4606         Some changes to the strings docs, but not yet complete.
4608         Also, PerlString was copying pointers to strings, rather than
4609         strings themselves, so some action-at-a-distance bugs were creeping
4610         in, I think I've fixed this so everything works nicely.
4612 2001-12-28 04:56  gregor
4614         * examples/assembly/pmcmops.pasm:
4615         PMC-using version of mops.pasm.
4617         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4619 2001-12-28 04:56  gregor
4621         * examples/assembly/.cvsignore:
4622         Small tinkering. Removed old stuff, etc.
4624 2001-12-28 01:26  gregor
4626         * examples/mops/mops.scheme:
4627         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4628         to the very un-scheme-like implementation.
4630 2001-12-28 01:19  gregor
4632         * examples/mops/mops.c:
4633         Some people's picky compilers don't like us redefineing time(), so
4634         we call it time_n().  :)
4636 2001-12-28 00:28  gregor
4638         * examples/mops/: README, mops.ps:
4639         Added a PostScript example and a README.
4641 2001-12-27 23:57  gregor
4643         * Makefile.in:
4644         Build the C mops translation in examples/mops/mops.c
4646 2001-12-27 23:56  gregor
4648         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4649         Some translations of mops.pasm into other languages, for inner loop
4650         performance comparisons.
4652 2001-12-27 22:40  gregor
4654         * examples/assembly/mops.pasm:
4655         Fixed erroneous file name in header comment.
4657 2001-12-27 21:18  gregor
4659         * pbc2c.pl:
4660         One-liner to avoid no-op gotos to the next op.
4662 2001-12-27 21:06  gregor
4664         * runops_cores.c:
4665         Fixed -p (profiling). Slow runops core was doing unconditional
4666         tracing, when it should have been checking the flags.
4668 2001-12-27 18:50  ajgough
4670         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4671         classes/perlstring.pmc, include/parrot/chartype.h,
4672         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4673         dded get_digit() to chartypes  * Added string_bool() to strings  *
4674         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4675         to perlstring.pmc  * Tests for above, also a for couple of other
4676         ops without tests
4678         The unicode chartype has only had placeholders added for get_digit,
4679         string_to_num has been updated to use type->get_digit rather than
4680         the previous ascii-isms.  Some remain, but we need to carefully
4681         define what we mean by a number before we let thousands of code
4682         points act as a minus sign.
4684 2001-12-27 18:32  dan
4686         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4687         compiler warnings.
4689         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4691 2001-12-27 18:23  dan
4693         * t/op/bitwise.t: More tests.
4695         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4697 2001-12-27 17:08  gregor
4699         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4700         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4701         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4702         include/parrot/interpreter.h, include/parrot/oplib.h,
4703         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4704         platforms/win32.c, platforms/win32.h:
4705         Initial code for dynamic loading of oplibs, applied for now to the
4706         loading of the core_prederef oplib when the -P flag is passed to
4707         test_parrot.
4709           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4711           * Makefile.in:
4713               * Added libcore_prederef_0_3.so to the shared target.
4714               * Added build rule for libcore_prederef_0_3.so.
4715               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4716                 to Parrot/OpLib/core.pm, core_ops.c and
4717                 core_ops_prederef.c.
4719           * config_h.in: Added defines for constants used to locate the
4720             core oplib's init function, and the core_prederef oplib for
4721             dynaloading.
4723           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4724             required by Parrot/OpsFile.pm.
4726           * interpreter.c:
4728               * Added init_prederef() and stop_prederef() functions to load
4729                 and unload the core_prederef oplib when we are in prederef
4730                 mode.
4732                 NOTE: In all likelihood, the prederef stuff has a rapidly
4733                 dwindling time-to-live. The JIT should provide vastly
4734         superior
4735                 performance, and loading an alternate set of core_ops isn't
4736                 the real direction for the dynaloading stuff. Loading
4737                 *additional* ops is. It does provide a handy test case for
4738         the
4739                 general idea for now, though.
4741               * Gets the core copcode table, etc. via the core oplibs oplib
4742                 info pointer, as returned by the core oplib's init
4743         function.
4745           * ops2c.pl
4747               * Make use of the version, major version and minor version
4748                 stuff parsed by Parrot/OpsFile.pm
4750               * The only exported symbol in the generated files is the init
4751                 function now, since that returns an oplib info struct
4752                 pointer, and all the important stuff can be found there.
4754           * ops2pm.pl: Put the oplib version in the generated .pm file.
4756           * test_main.c: Small changes necessitated by changes in the names
4757             of some members of the interpreter struct.
4759           * trace.c: Small changes necessitated by changes in the names
4760             of some members of the interpreter struct.
4762           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4763             ops are found.
4765           * include/parrot/interp_guts.h: Small changes necessitated by
4766             changes in the names of some members of the interpreter struct.
4768           * include/parrot/interpreter.h: Include the new
4769             include/parrot/oplib.h header. Small changes to the oplib-
4770             related members.
4772           * include/parrot/oplib.h: Define the type of the oplib init
4773             function, and the struct type for the oplib info.
4775           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4776             since not all platforms have it. For those that do, a default
4777             second argument is provided.
4779 2001-12-26 05:12  gregor
4781         * Configure.pl:
4782         Make jitarch calculation not get tripped up by extra components to
4783         archname.
4785 2001-12-24 21:23  gregor
4787         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4788         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4789         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4790         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4791         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4792         Some more JIT work from Daniel Grunblatt.
4794           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4795         to C
4796             functions.
4798           * Added JUMP(END) to place the number of bytes to the end of the
4799         current
4800             op.
4802           * The *.jit files syntax changed.
4804           * Added jit/i386/lib.jit to place handly functions as jump that
4805         take as
4806             argument the address where is the opcode number to jump to.
4808           * There is a bug at some point, but I will start writing
4809             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4810         have use
4811             calls, which make the jit as slow as the interpreter.
4813         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4815 2001-12-24 03:46  dan
4817         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4818         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4819         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4820         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4821         Perls before 5.6.0 don't like it.
4823 2001-12-22 16:02  ajgough
4825         * t/op/stacks.t: stopped skipping tests we can run now.  added
4826         clonep tests.
4828 2001-12-21 21:13  gregor
4830         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4831         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4832         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4833         Fixed some package name goofs.
4835         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4837 2001-12-21 19:32  gregor
4839         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4840         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4841         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4842         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4843         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4844         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4845         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4846         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4847         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4848         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4849         pbc2c.pl.
4851           * Removed ops2c-prederef.pl
4853           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4855           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4856             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4857             for old functionality of ops2c-prederef.pl), and
4858             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4860             "OpTrans" == "Op Transformation"
4862           * Makefile.in modifications to call "ops2c.pl C" where it used
4863             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4864             to be "ops2c-prederef.pl".
4866           * core.ops and obscure.ops changes to syntax. Semantics are
4867             identical with previous version:
4869               return HALT         -->  HALT()
4870               return AUTO         -->  goto NEXT()
4871               return RETREL(...)  -->  goto OFFSET(...)
4872               return RESTART(*)   -->  restart NEXT()
4874             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4875             for dest-less branch ops replaced with new notation "goto
4876         POP()",
4877             which uses the new pop_dest() function in stacks.c. This also
4878             allowed these ops to become 'inline' ops, since they no longer
4879             have local variables.
4881             The 'ret' op also became simplified to just "goto POP()", and
4882             also became an inline op.
4884           * interpreter.c reflects the change in type name:
4886               prederef_op_func_t   -->  op_func_prederef_t
4888             that occurred in include/parrot/op.h
4890           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4891             "return AUTO".
4893           * ops2c.pl is now generic. Its first argument is the last
4894             package name component of a subclass of Parrot::OpTrans. These
4895             subclasses all have full names of the form Parrot::OpTrans::*.
4896             An instance of the class is created and later consulted for
4897             various bits of information needed to generate the C code.
4899           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4900             contain its transformation rules.
4902           * stacks.c has a new function pop_dest() that pops a destination
4903             off the control stack. include/parrot/stacks.h has the
4904         prototype.
4906           * Parrot/Op.pm now supports the syntax generated by
4907         Parrot::OpsFile
4908             for the "goto POP" case.
4910             Also, the source() method now expects its second argument to be
4911             an object that ISA Parrot::OpTrans. Methods of this object are
4912             called to perform the substitutions.
4914           * Parrot/OpsFile.pm supports the change in notation mentioned
4915             above.
4917           * docs/intro.pod reflects these changes.
4919           * include/parrot/op.h: Renamed type prederef_op_func_t to
4920             op_func_prederef_t because it made the implementation of the
4921             shared ops2c.pl easier.
4923 2001-12-21 13:47  gregor
4925         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4926         Both test_parrot (via test_main.c) and the intepreter itself (via
4927         interpreter.c) use the JIT_CAPABLE config to decide whether to
4928         actually attempt JIT operation, or to complain.
4930 2001-12-20 23:25  gregor
4932         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4933         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4934         Changes to the format of *.ops files. An attempt to provide hints
4935         for future opfunc processing logic that wants to know if an opfunc
4936         is simple enough to JIT (e.g.) inline, or not.
4938         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4939         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4940         info.
4942 2001-12-20 21:28  gregor
4944         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4945         jit/i386/core.jit:
4946         More JIT stuff:
4948           * A fix to Gregor's last Configure.pl update.
4950           * Remove the need for hardcoded "\n" at the end of the "%f"
4951             format for printing floating-point numbers.
4953           * New, improved *.jit syntax for references to registers,
4954             e.g. INT_REG[n].
4956           * Support for C() improved.
4958         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4960 2001-12-20 16:55  dan
4962         * MANIFEST: Added jit.c to the manifest.
4964 2001-12-20 15:24  simon
4966         * jit2h.pl:
4967         Off-by-one error fixed.
4969 2001-12-20 14:18  simon
4971         * jit/i386/core.jit:
4972         Just a noop. It's the only machine code I know.
4974 2001-12-20 13:10  gregor
4976         * Configure.pl, Makefile.in, jit2h.pl:
4977         Attempt to fix Win32 builds.
4979           * No more empty braces in include/parrot/jit_struct.h
4981         Also:
4983           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4984         ${archname}
4985             does not.
4987 2001-12-20 11:56  simon
4989         * Makefile.in:
4990         De-cp
4992 2001-12-20 01:57  gregor
4994         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4995         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4996         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4997         include/parrot/.cvsignore, include/parrot/interpreter.h,
4998         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4999         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5000         lib/Parrot/Jit/i386-nojit.pm:
5001         Initial JIT implementation.
5003           * Enabled with test_parrot -j. 20x speed boosts seen.
5005           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5007           * More to come.
5009         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5011 2001-12-20 01:53  jgoff
5013         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5014         core.ops - Removed key operators, they should be hidden from the
5015         assembler.  t/op/key.t - No need to test the nonexistent key
5016         operators.
5018 2001-12-20 00:13  ajgough
5020         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5021         that asking for type of entry at depth causes segfault as stack is
5022         zero based, fixed cmp in core.ops to reflect this.  Last test is
5023         skipped as we don't do exceptions right yet.
5025 2001-12-19 19:11  ajgough
5027         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5028         non-being was causing Irix "issues".
5030 2001-12-19 03:37  jgoff
5032         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5033         004_combined.t: Changed tests to make sure they pass with the
5034         addition of the clone operator.
5036 2001-12-18 20:06  gregor
5038         * interpreter.c, include/parrot/interp_guts.h:
5039         Performance improvements to the predereferencing code path
5040         suggested to me over lunch yesterday by my friend John Kennedy.
5041         The goal is to remove the additional test in the inner loop that
5042         was checking for NULL to decide whether or not to call the
5043         prederef() function. Also moved pc & pc_prederef syncing outside
5044         the inner loop.
5046           * Changed the prototype of the prederef() function in
5047             interpreter.c to match that of an opfunc.
5049           * Instead of initializing the prederef void * array with NULL,
5050             we initialize it with pointers to prederef().
5052           * prederef() now returns the prederef_pc passed in, so that
5053             after predereferencing, the same location is executed, but now
5054             with the real code being called.
5056         Thanks to: John Kennedy
5058 2001-12-18 19:59  ajgough
5060         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5061         (including some more in the skipped string -> int tests).
5063 2001-12-18 07:06  jgoff
5065         * MANIFEST: Forgot to add classes/perlarray.pmc
5067 2001-12-18 07:05  jgoff
5069         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5070         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5071         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5072         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5073         t/pmc/pmc.t: Big update...  Makefile.in - Added
5074         classes/perlarray.pmc core.ops - Added new series of set() ops for
5075         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5076         Added perlarray.pmc classes/*.pmc - Added
5077         set_{integer,number,string}_index and
5078         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5079         type t/op/pmc.t - Added basic array test
5081         classes/perlarray.pmc - Added
5083 2001-12-17 05:29  jgoff
5085         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5086         generator to use clone operator instead of set Px,Py
5088 2001-12-17 05:25  jgoff
5090         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5091         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5092         PMC,PMC operator. Uses the clone() vtable entries.
5094 2001-12-17 04:51  jgoff
5096         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5097         entry
5099 2001-12-17 04:41  jgoff
5101         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5102         directory...
5104 2001-12-17 04:41  jgoff
5106         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5108 2001-12-17 04:39  jgoff
5110         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5111         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5112         t/
5114 2001-12-17 04:27  jgoff
5116         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5117         Admittedly it's a little thin on true OO, but the algorithms are
5118         the key.
5120 2001-12-17 04:24  jgoff
5122         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5123         003_generator.t, 004_combined.t: Much more comprehensive test suite
5124         for the codegen et al
5126 2001-12-17 04:22  jgoff
5128         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5129         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5130         key handling
5132 2001-12-17 04:20  jgoff
5134         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5135         more comprehensive.
5137 2001-12-17 04:17  jgoff
5139         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5140         changes to the new compiler
5142 2001-12-17 04:11  jgoff
5144         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5145         files to Miniperl/
5147 2001-12-16 14:11  simon
5149         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5150         t/pmc/pmc.t:
5151         Fix bogus assumption that multiplying an integer by an integer
5152         yields an integer.
5154 2001-12-16 12:48  simon
5156         * make_vtable_ops.pl:
5157         Fixed op exploder.
5159 2001-12-16 12:45  simon
5161         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5162         Expand multimethod vtable ops.
5164 2001-12-16 12:04  simon
5166         * Makefile.in:
5167         Added 'cvsclean' which doesn't zap CVS/* directories.
5169 2001-12-15 01:50  dan
5171         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5172         indeed!
5174         Thanks to grunblatt fom #parrot for the catch
5176 2001-12-15 01:39  dan
5178         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5179         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5180         languages/miniperl/Makefile.in,
5181         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5182         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5183         tweaks.
5185         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5187 2001-12-14 17:39  dan
5189         * t/op/trans.t: More trans tests.
5191         Courtesy of: Simon Glover <scog@roe.ac.uk>
5193 2001-12-14 07:41  robert
5195         * make.pl: - define MAKE macro - topological sort and subgraph
5196         order - start of timestamp stuff   (still badly broken)
5198 2001-12-14 06:06  jgoff
5200         * optimizer.pl: Hopefully this should do the trick..
5202 2001-12-14 06:04  jgoff
5204         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5206           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5208           The optimizer performs its work on a file post-macro expansion.
5209           Run it on a .pasm file, preferably with some trivially reducible
5210         operations
5211           like 'add I0,5,-6' or 'mul I0,I1,0'
5213 2001-12-14 05:48  robert
5215         * Makefile.in: case error EXE -> exe
5217 2001-12-14 05:42  robert
5219         * Makefile.in: remove legacy PDISASM macro
5221 2001-12-14 04:01  dan
5223         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5224         better Win building
5226         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5228 2001-12-13 22:03  dan
5230         * Configure.pl, Makefile.in, Parrot/Test.pm,
5231         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5232         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5233         can change it without having to change the world.
5235 2001-12-13 21:57  dan
5237         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5238         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5239         file/line/package to interp structure, with ops to get and set
5240         them. Now we can know where we are!
5242 2001-12-13 19:43  dan
5244         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5245         WinXP builds work out of the box
5247 2001-12-13 17:05  dan
5249         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5250         name again--makes case-insensitive systems much happier.
5252 2001-12-13 16:21  dan
5254         * core.ops, key.c, string.c, test_main.c, trace.c,
5255         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5256         compiler warnings
5258         Courtesy of: Josh Wilmes <josh@sky.net>
5260 2001-12-13 13:33  gregor
5262         * languages/jako/Makefile.in:
5263         Improved the method of calling the assembler.
5265 2001-12-13 13:30  gregor
5267         * languages/jako/Makefile.in:
5268         Improve the build process. It now works from the main parrot dir,
5269         and from the languages/jako directory. Now uses the .SUFFIXES
5270         target and generic build rules to reduce clutter in the
5271         Makefile.in.
5273 2001-12-13 13:29  gregor
5275         * languages/jako/.cvsignore:
5276         Ignore the (now generated Makefile), and don't ignore .list files
5277         anymore, since we aren't generating them.
5279 2001-12-13 13:11  gregor
5281         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5282         languages/Makefile.in, languages/jako/Makefile,
5283         languages/jako/Makefile.in:
5284         Added a 'languages' target to the top-level Makefile.in, and
5285         modified the jako build procedure to involve Makefile.in -->
5286         Makefile too (done by Configure.pl).
5288         NOTE: languages/jako and language/scheme are built.
5289         languages/miniperl wasn't building right, so it was left off for
5290         now.
5292 2001-12-13 12:15  gregor
5294         * MANIFEST:
5295         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5296         the MANIFEST.
5298 2001-12-13 12:12  gregor
5300         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5301         ops2c-prederef.pl, ops2c.pl, test_main.c,
5302         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5303         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5304         Welcome to the Just-in-Time Predereferencing Patch!
5306         This patch implements a "predereferencing" mode for parrot. That
5307         means that a lot of the dereferencing you see in DO_OP and in the
5308         opfuncs is done up front (really, JIT) rather than as and each time
5309         we execute each op in the byte code stream.
5311         This works by creating an array of void pointers with the same
5312         number of elements as the byte code array. This array starts out
5313         life zero-initialized.  Each time we go to execute an op, we check
5314         first to see if we have a NULL pointer at *cur_opcode. If so, we
5315         know we haven't done our predereferencing yet (this is the JIT
5316         part), so we call the prederef() function with sufficient args that
5317         it can go look up opfunc pointers and op arg types and put the
5318         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5319         where N is the number of args (counting the op itself as one arg).
5321         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5322         to have inline INTVAL constants.
5324         I've been getting about a 22% speed increase over vanilla code path
5325         when I compile with -O0. Advantage decreases at -O9 here. I tested
5326         with mops.pbc, and also by temporarily putting the -P flag in
5327         Parrot/Test.pm and running all the tests. So, this code is as
5328         correct as the test suite can detect.
5330         Here's how it plays out in the code:
5332           * New script ops2c-prederef.pl
5334             Copy-paste code reuse from ops2c.pl. Modified to expect the
5335         args to give
5336             a void ** cur_opcode and to return a void **.
5338           * Modified ops2c.pl
5340               * opfuncs are now static. Who needs to call them by name from
5341         outside,
5342                 anyway? They are accessed via the opfunc table.
5344               * Some MACRO stuff to make things work whether we prederef or
5345         not. It
5346                 may be possible to get rid of these some day if other folks
5347         agree
5348                 that we should be using CODE object pointers + offsets as
5349         our PC
5350                 rather than raw pointers to either opcode_t's or (void *)'s
5351                 (depending on prederef mode or no).
5353           * core.ops modified to be usable to build both kinds of opfuncs.
5354         For now,
5355             this means:
5357               * calls to push_generic_entry(... cur_opcode ...) were
5358         changed to
5359                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5360         a
5361                 macro that does the right thing in both kinds of ops.c
5362         files.
5364                 This is applicable to the bsr op. If we treated
5365         destinations as
5366                 (Code PMC + local offset) rather than as
5367         pointer-to-memory-somewhere,
5368                 this wouldn't be a big deal. We may need to do that at some
5369         point
5370                 anyway, so that when you jump around and return not only do
5371         you have
5372                 the right PC (pointer, today), but you also have the
5373         thread/interpreter
5374                 knowing what chunk of bytecode it is in at all times
5375         (assuming we'll
5376                 allow reflection, as in ops that query or affect the
5377         current CODE PMC).
5379               * runinterp was modified. Instead of copying the top-level
5380         PackFile struct
5381                 and blasting its byte_code pointer, we simply call runops
5382         on the new
5383                 interp, passing in the pointer to the current interp's code
5384         and the
5385                 offset into that code at which to start (this last arg used
5386         to be a
5387                 pointer PC, now its an offset PC).
5389           * include/parrot/op.h
5391               * new typedef for prederef opfuncs (they return void **)
5393           * include/parrot/interp_guts.h
5395               * New DO_OP_PREDEREF() macro described above.
5397           * include/parrot/interpreter.h
5399               * New prototype of runops() -- see below.
5401               * resume_addr field changed to resume_flag and resume_offset
5402         pair of fields.
5403                 We might be resuming from interp using prederef to one not
5404         or vice-versa,
5405                 so pointers between the two don't play nice together.
5406         Offsets are beautiful.
5408               * New PARROT_PREDEREF_FLAG constant
5410           * interpreter.c
5412               * include "parrot/oplib/core_ops_prederef.h"
5414               * prederef() function described above.
5416               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5417         macro as its core.
5419               * runops() modified to take size_t CODE-relative offset PC
5420         rather than
5421                 pointer PC. This made other things workable and doesn't
5422         seem to have lost
5423                 anything important (IMO).
5425           * test_main.c
5427               * New flag '-P' to enable predereferencing.
5429           * Makefile modified to build core_ops_prederef.c from core.ops
5430         via
5431             ops2c-prederef.pl.
5433             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5435             Added core_ops_prederef$(O) to O_FILES
5437 2001-12-13 12:12  gregor
5439         * languages/jako/MAINTAINER:
5440         Thought it would be nice to put this right in the code...
5442 2001-12-13 04:36  jgoff
5444         * languages/miniperl/Miniperl/Generator.pm: Commented out
5445         debugging, fixed register spillover algorithm
5447 2001-12-13 04:23  jgoff
5449         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5450         line) Restructured a bit of the dependency generator to fix a
5451         different obob bug.
5453 2001-12-13 03:43  robert
5455         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5457 2001-12-13 03:03  jgoff
5459         * make.pl: Added make.pl
5461 2001-12-13 02:44  jgoff
5463         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5464         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5465         special flags...                     - Dies on undefined macros
5466         such as $(PDISASM) in current make                     - Dies on
5467         recursive macro expansions                       (Doesn't test for
5468         mutual or multipart loops)                     - In general it
5469         seems to be a little less lenient...  Missing bits - File
5470         mod/creation times aren't being looked at              - Actions
5471         aren't being taken              - The few funky variables ($@, $<)
5472         aren't being dealt with Bugs - Line numbers are slipping a bit.
5474 2001-12-13 02:29  jgoff
5476         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5477         Reconstructing files to make the parser flow a little better.
5479 2001-12-13 00:51  dan
5481         * resources.c: Be a bit less wasteful with resources that don't
5482         need to be aligned
5484 2001-12-12 18:22  dan
5486         * Makefile.in: D'oh! Fixed looping makefile bug.
5488         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5490 2001-12-12 16:23  jgoff
5492         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5494 2001-12-12 16:22  jgoff
5496         * MANIFEST: Manifest additions for languages/miniperl
5498 2001-12-12 16:19  jgoff
5500         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5501         tests. These are left over from the Scheme suite and shouldn't be
5502         used yet.
5504 2001-12-12 16:18  jgoff
5506         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5507         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5508         modules. Miniperl/ is where the real work gets done.  t/ is largely
5509         vacant because it isn't ready to survive real tests yet.
5511 2001-12-12 16:17  jgoff
5513         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5514         mpc: Final go-round, hopefully.
5516         languages/miniperl/Makefile - Used basically to run tests, as there
5517         is nothing                               here that needs to be
5518         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5519         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5520         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5521         compiler stub
5523 2001-12-12 16:09  dan
5525         * Configure.pl: Setting a variable with the make command name is
5526         useful.
5528 2001-12-12 15:07  simon
5530         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5531         Recursive make considered "ow, don't do that".
5533 2001-12-12 14:45  dan
5535         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5536         non-portable code) Killing builds on Win32 native. Small patch
5537         applied which hopefully fixes it.
5539 2001-12-12 06:12  ajgough
5541         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5543 2001-12-12 06:08  ajgough
5545         * Makefile.in: perl is $(PERL).
5547 2001-12-12 06:00  ajgough
5549         * t/op/integer.t: Added tests to integer.t so that all permutations
5550         of arguments are actually called at some point.
5552 2001-12-12 05:18  ajgough
5554         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5555          Tests for sleep i|ic
5557 2001-12-12 05:09  ajgough
5559         * t/op/stacks.t: Added pushp and popp register stack tests.
5561 2001-12-12 04:51  ajgough
5563         * t/op/stacks.t: Added tests for save and restore, for all register
5564         types.  Let there be Haiku.
5566 2001-12-12 04:27  ajgough
5568         * t/op/basic.t: bsr_i test.  You know you want it.
5570 2001-12-12 02:55  ajgough
5572         * MANIFEST: Added hints/os2.pl to MANIFEST.
5574 2001-12-12 02:52  jgoff
5576         * core.ops, key.c: Final checkin... These are actually the correct
5577         copies.
5579 2001-12-12 02:12  jgoff
5581         * include/parrot/key.h: key.c - Removed a few functions,
5582         generalized set_element_value and element_value         to accept
5583         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5584         core.ops - Modified to accept the new return style.
5586         This is a prelude to adding virtual-table methods to allow hashing
5587         &c. Expect at least one or two more redesigns before this settles
5588         down. However, it still passes the original tests.
5590 2001-12-11 13:35  gregor
5592         * runops_cores.c:
5593         Fixed a typo.
5595 2001-12-11 12:03  gregor
5597         * .cvsignore:
5598         Don't ignore test_prog, but do ignore parrot.
5600 2001-12-11 12:03  gregor
5602         * classes/.cvsignore:
5603         Ignore the generated file default.h
5605 2001-12-11 04:07  jgoff
5607         * key.c: Key source
5609 2001-12-11 04:05  jgoff
5611         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5613 2001-12-11 04:00  jgoff
5615         * core.ops: Added new key aggregate operations to core ops.
5617 2001-12-11 04:00  jgoff
5619         * include/parrot/parrot.h: Added key.h to header list
5621 2001-12-11 03:59  jgoff
5623         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5625 2001-12-11 03:58  jgoff
5627         * Makefile.in: Added implementation of key aggregates.
5629 2001-12-08 23:07  simon
5631         * README:
5632         README good to go.
5634 2001-12-08 23:05  simon
5636         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5637         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5638         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5639         test_prog? What is test_prog?
5641 2001-12-08 22:57  simon
5643         * ChangeLog:
5645         Oops, the changelog commit was on *this* machine.
5647 2001-12-08 22:56  simon
5649         * NEWS:
5650         Updates to NEWS and ChangeLog pre-release.
5652 2001-12-08 22:07  simon
5654         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5655         classes/perlnum.pmc, classes/pmc2c.pl:
5656         Add "default" PMC vtable so you can inherit implied stuff.
5658 2001-12-08 21:24  simon
5660         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5661         docs/vtables.pod, lib/Parrot/PackFile.pm:
5662         Getting the documentation up to scratch.
5664 2001-12-08 21:21  simon
5666         * classes/pmc2c.pl:
5667         Allow inheriting from default class.
5669 2001-12-07 20:43  gregor
5671         * examples/assembly/queens.pasm:
5672         Regenerated the file with the latest jakoc.
5674 2001-12-07 20:29  simon
5676         * core.ops, t/op/stacks.t:
5677         Rename "rotate" to "rotate_up".
5679 2001-12-07 20:15  simon
5681         * t/op/stacks.t:
5682         Some tests for rotate.
5684 2001-12-07 00:55  gregor
5686         * core.ops:
5687         Cast the result of the pointer arithmetic, since without the cast
5688         there are warnings with some compilers, and without the parens
5689         around the pointer arithmetic, precedence breaks the meaning and
5690         causes crashes.
5692 2001-12-06 23:37  simon
5694         * core.ops:
5695         Temporary. I prefer compiler warnings to segfaults, thanks.
5697 2001-12-06 23:34  simon
5699         * runops_cores.c:
5700         Make "trace" work again.
5702 2001-12-06 21:23  dan
5704         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5706 2001-12-06 21:22  dan
5708         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5709         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5711 2001-12-06 19:22  simon
5713         * core.ops:
5714         Yet another "How the *%$! did that compile?" moment.
5716 2001-12-06 18:28  dan
5718         * hints/vms.pl: Fix to build, with a HERE logical required
5720 2001-12-06 17:48  dan
5722         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5723         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5724         changes to the interpreter--flags are now part of the interp
5725         structure.
5727         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5729 2001-12-06 14:02  gregor
5731         * docs/intro.pod:
5732         s/little_languages/languages/ in Jako section.
5734 2001-12-06 13:15  simon
5736         * Makefile.in:
5737         Ensure the documentation gets made.
5739 2001-12-06 13:12  simon
5741         * MANIFEST, docs/intro.pod:
5742         Documentation! Added the "Some Assembly Required" article with
5743         minor updates.
5745 2001-12-06 00:39  simon
5747         * core.ops:
5748         More "eq" support.
5750         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5752 2001-12-06 00:37  simon
5754         * test_main.c:
5755         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5757         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5759 2001-12-06 00:11  tom
5761         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5762         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5763         include/parrot/chartype.h, include/parrot/encoding.h,
5764         include/parrot/parrot.h: Moved string to number conversion code out
5765         of the encoding layer and into the main string layer as neither the
5766         encoding layer nor the character type layer knows enough on it's
5767         own to do the conversion correctly.
5769 2001-12-05 23:12  tom
5771         * Makefile.in: Rebuild the classes directory if any of the object
5772         files for the classes are missing rather than only when perlint.o
5773         is missing.
5775 2001-12-05 19:43  gregor
5777         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5778           * Reworked the constantize_string() stuff a little bit because it
5779         was
5780             puking on things like "\033[H\033[2J\0" (which occurs in the
5781             languages/jako/mandelzoom.jako example).
5783 2001-12-05 19:39  gregor
5785         * languages/jako/: Makefile, mandelzoom.jako:
5786         Added 'mandelzoom' example.
5788 2001-12-05 19:38  gregor
5790         * languages/jako/jakoc:
5791           * Added sleep()
5793           * Changed some instances of die() to confess()
5795 2001-12-05 18:34  gregor
5797         * t/: op/pmc.t, pmc/pmc.t:
5798         s/sting->int/string->int/
5800 2001-12-05 18:08  gregor
5802         * Parrot/.cvsignore:
5803         Ignore PMC.pm
5805 2001-12-05 18:05  gregor
5807         * classes/.cvsignore:
5808         Ignore the generated files.
5810 2001-12-05 17:19  gregor
5812         * pbc2c.pl:
5813           * Reverted recent changes, since they broke the script. Real fix
5814         coming
5815             later.
5817 2001-12-05 17:03  simon
5819         * classes/Makefile.in:
5820         Remember: change Makefile.in, not Makefile. D'oh.
5822 2001-12-05 17:02  simon
5824         * Makefile.in:
5825         Ensure PMC.pm gets remade.
5827 2001-12-05 16:58  simon
5829         * MANIFEST, Makefile.in, classes/Makefile.in,
5830         classes/perlundef.pmc, include/parrot/pmc.h:
5831         Add perlundef class.
5833 2001-12-05 16:45  simon
5835         * core.ops:
5836         Document "new P0, foo"
5838 2001-12-05 16:43  simon
5840         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5841         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5842         Allow assembler to know about PMC class names.
5844 2001-12-04 13:39  ajgough
5846         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5848 2001-12-04 05:02  ajgough
5850         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5851         in perlnum.c
5853 2001-12-04 04:24  ajgough
5855         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5856         broken form of strtod and appropriate tests.  Does not yet check
5857         for overflow.
5859 2001-12-04 01:31  ajgough
5861         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5862         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5863         to extract_num and extract_int string vtables, without this it
5864         would be impossible to have strings with nulls in while still
5865         knowing where they ended.
5867 2001-12-03 18:40  ajgough
5869         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5870         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5871         include/parrot/string.h: Moved pmc string to number conversion into
5872         the string encoding tables.
5874 2001-12-03 00:21  ajgough
5876         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5877         for p-> integer.
5879 2001-12-02 23:09  jgoff
5881         * classes/Makefile.in: Removed some redundant targets.
5883 2001-12-02 19:02  ajgough
5885         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5886         equality macro rather than using perl to generate expected output,
5887         all tests now have <<OUTPUT.
5889 2001-12-02 17:44  ajgough
5891         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5892         for pmc.t as well.  Will probably move macros into another file at
5893         some point, although this might be best left until the tests are
5894         unperled.
5896 2001-12-02 06:16  jgoff
5898         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5899         within Parrot_Perl{Class}_init.
5901 2001-12-02 06:09  jgoff
5903         * classes/Makefile.in: I seem to have removed *$(O) twice..
5905 2001-12-02 05:06  jgoff
5907         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5908         Configure.pl - Removed '-I./include', added classes/Makefile
5909         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5910         Removed old classes/* make stuff                Added target for
5911         classes/Makefile
5913 2001-12-02 04:48  jgoff
5915         * classes/Makefile.in: Going to be used shortly...
5917 2001-12-02 04:40  jgoff
5919         * docs/Makefile: Configure.pl - Added automatic makefile creation
5920         for docs/ and classes/                Removed '-I./include' because
5921         it was getting incorrectly                passed to classes/
5922         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5923         - Removed classes/ build stuff, replaced with classes/Makefile.in
5924                     Added '-I./include' locally docs/Makefile - Should no
5925         longer be used, but I'm not brave enough to do a
5926         cvs delete.
5928 2001-12-02 01:21  ajgough
5930         * t/op/trans.t: Refactored trans math tests to have hard coded
5931         expected return values and be more ready to be unperled at some
5932         point in the future.  Added $fp_equality_macro which is a
5933         "nearly-equal-to" function.
5935 2001-12-02 01:18  ajgough
5937         * Makefile.in: Humph.  People really ought to use Makefile
5938         variables, s/perl/$(PERL)/ throughout.
5940 2001-12-01 18:15  jgoff
5942         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5943         figure out what to do vis-a-vis the lack of snprintf.
5945 2001-11-30 13:14  ajgough
5947         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5948         and integer.t
5950 2001-11-30 13:14  ajgough
5952         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5953         -, else ... form.
5955 2001-11-30 10:36  simon
5957         * core.ops:
5958         Rewrite print_p to do the right thing.
5960 2001-11-30 06:21  jgoff
5962         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5963         concat,               integer/number/string math
5965 2001-11-30 06:20  jgoff
5967         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5968         classes/perlint.pmc - Fixes and expanding for concat and math with
5969         strings classes/perlnum.pmc - Fixes and expanding for concat and
5970         math with strings classes/perlstring.pmc - Fixes and expanding for
5971         concat and math with strings
5973 2001-11-29 15:21  ajgough
5975         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5976         $^X lies, which confused bash which make uses to run things when
5977         doing its stuff.
5979 2001-11-29 04:58  jgoff
5981         * classes/perlstring.pmc: Removed C++-style comments for good
5982         measure
5984 2001-11-29 04:51  jgoff
5986         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5988 2001-11-29 04:28  jgoff
5990         * global_setup.c: Initialize PMC strings
5992 2001-11-29 04:25  jgoff
5994         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5995         string PMCs.
5997 2001-11-29 04:24  jgoff
5999         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6000         files to properly upgrade int to num, do calculations.  Also added
6001         basic string operations. Currently errors out on anything but set
6002         operations, but this will be fixed soon.
6004 2001-11-29 04:22  jgoff
6006         * Makefile.in: PMC .c files weren't getting cleaned out.
6008 2001-11-28 17:00  simon
6010         * t/harness:
6012         Make csh-glob happy.
6014         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6016 2001-11-28 16:40  simon
6018         * classes/perlnum.pmc:
6020         De-C++
6022 2001-11-28 15:22  simon
6024         * string.c:
6026         Fixes Alex's string concat worry.
6028 2001-11-28 14:27  ajgough
6030         * t/op/string.t: test "null onto null" incorrectly passing as it
6031         produced no output.  Output provided.
6033 2001-11-28 11:14  simon
6035         * include/parrot/pmc.h:
6037         Placate AIX.
6039 2001-11-26 21:03  dan
6041         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6043 2001-11-26 17:29  simon
6045         * classes/perlint.pmc:
6047         Various subtle but non-showstopper bugs.
6049 2001-11-26 11:23  simon
6051         * classes/pmc2c.pl:
6053         Replace dependency on Text::Balanced
6055         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6057 2001-11-26 05:22  jgoff
6059         * global_setup.c: Last file that should need to be committed. I
6060         swear.
6062 2001-11-26 05:09  jgoff
6064         * core.ops: Let's try this again... Changes to core.ops required
6066 2001-11-26 04:58  jgoff
6068         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6069         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6070         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6071         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6072         functions classes/perlnum.pmc - Set up basic number functions
6073         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6074         tests against numbers and numbers+integers
6076 2001-11-25 13:18  simon
6078         * Makefile.in:
6079         Windows XP make doesn't like $<
6081 2001-11-25 12:56  simon
6083         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6084         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6085         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6086         examples/assembly/mops_p.pasm:
6087         PMC preprocessor.
6089         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6091         I (Simon) also added a couple more integer methods, but no tests
6092         since I'm a Bad Person.
6094 2001-11-25 08:40  brentdax
6096         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6097         lib/Parrot/OpsFile.pm: Allow _ in op names
6099 2001-11-25 05:54  jgoff
6101         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6102         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6104 2001-11-23 18:27  simon
6106         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6107         Add everything you need to make MOPS use PMCs.
6109 2001-11-23 18:06  simon
6111         * core.ops:
6112         Eh, you'll need this for rewriting mops.pasm.
6114 2001-11-23 17:55  simon
6116         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6117         t/pmc/pmc.t:
6118         More work on integer PMCs.
6120 2001-11-23 17:29  simon
6122         * Makefile.in:
6123         Surprise! Whitespace! HLAGHLAGHLAGH
6125 2001-11-23 17:28  simon
6127         * Makefile.in, ops2c.pl, ops2pm.pl:
6128         Add vtables.ops to the core
6130         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6132 2001-11-22 18:39  simon
6134         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6135         t/pmc/pmc.t:
6136         We can now create PMCs.
6138 2001-11-21 05:49  jgoff
6140         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6142 2001-11-20 16:00  simon
6144         * docs/vtables.pod, include/parrot/pmc.h:
6145         Reorder PMC flags so there's a fixed number of user-defined flags.
6147         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6149 2001-11-19 03:39  jgoff
6151         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6152         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6153         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6154         escaped quotes, and proper                handling of newlines.
6156 2001-11-16 22:03  simon
6158         * classes/perlint.c:
6159         More work on the Perl Integer class. More needed, though.
6161 2001-11-16 21:57  simon
6163         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6164         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6166 2001-11-16 20:49  simon
6168         * interpreter.c, runops_cores.c, trace.c,
6169         include/parrot/runops_cores.h:
6170         Kill superfluous runops cores.
6172 2001-11-16 17:50  simon
6174         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6175         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6176         include/parrot/parrot.h, include/parrot/pmc.h:
6177         Skeleton for Perl scalar types, done right.
6179 2001-11-16 16:15  simon
6181         * classes/genclass.pl:
6182         This tidies up genclass to deal with the new-style multimethods.
6184 2001-11-16 15:29  simon
6186         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6187         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6188         Rework multimethods to be *true* multimethods - that is, have
6189         different types.
6191 2001-11-15 22:29  simon
6193         * MANIFEST, Makefile.in, pmc.c:
6194         pmc.c linkage and support. Oh, and making it compile.
6196 2001-11-15 22:26  dan
6198         * t/op/interp.t: Forgot to tell CVS about the test...
6200 2001-11-15 22:10  dan
6202         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6203         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6204         for PMC registers for the interpreter.
6206         Added in the docs for the runinterp opcode.
6208         Added in code for both the newinterp and runinterp opcodes, so we
6209         can now create new interpreters from within parrot and have them do
6210         things. (Though we can't pass data back and forth. Yet)
6212 2001-11-15 21:24  simon
6214         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6215         More documentation, and other changes as discussed with Dan.
6217 2001-11-15 19:51  simon
6219         * classes/scalarclass.c:
6220         De-cut-and-pasto.
6222 2001-11-15 19:50  simon
6224         * classes/scalarclass.c:
6225         A little code tidiness.
6227 2001-11-15 19:33  simon
6229         * include/parrot/pmc.h:
6230         Missed this in the previous commit - un-constantize the base for
6231         user-defined PMC flags.
6233 2001-11-15 19:28  simon
6235         * classes/scalarclass.c:
6236         Hey look, sanity.
6238 2001-11-15 17:09  simon
6240         * classes/scalarclass.c:
6241         It seems I have completely forgotten how to write C.
6243 2001-11-15 16:53  simon
6245         * docs/vtables.pod:
6246         Start of the PMC classes documentation.
6248 2001-11-15 14:46  simon
6250         * classes/scalarclass.c:
6251         Changing to use a Perl-style struct instead of the union cache.
6253 2001-11-13 23:56  tom
6255         * string.c: Removed leading _ from string_index as function names
6256         starting with _ are reserved to implementors by the C standard.
6258         Also fixed string_index to use the encoding routines instead of
6259         assuming a single byte encoding.
6261 2001-11-13 12:59  jgoff
6263         * string.c: Patched string_concat to accept null strings.  That
6264         test was failing. Nothing to do with ord().
6266 2001-11-13 12:43  jgoff
6268         * string.c: string_ord function, string_concat fixes
6270 2001-11-13 04:52  jgoff
6272         * core.ops: Added ord to core.ops
6274 2001-11-13 04:35  jgoff
6276         * docs/strings.pod, include/parrot/exceptions.h,
6277         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6278         operator, documentation string.c - Added string_ord, _string_index
6279         (_string_index is a static helper)              Patched
6280         string_concat to handle null strings properly.  docs/strings.pod -
6281         Description of string_ord include/parrot/exceptions.h - Added
6282         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6283         string_ord() t/op/string.t - Added full set of test for
6284         ord_i_(s|sc)(_(i|ic))?
6286         string.c contains a bit of documentation explaining the logic
6287         behind _string_index, primarily having to do with multiple encoding
6288         formats.
6290 2001-11-12 22:30  simon
6292         * t/op/macro.t:
6293         Count 'em.
6295 2001-11-12 22:28  simon
6297         * Makefile.in:
6298         Add a rule to compile "platform"
6300 2001-11-12 22:26  simon
6302         * Makefile.in:
6303         Tidy up distclean target.
6305 2001-11-12 16:54  dan
6307         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6308         t/op/macro.t: Fixes to the assembler's macro facility and a test
6310         Courtesy of: Jeff <jgoff@speakeasy.net>
6312 2001-11-12 16:50  dan
6314         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6315         stdin
6317         Courtesy of: Jeff <jgoff@speakeasy.net>
6319 2001-11-12 16:36  dan
6321         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6322         CygWin
6324         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6326 2001-11-12 11:22  simon
6328         * examples/assembly/mops.pasm:
6330         Trivial tightening of mops loop.
6332 2001-11-07 23:57  ajgough
6334         * docs/tests.pod: This is a basic quide to writing tests with
6335         assembler.
6337 2001-11-07 22:29  dan
6339         * stacks.c: Added a little documentation on the cleanup parameter
6340         for an entry
6342 2001-11-07 14:43  dan
6344         * MANIFEST, platforms/generic.c, platforms/linux.c,
6345         platforms/linux.h: Portability patches.
6347         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6349 2001-11-06 19:51  tom
6351         * Makefile.in: Clean up object files in the subdirectories as well
6352         as those in the top level directory.
6354         Enhanced version of patch from Daniel Grunblatt
6355         <daniel@grunblatt.com.ar>
6357 2001-11-06 16:14  dan
6359         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6360         platforms/generic.c, platforms/generic.h: Made things a bit more
6361         platform-independent. Makefile still needs work to pick up changes
6362         to the platform-specific files.
6364 2001-11-05 21:32  dan
6366         * docs/parrot_assembly.pod: Added docs for the GC control ops
6368 2001-11-04 02:52  gregor
6370         * platforms/: win32.c, win32.h:
6371           * win32 dynamic loading functions.
6373         Courtesy of Jason Diamond <jason@injektilo.org>
6375 2001-11-04 00:04  brentdax
6377         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6378         allows an absolute path to be used and gives a useful error message
6379         if the original source file can't be found
6381 2001-11-02 12:37  gregor
6383         * platforms/: linux.c, linux.h:
6384           * Beginning of dynamic loading support. Linux only for now.
6386 2001-11-02 12:13  gregor
6388         * MANIFEST, time.c, include/parrot/time.h:
6389           * Removed time.[hc], since they have been superseded by the new
6390         platform
6391             stuff.
6393 2001-11-02 12:11  gregor
6395         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6396         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6397         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6398         platforms/win32.c, platforms/win32.h:
6399         Patch from Jason Diamond to make win32 platform stuff work:
6401         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6402         platform specific files in the platforms directory gets copied to
6403         the correct directories. The Makefile will re-copy the platform.h
6404         and .c files if the original is modified.
6406         * #include platform.h in parrot.h instead of time.h.
6408         * Removed time.h and time.obj from the Makefile. time.h and time.c
6409         aren't being used anymore since that code was moved to linux.c and
6410         win32.c.
6412         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6413         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6414         windows.h. This required updating several files besides parrot.h.
6416         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6417         instead of the missing identifiers (on Windows) in core.ops in the
6418         calls to open.
6420         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6421         platform files and called those from core.ops. The Linux code for
6422         these functions came from core.ops so they should hopefully work.
6424         Courtesy of Jason Diamond <jason@injektilo.org>
6426 2001-11-02 06:43  brentdax
6428         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6429         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6431 2001-11-02 02:26  gregor
6433         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6434         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6435         platforms/win32.h:
6436           * Beginnings of platform support files in platform/*.[hc]
6438 2001-11-01 23:37  tom
6440         * classes/intclass.c: Added missing *'s to STRING arguments and
6441         return values to avoid compiler warnings.
6443 2001-11-01 22:21  gregor
6445         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6446         include/parrot/parrot.h, include/parrot/time.h:
6447         Initial "fix" of time(n) op for Win32:
6449           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6451           * time.c and include/parrot/time.h
6453             First attempt at getting this working across platforms. The
6454             macro WIN32 being tested might not be right.
6456           * New functions Parrot_intval_time() and Parrot_floatval_time()
6457             wrap the appropriate functionality depending upon platform.
6458             Changed core.ops to call these.
6460         Added obscure.ops with obscure transcendental ops.
6462         Added simple file I/O ops (close, open, read, write):
6464           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6466           * I changed some arg ordering stuff.
6468           * I added read/write of INTVALs and FLOATVALs.
6470         Added environment variable ops (getenv, setenv)
6472         Added system error ops (err(i) and err(s) for accessing errno and
6473         strerr().
6475         Moved print ops in with other "temporary" developer ops, since
6476         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6478 2001-10-31 22:51  tom
6480         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6481         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6482         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6483         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6484         encodings/utf8.c, include/parrot/chartype.h,
6485         include/parrot/encoding.h, include/parrot/exceptions.h,
6486         include/parrot/parrot.h, include/parrot/string.h,
6487         include/parrot/strnative.h, include/parrot/strutf16.h,
6488         include/parrot/strutf32.h, include/parrot/strutf8.h,
6489         include/parrot/transcode.h: Reworked the string code in line with
6490         Dan's latest design that separates character sets from encodings.
6492 2001-10-31 19:53  dan
6494         * docs/parrot_assembly.pod: Finished I/O section of docs
6496 2001-10-31 16:51  dan
6498         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6499         Moved includes out of core.ops and into parrot.h where they belong
6500         (suitably guarded with #ifdefs). Also some updates to
6501         parrot_assembly.pod
6503 2001-10-30 21:43  dan
6505         * core.ops, stacks.c, docs/parrot_assembly.pod,
6506         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6507         of the entry on the stack
6509 2001-10-29 18:30  dan
6511         * stacks.c: You can turn off stack entry type validation on pop by
6512         passing in a type of 0 now. (For those cases where you just want to
6513         throw the darned thing away)
6515 2001-10-29 14:37  gregor
6517         * core.ops, languages/jako/jakoc:
6518           * New variants of the save ops to save constants on the stack.
6519         This is
6520             useful for saving zero arg and result counts on the stack, for
6521         example.
6523           * Modified jakoc to to adapt to the newly announced calling
6524         conventions.
6525             Even though Jako source code appears to show subroutines with
6526         fixed
6527             numbers of arguments and results, they are implemented with the
6528             variable count calling convention. Future modifications will be
6529         needed
6530             to ensure that an exception is raised if the stack frame is of
6531         the
6532             wrong size (or, at least that we pop the complete frame off).
6533         We'll
6534             also have to make more changes to support the true
6535         fixed-arg-count
6536             and fixed-result-count parts of the calling convention spec.
6538 2001-10-28 16:53  simon
6540         * MANIFEST, stacks.c, classes/scalarclass.c,
6541         include/parrot/stacks.h:
6542         Unbelievably bad errors of mine, plus a type incompatibility of
6543         Dan's.
6545 2001-10-28 08:30  simon
6547         * classes/scalarclass.c:
6548         Beginning of a scalar class.
6550 2001-10-28 08:29  simon
6552         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6553         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6554         include/parrot/pmc.h:
6555         This fixes the problem with vtables and pointer arithmetic.
6557 2001-10-26 19:58  dan
6559         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6560         include/parrot/stacks.h: Split the generic stack into a user push
6561         stack and a control stack
6563 2001-10-26 02:59  bdwheele
6565         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6567 2001-10-24 20:27  dan
6569         * languages/scheme/: Makefile, Scheme.pm, schemec,
6570         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6571         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6572         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6573         Scheme compiler
6575 2001-10-24 20:23  dan
6577         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6578         interpreter needs in pdump.c. Added scheme bits to manifest
6580 2001-10-24 16:43  gregor
6582         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6583           * Make the assembler handle octal character code escapes in
6584         string
6585             constants.
6587 2001-10-24 15:56  dan
6589         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6590         play the game of life
6592 2001-10-24 15:54  dan
6594         * core.ops: Added sleep. We'll need to override this to do events
6595         properly anyway, so...
6597 2001-10-24 14:03  gregor
6599         * Makefile.in, pbc2c.pl, pdump.c:
6600           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6601         interpreter
6602             pointer into string functions.
6604         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6606 2001-10-23 20:09  gregor
6608         * languages/jako/jakoc:
6609           * Terminological refinement in regexp capture comment.
6611 2001-10-23 15:23  simon
6613         * classes/genclass.pl:
6614         Use a saner ANSI C construct to make MIPSPro happy.
6616         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6618 2001-10-23 00:34  tom
6620         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6621         strutf8.c, include/parrot/string.h: Make sure the interpreter
6622         structure is passed to the transcoder as necessary, including
6623         passing it to string_compare().
6625 2001-10-23 00:32  tom
6627         * Makefile.in: Make pdump build again by including resources.o in
6628         the link.
6630 2001-10-22 22:43  dan
6632         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6633         strutf32.c, strutf8.c, test_main.c, transcode.c,
6634         include/parrot/packfile.h, include/parrot/parrot.h,
6635         include/parrot/resources.h, include/parrot/string.h,
6636         include/parrot/transcode.h: Everything now uses the allocators and
6637         deallocators in resources.c.
6639         Unfortunately we lost standalone string-test mode, but I can cope
6640         with that.
6642         Please note that until we have a real allocation/deallocation/GC
6643         system, this'll leak. A *lot*.
6645 2001-10-22 20:27  dan
6647         * MANIFEST, Makefile.in, pmc.c, resources.c,
6648         include/parrot/resources.h: First cut to handle arena allocation of
6649         PMC headers. (Amongst other things)
6651 2001-10-22 19:02  dan
6653         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6654         Now each register type has its own mask macro, which is the right
6655         thing to do.
6657         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6659 2001-10-21 23:40  tom
6661         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6662         stack chunk and add a test to test this rollover in future.
6664         Courtesy of Jason Gloudon <perl@gloudon.com>.
6666 2001-10-21 19:14  dan
6668         * include/parrot/string.h: Changed string 'unused' field to the
6669         language field.
6671 2001-10-21 18:18  gregor
6673         * languages/jako/: Makefile, mops.jako:
6674           * Makefile: 'clean' target removes .list files, too. And, it does
6675         rm -f
6676             with wildcards rather than listing things explicitly.
6678           * mops.jako actually prints out the
6679         millions-of-operations-per-second
6680             (mops) value instead of just the operations-per-second value.
6682 2001-10-21 18:03  simon
6684         * classes/intclass.o:
6685         *smack*! WRONG!
6687 2001-10-21 17:47  simon
6689         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6690         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6691         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6692         lib/Parrot/Vtable.pm:
6693         Initial work on PMCs. Explanation to follow
6695 2001-10-21 15:20  gregor
6697         * examples/assembly/queens.pasm:
6698           * Modernize the calling conventions in queens.pasm. It was using
6699         swap,
6700             which now must be rotate. Also, changed to use return values on
6701         the
6702             stack instead of in I0.
6704 2001-10-19 18:14  gregor
6706         * core.ops, stacks.c, include/parrot/stacks.h,
6707         languages/jako/jakoc:
6708         Per Dan's request, replacing 'swap' op by 'rotate'.
6710           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6712           * stacks.c and stacks.h: Removed swap-related functions from my
6713             prior commit, replacing them with stack_depth(), stack_entry()
6714             and rotate_entries().
6716             NOTE: The stack_depth() and rotate_entries() routines could
6717             be made more efficient through the caching of the sum of chunk
6718             'used' members from lower chunks in a field in the upper
6719             chunks. Also, if the interpreter's stack_base was changed to
6720             hold the pointer to the *top* chunk (since we usually come
6721             at the stack from the top down) instead of the *bottom*
6722             chunk. The code here at least works, and we can decide about
6723             bigger changes separately.
6725             For now, rotate only handles rotates in one direction and
6726             of magnituded one. A fully general rotate would do handle
6727             rotates in both directions and of arbitrary amounts. Again,
6728             this implementation is sufficient for current applications,
6729             and a feature-complete version can be developed if this turns
6730             out to be otherwise the right type of implementation.
6732             This change includes a new exception for ERROR_STACK_SHALLOW,
6733             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6735           * jakoc: Changed the calling convention to use rotate instead
6736             of swap (of course). Also changed the convention for return
6737             value passing to use the stack as well.
6739 2001-10-19 13:36  gregor
6741         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6742         examples/assembly/queens.pasm, include/parrot/stacks.h,
6743         languages/jako/.cvsignore, languages/jako/Makefile,
6744         languages/jako/bench.jako, languages/jako/euclid.jako,
6745         languages/jako/fact.jako, languages/jako/jakoc,
6746         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6747         languages/jako/primes.jako, languages/jako/queens.jako,
6748         languages/jako/sub.jako:
6749           * New stack functions push_entry(), pop_entry() and swap_entry().
6750             The first two exist for the support of the last one. These
6751             functions don't care what is in the stack entries. These exist
6752             to support the new 'swap' op (see next bullet).
6754           * New op 'swap' for swapping the top two elements on the stack.
6755             This is necessary for passing arguments to functions, since
6756             the return address will be on top of any arguments that have
6757             been pushed on the stack. This way, you can use a (swap, pop)
6758             pair to retrieve each argument (for subroutine linkage).
6760           * Disassembler now prints numbers in decimal by default, with
6761             a new '-x' flag to turn on hexadecimal display. Since other
6762             members of the Parrot Tool Set use decimal by default, this
6763             makes it easier to compare output from the various tools.
6765           * Jako compiler has more explanatory comments and the following
6766             new features:
6768               * Lexically scoped variables.
6770               * Subroutines that take arguments and return values:
6772                   sub int foo(int bar) {
6773                     if (bar == 1) {
6774                       return 42;
6775                     } else {
6776                       return 13;
6777                     }
6778                   }
6779               * ... if (...) and ... unless (...) statement modifiers
6780                 can be used on next, last and redo.
6782               * Bitwise and (&, &=) and or (|, |=) ops.
6784               * Type names are just 'int', 'num', 'str', and 'poly' now.
6785                 The old long names 'integer', 'number', 'string', and
6786                 'polytype' are no longer valid.
6788               * Integer variable assignments can now use 0b (binary),
6789                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6791           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6792             solving the eight-queens problem. The assembly example is a
6793             hand-modified version of the assembly code produced by the
6794             Jako compiler from queens.jako. A few unnecessary ops have
6795             been removed, lots of unnecessary labels have been removed,
6796             and all the Jako source code comments have been removed.
6798           * Makefile and .cvsignore in languages/jako modified so that
6799             the assembler produces listings when assembling the programs,
6800             yet the *.list files are ignored by CVS.
6802           * Made the default target in languages/jako/Makefile 'all'.
6804           * Modified some of the Jako examples to use some of the new
6805             features of Jako, such as subroutines and lexical variable
6806             scoping.
6808 2001-10-19 02:43  gregor
6810         * runops_cores.c, include/parrot/runops_cores.h:
6811         Bug fix (gcc doesn't complain, but MIPSpro does):
6813           * Added missing extern to runops_cores array declaration in
6814             include/parrot/runops_cores.h
6816           * Also added 'const' there and in runops_cores.c
6818 2001-10-18 15:18  gregor
6820         * .cvsignore, include/parrot/oplib/.cvsignore:
6821           * Ignore the vtable-related generated files.
6823 2001-10-18 15:14  gregor
6825         * core.ops:
6826           * left and right shifts now allow the 2nd argument to be a
6827         constant.
6829 2001-10-18 14:55  simon
6831         * make_vtable_ops.pl:
6832         This is C, not Perl. How on earth did that even compile?
6834 2001-10-18 14:54  simon
6836         * make_vtable_ops.pl:
6837         More vtable ops.
6839 2001-10-18 12:33  simon
6841         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6842         Initial stab at vtable opcode creation stuff.
6844 2001-10-18 02:15  gregor
6846         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6847         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6848         include/parrot/trace.h: Preparation for autogenerated runops cores:
6850           * Split tracing and runops core stuff out of interpreter.c into
6851             trace.c and runops_cores.c
6853           * Similar split of stuff from include/parrot/interpreter.h
6855           * Manifest and Makefile.in updates to make things still compile.
6857 2001-10-18 01:21  gregor
6859         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6861           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6863           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6865           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6867           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6869           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6870         with
6871             copy of $ops->preamble.
6873 2001-10-17 22:32  bdwheele
6875         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6876         request.
6878 2001-10-17 22:08  gregor
6880         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6881           * Now handles label-and-comment-only lines.
6883 2001-10-17 22:04  bdwheele
6885         * interpreter.c: added more comprehensive trace output
6887 2001-10-17 16:50  tom
6889         * Makefile.in: Removed the explicit rule for building mops.o from
6890         mops.c so that the implicit rule for compiling C files is used
6891         instead. This means that the chosen C flags are used, including any
6892         optimisation options.
6894 2001-10-17 15:24  tom
6896         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6897         op explosion logic to be able to handle exploding this:
6899           sub(i, i|ic, i|ic)
6901         into these:
6903           sub(i, i, i)
6904           sub(i, i, ic)
6905           sub(i, ic, i)
6907         without also generating this unwanted version:
6909           sub(i, ic, ic)
6911         The enhanced version rejects any expansion where there is more than
6912         one expanded argument and all the expanded arguments are constants.
6914 2001-10-17 14:20  simon
6916         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6917         Build fixes to use correct Perl version and ensure that things are
6918         running in the right directory.
6920         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6922 2001-10-17 13:16  simon
6924         * Makefile.in:
6925         core.pm is more critical than that.
6927 2001-10-17 13:05  simon
6929         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6930         "Explode" ops into multiple versions for different parameters.
6932         Courtesy of: Tom Hughes <tom@compton.nu>
6934 2001-10-17 12:54  simon
6936         * Makefile.in:
6937         Fix dependencies and cleaning.
6939 2001-10-17 12:45  simon
6941         * Configure.pl, Makefile.in:
6942         Fixes to make Parrot compile without the temporary build hack
6944         Courtesy of: Jason Gloudon <perl@gloudon.com>
6946 2001-10-16 20:43  gregor
6948         * Makefile.in:
6949           * Fixed dependencies for building Parrot/OpLib/core.pm
6951 2001-10-16 19:35  bdwheele
6953         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6954         added test, thanks to Alex Gough
6956 2001-10-16 16:49  bdwheele
6958         * core.ops: added opcode variants for constants and 3 arg concat
6960 2001-10-16 15:12  bdwheele
6962         * core.ops: added "set Sx,Sy" as a string copy to match the other
6963         register-to-register copies available
6965 2001-10-16 13:09  gregor
6967         * core.ops:
6968           * Added #include <sys/time.h> in the preamble for gettimeofday().
6970 2001-10-16 13:09  gregor
6972         * Makefile.in:
6973           * Removed cd t; make, which no longer applies
6975 2001-10-16 03:18  bdwheele
6977         * core.ops: fix save & restore operations to push correct type onto
6978         stack. [good eye to Jason Gloudon for noticing this]
6980 2001-10-16 01:38  bdwheele
6982         * core.ops, register.c, examples/assembly/fact.pasm,
6983         include/parrot/register.h: send in the clones:  clone routines for
6984         parrot + example program
6986 2001-10-15 22:37  gregor
6988         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6989         examples/assembly/Makefile, examples/assembly/bsr.pasm,
6990         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6991         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6992         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6993         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6994         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6995         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6996         t/test4.pasm, t/test5.pasm, t/trace.pasm:
6997           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6998         some
6999             renames so the names match what they demonstrate.
7001 2001-10-15 22:18  gregor
7003         * core.ops, t/test.pasm:
7004           * time_n uses gettimeofday() to get sub-second times.
7006           * t/test.pasm uses time_n directly rather than doing int stuff
7007         and
7008             converting to num later.
7010 2001-10-15 12:28  gregor
7012         * t/: test.pasm, test2.pasm, trace.pasm:
7013           * t/test.pasm prints using string constants instead of string
7014         regs.
7016           * t/test2.pasm assembles (using implicit op modes)
7018           * t/trace.pasm updated for new behavior of trace_ic, which does
7019         not
7020             require an 'end' after 'trace'.
7022 2001-10-15 00:47  gregor
7024         * core.ops, interpreter.c, test_main.c,
7025         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7026         PARROT_PROFILE_FLAG
7028           * New runops cores to handle profiling
7030           * Support for -p flag in test_prog to enable profiling
7032           * New profile_ic op to control profiling at run-time
7034 2001-10-14 21:54  gregor
7036         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7037         lib/Parrot/OpsFile.pm: Integrated op documentation.
7039           * core.ops now contains POD documentation of ops, interspersed
7040         with the
7041             ops themselves
7043           * Ops are organized into POD =head2 sections
7045           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7046         anything
7047             up to the first POD directive OR op definition.
7049           * docs/Makefile now generates core_ops.pod from core.ops vi
7050         perldoc -u.
7052 2001-10-14 11:58  simon
7054         * Makefile.in:
7055         Unbreak Digital Un^W^WTru64
7057 2001-10-14 11:00  simon
7059         * Configure.pl:
7060         Remove weird typo.
7062 2001-10-14 10:56  tom
7064         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7065         op_info.c no longer exists and op.h is no longer a generated file.
7067 2001-10-14 10:54  tom
7069         * Makefile.in: Added vtable.h to the list of things removed by the
7070         clean target.
7072 2001-10-14 01:43  gregor
7074         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7075         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7076         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7077         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7078         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7079         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7080         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7081         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7082         include/parrot/interpreter.h, include/parrot/op.h,
7083         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7084         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7085         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7086         Moby Patch:
7088           * basic_opcodes.ops and opcode_table replaced by core.ops
7090           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7091             and ops2c.pl. These convert *.ops to *_ops.c and
7092             include/parrot/oplib/*_ops.h
7094           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7096           * disassemble.pl modified to use
7098           * interpreter.c modified to use structures in core_ops.c instead
7099             of the old op_info and op_func stuff. We're not yet to the
7100             point of handling multiple oplibs at a time, but we are getting
7101             there...
7103             Fingerprinting stuff disabled for now. We used to go off
7104             opcode_table. We need to rethink this. I have some ideas to
7105             make it unnecessary, but it remains to be seen whether others
7106             will like the direction they take us.
7108             Termination condition for while(){} loop in runops is now
7109             (pc) instead of (*pc). Any op can cause a HALT by returning
7110             a NULL pointer. Ops end, bounds and trace all do this. So, now
7111             the 'end' op body is actually executed, although all it does
7112             is HALT.
7114           * Makefile.in modified to perform a test build using pbc2c.pl,
7115             which is the bytecode --> C compiler I've posted to the
7116             list before.
7118           * Op full names are now autogenerated. Op root names must not
7119             contain underscores, so some op renamings have happened.
7120             Such as clear_i becoming cleari.
7122 2001-10-13 11:49  simon
7124         * Configure.pl, MANIFEST:
7125         Make parrot actually build again.
7127 2001-10-12 21:34  dan
7129         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7130         opcodes
7132 2001-10-12 20:56  dan
7134         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7135         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7136         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7137         generic stack now in. We also have subroutines, of a simple sort!
7139 2001-10-12 19:15  tom
7141         * t/op/string.t: Improved string comparison tests try all string
7142         combinations with each of the comparison ops.
7144 2001-10-12 19:09  dan
7146         * interpreter.c: Properly sets up generic stack now
7148 2001-10-12 19:09  dan
7150         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7151         interpreter structure
7153 2001-10-12 18:59  dan
7155         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7156         changes to get the generic stack working
7158 2001-10-12 18:59  dan
7160         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7161         hints/vms.pl: Made the changes to figure out mask bits for various
7162         register and stack chunks
7164 2001-10-11 22:09  dan
7166         * docs/parrot_assembly.pod: Tossed the parameter for return
7168 2001-10-11 19:28  tom
7170         * strnative.c: Assignment, not comparison.  (Plus formatted for
7171         coding standards)
7173         Courtesy of Bryan C. Warnock
7175 2001-10-10 19:21  tom
7177         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7178         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7179         include/parrot/string.h, t/op/string.t: Added support for string
7180         comparisons and extended the comparison ops to include comparison
7181         of strings.
7183 2001-10-10 17:58  dan
7185         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7187 2001-10-10 17:54  dan
7189         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7190         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7191         vtable type entries properly
7193 2001-10-10 15:37  dan
7195         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7196         parse new vtable.tbl file now that I've actually checked *in* the
7197         new format vtable.tbl file...
7199 2001-10-10 15:32  dan
7201         * vtable.tbl: New Column to indicate the type of the vtabel entry
7202         so we can know how many slots it takes
7204 2001-10-10 05:26  thgibbs
7206         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7207         allow parrot to compile.  PACKAGE is not defined, therefore, I
7208         added a struct before it to have it not complain until we define
7209         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7210         semicolon at the end of the struct declaration.
7212 2001-10-10 05:09  thgibbs
7214         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7215         string constants of the form U"string" become unicode encoded
7216         parrot strings and the form N"string" become native encoded parrot
7217         strings.
7219         Courtesy of: Tom Hughes <tom@compton.nu>
7221 2001-10-10 04:55  dan
7223         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7224         support for generating the vtable function table offset macros
7226 2001-10-10 01:05  simon
7228         * t/op/integer.t:
7229         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7230         compiles into the mod op, not the cmod_i op, hence wasn't testing
7231         what it thought it was.
7233         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7235 2001-10-09 03:45  thgibbs
7237         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7238         assembler to generate unicode strings.
7240         Courtesy of: Tom Hughes <tom@compton.nu>
7242 2001-10-08 19:30  brentdax
7244         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7245         info for Parrot::Config to remember, more flexible test.c stuff
7247 2001-10-08 15:04  gregor
7249         * basic_opcodes.ops:
7250           * Removed trash from early mod_i experiments (pardon our dust)
7252 2001-10-08 14:56  gregor
7254         * basic_opcodes.ops:
7255           * Fixed a couple of typos.
7257 2001-10-08 14:45  gregor
7259         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7260         Arithmetic enhancements:
7262           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7264             NOTE: This "uncorrected mod" algorithm uses the C language's
7265         built-in
7266             mod operator (x % y), which is
7268                 ... the remainder when x is divided by y, and thus is zero
7269         when y
7270                 divides x exactly.
7271                 ...
7272                 The direction of truncation for / and teh sign of the
7273         result for %
7274                 are machine-dependent for negative operands, as is the
7275         action taken
7276                 on overflow or underflow.
7277                                                                      --
7278         [1], page 41
7280             Also:
7282                 ... if the second operand is 0, the result is undefined.
7283         Otherwise, it
7284                 is always true that (a/b)*b + a%b is equal to z. I both
7285         operands are
7286                 non-negative, then teh remainder is non-negative and
7287         smaller than the
7288                 divisor; if not, it is guaranteed only that the absolute
7289         value of the
7290                 remainder is smaller than the absolute value of the
7291         divisor.
7292                                                                      --
7293         [1], page 205
7295             This op is provided for those who need it (such as
7296         speed-sensitive
7297             applications with heavy use of mod, but using it only with
7298         positive
7299             arguments), but a more mathematically useful numeric mod based
7300         on
7301             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7303               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7304         Programming
7305                   Language*, Second Edition. Prentice Hall, 1988.
7307           * Added "corrected" mod_i:
7309             NOTE: This "corrected mod" algorithm is based on the C code on
7310         page 70
7311             of [1]. Assuming correct behavior of C's built-in mod operator
7312         (%) with
7313             positive arguments, this algorithm implements a mathematically
7314         convenient
7315             version of mod, defined thus:
7317               x mod y = x - y * floor(x / y)
7319             For more information on this definition of mod, see section 3.4
7320         of [2],
7321             pages 81-85.
7323             References:
7325               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7326                   Millennium* Springer, 1999.
7328               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7329         *Concrete
7330                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7332           * Added mod_n, using the same formula as above, but with FLOATVAL
7333             arguments.
7335           * Added cmod_n, using the C math library's fmod() function:
7337             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7338         library's
7339             fmod() function, which computes
7341                 ... the remainder of dividing x by y. The return value is x
7342         - n * y,
7343                 where n is the quotient of x / y, rounded towards zero to
7344         an
7345                 integer.
7346                                                 -- fmod() manpage on RedHat
7347         Linux 7.0
7349             In addition, fmod() returns
7351                 the remainder, unless y is zero, when the function fails
7352         and errno
7353                 is set.
7355             According to page 251 of [1], the result when y is zero is
7356         implementation-
7357             defined.
7359             This op is provided for those who need it, but a more
7360         mathematically
7361             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7362         and
7363             defined with y == 0 is provided by the mod_n op.
7365               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7366         Programming
7367                   Language*, Second Edition. Prentice Hall, 1988.
7369           * Added and modified tests as appropriate for the above.
7371 2001-10-08 08:49  thgibbs
7373         * include/parrot/exceptions.h, include/parrot/parrot.h,
7374         include/parrot/string.h, include/parrot/strutf16.h,
7375         include/parrot/strutf32.h, include/parrot/strutf8.h,
7376         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7377         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7378         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7379         strings for utf8, utf16, and utf32.
7381         Courtesy of: Tom Hughes <tom@compton.nu>
7383 2001-10-08 08:10  thgibbs
7385         * memory.c: Fixed uninitialized variables.
7387         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7389 2001-10-08 01:21  gregor
7391         * packfile.c:   * Casting a return value
7393           * Potential uninitialized variable fix
7395         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7397 2001-10-08 01:15  gregor
7399         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7400         a few tweaks of my own):
7402           * Line wrapping
7404           * Printf format fixes
7406         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7408 2001-10-07 22:39  thgibbs
7410         * build_interp_starter.pl: No longer adds (void*) casts to
7411         interp_guts.c function table as they are not necessary in ANSI C.
7413 2001-10-07 16:27  gregor
7415         * basic_opcodes.ops, interpreter.c, opcode_table,
7416         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7417         t/trace.pasm:
7418           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7419             interpreter->flags and set interpreter->resume_addr.
7421           * Two new runops core variants, so now we cover the relevant
7422             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7424           * Runops core selection that converts the flags into an index
7425         into
7426             a core table (runops_cores) to get the core function pointer.
7428           * A new trace_op variant that doesn't do bounds checking (used by
7429             the non-bounds-checking-but-tracing runops core).
7431           * PC is passed into the cores so that they can be used when
7432             resuming (they used to assume starting at the beginning of the
7433             code, which would thwart resumption).
7435           * runops() itself is changed to have a while() loop in it so that
7436             any time we drop out of the core, we'll resume if we have an
7437             interpreter->resume_addr set (after reselecting the core,
7438         though).
7440           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7441             interpreter->resume_addr. This is used by the new ops. The new
7442             ops still return the new PC as the next op (which MUST be an
7443             'end' op to force the core loop to terminate -- *pc being false
7444             is the only termination condition we can count on for all
7445         cores).
7447           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7448             bounds checking core selection.
7450           * test_prog now has a '-b' flag in addition to the '-t' flag.
7451         Now,
7452             bounds checking is off by default (I saw a performance boost:
7453             6.3 Mop/s with -b, 7.0 Mop/s without).
7455           * A new sample/test program: t/trace.pasm that twiddles the trace
7456             flag while it is running.
7458 2001-10-07 15:41  gregor
7460         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7461         include/parrot/.cvsignore, include/parrot/interpreter.h:
7462         Now that 0.0.2 is released, I can clear out the backlog of approved
7463         but uncommitted patches. Here's one Dan approved on 2001-09-21
7464         (Simplified DO_OP):
7466           * test_prog and pdump are linked with only the files the need,
7467         not
7468             al the files.
7470           * build_interp_starter.pl writes out op_info.[hc], too. These
7471         files
7472             contain op name, arg count and arg type information. This will
7473         be
7474             useful for multiple things in the future, including better
7475         trace
7476             output and the crystalizing loader.
7478           * The DO_OP macro is now simpler and doesn't require explicit
7479             temporaries.
7481           * interpreter.c is modified to use the new op info in tracing
7482         output.
7484           * The interpreter just points its opcode_funcs and opcode_info
7485             members at the default tables rather than allocating memory on
7486             the fly.
7488 2001-10-07 03:58  thgibbs
7490         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7491         comment and adding vtable.h to .cvsignore as it is produced by
7492         vtable_h.in
7494 2001-10-06 20:58  thgibbs
7496         * vtable.tbl: Added * to REGEX type.
7498         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7500 2001-10-06 13:41  simon
7502         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7503         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7504         Framework for vtable functions.
7506 2001-10-06 06:52  thgibbs
7508         * make_op_header.pl: Removed confusing and unused typedef.
7510 2001-10-06 06:31  thgibbs
7512         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7513         are no longer used.
7515 2001-10-06 06:26  thgibbs
7517         * disassemble.pl: Changed intval to op in disassembler.
7519 2001-10-06 06:21  thgibbs
7521         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7522         Assembler, local labels, and integer constants.
7524 2001-10-06 03:11  ask
7526         * Makefile.in: make `make test` actually run the tests on
7527         darwin/macosx
7529 2001-10-06 02:04  thgibbs
7531         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7532         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7533         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7534         include/parrot/register.h, lib/Parrot/Assembler.pm,
7535         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7536         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7537         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7538         type make. :)
7540 2001-10-06 02:02  thgibbs
7542         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7543         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7544         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7545         include/parrot/register.h, lib/Parrot/Assembler.pm,
7546         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7547         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7548         t/op/integer.t: oops...this messed something up.  I must have
7549         missed something in the patch...I have reverted.
7551 2001-10-06 01:57  thgibbs
7553         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7554         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7555         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7556         include/parrot/register.h, lib/Parrot/Assembler.pm,
7557         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7558         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7559         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7560         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7561         This patch ensures that all bytecode is of type opcode_t except for
7562         the constant table constants.  That means that almost all of the
7563         INTVALs in the code were replaced with opcode_t and the i pack type
7564         was replaced with the op pack type in calls to pack_arg and such.
7565         Also, since it has been declared that ALL integer constants are to
7566         be 32 bits, some test cases were changed to ensure that an integer
7567         constant was no bigger than 2 ** 31.
7569         process_opfunc.pl was also cleaned up to no longer look at either
7570         opcode_table or interp_guts.h but gather all of its information
7571         from Opcode.pm.
7573         The Assembler.pm module was changed to do late binding of arguments
7574         so that 0 could be treated like 0.0 without having to be so
7575         declared.  Also, only strings now use the [sc:N] intermediate form
7576         as it was unnecessary for integer and float types.
7578 2001-10-05 21:59  gregor
7580         * MANIFEST, languages/jako/Makefile:
7581         Fixed things due to the movement of little_languages/* to
7582         languages/jako.
7584 2001-10-05 18:31  gregor
7586         * MANIFEST:
7587         Updated MANIFEST to reflect recent additions for Jako.
7589 2001-10-05 17:54  gregor
7591         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7592         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7593         mops.jako, primes.jako, sub.jako:
7594           * Compiler:
7596               * User-defined subroutines.
7597               * Generates assembly code with the Jako code in comments.
7598               * "end;" no longer required at the end of programs.
7599               * Better handling of const-reg and reg-const.
7600               * Optimizes const-const operations to compile-time
7601         evaluations.
7602               * Constants in addition to variables.
7603               * Arithmetic fixes.
7604               * Allow leading minus signs in integer and number constants
7605         (ahem).
7606               * goto's.
7608           * New sample programs:
7610               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7611         example)
7612               * mandelbrot.jako (based on Leon Brocard's translation of
7613         Glenn Rhodes' C code)
7614               * mops.jako (based on t/test.pasm)
7615               * primes.jako (based on Leon Brocard's primes.pasm example)
7616               * sub.jako (demonstrates a simple user-defined subroutine)
7618 2001-10-05 12:54  gregor
7620         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7621           * Removed mysterious extra copy of code after POD.
7623 2001-10-05 12:46  gregor
7625         * basic_opcodes.ops, t/op/string.t:
7626           * Enabled the previously SKIPped test of printing string regs
7627         after
7628             clear_s
7630           * Made print_s do nothing if the STRING pointer in the register
7631         file
7632             is NULL.
7634 2001-10-04 21:19  dan
7636         * Configure.pl: VMS tweaks
7638 2001-10-04 21:17  dan
7640         * hints/vms.pl: Hints file for VMS
7642 2001-10-04 00:58  bdwheele
7644         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7645         Assembler which stopped equates from working.
7647 2001-10-03 21:50  gregor
7649         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7651           * More documentation updates for the packfile stuff.
7653 2001-10-03 21:37  gregor
7655         * docs/parrotbyte.pod:
7656           * Pointed the reader at Parrot::PackFile.
7658 2001-10-03 21:34  gregor
7660         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7661           * Updated documentation to match current implementation.
7663 2001-10-03 18:30  gregor
7665         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7666         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7667         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7668         t/op/basic.t:
7669           * Added new syntax to the assembler to allow square-bracket
7670             arithmetic expressions involving (global) labels, the current
7671             instructions base address ('@'), numeric constants (not
7672         equates)
7673             and basic arithmetic operators (+, -, *, / -- although + and -
7674             are likely to be the only ones used in practice).
7676           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7677         to
7678             fail (argument passing wasn't working).
7680           * Enabled t/op/basic.t's last test, which is actually a copy of
7681         the
7682             code from t/call.pasm. Now all tests there are enabled and
7683         working.
7685           * Added new example/test program t/call.pasm to demonstrate
7686         working
7687             macros and poor-man's subroutine calls
7689           * Added header comments to t/*.pasm
7691 2001-10-03 18:00  simon
7693         * ChangeLog:
7694         Needed, since it's in the MANIFEST.
7696 2001-10-03 17:56  simon
7698         * t/op/: string.t, time.t:
7699         Small fixes to help Win32 on its way.
7701 2001-10-03 17:41  simon
7703         * MANIFEST, README:
7704         Oops. Tiny bugs.
7706 2001-10-03 17:39  simon
7708         * MANIFEST, NEWS, README:
7709         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7710         think so!
7712 2001-10-03 17:21  simon
7714         * basic_opcodes.ops, interpreter.c, packfile.c:
7715         Evil printf bandaid (which allows Sparc64 to pass tests)
7717         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7719 2001-10-03 16:58  simon
7721         * string.c, t/op/string.t:
7722         chop fixes for n < 0 and tests
7724         Courtesy of: Alex Gough <alex@rcon.org>
7726 2001-10-03 15:51  thgibbs
7728         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7730         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7732 2001-10-02 17:48  dan
7734         * include/parrot/stacks.h: Fix typo in function name
7736 2001-10-02 17:35  dan
7738         * include/parrot/stacks.h: changed to support new stack stuff
7739         coming after 0.02
7741 2001-10-02 15:01  simon
7743         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7744         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7745         process_opfunc.pl, register.c, string.c, strnative.c,
7746         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7747         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7748         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7749         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7750         include/parrot/memory.h, include/parrot/packfile.h,
7751         include/parrot/parrot.h, include/parrot/register.h,
7752         include/parrot/stacks.h, include/parrot/string.h,
7753         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7755         The Great Renaming.
7757 2001-10-02 12:49  gregor
7759         * process_opfunc.pl:
7760           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7762 2001-10-02 12:40  simon
7764         * basic_opcodes.ops, process_opfunc.pl, register.c,
7765         include/parrot/register.h:
7766         Move preprocessing of register accessors to process_opfunc.pl
7768         Courtesy of: Jason Gloudon <perl@gloudon.com>
7770 2001-10-02 01:20  ask
7772         * README: add a few lines about lists.
7774 2001-10-01 23:00  brentdax
7776         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7777         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7779 2001-10-01 22:50  brentdax
7781         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7783 2001-10-01 21:51  simon
7785         * process_opfunc.pl:
7786         Michael Fischer's patch broke conditionals.
7788 2001-10-01 15:38  simon
7790         * process_opfunc.pl:
7791         Small hack to keep process_opfunc.pl from generating extra return()
7792         statements.
7794         Courtesy of: Michael Fischer <michael@visv.net>
7796 2001-10-01 15:32  simon
7798         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7799         Documentation fix.
7801         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7803 2001-10-01 01:49  simon
7805         * packfile.c:
7806         Simon is an idiot. Don't trust him with your code.
7808         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7810 2001-10-01 00:59  simon
7812         * Parrot/String.pm, lib/Parrot/String.pm:
7813         Was in manifest, but not in CVS.
7815 2001-09-30 21:25  simon
7817         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7818         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7819         Parrot/Assembler.pm, Parrot/PackFile.pm,
7820         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7821         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7822         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7823         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7824         include/parrot/packfile.h, include/parrot/string.h:
7825         Move NVs to the constant table.    * Changes to Types_pm.in to make
7826         life easier for some of the      packing/etc. I'm doing elsewhere.
7827         Also, we now pack 'n' as      'i'.
7829           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7830             eventually we can use all these tools together inside scripts
7831             rather than call out to the shell to run the programs.
7833           * As I was tracking down problems, I converted the internal
7834             documentation of the assembler to POD from comments.
7836           * Changed the numeric regexp in the assembler to detect leading
7837             signs and trailing exponents.
7839           * Updated basic_opcodes.ops to fetch numeric constants from the
7840             constant table.
7842           * Enhanced the disassembler in a number of ways to make my life
7843             easier while tracking down bugs (try it out). It now puts in
7844             labels for ops that are the destinations of flow control ops.
7846           * packfile.c now has a TRACE_PACKFILE switch that can be set
7847             to get it to print info as it processes. I needed this while
7848             debugging, but I can remove it or change it before committing
7849             if its a problem.
7851           * Updated pdump.c because it was missing a call to init_world().
7853           * Updated process_opfunc.pl to deal with numeric constants
7854             being stored in the constant table instead of inline.
7856           * Added multiple type support to Parrot/PackFile/Constant.pm
7858           * Added Parrot/String.pm, to be used for constants.
7860           * Added packfile.[hc] functions for allocating new constants
7861             of various types.
7863           * Made string_copy visible to the world in parrot/string.h.
7865         Wow.
7867         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7869 2001-09-29 15:56  gregor
7871         * languages/jako/Makefile:
7872         Removed assumption that '.' is on the path.
7874 2001-09-29 15:55  gregor
7876         * languages/jako/Makefile:
7877         Removed references to leibnitz test program.
7879 2001-09-29 15:21  thgibbs
7881         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7882         math ops args to work on Solaris.
7884 2001-09-27 15:15  thgibbs
7886         * assemble.pl: Added case insensitive matches to hex and binary
7887         characters
7889         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7891 2001-09-27 04:46  thgibbs
7893         * assemble.pl: This patch makes integer constants of the form
7894         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7895         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7896         returning 0.  To fix this, I added a from_binary function that
7897         would take a binary string and return its decimal representation.
7898         Now, instead of blindly calilng oct, it makes a distinction between
7899         0/0x numbers and 0b numbers.
7901 2001-09-26 19:30  thgibbs
7903         * assemble.pl: Error now returns a non-zero status
7905         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7907 2001-09-26 19:13  gregor
7909         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7910         interpreter.c, packfile.c, pdump.c, test_main.c,
7911         include/parrot/bytecode.h, include/parrot/interpreter.h,
7912         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7913         t/op/stacks.t:
7914           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7915             packfile/bytecode file from C. May be renamed in the future.
7917           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7918             of 'PackFile *', just like the interpreter, etc.
7920           * Constants are accessed via the interpreter's 'code' member
7921             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7922             provided to access constants by index and the number of
7923             constants, respectively (assumes a variable 'interpreter' of
7924             the appropriate type is in scope).
7926           * Byte Code is accessed via the interpreter's 'code' member.
7928           * Changed PackFile_Constant to point to a STRING instead of
7929         having
7930             members for the string_make() arguments. Also has a 'type' IV
7931             in preparation for allowing multiple types of constants in
7932             const_table.
7934           * Removed hardcoded example program from test_main.c. We have
7935             plenty of test programs elsewhere.
7937           * test_prog now uses a PackFile to deal with the program before
7938             sending it on to the interpreter.
7940           * Added missing 'end' ops to some tests in t/op/integer.t and
7941             t/op/stacks.t.
7943 2001-09-26 18:38  thgibbs
7945         * assemble.pl: Separated code into functions and added comments.
7947 2001-09-26 18:29  simon
7949         * config_h.in:
7950         Fix 64-bit chunk-base issue.
7952 2001-09-26 06:55  thgibbs
7954         * t/op/bitwise.t: Added end to bitwise tests.
7956 2001-09-26 00:54  dan
7958         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7959         and interpreter creation. Skeleton only, but it's something to peer
7960         at.
7962 2001-09-25 21:44  thgibbs
7964         * t/op/trans.t: Removed loops in transcendtal op test.
7966 2001-09-25 10:12  simon
7968         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7969         t/op/string.t, t/op/time.t:
7970         More tests
7972         Courtesy of: Alex Gough <alex@rcon.org>
7974 2001-09-24 19:08  gregor
7976         * t/op/number.t:
7977           * Enabled the clear_n test.
7979 2001-09-24 18:56  gregor
7981         * Parrot/.cvsignore:
7982           * Ignore the generated Types.pm file.
7984 2001-09-24 18:52  gregor
7986         * languages/jako/Makefile, t/op/number.t:
7987           * No need to skip the inc and dec numeric tests anymore. I fixed
7988         the
7989             assembler earlier today.
7991 2001-09-24 18:21  simon
7993         * MANIFEST, t/op/stacks.t:
7994         Oops.
7996 2001-09-24 18:19  simon
7998         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7999         include/parrot/exceptions.h, include/parrot/interpreter.h,
8000         lib/Parrot/Test.pm, t/op/string.t:
8001         1) captured error output, so can test errors, this might be bad,
8002         not sure.  2) basic tests for register stack frames, including some
8003         errors 3) I think we can stop skipping one of the string tests 4) I
8004         added some more substr tests, but substr was broken, so 5) changed
8005         substr to work with out of range values, or 6) throw an error if
8006         they're far too silly
8008         Courtesy of: Alex Gough <alex@rcon.org>
8010 2001-09-24 17:27  gregor
8012         * basic_opcodes.ops, opcode_table, t/op/number.t:
8013           * Op set_n was missing. Added it and a test for it. We now have
8014         the
8015             same int and num ops, except mod is int-only.
8017 2001-09-24 17:01  gregor
8019         * assemble.pl:
8020           * Fixed a typo: s/Line/line/
8022 2001-09-24 16:02  gregor
8024         * basic_opcodes.ops:
8025           * Fixed dec_n_nc opcode, which had += where it should have had
8026         -=.
8028 2001-09-24 15:34  gregor
8030         * assemble.pl:
8031           * Fixed handling of constants starting with '0' that should not
8032         be
8033             sent through oct(). For example 'set N2 0.1' was being
8034         interpreted
8035             as 'set N2 0' (naughty).
8037             As reported by Leon Brocard <acme@astray.com> in the comments
8038         of
8039             his mandelbrot.pasm example.
8041 2001-09-24 02:21  bdwheele
8043         * assemble.pl: fixed dumb code when --include was not specified.
8045 2001-09-24 02:17  simon
8047         * assemble.pl:
8048         Shit-sweeping.
8050 2001-09-24 01:56  bdwheele
8052         * assemble.pl: * Added --include=dir option to assembler to provide
8053         a path to look for included files.  * Error message of a macro is
8054         defined inside of a macro
8056 2001-09-23 21:29  bdwheele
8058         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8060 2001-09-23 15:50  simon
8062         * Configure.pl:
8063         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8065 2001-09-23 02:03  ask
8067         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8068         Courtesy of: acme@astray.com (Leon Brocard)
8070         rename 'test' executable used in Configure process to test_siz.
8072 2001-09-23 01:03  simon
8074         * process_opfunc.pl:
8075         iPaq fix. No, really.
8077 2001-09-23 00:47  simon
8079         * MANIFEST:
8080         Missed several, in fact.
8082 2001-09-23 00:46  simon
8084         * MANIFEST:
8085         Missed one.
8087 2001-09-22 21:13  simon
8089         * assemble.pl:
8090         Assembler register numbering rigour.
8092         Courtesy of: Leon Brocard <acme@astray.com>
8094 2001-09-22 18:20  simon
8096         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8097         lib/Test/Utils.pm:
8098         I'm sick of having to install Test::More everywhere. Temporary
8099         measure until we remove this silly dependency.
8101         Also a typo in Makefile.in which suggests some things were only
8102         happening correctly by sheer chance. :)
8104 2001-09-22 18:06  simon
8106         * README:
8107         test.pasm is dead, long like make test.
8109 2001-09-22 17:47  simon
8111         * t/op/number.t:
8112         De-fang overzealous floating point test.
8114 2001-09-22 17:39  simon
8116         * process_opfunc.pl:
8117         Remove hard-coded NV size assumption. Tru64 is nearly there!
8119 2001-09-22 17:18  simon
8121         * assemble.pl, disassemble.pl:
8122         More portability fixups.
8124 2001-09-22 16:44  simon
8126         * assemble.pl, Parrot/PackFile/Constant.pm,
8127         lib/Parrot/PackFile/Constant.pm:
8128         And I *think* this fixes Tru64.
8130 2001-09-22 16:37  simon
8132         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8134         Oops.
8136 2001-09-22 16:36  simon
8138         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8139         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8140         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8142         More removal of hard-coded pack formats.
8144 2001-09-22 15:21  simon
8146         * assemble.pl:
8148         Grrr. Why isn't this working?
8150 2001-09-22 15:18  simon
8152         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8153         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8155         Make assemble use the PackFile modules; also fixed some bugs in
8156         them.
8158 2001-09-22 14:38  simon
8160         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8162         Abstract the argument and opcode packing types and functions out
8163         into a separate module. This *should* help us maintain consistency
8164         when we change the various types.
8166 2001-09-22 00:46  brentdax
8168         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8169         test program finishes.
8171 2001-09-21 21:24  brentdax
8173         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8174         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8176 2001-09-21 21:09  gregor
8178         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8179         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8181           * Fixed pad calculation (similar to recent bug fix on C library)
8183 2001-09-21 20:23  simon
8185         * disassemble.pl:
8186         Pack types and sizes have gone askew.
8188 2001-09-21 20:18  brentdax
8190         * Configure.pl: Fix typo in setting stuff from the C test program
8192 2001-09-21 10:25  simon
8194         * basic_opcodes.ops, process_opfunc.pl:
8195         Document patches.
8197         Courtesy of: Leon Brocard <acme@astray.com>
8199 2001-09-21 06:06  ask
8201         * Config_pm.in, assemble.pl: fix 5.005_03.
8203 2001-09-21 06:03  ask
8205         * Configure.pl: make the ivsize detection work for us normal people
8206         without . in our PATH.  :-)
8208 2001-09-21 05:56  brentdax
8210         * test_main.c: Change _read to read for portability to Tru64
8211         (Damien Neil <neild@misago.org> and likely many others)
8213 2001-09-21 05:46  ask
8215         * Makefile.in: "update" target to update from cvs.
8217 2001-09-21 05:44  brentdax
8219         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8221 2001-09-21 02:43  brentdax
8223         * Configure.pl: Fix a typo that forced the -g flag on
8225 2001-09-20 22:41  dan
8227         * packfile.c: Had some no-value returns. Naughty
8229 2001-09-20 22:40  dan
8231         * t/test.pasm: Added labels to output
8233 2001-09-20 15:39  simon
8235         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8236         lib/Parrot/Test.pm:
8237         This patch does two only somewhat related things.
8239         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8240         = 2*sizeof(iv) to a PConfig-type computed value.
8242         Parrot/Test.pm:  Change it to run with the perl that was used to
8243         generate this version of Parrot.  This is useful if, for example,
8244         you want to use bleadperl to build and test parrot (e.g. to try out
8245         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8246         installed as the default 'perl' on your system.  Since perl-5.7.x
8247         is installed 'version-only', a plain 'perl' is quite likely to pick
8248         up the older perl in such cases. Such an older perl might well not
8249         understand pack('q') used in the assembler.
8251         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8253 2001-09-20 15:14  gregor
8255         * packfile.c:
8256           * Fixed a typo in pad calculation that throwing off unpack and
8257         pack.
8259 2001-09-20 15:03  thgibbs
8261         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8262         tests now cover all registers.
8264         Courtesy of: Damien Neil neild@misago.org
8266 2001-09-20 14:48  thgibbs
8268         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8269         machines.
8271 2001-09-20 14:35  simon
8273         * Configure.pl, assemble.pl:
8274         Pack IVs correctly.
8276         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8278 2001-09-20 14:06  gregor
8280         * languages/jako/jakoc:
8281           * Fixed a tyop in the string interpolation regex.
8283         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8285 2001-09-20 13:56  gregor
8287         * languages/jako/jakoc:
8288           * Updated jakoc to work with the single-destination comp ops.
8290 2001-09-20 05:08  bdwheele
8292         * assemble.pl: macro expansion.  Here's the test macro I was using:
8294         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8295         label.  testi       macro   num,got,want    print   "Test #"
8296         print   num     print   "..."   set     I32,want        set
8297         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8298         $end $ok:       print   "OK\n" $end:    endm
8300         It is invoked as:
8302         Test1:  testi   1,I3,I2
8304 2001-09-20 03:52  dan
8306         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8307         generic stack support
8309 2001-09-20 02:49  bdwheele
8311         * assemble.pl: Added include processing to assemble.pl  the syntax
8312         is: include 'file.to.include'
8314 2001-09-19 23:57  thgibbs
8316         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8317         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8318         function to only use 2 args, but the opcode_table still had three
8319         listed.  Fixed integer.t and number.t to use the new comparison
8320         operators.  Improved assemble.pl ability to grok operators by
8321         constructing a function set and comparing operator types.
8323 2001-09-19 22:42  dan
8325         * assemble.pl: Binmodes the output filehandles now. (No more
8326         bytecode munching...)
8328 2001-09-19 22:32  dan
8330         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8331         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8332         conditional branches take a single argument, and fall through
8333         otherwise.
8335 2001-09-19 21:19  thgibbs
8337         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8338         Sugalski
8340         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8342 2001-09-19 21:04  thgibbs
8344         * include/parrot/interpreter.h, Configure.pl,
8345         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8346         process_opfunc.pl: Changed opcode_t from a union to a configurable
8347         type.
8349 2001-09-19 20:54  thgibbs
8351         * assemble.pl: Missed a couple of changes for 64 bit portability.
8353 2001-09-19 20:37  gregor
8355         * packfile.c, include/parrot/packfile.h:
8356           * Added "methods" for setting and getting all the various
8357         attributes,
8358             probably sufficient for an assembler to use the library.
8360 2001-09-19 20:04  thgibbs
8362         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8363         a 64 bit platform manually change the  setting for 'i' from 'l' to
8364         'q'.  This should be automatically done by a Configure setting in
8365         the near future.
8367 2001-09-19 19:10  thgibbs
8369         * config_h.in: changed c++ comment to c comment.
8371         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8373 2001-09-19 17:48  gregor
8375         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8376         include/parrot/packfile.h:
8377           * C code for dealing with PackFiles as if they were objects.
8378         Mostly
8379             read-only interface for now, but it would not be hard to make
8380         it
8381             read-write. [packfile.c, include/parrot/packfile.h]
8383           * PackFile Dumping program that falls short of disassembling, but
8384             tests the above code and provides a hex listing of the byte
8385         code
8386             contents of the PackFile. [pdump.c]
8388           * New Makefile target 'pdump' for the above program, and related
8389             Makefile.in changes.
8391           * Updated MANIFEST to reflect the added files
8393           * Update .cvsignore to ignore pdump.
8395 2001-09-19 14:55  thgibbs
8397         * MANIFEST: Added number.t and trans.t to MANIFEST
8399 2001-09-19 05:40  thgibbs
8401         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8402         of union opcode_t.  I hope this will be more portable for set_n_nc.
8404 2001-09-19 05:39  thgibbs
8406         * t/op/integer.t: Added end to test 1.
8408 2001-09-19 00:09  thgibbs
8410         * t/op/number.t: Added end to each test
8412 2001-09-19 00:00  simon
8414         * t/op/number.t:
8415         Number tests! Wooo!
8417         Courtesy of: Damien Neil <neild@misago.org>
8419 2001-09-18 23:52  thgibbs
8421         * interpreter.c: Added casts to appropriate types to make -Wall not
8422         complain on certain printf formats
8424 2001-09-18 23:31  thgibbs
8426         * t/op/integer.t: Added end to each test.
8428 2001-09-18 22:54  thgibbs
8430         * t/op/trans.t: Added trans.t for transcendental math function
8431         tests.
8433 2001-09-18 22:28  simon
8435         * MANIFEST:
8436         MANIFEST updates. (And notice how I carefully snuck in the
8437         t/op/integer.t there...)
8439         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8441 2001-09-18 22:26  simon
8443         * t/: integer.t, op/integer.t:
8444         Except it doesn't go there. Duh.
8446 2001-09-18 22:25  simon
8448         * t/integer.t:
8449         Tests for integer ops.
8451         Courtesy of: Damien Neil <neild@misago.org>
8453 2001-09-18 22:03  thgibbs
8455         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8456         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8457         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8458         opcode_t union for operators.  This required a few perl script
8459         changes to output the correct type.  There were also some changes
8460         to allow -pedantic in gcc
8462 2001-09-18 21:07  gregor
8464         * disassemble.pl, Parrot/PackFile.pm,
8465         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8466         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8467         lib/Parrot/PackFile/Constant.pm:
8468         Converted the disassembler to use the Parrot::PackFile Perl classes
8469         to do its job.
8471 2001-09-18 19:18  brentdax
8473         * Makefile.in: Fix missing functions for real this time.  (I
8474         swear!)
8476 2001-09-18 18:49  brentdax
8478         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8479         <doughera@lafayette.edu>}
8481 2001-09-18 18:47  brentdax
8483         * Makefile.in: Fix bugs with missing math, etc. functions
8485 2001-09-18 14:42  thgibbs
8487         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8488         char*.
8490 2001-09-18 13:59  thgibbs
8492         * strnative.c: Removed unnecessary IV cast in concat.
8494 2001-09-18 13:58  thgibbs
8496         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8497         to concat test in string.t
8499 2001-09-18 12:07  gregor
8501         * languages/jako/jakoc:
8502           * var num ... no longer requires assignment
8503           * automatic casting between int and num
8504           * Fixed an error message
8506         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8508 2001-09-18 11:57  simon
8510         * TODO:
8511         Gonna have to start thinking of more things to do, soon.
8513 2001-09-18 10:42  simon
8515         * opcode_table:
8516         Introduce a little more tidiness into the opcode table.
8518 2001-09-18 03:06  gregor
8520         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8521         Resurrected register-const ops per Dan's request.
8523 2001-09-18 02:20  gregor
8525         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8526         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8527         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8528         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8529         Committed some files that were missed in the last *.h moving
8530         commit.
8532 2001-09-18 02:17  gregor
8534         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8536 2001-09-18 02:16  gregor
8538         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8539         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8540         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8541         missed in last commit for the move of *.h to include/parrot.
8543 2001-09-18 01:32  simon
8545         * t/Makefile:
8546         Trivial "clean" target to t/Makefile.
8548 2001-09-18 01:32  simon
8550         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8551         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8552         Change icky Digest::MD5 for nice simple unpack()
8554         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8556 2001-09-18 00:35  simon
8558         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8559         t/op/string.t:
8560         New concat op. Hey, if I'm going to talk about it in an article,
8561         better implement it...
8563 2001-09-17 22:54  gregor
8565         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8566         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8567         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8568         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8570         Functions for reading, writing and manipulating Parrot Pack Files.
8571         NOTE: This is a proposed term based on the fact that the file
8572         contains more than just byte code, and another language (Java)
8573         calls its binary files by a broader notion of what's in them (Class
8574         Files). Since Perl has packages, and since we use pack() to write
8575         them, we'll call them PackFiles (at least for now).
8577         That does, however, beg the question of file extension. Should we
8578         name the files "foo.pack" instead of "foo.pbc"?
8580 2001-09-17 20:23  thgibbs
8582         * interpreter.c, test_main.c: Uncuddled else statements for coding
8583         standard.
8585 2001-09-17 19:57  gregor
8587         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8588         Added a $revision variable, parsing of the CVS Id line in
8589         opcode_table and a &revision() subroutine.
8591 2001-09-17 19:53  gregor
8593         * opcode_table:
8594         Added a CVS Id tag to it.
8596 2001-09-17 18:58  thgibbs
8598         * interpreter.c: Cleared interpreter flags on creation.
8600 2001-09-17 18:38  gregor
8602         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8603         interpreter.h, test_main.c:
8604           * Provides macros in interp_guts.h for setting up arrays with
8605             op names and op arg counts (done via build_interp_starter.pl).
8607             These are used in the op tracing
8609           * The functions in bytecode.[hc] pass around a pointer to the
8610         length
8611             of the bytecode so that later when we get to runops, we know
8612             how much bytecode we've got and we can detect out-of-bounds
8613             jumping. The documentation is updated, too.
8615           * runops in interpreter.c now looks at interpreter->flags to
8616             decide if the core of runops should be runops_trace_core or
8617             runops_notrace_core. These new functions contain just the
8618             while-loop portion of runops. A new function runops_generic
8619             does any other setup (such as checking the bytecode
8620             fingerprint) or wrapup (such as complaining if we ended up
8621             out-of-bounds). NOTE: I didn't know what we should do for
8622             functions in here that are not part of the api, so I gave
8623             them docs with 'TODO' marks mentioning they really aren't
8624             part of the api. Guidance appreciated.
8626           * test_main.c now checks for '-t' arg and sets the tracing flag
8627             on its interpreter instance as appropriate.
8629 2001-09-17 17:47  bdwheele
8631         * assemble.pl: added some default equates, and if they're sub
8632         references, they are computed each time it is referenced.
8634 2001-09-17 16:15  dan
8636         * interpreter.h:
8638         Added flags to the interpreter structure and defined a few.
8640 2001-09-17 15:51  simon
8642         * bytecode.h, string.h:
8643         VAR_SCOPE on globals.
8645 2001-09-17 15:20  simon
8647         * MANIFEST:
8648         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8650 2001-09-17 15:05  gregor
8652         * t/jump.pasm, MANIFEST:
8653         Added a test program to demonstrate jump_i.
8655 2001-09-17 14:44  thgibbs
8657         * register.c: Fixed register pop not using correct offset (off by
8658         one).
8660         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8662 2001-09-17 13:56  thgibbs
8664         * interpreter.c, register.c: Added code to call Parrot_clear_s
8665         during initialization and Parrot_clear_s and Parrot_clear_p when a
8666         new stack frame is pushed.
8668 2001-09-17 13:51  gregor
8670         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8671         fib.jako, hello.jako: Added bench.pasm to "clean"
8673 2001-09-17 13:49  gregor
8675         * languages/jako/: jakoc, Makefile:
8676         Added CVS Id tag.
8678 2001-09-17 13:49  gregor
8680         * languages/jako/jakoc:
8681         Code streamlining.
8683         Courtesy of: Buggs <buggs-perl6@splashground.de>
8685 2001-09-17 13:29  gregor
8687         * MANIFEST, opcheck.pl:
8688         Added an opcode_table checker to make sure that all opcodes listed
8689         there conform to a simple set of naming rules (rules themselves, of
8690         course, are subject to change).
8692 2001-09-17 13:23  thgibbs
8694         * string.c: Modified string.c to correctly use the return value of
8695         realloc.
8697 2001-09-17 05:26  brentdax
8699         * Makefile.in: Making the Makefile smarter
8701 2001-09-16 23:06  brentdax
8703         * hints/mswin32.pl: Finishing the Configure hints
8705 2001-09-16 23:05  brentdax
8707         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8708         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8709         Configure hints, 5.005 compatibility, MANIFEST checking
8711 2001-09-16 19:25  bdwheele
8713         * assemble.pl: parrot assembly equates
8715 2001-09-16 18:03  gregor
8717         * Makefile.in:
8718         Added 'test' target to run new test suite.
8720 2001-09-16 17:33  simon
8722         * basic_opcodes.ops:
8723         'not' was being !, rather than ~. Too many Perl programmers here, I
8724         suspect.
8726         Courtesy of: Tom Hughes <tom@compton.nu>
8728 2001-09-16 17:21  simon
8730         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8731         t/op/string.t:
8732         A *real* test suite!
8734         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8736 2001-09-16 16:49  gregor
8738         * basic_opcodes.ops, opcode_table:
8739         At Dan's request, my new register-constant comparison ops have been
8740         removed.
8742 2001-09-16 16:40  gregor
8744         * languages/jako/jakoc:
8745         Fixed a copy-paste error in one of jakoc's error messages.
8747         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8749 2001-09-16 16:37  gregor
8751         * languages/jako/jakoc:
8752         Modified comparison implementation to use temporary registers in
8753         the case of register-constant and constant-register comparisons.
8754         This will allow the compiler to emit code that works when the
8755         constant-comparison ops are backed out of Parrot. If the ops ever
8756         make their way back in, then jakoc can emit more efficient code
8757         again.
8759 2001-09-16 16:19  bdwheele
8761         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8762         ... though not subroutine based like the documentation wants, they
8763         are local to the last non-local label defined.
8765 2001-09-16 14:02  simon
8767         * MANIFEST:
8768         And remember, when you add stuff, keep the manifest up to date.
8770 2001-09-16 02:55  ask
8772         * Makefile.in: a "shared" target for building libparrot.so
8774 2001-09-16 02:45  thgibbs
8776         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8777         global_setup.h, interpreter.c, interpreter.h, io.h,
8778         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8779         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8780         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8781         use the coding standard PDD.  Also changed Perl_Interp to
8782         Parrot_Interp.
8784 2001-09-16 02:21  ask
8786         * README: emphasise the bits about the license not being worked out
8787         yet.
8789 2001-09-15 22:21  simon
8791         * process_opfunc.pl:
8792         basic_opcodes.c should *scream* that it's autogenerated.
8794 2001-09-15 21:58  gregor
8796         * languages/jako/Makefile:
8797         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8798         compile.
8800 2001-09-15 21:58  gregor
8802         * languages/jako/: jako_compiler.pl, jakoc:
8803         Renamed the Jako compiler to jakoc from jako_compiler.pl
8805 2001-09-15 21:51  gregor
8807         * languages/jako/: Makefile, bench.jako, euclid.jako,
8808         jako_compiler.pl:
8809         Added a new bench.jako example based on Leon Brocard's Bench.java.
8811         Jako Compiler:   * fix a bug in assignment handling   * add some
8812         more conditionals to while and if   * revert to using implicit
8813         opcodes in a few cases that were broken     before the assembler
8814         patch went in recently.
8816 2001-09-15 21:46  gregor
8818         * assemble.pl, basic_opcodes.ops, opcode_table:
8819         New ops for register-constant INTEGER comparisons:
8821           {eq,ne,lt,le,gt,ge}_ic_ic
8823         New ops for register-register and register-constant NUMERIC
8824         comparisons:
8826           eq_nc_ic
8827           {ne,lt,le,gt,ge}_{n,nc}_ic
8829         Assembler:
8831           Allow uppercase and underscores in labels.
8833           Tweaks to the op infer code to make it work with the examples
8834         I've been
8835           creating.
8837 2001-09-15 19:16  thgibbs
8839         * README: Updated README to include Configure.pl
8841 2001-09-15 17:05  simon
8843         * build_interp_starter.pl:
8844         Casting happiness
8846         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8848 2001-09-15 16:45  simon
8850         * assemble.pl:
8851         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8853 2001-09-15 16:40  simon
8855         * t/Makefile:
8856         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8857         test Makefile
8859 2001-09-15 12:26  simon
8861         * memory.c:
8862         Fixed to match the coding standards.
8864         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8866 2001-09-15 01:57  ask
8868         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8869         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8870         to run Configure.pl
8872 2001-09-15 01:48  ask
8874         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8875         say so. :-)
8877 2001-09-15 01:42  gregor
8879         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8880         jako_compiler.pl:
8881         Compiler: Added variable interpolation in double-quoted strings.
8882         Examples: Made use of variable interpolation.
8884 2001-09-15 01:28  gregor
8886         * Parrot/.cvsignore:
8887         Ignore the Config.pm generated file.
8889 2001-09-15 01:22  gregor
8891         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8892         fib.jako, hello.jako, jako_compiler.pl:
8893         gnp: Added some more sample Jako files and added many more
8894         operators to the compiler. Preparations for supporting all the Math
8895         and bitwise ops.
8897 2001-09-14 19:06  simon
8899         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8900         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8901         lib/Parrot/Opcode.pm:
8902         Move common table reading stuff to a module.
8904         Courtesy of: Damien Neil <neild@misago.org>
8906 2001-09-14 17:42  simon
8908         * .cvsignore:
8909         More .cvsignore foo.
8911 2001-09-14 17:40  simon
8913         * assemble.pl, config_h.in:
8914         De-coredump
8916         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8918 2001-09-14 17:38  simon
8920         * assemble.pl, t/Makefile:
8921         Make assemble.pl look in its parent directory if the data files it
8922         needs aren't in the current one. Plus a Makefile that lets "make
8923         foo.pbc" work in t/
8925         Courtesy of: Rocco Caputo <troc@netrus.net>
8927 2001-09-14 16:29  simon
8929         * make_op_header.pl:
8930         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8931         probably segfault everywhere else.)
8933 2001-09-14 15:58  dan
8935         * languages/jako/: euclid.jako, jako_compiler.pl:
8937         Added in the first mini-language that targets Parrot.
8939         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8941 2001-09-14 15:20  dan
8943         * memory.c: Was misaligning returned memory. Fixed.
8945 2001-09-14 15:08  simon
8947         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8948         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8949         register.c, register.h, string.c, string.h, strnative.c,
8950         test_main.c:
8951         Fixes to include <parrot/foo.h>
8953         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8955 2001-09-14 12:05  simon
8957         * strnative.c:
8958         Appease Tru64.
8960 2001-09-14 12:01  simon
8962         * memory.c:
8963         Appease Tru64.
8965 2001-09-14 11:54  simon
8967         * interpreter.c:
8968         Remove lvalue cast.
8970 2001-09-14 11:45  simon
8972         * Configure.pl:
8973         Be 5.005 friendly.
8975 2001-09-14 11:39  simon
8977         * Configure.pl:
8978         Tru64 cc doesn't like -Wall
8980 2001-09-14 10:57  simon
8982         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8983         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8984         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8985         Configure now generates Makefile
8987         Courtesy of: Brent Dax <brentdax@cpan.org>
8989 2001-09-14 10:08  simon
8991         * t/test3.pasm:
8992         Add "end"
8994         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8996 2001-09-14 10:07  simon
8998         * assemble.pl:
8999                 * uses Getopt::Long for options.  -c is now --checksyntax.
9000         I wasn't
9001         sure how to keep compatible (patches welcome!)         * options
9002         include:                 --help                 --version
9003               --verbose                 --output=file
9004         --listing=file                 --checksyntax         * produces
9005         verbose listing of what the assembler saw :)  Only one nitpick with
9006         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9007         includes symbols which may be defined later in the file (i.e.
9008         forward jumps).
9010         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9012 2001-09-14 10:06  simon
9014         * strnative.c:
9015         substr growth fixup
9017         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9019 2001-09-14 10:03  simon
9021         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9022         register.c, string.c, strnative.c, test_main.c:
9023         Coding standards conformance
9025         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9027 2001-09-14 09:46  simon
9029         * assemble.pl:
9030         Make the assembler grok transcendental maths again.  Courtesy of:
9031         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9033 2001-09-13 17:29  simon
9035         * assemble.pl:
9036         Better opcode guessing, from Brian Wheeler. (Again!)
9038 2001-09-13 17:20  dan
9040         * docs/parrot_assembly.pod:
9042         Took out duplicate entries for iton, ntoi, and tostring.
9044 2001-09-13 17:16  simon
9046         * assemble.pl, basic_opcodes.ops, opcode_table:
9047         From Brian Wheeler:
9049         This patch gives the assembler support of '\a','\n','\r','\t', and
9050         '\\' in string constants.
9052         In addition, it changes (for all registers) "I reg %li is ..." to
9053         just the value of the register.  Printing constants is also
9054         supported, but alas, you have to specify the type (print_sc,
9055         print_ic, print_nc).
9057 2001-09-13 15:38  simon
9059         * assemble.pl:
9060         Why don't I actually *test* this stuff before applying it, eh?
9062 2001-09-13 15:34  simon
9064         * TODO, t/euclid.pasm:
9065         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9066         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9067         inference
9069 2001-09-13 14:42  simon
9071         * assemble.pl:
9072         A new assembler, from Brian Wheeler.
9074 2001-09-13 09:44  simon
9076         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9077         test_main.c:
9078         Two more from Tom Hughes:     Patch to fix C++ style comments
9079         Patch to remove use of structure constant/cast
9081 2001-09-13 09:39  simon
9083         * TODO, docs/strings.pod:
9084         Update string docs.
9086 2001-09-13 09:36  simon
9088         * Makefile, basic_opcodes.ops:
9089         Tom Hughes      Patch to link with the maths library Tom Hughes
9090          Patch to fix += on rvalue
9092 2001-09-13 08:57  simon
9094         * MANIFEST:
9095         I guess nobody's been using the nightly builds...
9097 2001-09-13 08:27  simon
9099         * assemble.pl, basic_opcodes.ops, opcode_table:
9100         Bitwise ops, from Brian Wheeler.
9102 2001-09-13 08:23  simon
9104         * .cvsignore, t/.cvsignore:
9105         .cvsignore's, from Gregor Purdy.
9107 2001-09-13 08:22  simon
9109         * Makefile:
9110         Euclidean test and test output rearranging from Gregor Purdy.
9112 2001-09-13 08:21  simon
9114         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9115         Math ops from Gibbs Tanton.
9117 2001-09-13 08:14  simon
9119         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9120         t/test2.pasm:
9121         String substr op; also rearranged "encoding" to be a vtable
9122         pointer, not an array index. Haven't changed docs to reflect this,
9123         oops.
9125         Simon
9127 2001-09-12 19:48  dan
9129         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9130         Gregor Purdy
9132 2001-09-12 19:39  dan
9134         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9136 2001-09-12 19:23  dan
9138         * interpreter.h, parrot.h: Quick placeholder entry for string
9139         function tables
9141 2001-09-12 18:58  dan
9143         * memory.c: Added in a cast to make gcc happy.
9145 2001-09-12 16:44  dan
9147         * docs/parrot_assembly.pod:
9149         PDD describing parrot's assembly language and the opcodes in it
9151 2001-09-12 14:20  dan
9153         * memory.c:
9154         Fixed alignment issues with allocation
9156 2001-09-12 10:54  simon
9158         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9159         make_op_header.pl, opcode_table, process_opfunc.pl:
9160         Brian Wheeler's big patch:
9162         * Changes the opcode_table file to provide additional information
9163         about the operands.  Case shouldn't be a problem since that data
9164         never becomes a C symbol [this is pretty much as before]
9166         * Padding errors solved:  assemble.pl and bytecode.c were padding
9167         the constants incorrectly.  It should have been 4-(size % 4), not
9168         just (size % 4).  It is now fixed in both places.
9170         * assembler has less special cases, and should be easier to hang
9171         error checking on
9173         * disassembler dumps constant table and the format is a bit
9174         prettier, including register names, etc.
9176 2001-09-11 23:21  dan
9178         * build_interp_starter.pl, interpreter.c:
9180         Abstracted the runops function core into a macro for easy
9181         replacement later.
9183 2001-09-11 10:43  simon
9185         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9186         Configure system from Brent Dax <brentdax@cpan.org>
9188 2001-09-11 09:38  simon
9190         * assemble.pl, test.pbc:
9191         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9192         assembler deferred output
9194         Also got rid of the bytecode, since that's probably way out of
9195         date.
9197 2001-09-11 09:26  simon
9199         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9200         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9201         patch
9203 2001-09-10 23:20  simon
9205         * MANIFEST:
9206         And that move needs a MANIFEST change. So many things to remember!
9208 2001-09-10 23:18  simon
9210         * t/: test.pasm, test2.pasm, test3.pasm:
9211         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9213 2001-09-10 23:18  simon
9215         * test.pasm, test2.pasm, test3.pasm:
9216         Move tests to t/
9218 2001-09-10 23:04  dan
9220         * test3.pasm:
9222         Register push/pop test
9224 2001-09-10 22:47  simon
9226         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9227         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9228         (Modified to avoid conflict with Dan's changes.)
9230 2001-09-10 22:45  dan
9232         * disassemble.pl:
9234         Happier about blanks in opcode_table
9236 2001-09-10 22:40  dan
9238         * interpreter.c, register.c:
9240         Yanked out debugging code, since these work OK. The bug I want is
9241         elsewhere.
9243 2001-09-10 22:30  simon
9245         * MANIFEST:
9246         Uhm. We want make_op_header.pl. We really, really do.
9248 2001-09-10 22:26  simon
9250         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9251         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9252         opcode_table, process_opfunc.pl:
9253         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9254         This means we can add lots more opcodes without fiddling about with
9255         the numbers. Hooray!
9257         Don't forget that "end" needs to be op zero, else the interpreter
9258         falls off the end of the code. This is Bad, and I wonder if there's
9259         a way around it.
9261 2001-09-10 19:49  simon
9263         * MANIFEST, make_op_table_build.pl:
9264         Hey! This doesn't do anything...
9266 2001-09-10 19:46  simon
9268         * Makefile:
9269         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9271 2001-09-10 18:31  simon
9273         * MANIFEST:
9274         You know what this means...
9276 2001-09-10 18:30  simon
9278         * assemble.pl:
9279         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9280         wait for a release...? :)
9282 2001-09-10 18:13  simon
9284         * interpreter.c:
9285         Bad Dan! No cookie!
9287 2001-09-10 17:56  simon
9289         * README:
9290         A *real* README file, which doesn't claim it isn't for public
9291         consumption.
9293 2001-09-10 17:02  simon
9295         * TODO:
9296         More things to do.
9298 2001-09-10 16:56  dan
9300         * TODO: Added in assembler gripe. Also added a few blank lines for
9301         clarity
9303 2001-09-10 16:49  dan
9305         * register.h, register.c: Renamed the core functions so the opcodes
9306         can find 'em OK. (There were some conflicts)
9308 2001-09-10 16:48  dan
9310         * basic_opcodes.ops, opcode_table: Added register window ops
9312 2001-09-10 11:07  simon
9314         * TODO:
9315         Trivial TODO list.
9317 2001-09-10 11:05  simon
9319         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9320         note "-s" flag to test prog.
9322 2001-09-10 11:01  simon
9324         * docs/strings.pod:
9325         New string documentation.
9327 2001-09-10 11:01  simon
9329         * basic_opcodes.ops, opcode_table:
9330         String ops.
9332 2001-09-10 10:53  simon
9334         * global_setup.c:
9335         More string fu.
9337 2001-09-10 10:51  simon
9339         * memory.h:
9340         Just some more aliases for now. Used by string handling stuff.
9342 2001-09-10 10:50  simon
9344         * assemble.pl, bytecode.c, bytecode.h:
9345         Temporary hack to store string constants in bytecode and recreate
9346         them at runtime.
9348 2001-09-10 10:48  simon
9350         * op.h:
9351         op.h is now generated by the Makefile; remove it.
9353 2001-09-10 10:47  simon
9355         * Makefile:
9356         clean and op.h Makefile targets.
9358 2001-09-10 10:45  simon
9360         * string.c, string.h, strnative.c:
9361         More string vtable stuff.
9363 2001-09-07 21:07  dan
9365         * assemble.pl:
9367         Much less picky about whitespace in the opcode_table now. (Doesn't
9368         whine on blank lines)
9370 2001-09-07 16:23  dan
9372         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9373         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9374         this takes) Added global_setup.h to declare init_world function
9376         Moved variable declarations out of the interpreter loop for small
9377         speed boost.
9379         Changed end opcode to now be opcode #0. A function is provided for
9380         it, but isn't ever executed.
9382         When the interpreter sees an opcode 0 in the stream it means the
9383         end of stream. Things were coring on Cygwin otherwise. (I think I
9384         was dereferencing a zero, which is bad)
9386 2001-09-06 22:07  dan
9388         * basic_opcodes.ops, process_opfunc.pl:
9390         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9391         are minor changes now that things are in a fixed state.
9393 2001-09-06 16:13  dan
9395         * basic_opcodes.c, test_opcodes.c:
9396         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9398         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9399         should be nuked. So it is. :)
9401 2001-09-06 03:35  dan
9403         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9404         Scripts to build the header file that holds the function table
9405         creation code, as well as the script to turn an opcode file to C
9406         source. (And the basic opcode functions turned into an opcode
9407         source file)
9409 2001-09-06 03:31  dan
9411         * Makefile, interpreter.c:
9412         Changes to support the autogeneration of the opcode function
9413         pointer table in interpreter.c, along with the changes to the
9414         Makefile needed.
9416 2001-09-05 13:27  simon
9418         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9419         docs/parrotbyte.pod, docs/vtables.pod:
9420         Added stubs for the documents; working on them this week. (What's
9421         left of it.) config.h change is just to type VTABLE, and the
9422         bytecode thing you might want to revoke. It's apidoc for the
9423         functions in there.
9425 2001-09-03 18:26  simon
9427         * docs/strings.pod:
9428         A start on the string API documentation.
9430 2001-09-03 17:43  simon
9432         * opcode_table:
9433         Since we specify the opcode number, we can rearrange to a more
9434         human-friendly ordering.
9436 2001-09-03 17:42  simon
9438         * basic_opcodes.c:
9439         Coupl'a logic bugs. (I think)
9441 2001-09-03 17:41  simon
9443         * string.c, string.h, strnative.c:
9444         Tidying up the string vtables.
9446 2001-09-03 17:38  simon
9448         * make_op_header.pl:
9449         Spit out the whole of op.h, not just the bit in the middle.
9451 2001-08-29 13:16  ask
9453         * README: it seems like we indeed can commit. What about sending
9454         commit mails?
9456 2001-08-29 13:07  simon
9458         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9459         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9460         global_setup.c, interpreter.c, interpreter.h, io.h,
9461         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9462         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9463         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9464         test.pbc, test_main.c, test_opcodes.c:
9465         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9466          I'm still working on the string stuff, though.
9468 2001-08-29 12:44  ask
9470         * README: update README with list address
9472 2001-08-29 12:36  ask
9474         * README: first readme.