[PDD] Add docs for the Parrot_PMC_push_* and Parrot_PMC_pop_* functions
[parrot.git] / ChangeLog
blob3170e7c97c24955a1935e6dd5239f50fe61e9053
1 #1 $Id$
3 2010.03.16     cotto
4         * Released 2.2.0
5         See NEWS for more.
7 2010.02.16     darbelo
8         * Released 2.1.0
9         See NEWS for more.
11 2010.01.19     chromatic
12         * Released 2.0.0
13         See NEWS for more.
15 2009.12.15     Gerd
16         * Released 1.9.0
17         See NEWS for more.
19 2009.11.17     barney
20         * Released 1.8.0
21         See NEWS for more.
23 2009.10.20     dukeleto
24         * Released 1.7.0
25         See NEWS for more.
27 2009.9.15     particle
28         * Released 1.6.0
29         See NEWS for more.
31 2009.8.18     Whiteknight
32         * Released 1.5.0
33         See NEWS for more.
35 2009.7.21     cotto
36         * Released 1.4.0
37         See NEWS for more.
39 2009.06.16    Whiteknight
40         * Released 1.3.0
41         See NEWS for more.
43 2009.05.19    Infinoid
44         * Released 1.2.0
45         See NEWS for more.
47 2009.04.21    fperrad
48         * Released 1.1.0
49         See NEWS for more.
51 2009.03.17    allison
52         * Released 1.0.0
53         See NEWS for more.
55 2009.02.17    kjs
56         * Released 0.9.1
57         See NEWS for more.
59 2009.01.20    chromatic
60         * Released 0.9.0
61         See NEWS for more.
63 2008.12.16    Whiteknight
64         * Released 0.8.2
65         See NEWS for more.
67 2008.11.18    chromatic
68         * Released 0.8.1
69         See NEWS for more.
71 2008.10.21    particle
72         * Released 0.8.0
73         See NEWS for more.
75 2008.09.16    pmichaud
76         * Released 0.7.1
77         See NEWS for more.
79 2008.08.19    rgrjr
80         * Released 0.7.0
81         See NEWS for more.
83 2008.07.15    barney
84         * Released 0.6.4
85         See NEWS for more.
87 2008.06.17    smash
88         * Released 0.6.3
89         See NEWS for more.
91 2008.05.20    chromatic
92         * Released 0.6.2
93         See NEWS for more.
95 2008.04.15    particle
96         * Released 0.6.1
97         See NEWS for more.
99 2008.03.18    bernhard
100         * Released 0.6.0
101         See NEWS for more.
103 2008.02.20    pmichaud
104         * Released 0.5.3
105         See NEWS for more.
107 2008.01.15    rgrjr
108         * Released 0.5.2
109         See NEWS for more.
111 2007.12.18    jonathan
112         * Released 0.5.1
113         See NEWS for more.
115 2007.11.20    chromatic
116         * Released 0.5.0
117         See NEWS for more.
119 2007.10.17    coke
120         * Released 0.4.17
121         See NEWS for more.
123 2007.09.18    particle
124         * Released 0.4.16
125         See NEWS for more.
127 2007.08.22    pmichaud
128         * Released 0.4.15
129         See NEWS for more.
131 2007.07.17    particle
132         * Released 0.4.14
133         See NEWS for more.
135 2007.06.19    allison
136         * Released 0.4.13
137         See NEWS for more.
139 2007.05.15    chromatic
140         * Released 0.4.12
141         See NEWS for more.
143 2007.04.17    mdiep
144         * Released 0.4.11
145         See NEWS for more.
147 2007.03.20    coke
148         * Released 0.4.10
149         See NEWS for more.
151 2007.3.10     coke
152         * removed parakeet
154 2007.02.22    pmichaud
155         * Released 0.4.9
156         See NEWS for more.
158 2007.01.17    chromatic
159         * changed 'name' method on namespaces to 'get_name' per pdd21
161 2007.01.16    particle
162         * Released 0.4.8
163         See NEWS for more.
165 2006.12.12    particle
166         * added C<isnull> opcode
168 2006.11.14    chip
169         * Released 0.4.7
170         See NEWS for more.
172 2006.11.07      tewk
173         * added :init pragma functionality to subs
175 2006.10.28      jonathan
176         * added :vtable pragma functionality to subs
178 2006.09.18    chromatic
179         * added Parrot::Embed under ext/Parrot-Embed
181 2006.08.18    leo
182         * remove the None PMC - if needed it can trivially be reimplemented
183           in languages from r14189
185 2006.08.16    creiss
186         Merged Software Transactional Memory branch into trunk, adds:
187         * several new opcodes whose names start with stm_
188         * read-only PMC support
189         * several new PMC types (whose names start with STM*)
190         * support for threads (again)
192 2006.08.08    chip
193         * Released 0.4.6
194         See NEWS for more.
196 2006.08.02    chip
197         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
198         there are opcodes now that want the real "in PMC".
199         * namespace and global opcodes now accept name arrays again, as
200         well as keys; the corresponding namespace PMC methods are gone.
202 2006.07.21    leo
203         * Parrot_exit, Parrot_on_exit take now an Interp * argument
205 2006.07.25    chip
206         * add experimental op find_type_i_p
207         * fix longstanding bug that sometimes didn't encode pasm keys as
208         Key PMCs (specifically "[S0]" and "['stringliteral']").
210 2006.07.24    chip
211         further implementation of new pdd21:
212         * new opcodes {get,set}*global
213           (old {find,store}*global will be supported for a short while)
215 2006.07.20    audreyt
216         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
217           (or some such --leo)
218           (at the moment code is checking for 2.0 -- ambs)
220 2006.07.17    chip
221         partial implementation of new pdd21:
222         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
223         * get_namespace and find_global opcodes no longer accept arrays
224           of strings.  To use arrays, call namespace object methods.
226 2006.06.19    leo
227         * Released 0.4.5
228         See NEWS for more.
230 2006.06.03    leo
231         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
233 2006.05.14    leo
234         * Released 0.4.4
235         See NEWS for more.
237 2006.04.30    bernhard
238         * Make the Perl PMCs dynamic and move them to src/dynpmc
240 2006.04.02    leo
241         * Released 0.4.3
242         See NEWS for more.
244 2006.03.06    leo
245         * Shifted argument type bits left by 2 according to r11754
246           change of docs/pdds/pdd03_calling_conventions.pod
247         * if you are creating PASM then code needs adjustment
249 2006.02.22    leo
250         * Released 0.4.2
251         See NEWS for more.
253 2006.01.16    bernhard
254          * rename src/dynclasses to src/dynpmc
255          * rename src/classes to src/pmc
257 2006.01.15    leo
259          * find_global and friends returns a .Null PMC instead of .Undef on
260           lookup failure, iff lookup exceptions are off
262 2006.01.08    leo
263         * Released 0.4.1
264         See NEWS for more.
266 2005.12.28    particle
267         * renamed all .imc files to .pir
268         * modified all doc references to .pir as well
270 2005.12.13    particle
271         * moved jit/ directory to src/jit/
273 2005.12.12    particle
274         * moved io/ directory to src/io/
275         * moved classes/ directory to src/classes/
276         * moved dynclasses/ directory to src/dynclasses/
278 2005.12.08    particle
279         * moved types/ directory to src/types/
280         * moved pf/ directory to src/packfile/
281         * moved ops/ directory to src/ops/
283 2005.12.08    particle
284         * moved charset/ directory to src/charset/
285         * moved encodings/ directory to src/encodings/
287 2005.12.07    particle
288         * moved imcc/ directory to compilers/imcc/
290 2005.12.06    particle
291         * moved util/ directory to tools/util/
292         * removed imcc/examples/ directory
293         * moved ast/ directory to compilers/ast/
295 2005.12.05    particle
296         * moved imcc/docs/ directory to docs/imcc/
297         * moved build_tools/ directory to tools/build/
298         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
300 2005.12.04    leo
301         * Released 0.4.0
302         * See NEWS for changes
304 2005.11.06    leo
305         * Released 0.3.1
306         * See NEWS for changes
308 2005.10.01    leo
309         * Released 0.3.0
310         * See NEWS for changes
312 2005.08.05    leo
313         * Released 0.2.3
314         * See NEWS for changes
316 2005.07.03    leo
317         * Released 0.2.2
318         * See NEWS for changes
320 2005.06.04    leo
321         * Released 0.2.1
322         * allow short names for object attributes
323         * string encoding and charset can now be set independently
324         * experimental mmap IO layer for slurping files
325         * enable compile opcode support for compilers written in PASM/PIR
326         * improved HLL support with .HLL and n_operators pragmas
327         * simplified hash code
328         * more strength reduce optimizations
329         * distinct debug and trace flag settings
330         * glob support in PGE
331         * new character classification opcodes and interfaces
332         * numerous bug fixes and enhancements
334 2005-05-08    leo
335         * Released 0.2.0
336         * parrot repository is now under subversion
337         * MMD (Multi Method Dispatch) enhanced
338         * new unary and infix opcodes that return new result PMCs
339         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
340         * more unification of PMCs and ParrotObjects
341         * tailcalls for functions and methods
342         * PGE (Parrot Grammar Engine) reworked
343         * Pugs creates Parrot code and Pugs is a registered compiler now
344         * new languages/lisp
345         * the usual bug fixes and improvements
347 2005-03-06    leo
348         * Released 0.1.2
349         * big rewrite of string code, not yet finished but ...
350         * partial implementation of a generational garbage collector
351         * indirect register frame addressing
352         * .return(args) PIR syntax
353         * moved most of the Python code to dynclasses
354         * a lot more Python functionality
355         * precalculate opcodes with all constants
356         * PGE - Parrot Grammar Engine
357         * scalar classes refactoring
358         * much more tests and big test system cleanup
359         * improved documentation
360         * and as always a lot more
362 2004-10-09    leo
363         * Released 0.1.1
364         * Need Perl 5.6 now for building
365         * Basic AST support, PAST file parser, bits of code generation
366         * BigInt PMC using GMP
367         * Complex PMC
368         * Dynamic loading improved including bundles of PMC classes
369         * Experimental support for "make install"
370         * IA64 and hppa JIT support
371         * ICU unicode support
372         * IO layer handling code
373         * IO readline and buffered IO fixes
374         * Incremental GC
375         * Internal pythonic functions: filter, map, reduce, max, min ...
376         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
377         * Library updates, Stream and SDL library
378         * MMD - multi method dispatch for binary vtable methods
379         * Many new array PMCs
380         * Method call syntax in PIR obj."meth"(...)
381         * More OS stuff: stat, exec, system, gmtime, piped read and write
382         * New Python PMCs like Enumerate, None
383         * Non-branching compare opcodes
384         * PIR support for += and friends
385         * Python language subdir
386         * Python types mapped to existing PMCs
387         * Slices and range support
388         * Tons of bug fixes, documentation updates, new tests
389         * Win32 COFF exec support
390         * ... and a lot more
392 2004-02-29    leo
393         * Released 0.1.0
394         * "Ladies and gentlemen, I give you... objects!"
395         * Huge documentation overhaul
396         * More supported platforms, s. PLATFORMS
397         * Basic thread support for pthread based architectures
398         * Basic event handling for timers and signals including:
399         * PASM callbacks for NCI (native C) functions.
400         * Improved platform configuration
401         * COW stacks now working, stacks code redone
402         * Structure handling vastly improved
403         * Random PMC and rand primitives
404         * Better subroutine call syntax in PIR
405         * Make PIR subroutines compliant with pdd03
406         * Improved profiling (DOD, GC timings)
407         * Hash code improvements, incl. random key order support
408         * Experimental freeze/thaw code for some PMC types
409         * IO improvements for buffered layer and Win32
410         * String iterators
411         * String bitwise vtables
412         * Many new opcodes
413         * Support for JIT, where malloced memory isn't executable
414         * Priority DOD scheme for objects that need timely destruction
415         * Improved bytecode loading (e.g. onLoad functions)
416         * Language updates: forth, Perl6/P6C, m4
417         * Libraries: Getopt_Long, SDL, Dumper, Sort
418         * new JAPH examples
419         * Unified imcc and parrot test handling
420         * Many new tests (make test reports 1386 tests)
421         * Numerous bug fixes
424 2003-10-31    leo
425         * Released 0.0.13
426         * Yep thirteen - haunted by the ghost of 0.0.12
427         * Build imcc as parrot
428         * Objects more finished
429         * Delegate vtable methods to byte code
430         * Binary multi-method dispatching
431         * Isa and does methods for PMCs
432         * Call byte code from C
433         * Start of extension interface
434         * Experimental struct handling
435         * Catch access to NULL PMCs
436         * Experimental network socket interface code and opcodes
437         * IO fixes and improvements
438         * Dynamic opcode libraries
439         * Fix-assigned opcode numbers
440         * Argument flattening for function calls
441         * More native call interface (NCI) signatures
442         * Ncurses, postgres, and pcre interface libraries
443         * Forth language is vastly improved
444         * BSD and Win32 build improvements
445         * Many new tests and fixes
447 2003-10-22    melvin
448         * imcc moved from parrot/languages/ to parrot/
450 2003-09-20    sfink
452         * updated the native_pbc test files (from Leo)
453         * built 0.0.11.1 release tarball
455 2003-09-20    sfink
457         * CHANGES BUNDLED INTO 0.0.11:
458         * Executable output
459         * Dynamic PMC registration
460         * Trial exception system
461         * Beginnings of object system
462         * Iterators
463         * Ordered hashes
464         * I/O system improvements
465         * References
466         * Documentation for basic PMC types
467         * IMCC support of Parrot Calling Conventions
468         * Runtime loading of chartypes (and other string improvements)
469         * Conditional breakpoints
470         * Dramatically accelerated sweeps for finalizable objects
471         * Small PMCs (PMCs split into core and extensions)
472         * Loadable bytecode packfiles
473         * Constant PMCs
474         * Sub variants that deal with the stack correctly
475         * Switched runops core
476         * Line numbers in warnings
477         * Environment access
478         * Many documentation cleanups
479         * Conversion to CPS style!
480         * BASIC debugger and many other wacky features
481         * Filename, line number parsing support in IMCC
483 2003-07-21 17:31 chromatic
484         * applied copyright patch from Josh Wilmes
486 2003-06-14 13:50 dan
487         * Moved the registers out of the context structure, since they
488           really aren't context
489         * Changed the register stack frames to hold only 16 registers
490           rather than 32, added half-set push and pop ops, and reworked
491           the full set push/pops to do two half-set push/pops. Should
492           speed up saving register data on calls, since we usually only
493           care about the top half of the registers anyway.
494         * Started committing some of the new class/object framework
495         * Remembered to finally start updating the Changelog
497 2003-03-18 03:50  ask
499         * Various files
500           Update Yet Another copyright statements to reflect the (no longer
501           so) shiny new year.
503 2003-03-11 22:06  chip
505         * Configure.pl: print help on non-option command line args
507 2002-12-18 20:38  sfink: changes since 0.0.8
509         - Allow suppression of cgoto core to save memory during compile
510         * Native function calling interface
511         * Major rewrite of stack and list aggregates
512         - Scalar PMC added
513         * Scratchpads implemented
514         - Win32 libraries
515         - Internal memory subsystem documentation
516         * Preliminary DotGNU support
517         - Packfile fingerprinting
518         * Buffer/PMC unification (into PObjs)
519         * stabs debugging information support
520         * Major Jako overhaul, including:
521           - imcc integration
522           - native function calling
523         - Perl6 string interpolation
524         - languages/regex now targets IMCC
525         * Optional Lea memory allocator
526         * Full sprintf implementation
527         * Many, many new tests
528         * Miniparrot
529         - exchange ops
530         - runtime-controllable gc debugging
531         * PMC properties
532         - Crash info
533         * JIT: various improvements
534           - register usage tracking
535           - block register allocation
536           - optimizations
537           - more jitted ops
538           - restartable
539           - architecture abstraction layer
540           - debugging via GDB
541         * Beginning support for extensible packfiles
542         * Much better key support, generally
543         * splice()
544         * Restructured PMC hierarchy with better functionality inheritance
545         * IMCC: many, many improvements. See imcc/ChangeLog
546         * Perl6: index map grep join reverse defined
547         * Scheme with functions!
550 2002-03-19 22:54  nicholas
552         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
554          We can now get usage information for test_parrot without having to
555          grep the source.
557 2002-03-19 22:53  simon
559         * Configure.pl:
560         Parrot is called parrot.
562 2002-03-19 22:53  nicholas
564         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
566          1. There are tests in t/pmc as well as t/op now.
567          2. Adds a comment about Parrot::Test
569 2002-03-19 18:09  dan
571         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
572         messes up automated builds
574         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
576 2002-03-19 00:33  mrjoltcola
578         * core.ops: Doc cleanup from Simon Glover.
580 2002-03-18 23:52  mrjoltcola
582         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
584 2002-03-18 22:09  dan
586         * include/parrot/resources.h: Checked in old version
588 2002-03-18 20:17  dan
590         * include/parrot/resources.h: Forgot a prototype
592 2002-03-18 20:15  dan
594         * resources.c: D'oh! Thinko, fixed.
596         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
598 2002-03-18 17:33  josh
600         * Configure.pl: Lowering the bar a bit.
602 2002-03-18 17:33  sfink
604         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
605         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
606         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
607         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
608         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
609         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
610         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
611         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
612         t/example.t: Whoops, wrong time to check this in.
614 2002-03-18 16:42  dan
616         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
617         least we consider the PMC and Buffer free pools worth collecting,
618         and initialize the Buffer pool stuff.  Still not 100% correct,
619         though.
621 2002-03-18 15:35  simon
623         * packfile.c:
624         Fix format arg bug.
626 2002-03-18 07:45  brentdax
628         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
629         system.
631 2002-03-18 00:09  sfink
633         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
634         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
635         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
636         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
637         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
638         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
639         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
640         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
641         t/example.t: Buggy 1st version of regex compiler implementation.
642         Warning: the test code depends on features of the assembler that do
643         not yet exist.
645 2002-03-17 21:35  ajgough
647         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
648         through addition and subtraction.  Also added the ability to run
649         all the tests, including the ones which deal with overflow and
650         underflow.  These fail, but that's expected.  Soon they'll pass.
651         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
652         passsssssssings tesssstsssss.
654 2002-03-17 20:06  ajgough
656         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
657         check_(under|over)flow to test bignumbers, rather than values.
658         context now carries E_limit, from which max and min exp are found.
660         Added a default-context-creating function (although this isn't the
661         same as either of the default contexts defined in the eda).
663 2002-03-17 13:31  ajgough
665         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
666         exported version matches prototypes of other public functions.
668 2002-03-17 06:44  josh
670         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
671         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
672         last-minute re-indenting.
674 2002-03-17 05:07  mrjoltcola
676         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
678 2002-03-16 23:17  nicholas
680         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
681         remove warnings:
683          default.pmc: In function `Parrot_default_get_integer_keyed':
684          default.pmc:50: warning: control reaches end of non-void function
685          default.pmc: In function `Parrot_default_get_number_keyed':
686          default.pmc:58: warning: control reaches end of non-void function
687          default.pmc: In function `Parrot_default_get_string_keyed':
688          default.pmc:67: warning: control reaches end of non-void function
689          default.pmc: In function `Parrot_default_get_pmc_keyed':
690          default.pmc:87: warning: control reaches end of non-void function
692 2002-03-16 18:50  ajgough
694         * types/: bignum.c, bignum.h: Lots of prototypes changed in
695         readiness for nicely telling your caller about any oddness you've
696         caused in the persuit of flow.
698 2002-03-16 17:38  dan
700         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
701         include/parrot/interpreter.h, include/parrot/resources.h: Now we
702         can control the GC and DOD, to stop it when we don't really want
703         it.
705 2002-03-16 16:58  dan
707         * resources.c, vtable.tbl, classes/default.pmc,
708         include/parrot/resources.h: Added the last code to let PMCs control
709         their marking at DOD time
711 2002-03-16 16:57  ajgough
713         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
714         feel a little more virtuous now.  Really I do.  You might not
715         believe me, but you should.  perl -pne 's/\t/        /g', if you're
716         curious.
718 2002-03-16 16:57  josh
720         * packfile.c, packout.c: M-x untabify is my new friend.
722 2002-03-16 16:50  josh
724         * trace.c, resources.c: Minor whitespace tweak for the benefit of
725         check_source_standards.pl
727 2002-03-16 16:50  ajgough
729         * types/: bignum.c, bignum.h: More documentation, separate
730         functions into public and private sorts, some initial stuff to cope
731         with over and underflow correctly.
733 2002-03-16 16:49  josh
735         * resources.c: Re-indented (sorry bout the big diff)
737 2002-03-16 16:47  bdwheele
739         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
740         assemble again, both with Simon's new assembler and with the old
741         one.
743 2002-03-16 16:33  mrjoltcola
745         * io/TODO: Get the TODO up-to-date for 0.0.4.
747 2002-03-16 16:11  josh
749         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
750         silly people (such as me) running Configure with
751         /usr/local/bin/perl (which is 5.004_05) and not realising their
752         mistake until the pmc subdirectory, where the first qr// is
753         encountered.
755         Syntax error messages don't tell you what you did wrong. This does:
757         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
758         only version 5.00405, stopped at Configure.pl line 10.
760 2002-03-16 14:38  ajgough
762         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
763         with commenting.
765 2002-03-16 11:45  simon
767         * MANIFEST, examples/assembly/xml_parser.pasm:
768         Added Clint Pierce's XML parser.
770 2002-03-15 22:24  simon
772         * packout.c:
773         Don't need that function.
775 2002-03-15 21:56  simon
777         * Makefile.in, include/parrot/packfile.h:
778         Rebuild packout.o, since it'll be used for the Packfile XS module
780 2002-03-15 19:45  dan
782         * include/parrot/: memory.h, pmc.h: Another add-in for GC
784 2002-03-14 19:48  dan
786         * core.ops: No string to int for some reason
788 2002-03-14 18:45  dan
790         * string.c, t/op/string.t: Fix 0-length substr problem
792 2002-03-14 14:46  dan
794         * core.ops, interpreter.c, resources.c, classes/array.pmc,
795         classes/perlarray.pmc, examples/assembly/life.pasm,
796         include/parrot/interpreter.h, include/parrot/resources.h: Added in
797         a counter for copied memory, with a display in life.pasm
799 2002-03-14 03:16  mrjoltcola
801         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
803 2002-03-13 23:43  simon
805         * packfile.c:
806         Oops.
808 2002-03-13 23:43  simon
810         * packfile.c:
811         Hangs head in shame.
813 2002-03-13 21:31  simon
815         * MANIFEST:
816         FAQ moved.
818 2002-03-13 18:06  simon
820         * string.c:
822         Fix string_compare screw-up.
824 2002-03-13 18:02  brentdax
826         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
827         and add a new question/answer pair.
829 2002-03-12 22:53  mrjoltcola
831         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
833 2002-03-12 22:48  mrjoltcola
835         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
836         warranty provided.
838 2002-03-12 22:29  ajgough
840         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
842 2002-03-12 22:24  ajgough
844         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
845         version 1.1, Don't know if this is the correct number, but I don't
846         want this stuck on my harddrive where it will get lost, so 14 it is
847         :)
849 2002-03-12 11:35  simon
851         * MANIFEST, packdump.c, packout.c:
853         Just so the functionality doesn't disappear.
855 2002-03-12 11:33  simon
857         * Makefile.in, chartype.c, encoding.c, packfile.c,
858         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
859         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
860         include/parrot/chartype.h, include/parrot/encoding.h,
861         include/parrot/packfile.h:
863         Packfile axing.
865 2002-03-11 23:06  nicholas
867         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
869           Core.ops documentation nits
871 2002-03-11 23:05  nicholas
873         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
875           Most of the PerlUndef tests in pmc.t appear to have been added
876         twice.
877           Enclosed patch removes the duplicates.
879 2002-03-10 23:40  nicholas
881         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
883          More tests for the PerlString test-suite.
885 2002-03-10 23:40  nicholas
887         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
889         test for sleep with negative argument
891 2002-03-10 21:58  nicholas
893         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
895          Enclosed patch fixes up a few more holes in our test coverage.
897 2002-03-10 21:18  mrjoltcola
899         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
900         classes/parrotpointer.pmc, classes/perlarray.pmc,
901         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
902         classes/perlstring.pmc, classes/perlundef.pmc,
903         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
904         argument to the init() vtable method so PMCs have the option to
905         know how to size themselves at creation. size could be N elements
906         or a byte count, depending on the PMC or it may simply be ignored.
907         Overloaded 'new' opcode for optional arg.
909 2002-03-10 21:15  mrjoltcola
911         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
912         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
913         class).
915         Also added small hack for .sub directive (which simply translates
916         to a label, however we might eventually want to collect these to
917         validate bsr calls.
919 2002-03-10 15:09  ajgough
921         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
922         Added round_floor and round_ceiling.  3403 tests pass, none fail.
924 2002-03-10 03:56  ajgough
926         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
927         divide, divide integer and remainder.  All filled in functions now
928         have special values capability.
930         Much remains to be done though, and the pdd needs to catch up.
932 2002-03-10 01:36  ajgough
934         * types/bignum.c: Added extended stuff to _add, _subtract.
936 2002-03-10 00:14  nicholas
938         * t/op/: integer.t, number.t: Patch from Simon Glover
939         <scog@roe.ac.uk>:
941          The enclosed patch fixes a few of the holes in our test coverage
942          uncovered by Josh Wilmes
944 2002-03-09 23:03  ajgough
946         * types/: bignum.c, bignum.h: Modified compare to work with
947         extended values.  Made a couple of changes here and there to allow
948         BN_comp to take a context, so that an is_zero check doesn't clobber
949         negative zeros.
951 2002-03-09 22:19  ajgough
953         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
954         Unary plus now copes with special values.
956 2002-03-09 04:25  ajgough
958         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
959         traps and flags are now enabled and tested for all the standard
960         tests for all the functions which are currently implemented.  Test
961         harness faffed with to allow these to be tested.
963 2002-03-09 02:29  josh
965         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
966         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
967         Re-indented
969 2002-03-09 02:22  josh
971         * config_h.in: tab-blastin'
973 2002-03-09 02:21  josh
975         * check_source_standards.pl: Play nicer with M-x compile- don't
976         bother giving line numbers for things you don't want to look at.
978 2002-03-09 02:10  josh
980         * examples/mops/mops.c: re-indented
982 2002-03-09 02:07  josh
984         * classes/pmc2c.pl: Use the usual header so that we can detect the
985         autogeneratedness.
987 2002-03-09 02:05  josh
989         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
990         compiler warning
992 2002-03-09 01:59  josh
994         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
995         patch- re-indent io/*.c.
997 2002-03-09 01:52  ajgough
999         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
1000         special values to the string conversion functions, some other
1001         functions now need context (to let -0 pass through really_zero)
1002         which have also been added.
1004 2002-03-09 01:47  josh
1006         * test_main.c: Re-indented.
1008 2002-03-09 01:41  josh
1010         * rx.c: killed a stray tab
1012 2002-03-09 01:38  josh
1014         * rx.c: Re-indented.
1016 2002-03-09 01:36  josh
1018         * misc.c: Oops, some tabs remained- cleaned up.
1020 2002-03-09 01:31  josh
1022         * misc.c: Re-indented (major patch, sorry)
1024 2002-03-09 00:59  josh
1026         * embed.c: Re-indented.
1028 2002-03-08 23:08  simon
1030         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1031         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1032         docs/pdds/pdd13_bytecode.pod:
1033         Placeholder PDDs.
1035 2002-03-08 21:12  ajgough
1037         * include/parrot/string.h: Added private flags to string.h, mostly
1038         so that other GCed stuff can also have its very own private flags.
1040 2002-03-08 19:53  simon
1042         * MANIFEST:
1043         Great PDD Renaming
1045 2002-03-08 19:41  robert
1047         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1048         pdd6.pod, pdd7.pod: Renamed...
1050 2002-03-08 18:51  simon
1052         * MANIFEST, docs/pdds/pdd08_keys.pod:
1053         Add keys PDD.
1055 2002-03-08 18:20  ajgough
1057         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1058         Introduced exception handlers and exception flags to context, will
1059         allow support of extended standard.  Unified exception checking
1060         mechanism (sort of) and made minimal changes to bulk of code to use
1061         this.  Tests pass, I'm happy, and further changes will happen more
1062         gradually.
1064 2002-03-08 04:38  josh
1066         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1067         tweaks.
1069 2002-03-08 04:37  josh
1071         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1073 2002-03-08 04:24  josh
1075         * embed.c: A bit more re-indenting
1077 2002-03-08 04:20  josh
1079         * embed.c: Indenting fixes
1081 2002-03-08 04:14  josh
1083         * jit.c: Re-indented (run_indent.pl)
1085 2002-03-08 03:36  josh
1087         * ops2c.pl: Fix the line numbers which get reported while compiling
1088         core_ops*.c
1090 2002-03-08 03:22  josh
1092         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1093         The variable "type" is set but never used.
1095               opcode_t type;
1097 2002-03-08 03:04  josh
1099         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1100         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1101         noticed by the sgi compiler.
1103 2002-03-08 03:02  josh
1105         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1106         misc.c, Line = 417   The indicated type qualifier is meaningless on
1107         cast type.
1110         (const char) 'f');
1111                                                                          ^
1113 2002-03-08 02:55  josh
1115         * Makefile.in: Clean up one of the object files it was missing
1117 2002-03-08 01:15  josh
1119         * include/parrot/interpreter.h: Fixes the following error (tcc):
1120         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1121         comma at end of list.
1123 2002-03-06 22:15  simon
1125         * stacks.c:
1126         Tidy up stack chunk allocation.
1128 2002-03-06 21:00  simon
1130         * interpreter.c:
1131         Create strings only once we've got string register heads set up.
1133 2002-03-06 20:31  simon
1135         * classes/perlarray.pmc:
1136         malloc(0) considered harmful.
1138 2002-03-06 20:24  simon
1140         * include/parrot/resources.h:
1141         I like it when Parrot compiles.
1143 2002-03-06 17:02  dan
1145         * classes/array.pmc: Changed over to data pointing to a Buffer.
1147 2002-03-06 15:45  dan
1149         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1150         packfile.c, pbc2c.pl, pdump.c, resources.c,
1151         include/parrot/interpreter.h, include/parrot/memory.h,
1152         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1153         and opcode_t > longs will now be even more suspect than what they
1154         were beforehand.  2) Feel free to bicker with names.  I don't think
1155         we've come to *any* sort of agreement with these, although we
1156         really, really, need to.  3) I forget the third thing.  4) But I
1157         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1158         ANSI C states that enums will fit within the smallest type (int or
1159         greater) that can hold the values. Is that actually correct, and
1160         does it state whether unsigned is preferred to signed for
1161         non-negative enums? 6) Since I'm no longer constrained by "three"
1162         or "quick", I'm going size_t happy for a lot of memory-related
1163         storage.  (That's good.  No sense wasting the size or performance
1164         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1165         a couple other internal things (like the GC stat counters, seen
1166         here).  Size and performance, again, and unpromotable to a bigint,
1167         so we know that we (theoretically) will wrap.  However, size_t
1168         isn't the best choice for the type.  (Not that there's anything
1169         wrong with size_t, just that it shouldn't be called size_t.)  Any
1170         thoughts?  I was thinking of just doing unsigned int, because,
1171         IIRC, int is usually the natural word size, and will be most
1172         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1173         of was while writing down the others.  Sorry.
1175         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1177 2002-03-06 15:26  dan
1179         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1180         include/parrot/resources.h: Now we allocate generic Buffers from
1181         arenas too
1183 2002-03-05 21:42  brentdax
1185         * Configure.pl: Minor cleanup and enhancements.
1187 2002-03-05 21:25  dan
1189         * resources.c: non-special GC now works with PMCs
1191 2002-03-05 19:48  brentdax
1193         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1194         Parrot now "knows" if it's a development version or a release
1195         version.  See the instructions in the DEVELOPING file.
1197 2002-03-05 18:05  brentdax
1199         * MANIFEST: pasm.vim wasn't in the manifest.
1201 2002-03-05 17:57  simon
1203         * Makefile.in:
1204         Now, through much evilness, make distclean and make cvsclean work
1205         again.
1207 2002-03-05 17:38  dan
1209         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1210         include/parrot/interpreter.h, include/parrot/pmc.h,
1211         include/parrot/resources.h: PMC tracing complete
1213 2002-03-05 16:28  gregor
1215         * languages/jako/Makefile.in:
1216         Changed -I ../../ to -I ../../lib when calling the assembler, since
1217         the perl modules have moved.
1219 2002-03-05 05:30  josh
1221         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1222         string.c: More re-indenting via run_indent.pl.
1224 2002-03-05 05:17  josh
1226         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1227         run_indent.pl)
1229 2002-03-05 04:26  josh
1231         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1232         using run_indent.pl and some minor tweaking.
1234 2002-03-05 04:21  josh
1236         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1237         interpreter.c: Re-indented using run_indent.pl and some minor
1238         tweaking.
1240 2002-03-05 03:30  josh
1242         * include/parrot/trace.h: These functions are no longer used (or
1243         even implemented)
1245 2002-03-04 18:21  josh
1247         * include/parrot/trace.h: Fix a typo in the argument type.
1249         Patch from <daniel.ritz@gmx.ch>
1251 2002-03-04 03:39  josh
1253         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1254         header to jit_struct.h so we don't try to check it for conformance.
1255          (no way will it conform)
1257 2002-03-04 03:38  josh
1259         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1260         unicode.h, warnings.h: Remove some remaining tabs and split some of
1261         the remaining long lines.
1263 2002-03-04 03:17  josh
1265         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1266         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1267         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1268         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1269         string_funcs.h, trace.h, warnings.h: This is the first batch of
1270         re-indenting.   This patch is the result of running run_indent.pl
1271         on the header files and manually tweaking the results where errors
1272         were noticed.   This should get us closed, but some refinement may
1273         follow.
1275 2002-03-04 03:06  josh
1277         * resources.c: Return without parens, as mentioned in PDD 7
1279 2002-03-04 03:01  josh
1281         * core.ops: POD fixes.
1283 2002-03-04 02:58  josh
1285         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1286         on autogenerated files- used by the check_source_standards.pl
1287         script (for now) to exempt autogenerated files from the checks.
1289 2002-03-04 02:51  josh
1291         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1292         warnings.c: Added the editor "boilerplate" footer to a few files
1293         which were missing it.
1295 2002-03-04 02:34  josh
1297         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1298         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1299         c preprocessor directive indentation to comply with pdd 7.
1301         (also fixes the check for this indentation in
1302         check_source_standards.pl)
1304 2002-03-04 02:32  josh
1306         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1307         irix.
1309         perl t/harness t/op/basic..........Use of uninitialized value at
1310         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1311         line 6) #          got: undef #     expected: ''
1313 2002-03-04 02:30  josh
1315         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1316         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1317         "indent" program to enforce some of the code style standards
1318         outlined in PDD 7.
1320         Usage: ./run_indent.pl <file>
1322 2002-03-03 19:04  simon
1324         * examples/mops/mops.c:
1325         Let's make it compile, huh?
1327 2002-03-03 19:04  simon
1329         * examples/mops/mops.cs:
1330         I R AN IDIOT
1332 2002-03-03 18:11  simon
1334         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1335         Added C# and MS-IL versions of mops tester.
1337 2002-03-03 14:52  simon
1339         * core.ops:
1340         Add a sub() op to make mops_p work.
1342 2002-03-02 18:12  nicholas
1344         * examples/mops/mops.c, include/parrot/embed.h,
1345         include/parrot/interp_guts.h, include/parrot/jit.h,
1346         include/parrot/misc.h, include/parrot/packfile.h,
1347         include/parrot/rx.h, include/parrot/warnings.h,
1348         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1349         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1350         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1351         indent variables correctly.
1353 2002-03-02 17:41  nicholas
1355         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1356         patch to fix a compiler warning.
1358 2002-03-01 22:35  dan
1360         * memory.c, resources.c, include/parrot/pmc.h,
1361         include/parrot/resources.h: PMCs now come out of arenas.
1363 2002-03-01 06:15  dan
1365         * string.c:
1366         A non-existing buffer + a non-existing buffer should be a
1367         non-existing buffer, not "", which is really '\0'.
1369         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1371 2002-03-01 06:02  dan
1373         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1375         TMTOWTDI, but strcmp is probably the worse.
1377         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1379 2002-03-01 02:32  brentdax
1381         * embed.c: Debug mode now prints out the GC data.
1383 2002-02-28 23:44  dan
1385         * core.ops, resources.c, include/parrot/resources.h: Added collect
1386         and sweep opcodes
1388 2002-02-28 22:58  dan
1390         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1391         opcode
1393 2002-02-28 22:50  dan
1395         * core.ops, interpreter.c, resources.c,
1396         examples/assembly/life.pasm, include/parrot/interpreter.h,
1397         include/parrot/resources.h: Add some stat gathering to the resource
1398         allocation code.
1400         Also add an interpreter info retrieval op, and teach it about the
1401         different things it can retrieve.
1403         Finally, add some stat info to life.pasm as an example
1405 2002-02-28 21:27  dan
1407         * editor/pasm.vim: VIM mode commands for parrot assembly files
1409         Courtesy of Scott Beck <scott@gossamer-threads.com>
1411 2002-02-28 19:20  dan
1413         * examples/assembly/life.pasm: Fix a creeping string length leak.
1415         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1417 2002-02-28 18:26  dan
1419         * string.c: When you clone a constant, it ain't constant no mo'.
1421         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1423 2002-02-28 00:51  dan
1425         * MANIFEST: Add missing files
1427         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1429 2002-02-28 00:49  dan
1431         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1432         CVS seems to have several chunks missing out of it, too.  This
1433         patch is simply an administrative patch, with the differences
1434         between my last version, and the one currently in there.  There
1435         will be a forthcoming patch for some minor tweaking to the PDD, but
1436         I wanted a common baseline before I make any (potential) semantic
1437         changes.
1439         There's only one semi-major change, which noone needs to worry
1440         about just yet.  That's a change from PDD Format 1 to PDD Format
1441         6.0 - rationale can be found under 'Standard (Version #)' of the
1442         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1443         should be 6.0.0, and we need to discuss Perl versus Parrot with
1444         PDDs.
1446         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1448 2002-02-28 00:27  dan
1450         * packfile.c, resources.c, examples/assembly/life.pasm,
1451         include/parrot/register.h, include/parrot/resources.h,
1452         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1453         no PMCs yet)
1455         This patch now implements a real copying collector. We trace from
1456         our root set and compact the contents of Buffer structs.
1458         Todo:
1460         *) It's very STRING-centric and doesn't handle memory stuffed in
1461         Buffers.  But, then, we don't have pool allocation for Buffers
1462         either, and we need to have that soonish for this to work.
1464         *) Doesn't trace PMCs, so if you trigger a collection and there's
1465         memory or STRING structs only accessible from PMCs, you'll fail
1466         horribly. That needs fixing too
1468         *) Better algorithms for when to trace or collect vs when to just
1469         go allocate more memory from the system. Should probably be more
1470         cache friendly too.
1472 2002-02-27 21:04  dan
1474         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1475         examples/assembly/life.pasm, include/parrot/resources.h,
1476         include/parrot/string.h, include/parrot/string_funcs.h,
1477         jit/i386/core.jit: Start of GC in
1479 2002-02-26 16:41  dan
1481         * jit/i386/string.jit: Fix a typo
1483         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1485 2002-02-26 16:37  dan
1487         * interpreter.c: Fix solaris test failures
1489         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1491 2002-02-26 16:36  dan
1493         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1494         unicode.h, warnings.h: Fixes various warts in header files, such
1495         as: * macros   -added parens to prevent problems with operator
1496         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1497         is no longer used * added some more INLINE definitions for MSVC and
1498         C99 compilers
1500         Courtesy of Brian Lee Ray <blray@ualr.edu>
1502 2002-02-26 16:20  dan
1504         * Configure.pl: Turns out we were using a warning flag which
1505         doesn't exist on 2.7.  Simple tweak though:
1507         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1509 2002-02-25 22:58  dan
1511         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1513 2002-02-25 17:36  dan
1515         * include/parrot/pmc.h: Fix the bits
1517 2002-02-23 21:57  dan
1519         * include/parrot/resources.h: Another 1.5% never hurts
1521 2002-02-23 21:44  dan
1523         * global_setup.c, memory.c, resources.c, string.c,
1524         include/parrot/resources.h: Allocate STRING headers from an arena
1525         with freelist rather than with the system malloc. First step in a
1526         good (or even a bad) GC system.
1528 2002-02-23 20:37  brentdax
1530         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1532 2002-02-22 14:59  ajgough
1534         * types/bignum.c: BN_multiply split into BN_multiply and
1535         BN_imultiply, the internal version to be used by idivide so that
1536         rounding isn't performed during intermediate stages of division.
1538         following test scripts now all pass: divide divideint add multiply
1539         subtract remainder compare rounding plus minus (these are all the
1540         operations currently implemented, rescale and power must still be
1541         written, so don't pass right now).
1543 2002-02-22 13:13  ajgough
1545         * types/bignum_atest.pl: Test harness modified to understand
1546         comments better, and be able to run unary (and rounding) tests.
1547         Currently a few rounding tests fail, which are being investigated.
1549 2002-02-22 01:41  dan
1551         * key.c: Although there's more work being done on the key stuff and
1552         this isn't the final fix, applying this patch does get parrot to
1553         build with two more compilers, so it's probably worthwhile.
1555         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1557 2002-02-22 00:53  dan
1559         * config_h.in, misc.c, include/parrot/embed.h,
1560         include/parrot/exceptions.h, include/parrot/interpreter.h,
1561         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1562         include/parrot/resources.h, include/parrot/rx.h,
1563         include/parrot/string.h, include/parrot/unicode.h,
1564         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1565         io/io_win32.c: Fixes the following (lcc) warnings:
1567           - interpreter.c:470: warning: expression with no effect elided
1568                (related to the way warnings flags were defined)
1570           - misc.c:352: warning: unreachable code
1571             misc.c:483: warning: unreachable code
1572                (i introduced these with some overzealous de-linting)
1574           - numerous warnings like this:
1575             io/io_unix.c:383: warning: conversion from pointer to void' to
1576         pointer to
1577             pointer to struct _ParrotIO function(pointer to struct
1578         Parrot_Interp,pointer
1579             to struct _ParrotIOLayer,pointer to const char,pointer to const
1580         char,pointer
1581             to pointer to void)' is compiler dependent
1583         Fixes the following nits:    - remove bad indenting (tabs) in the
1584         includes
1586         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1588 2002-02-21 21:12  ajgough
1590         * types/: bignum.c, bignum.h: These might look like massive
1591         changes, but really it's just he imposition of coding standards.
1592         The file still isn't entirely compliant, but is now much more so.
1594         Also changed:
1596          o a few more comments
1597          o BN_compare uses internal BN_comp to compare
1598          o lost_digits behaviour is now correct (test harness modified to
1599         test
1600            this).
1602         All binary functions now pass all the tests in the basic standard.
1603         Unary functions not yet tested, will be soon.
1605 2002-02-21 18:20  dan
1607         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1608         was no longer needed, and the ssize_t thing really shouldn't be
1609         needed either.
1611         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1613 2002-02-21 18:15  dan
1615         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1616         include/parrot/parrot.h: this patch adds support for the freely
1617         available borland c++ 5.5.1 compiler
1619         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1620         working borland compiler (compiler must know where to find headers
1621         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1622         cc='cl.exe' - a working make utility (borland make doesn't work,
1623         nmake does)
1625         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1626         hints/mswin32.pl - remove a space from Configure.pl (very very
1627         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1628         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1629         (win32 knows it, linux not)
1631         and the why: - parrot is MUCH faster when compiled with borland c
1632         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1633         seconds
1635         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1637 2002-02-21 18:09  dan
1639         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1640         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1641         cuddled elses, as required by PDD 7.
1643         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1645 2002-02-21 18:04  dan
1647         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1648         a new Makefile target called "check_source".  This target scans all
1649         the .c and .h files in the directory and checks for conformance to
1650         a number of the standards outlined in PDD 7.
1652         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1654 2002-02-21 16:38  ajgough
1656         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1657         allow arithmetic with numbers with a fixed fractional part, buffer
1658         structures now more ready to be integrated into the parrot memory
1659         allocation game, test harness modified to allow lost_digits
1660         condition to be checked.  Some more comments.
1662 2002-02-21 15:53  simon
1664         * io/io_unix.c:
1665         Fix typo
1667         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1669 2002-02-20 16:41  dan
1671         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1673 2002-02-18 18:25  dan
1675         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1677         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1679 2002-02-18 18:21  dan
1681         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1682         CPrederef.pm to make to generated code compile with the MS
1683         compiler.
1685         fixes: - ms compiler allows inline only for c++, for c there's
1686         __inline - ms header files knows nothing about ssize_t
1688         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1690 2002-02-18 17:49  dan
1692         * MANIFEST: Add the PDDs
1694 2002-02-18 17:47  dan
1696         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1697         coding standards PDD.
1699 2002-02-18 17:40  dan
1701         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1703 2002-02-18 12:41  gregor
1705         * test_main.c:
1706         Remove warning about exit() not being declared.
1708 2002-02-18 08:29  simon
1710         * misc.c, warnings.c, include/parrot/misc.h,
1711         include/parrot/warnings.h:
1712         This patch adds some missing const's to silence a number of gcc
1713         warnings.
1715         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1717 2002-02-18 08:26  simon
1719         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1720         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1721         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1722         include/parrot/parrot.h, include/parrot/rx.h,
1723         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1724         lib/Parrot/OpTrans/CPrederef.pm:
1725            - add makefile target and script to test for external libc
1726         dependencies
1727            - fix return values in hash and array PMCs (returning 0 in a
1728         void func)
1729            - remove unnecessary data pointer <=> function pointer
1730         conversions
1731              outside of the JIT code.
1732            - move the definition of the "INLINE" macro out of the rx header
1733         and make
1734              available for general use on C++ compilers and gcc.
1735            - remove a few unused variables
1737         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1739 2002-02-17 16:29  simon
1741         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1742         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1743         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1744         We're organised and responsible. Honest.
1746 2002-02-17 02:46  sfink
1748         * Makefile.in: Remove $^ for nmake compatibility.
1750 2002-02-16 09:20  brentdax
1752         * config_h.in, test_main.c, include/parrot/chartype.h,
1753         include/parrot/embed.h, include/parrot/encoding.h,
1754         include/parrot/string.h, include/parrot/string_funcs.h: Better
1755         embedding exposure and hiding, part 1.
1757 2002-02-16 04:38  dan
1759         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1760         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1761         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1762         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1763         typecasts in various places throughout the code. It probably won't
1764         work for Windows yet. The libparrot.a target might need to be
1765         modified to at least prevent it from confusing make on Windows; I
1766         don't know.
1768         Preliminary instructions for using pbc2c.pl are in
1769         docs/running.pod.  I'll try to do better later.
1771         Courtesy of Steve Fink <steve@fink.com>
1773 2002-02-16 04:15  dan
1775         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1777         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1779 2002-02-16 00:03  simon
1781         * classes/: perlarray.pmc, perlhash.pmc:
1783         pmc is already defined!
1785 2002-02-15 23:20  brentdax
1787         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1788         include/parrot/exceptions.h: Far more informative panic messages.
1790 2002-02-15 03:24  dan
1792         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1793         much more extensive patch that fixes it to work properly, and
1794         deletes a bazillion casts as well.  It also points to the question
1795         "can we make the byte_code be an opcode_t* already?"
1797         Oh, and it makes some of the formatting prettier, so it's gotta be
1798         good.
1800         Courtesy of * Steve Fink <steve@fink.com>
1802 2002-02-15 02:30  dan
1804         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1805         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1806         of the things it finds.  Attaching the patch as well as the current
1807         lint output.
1809         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1811 2002-02-15 01:59  dan
1813         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1814         moment.
1816 2002-02-15 01:48  dan
1818         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1820 2002-02-15 01:40  dan
1822         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1823         things
1825 2002-02-14 23:30  dan
1827         * resources.c: Added comment for buffer tag routine. D'oh!
1829 2002-02-14 23:28  dan
1831         * resources.c, include/parrot/resources.h: Added buffer mark
1832         routine for GC
1834 2002-02-14 23:17  dan
1836         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1837         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1838         Rejigged memory system a bit. Now should be ready for the horror
1839         that is garbage collection.
1841 2002-02-14 19:33  gregor
1843         * ops2c.pl, include/parrot/oplib.h:
1844         Added code to automatically generate a function within an oplib to
1845         lookup opinfos given the op name. This will come in handy in future
1846         when we want to twiddle opcode tables at run time and possibly at
1847         startup time.
1849 2002-02-14 19:25  gregor
1851         * examples/assembly/queens.pasm:
1852         Regenerated queens.pasm from queens.jako since the clone_* stuff
1853         went away.
1855 2002-02-14 17:12  dan
1857         * resources.c, include/parrot/resources.h: Finished up the
1858         interface for memory and tracked interpreter thingies.
1860 2002-02-14 16:53  dan
1862         * memory.c, include/parrot/memory.h: intercept free and realloc
1864 2002-02-14 05:53  dan
1866         * interpreter.c, runops_cores.c: The type changes in struct
1867         Packfile break the pointer math used in a few places to calculate
1868         the address of the end of the loaded byte code. This causes
1869         segfaults in build_asm in jit.c when using -j. It also breaks the
1870         bounds checking on opcode address in runops_slow_core.
1872         The patch adds the necessary cast to correct the code_end
1873         calculations.
1875         Courtesy of Jason Gloudon <perl@gloudon.com>
1877 2002-02-14 01:01  ajgough
1879         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1880         BigInt operations (I think), tests for normal operation continue to
1881         pass.  Also a shed load of comments.
1883 2002-02-13 01:34  ajgough
1885         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1886         is a (mostly) working bignumber library.  There remains much work
1887         to do though, some functions are not yet implemented and headers
1888         need to find their way to the correct place RSN.  Also support for
1889         bigints and a sensible error reporting mechanism are needed.
1891 2002-02-12 18:51  dan
1893         * misc.c: Fix some warnings
1895 2002-02-12 17:10  dan
1897         * misc.c: Run through indent -kr -nce so I can read it
1899 2002-02-12 16:49  dan
1901         * misc.c: Need standard header/footer comments
1903 2002-02-11 20:32  simon
1905         * classes/array.pmc:
1906         get and set pmc methods.
1908 2002-02-11 20:19  simon
1910         * classes/array.pmc:
1911         Maybe the keys aren't integer...
1913 2002-02-11 20:03  simon
1915         * core.ops, vtable.tbl, classes/default.pmc:
1916         {g,s}et_pmc_keyed
1918 2002-02-11 19:07  simon
1920         * vtable.tbl, classes/default.pmc:
1921         Add set_pmc. Usee with caution.
1923 2002-02-11 18:20  dan
1925         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1926         compile
1928 2002-02-11 17:59  simon
1930         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1931         classes/perlarray.pmc, classes/perlhash.pmc:
1932         Make it compile.
1934 2002-02-11 17:57  simon
1936         * packfile.c, include/parrot/packfile.h:
1937         Reduce warnings
1939         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1941 2002-02-11 17:55  dan
1943         * docs/parrot_assembly.pod: Document some key ops
1945 2002-02-11 09:20  brentdax
1947         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1948         disgustingly easy.
1950 2002-02-11 00:34  simon
1952         * core.ops, include/parrot/exceptions.h:
1953         This is what keyed set ops look like. Remember, however, that for
1954         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1955         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1956         obviously ambiguous that you ought to use the 4-arg version
1957         instead.
1959 2002-02-10 23:12  jgoff
1961         * classes/: array.pmc, perlarray.pmc: Properly allocate
1962         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1963         isn't tested yet, but should be fairly straightforward.  PerlHash
1964         needs to be finished before the system will compile again, and that
1965         should be done in the next few days.
1967 2002-02-09 04:46  jgoff
1969         * classes/: array.pmc, default.pmc, intqueue.pmc,
1970         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1971         Added basic _keyed member functions.  Unfortunately this still
1972         doesn't fix the problems that are causing the build to break. It's
1973         a start though. I'm not implementing the PMC add functions just
1974         yet.
1976 2002-02-08 15:59  simon
1978         * classes/array.pmc:
1979         Some more work on getting the array stuff up to date.
1981 2002-02-08 12:23  simon
1983         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1984         lib/Parrot/Vtable.pm:
1985         Got array->get_integer_keyed doing what I think it ought to. One
1986         down, all the rest to go.
1988 2002-02-08 11:47  simon
1990         * vtable.tbl:
1991         Although I didn't intend it to be quite that broken...
1993 2002-02-08 11:42  simon
1995         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1996         Completely break Parrot, but at least we get the key stuff right
1997         for now.
1999 2002-02-08 06:25  dan
2001         * hints/darwin.pl: Silences the warning about passing in
2002         -flat_namespace to the compile.  That's a link-only flag.
2004 2002-02-08 04:52  jgoff
2006         * classes/: array.pmc, default.pmc, intqueue.pmc,
2007         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
2008         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
2009         return values in *.pmc, added some missing casts to the repeat_foo
2010         members, and deleted the _index members from the perlscalar
2011         classes.  Basic cleanup, and getting ready for _keyed functions.
2013 2002-02-07 04:49  mrjoltcola
2015         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2016         added a nested subroutine call.
2018 2002-02-07 04:32  jgoff
2020         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2021         changes in order to give the whitespace rules a little workout, and
2022         do a little bit more testing. No actual structural changes were
2023         made.  lib/Parrot/Vtable.pm got an interface change, and more
2024         importantly should be ready to support the new '_keyed' attribute,
2025         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2026         src_value' followed by 'KEY* src_key'.  This will be how the new
2027         _keyed operators will function, and those should be written within
2028         a few days.
2030 2002-02-06 18:00  doughera
2032         * misc.c: Change C++-style comments to C comments (again).  Remove
2033         unused perl5 code that was in #if 0/#endif.
2035 2002-02-06 17:59  doughera
2037         * warnings.c: Add trailing newline.
2039 2002-02-06 04:14  mrjoltcola
2041         * include/parrot/io.h, io/io.c: Minor cleanup.
2043 2002-02-06 03:11  mrjoltcola
2045         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2046         couple of loose end in win32 IO stuff. Open behaves now but needs
2047         more work.
2049 2002-02-05 21:02  brentdax
2051         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2052         which showed up in Purify builds.
2054 2002-02-05 17:15  simon
2056         * misc.c:
2057         Warning fixes.
2059         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2061 2002-02-05 17:08  doughera
2063         * misc.c: Avoid C++-style comments.
2065 2002-02-05 17:07  doughera
2067         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2068         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2069         thanks to Jason Gloudon <perl@gloudon.com>.
2071 2002-02-05 14:04  simon
2073         * misc.c:
2074         Make the problem different, perhaps even better.
2076 2002-02-05 13:49  simon
2078         * misc.c:
2079         Possibly fix a `short int' is promoted to `int' when passed through
2080         `...' scary error, possibly make things absolutely worse.
2082 2002-02-05 13:15  simon
2084         * Configure.pl:
2085         Placate Tru64.
2087 2002-02-05 13:12  simon
2089         * warnings.c:
2090         Not going to get far without this one...
2092 2002-02-05 11:41  simon
2094         * string.c:
2095         Don't barf when handed null pointers.
2097 2002-02-05 10:04  simon
2099         * misc.c, include/parrot/misc.h:
2100         Fix some trivial bugs in warnings code.
2102 2002-02-05 09:27  simon
2104         * misc.c:
2105         Oops, forgot this one; also added %P support.
2107 2002-02-05 09:20  simon
2109         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2110         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2111         include/parrot/interpreter.h, include/parrot/misc.h,
2112         include/parrot/parrot.h, include/parrot/warnings.h:
2113         Warnings support.
2115         Courtesy of: Brent Dax <brentdax@cpan.org>
2117 2002-02-05 05:41  jgoff
2119         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2120         format of vtable.tbl to get rid of the tab-dependence.  The format
2121         now looks roughly like this:
2123         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2124         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2125         assumed here, but note the C-like prototyping.  Also had to disable
2126         one test that depended upon 'concat_p_p_s', which isn't necessary
2127         anyway.
2129         Vtable.pm will change again when the type '_keyed' is added,
2130         because that requires remapping parameters slightly differently
2131         again.  Also, note that it assumes 'value' is the first parameter
2132         in the list. This assumption will go away at the same time.
2134 2002-02-04 16:57  ajgough
2136         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2137         functions.  Thanks to Simon Glover.
2139 2002-02-04 02:47  ajgough
2141         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2142         needed.  I suspect that the entire hints file isn't really needed,
2143         but there's no one to actually tell us this.
2145 2002-02-02 15:45  ask
2147         * docs/ParrotFAQ.htm: fix internal links
2149 2002-02-02 04:06  jgoff
2151         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2152         Moving the internal KEY structure from the cache.struct_val member,
2153         where it doesn't really belong, to the internal SELF->data member.
2154         This frees up the cache/type members for other usage.
2156         This is the first step in moving PMCs to the point where we can do
2157         multidimensional PMC handles. The next step is to change the
2158         assembler to accept the syntax of 'set P0["foo"],7'.
2160 2002-02-02 00:13  nicholas
2162         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2163         prototype Parrot_Array_class_init
2165 2002-02-02 00:13  nicholas
2167         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2168         time to sum_time to avoid warning on FreeBSD about tracking a
2169         global [No, this warning does not appear on Linux. Yes, it is real
2170         :-)]
2172 2002-02-01 23:02  nicholas
2174         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2175         Glover
2177 2002-02-01 20:20  nicholas
2179         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2181 2002-02-01 18:20  nicholas
2183         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2184         you
2186 2002-02-01 13:22  nicholas
2188         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2190 2002-02-01 12:19  simon
2192         * core.ops, t/op/ifunless.t, t/op/integer.t:
2193         Added "unless" op.
2195 2002-02-01 12:11  simon
2197         * lib/Parrot/Test.pm:
2198         Remove a warning.
2200 2002-02-01 01:38  nicholas
2202         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2203         and a manitest target to Makefile.in that lets one test the
2204         manifest.
2206 2002-02-01 00:03  dan
2208         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2209         PMC dynaloading
2211 2002-01-31 21:46  gregor
2213         * Configure.pl, Makefile.in, hints/mswin32.pl:
2214         A few more things are now configable, so we are closer to win32
2215         shared library builds. Not there yet, but closer.
2217 2002-01-31 21:00  dan
2219         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2220         include/parrot/pmc.h: First step in dynamically loading PMC classes
2222 2002-01-31 19:38  dan
2224         * Makefile.in: Dependencies in the Makefile are currently too broad
2225         brush.  I don't enjoy waiting for everything to recompile every
2226         time I try to tweak the jit. The only file that #includes
2227         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2228         should reflect this, and not cause a gratuitous recompile of
2229         everything.  There are probably other auto-generated header files
2230         that world+dog should not depend on.
2232         Courtesy of  Nicholas Clark <nick@unfortu.net>
2234 2002-01-31 19:03  gregor
2236         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2237         Added two new make targets:
2239           * testp: Like 'make test', but passes -P to t/harness, so you get
2240         to
2241             see how broken predereferencing is.
2243           * testj: Like 'make test', but passes -j to t/harness, so you get
2244         to
2245             see how broken JIT is.
2247         Now, anyone who wants to see how good all three ways of running are
2248         can do so, at the cost of about 3x the time.
2250 2002-01-31 17:09  brentdax
2252         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2254 2002-01-31 03:41  grunblatt
2256         * docs/jit.pod: Update jit.pod
2258 2002-01-31 03:20  grunblatt
2260         * jit/i386/core.jit: Hold this until we get an assemble tool,
2261         because of the different objdump problems.
2263 2002-01-31 03:13  grunblatt
2265         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2266         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2267         of: Jason Gloudon <perl@gloudon.com>
2269 2002-01-31 02:22  grunblatt
2271         * jit/i386/core.jit: Continue if the register is null
2273 2002-01-30 23:50  grunblatt
2275         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2276         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2277         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2278         specific file.
2280 2002-01-30 23:35  mrjoltcola
2282         * io/io_win32.c: Change implementation of isatty on win32,
2283         suggested by Hong Zhang.
2285 2002-01-30 23:19  sfink
2287         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2288         Op::may_jump boolean method.
2290         Replaced jit2h's hardcoded pattern match to decide what ops might
2291         change the control flow.
2293 2002-01-30 22:13  dan
2295         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2296         parrot to mostly-build with tcc.  It allows one to skip compiling
2297         the JIT stuff (by specifying --define jitcapable=0), and it
2298         introduces a test program which gives a friendlier error in this
2299         case for compilers which are as picky as tcc is about function
2300         pointer conversion.
2302         If anyone figures out the proper way to cast these function
2303         pointers this may not be necessary.
2305         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2307 2002-01-30 20:54  dan
2309         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2310         Here's an update to docs/running.pod to better reflect the current
2311         state (both the test_parrot and assemble.pl improvements, plus
2312         documentation of a few more things.) And also a speling fiks
2313         s/POST_MORTERM/POST_MORTEM/.
2315         I could also replace some "perl foo" calls with "./foo" if someone
2316         wanted to set the executable flag in CVS on assemble.pl,
2317         optimize.pl, etc.
2319         Courtesy of Steve Fink <steve@fink.com>
2321 2002-01-30 20:43  dan
2323         * core.ops: find_global doesn't work, so stub out the wrong code
2325 2002-01-30 19:08  dan
2327         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2328         that perldoc
2329          can read it and just tidies it up generally. It also adds
2330         documentation
2331          for the constantize_integer and constantize_number functions.
2333         Courtesy of Simon Glover <scog@roe.ac.uk>
2335 2002-01-30 18:02  dan
2337         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2338         classes/genclass.pl, classes/pmc2c.pl,
2339         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2340         distribution (including assemble.pl !)
2341          can no longer find the Parrot::* modules. Enclosed patch fixes
2342         (although
2343          it would be nice if there were an easier way to do this).
2345         Courtesy of  Simon Glover <scog@roe.ac.uk>
2347 2002-01-30 16:00  mrjoltcola
2349         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2350         types.
2352 2002-01-30 15:50  mrjoltcola
2354         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2356 2002-01-30 15:42  grunblatt
2358         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2359         files around
2361 2002-01-30 15:38  grunblatt
2363         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2364         the manifest,  and also puts it back into alphabetical order.
2366         Courtesy of: Simon Glover <scog@roe.ac.uk>
2368 2002-01-30 14:41  nicholas
2370         * embed.c: Patch from Simon Glover to clean up warnings where
2371         prototype is () not (void)
2373 2002-01-30 13:54  nicholas
2375         * include/parrot/embed.h, test_main.c: Add void as an explicit
2376         parameter in test_main.c's usage(), version(void) and embed.h's
2377         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2378         warning: function declaration isn't a prototype
2380 2002-01-30 12:08  simon
2382         * lib/Parrot/.cvsignore:
2383         Ignore generated Perl modules.
2385 2002-01-30 12:07  simon
2387         * t/harness:
2388         Run the PMC tests as well.
2390 2002-01-30 12:04  simon
2392         * MANIFEST:
2393         Fix MANIFEST after recent t/pmc rejig.
2395 2002-01-30 11:42  simon
2397         * lib/Parrot/Test.pm:
2398         Report non-zero exit codes.
2400         Courtesy of: Michael G Schwern <schwern@pobox.com>
2402 2002-01-30 11:39  simon
2404         * t/op/rx.t:
2405         Skip final test, TODO doesn't work yet.
2407 2002-01-30 09:54  brentdax
2409         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2410         predereferencing works.
2412 2002-01-30 09:38  brentdax
2414         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2415         subsystem.
2417 2002-01-30 09:37  brentdax
2419         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2421 2002-01-30 09:37  brentdax
2423         * config_h.in: Expose another flag for embedders.
2425 2002-01-30 05:07  jgoff
2427         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2428         location for Parrot/, and t/harness wasn't able to run the new
2429         op/pmc tests. Both problems fixed, so I think I'm going to declare
2430         the build suitable for public consumption.
2432 2002-01-30 04:34  robert
2434         * docs/Makefile.in: update for CVS movement
2436 2002-01-30 04:32  robert
2438         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2439         .in file, not the real Makefile)
2441 2002-01-30 04:20  robert
2443         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2444         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2445         related to moving files around
2447 2002-01-30 04:10  robert
2449         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2451 2002-01-30 04:07  robert
2453         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2455 2002-01-30 03:56  robert
2457         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2458         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2459         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2460         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2461         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2462         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2463         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2464         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2465         lib/Parrot/
2467 2002-01-30 03:46  robert
2469         * languages/miniperl/miniperlc: renamed to mpc
2471 2002-01-30 03:45  robert
2473         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2474         pmc_perlstring.t: Moved to t/op/pmc/
2476 2002-01-30 03:40  robert
2478         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2480 2002-01-30 03:14  jgoff
2482         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2483         Fixed some problems with PerlArray and added tests.  Previously,
2484         only integers could be accessed by negative indices.  After this
2485         change, all basic types can be accessed by negative indices, and
2486         they can also be set at negative indices.
2488 2002-01-29 22:13  brentdax
2490         * TODO: Just look at the stupid diff.
2492 2002-01-29 21:53  simon
2494         * TODO, docs/vtables.pod:
2495         New TODO, and tiny addition to vtables.pod
2497 2002-01-29 21:47  mrjoltcola
2499         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2501 2002-01-29 21:38  mrjoltcola
2503         * Makefile.in: Makefile.in tweak for io depend.
2505 2002-01-29 21:15  brentdax
2507         * embed.c: Fix a segfault and some profiling formatting nits.
2509 2002-01-29 20:54  brentdax
2511         * pmc.c: Oops.
2513 2002-01-29 20:50  brentdax
2515         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2516         segfaults.
2518 2002-01-29 20:17  mrjoltcola
2520         * interpreter.c, core.ops, io.ops: CVS missed this.
2522 2002-01-29 20:17  mrjoltcola
2524         * io/io.c: These should have gone in Sunday with the rest. CVS is
2525         out to get me.
2527 2002-01-29 18:39  brentdax
2529         * platforms/win32.h: Fix Win32 whoops.
2531 2002-01-29 18:29  brentdax
2533         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2535 2002-01-29 17:51  simon
2537         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2538         include/parrot/embed.h, include/parrot/parrot.h:
2539         Embedding support. Cool.
2541         Courtesy of: <brentdax@cpan.org>
2543 2002-01-29 15:40  grunblatt
2545         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2546         Gloudon <perl@gloudon.com>
2548 2002-01-29 14:42  simon
2550         * include/parrot/parrot.h:
2551         Platform stuff has to be included *after* system headers.
2553 2002-01-29 14:05  grunblatt
2555         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2556         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2557         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2558         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2559         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2561 2002-01-29 10:56  simon
2563         * platforms/generic.h:
2564         If we don't have a S_ISREG, produce something close to it.
2566 2002-01-29 06:01  dan
2568         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2570 2002-01-29 04:38  jgoff
2572         * classes/array.pmc: Forgot to remove some C++-isms from the
2573         get_{foo}_index routines.
2575 2002-01-29 04:26  jgoff
2577         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2578         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2579         t/pmc/array.t: Added array class that languages other than perl can
2580         use for a basis.  It has no features like preextension, and the
2581         array index starts at 0.
2583         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2584         and classes/Makefile.in - Added array.pmc to the makefile.
2585         (Assuming rules like .pmc.o are portable (or even possible) I might
2586         alter classes/Makefile.in to autobuild the appropriate files.
2588 2002-01-29 02:32  dan
2590         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2591         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2592         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2593         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2594             Update to Test::More 0.41 which adds Test::Builder
2596             Delete the vestigal Test::Utils
2598             Change Parrot::Test so it uses Test::Builder instead of Evil
2599         Wrappers
2600             around Test::More
2602             output_* now returns whether the test passes or fails
2604             Parrot::Test no longer exports Test::More's functions.  Instead
2605         they
2606             can simply be used together.  The few tests which used
2607         Test::More
2608             features (ie. skip) have 'use Test::More' added.
2610             I ditched the export_to_level() crutch.  Do we expect parrot to
2611         work on
2612             5.004?  (literally 5.004, not 5.004_04)
2614         Courtesy of Michael G Schwern <schwern@pobox.com>
2616 2002-01-28 21:04  dan
2618         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2619         pointer should actually be to
2620          parrot_assembly.pod, as the canonical documentation.
2622         Courtesy of Simon Glover <scog@roe.ac.uk>
2624 2002-01-28 20:21  dan
2626         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2627         clone[inps]
2629 2002-01-28 19:18  dan
2631         * core.ops, register.c: clone[insp] is dead
2633 2002-01-28 17:46  grunblatt
2635         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2636         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2638 2002-01-28 16:45  dan
2640         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2641         the requirement for fink at the moment.
2643 2002-01-28 15:59  simon
2645         * test_main.c:
2646         People might try and run a directory file, with spectacular
2647         results.  We don't want that. No.
2649 2002-01-28 14:58  doughera
2651         * core.ops: Avoid C++-style comments.
2653 2002-01-28 14:16  grunblatt
2655         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2656         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2657         work again.
2659 2002-01-28 13:47  doughera
2661         * include/parrot/register.h: Avoid C++-style comment.
2663 2002-01-28 06:03  dan
2665         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2666         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2667         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2668         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2669         include/parrot/parrot.h, include/parrot/regfuncs.h,
2670         include/parrot/register.h, include/parrot/register_funcs.h,
2671         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2672         are now stored in the interpreter structure itself, rather than
2673         just a pointer to the top of the register structure. Pushes and
2674         pops now involve memcpys, but register access has one fewer
2675         dereference.
2677         Fails four of the register stack tests, though, so not perfect.
2678         Needs fixing, but this is a good place to start.
2680 2002-01-28 04:40  mrjoltcola
2682         * test_main.c: cvs commit missed this. ??
2684 2002-01-28 04:27  mrjoltcola
2686         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2687         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2688         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2689         interpreter now (at least in theory).  IO handle array added.  Misc
2690         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2691         we don't conflict         with system libraries.  Still have broken
2692         stuff in win32 and stdio layer.
2694 2002-01-28 04:01  mrjoltcola
2696         * include/parrot/chartype.h: Typo in chartype.h include guard.
2698 2002-01-28 03:41  mrjoltcola
2700         * t/op/interp.t: Fix flag for interp so we don't get "info"
2701         messages which break tests.
2703 2002-01-28 01:54  dan
2705         * include/parrot/string.h: A few more buffer/string flags
2707 2002-01-27 11:33  nicholas
2709         * chartypes/unicode.c: Cast unsigned argument to int in call to
2710         isdigit to silence gcc warning.
2712 2002-01-26 23:18  grunblatt
2714         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2715         off that flag.
2717 2002-01-26 23:17  grunblatt
2719         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2720         jit/i386/core.jit: [no log message]
2722 2002-01-26 22:18  simon
2724         * jit/i386/core.jit:
2725         Jumping to 0x0 is a recipe for segfaults.
2727 2002-01-26 18:35  simon
2729         * t/harness:
2730         Allow user to select which tests to harness
2732         Courtesy of: Nicholas Clark <nick@unfortu.net>
2734 2002-01-26 17:20  grunblatt
2736         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2737         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2738         to make the jit work in linux again.
2740 2002-01-26 16:52  dan
2742         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2743         headers can't cope with this. Darwin-only
2745 2002-01-26 16:04  dan
2747         * include/parrot/parrot.h: Quick note to remind folks that this
2748         isn't the file they're looking for if they're writing extensions or
2749         embedding parrot.
2751         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2753 2002-01-26 00:41  mrjoltcola
2755         * MANIFEST: Oopsy.
2757 2002-01-26 00:37  mrjoltcola
2759         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2760         Turoff
2762 2002-01-25 01:31  grunblatt
2764         * jit/alpha/core.jit: There is no neg or fneg.
2766 2002-01-25 01:27  grunblatt
2768         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2769         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2770         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2771         t/op/number.t: Added Parrot_neg.  Erase t.s
2773 2002-01-24 23:26  dan
2775         * interpreter.c: Best make sure unused elements are NULL
2777 2002-01-24 23:24  dan
2779         * interpreter.c: Fix stupid thinko
2781 2002-01-24 18:37  doughera
2783         * Makefile.in: Add a few missing dollar signs in the lifetest
2784         section so that ${exe} and the like get properly interpolated.
2786 2002-01-24 18:15  mrjoltcola
2788         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2789         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2790         Simon Glover <scog@roe.ac.uk>
2792 2002-01-24 06:43  mrjoltcola
2794         * io/io_stdio.c: Oops.
2796 2002-01-24 06:34  mrjoltcola
2798         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2799         of work on the buffering layer.  Decided to use shared read/write
2800         buffer (as do most implementations) for now since its the simplest
2801         way to keep everything synced, (flush on seeks, flush read on
2802         writes, etc.)
2804 2002-01-24 03:38  mrjoltcola
2806         * test_main.c: Cleaned up option handling code a bit for main().
2808 2002-01-23 23:22  dan
2810         * interpreter.c, include/parrot/interpreter.h,
2811         include/parrot/resources.h: Now each interpreter gets its own hash
2812         for globals.
2814 2002-01-23 20:45  dan
2816         * Configure.pl: Fix a warning when there's no - in an architecture
2818 2002-01-22 23:57  grunblatt
2820         * docs/running.pod: [no log message]
2822 2002-01-22 20:29  doughera
2824         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2825         appears to be a generic problem (if sizeof(long double) >
2826         sizeof(double)), not an x86-specific one.
2828 2002-01-22 16:57  doughera
2830         * runops_cores.c: Change variable name from time to starttime to
2831         avoid gcc warning about variable name shadowing.
2833 2002-01-22 16:55  doughera
2835         * classes/pmc2c.pl: Include class_init prototype too.
2837 2002-01-22 16:01  doughera
2839         * MANIFEST: [no log message]
2841 2002-01-22 01:04  ajgough
2843         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2844         classes/parrotpointer.pmc, classes/perlarray.pmc,
2845         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2846         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2847         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2848         warnings from pmc files.  Message-ID:
2849         <20020121224719.GE1726@Bagpuss.unfortu.net>
2851 2002-01-22 00:53  ajgough
2853         * test_main.c: Clears up a couple of warnings in test_main.c.
2854         Thanks to Nick Clark.  Message-ID:
2855         <20020121190457.GB1726@Bagpuss.unfortu.net>
2857 2002-01-22 00:47  ajgough
2859         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2860         include/parrot/chartype.h: Cause all codepoints to be treated as
2861         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2862         Nick Clark, see also: Message-ID:
2863         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2865 2002-01-22 00:24  dan
2867         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2869         Appended patch cures these warnings:
2871         key.c: In function `debug_key': key.c:29: warning: int format,
2872         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2873         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2874         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2875         format, INTVAL arg (arg 4)
2877         Courtesy of Nicholas Clark <nick@unfortu.net>
2879 2002-01-21 12:41  mrjoltcola
2881         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2882         be clock skew.
2884 2002-01-21 06:37  mrjoltcola
2886         * io/io.c: Cleanup a warning
2888 2002-01-21 06:28  mrjoltcola
2890         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2891         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2892         ops. Various other IO twiddlings.
2894 2002-01-21 03:25  grunblatt
2896         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2897         Melvin Smith for the catch up.
2899 2002-01-20 23:13  sfink
2901         * stacks.c: Fixed logic errors, need tests
2903 2002-01-20 22:17  brentdax
2905         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2906         prepare for /i to work.
2908 2002-01-20 20:52  grunblatt
2910         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2911         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2912         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2913         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2914         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2915         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2916         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2917         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2918         jit/alpha/string.jit:
2919         - Added support for ALPHA, by now linux and bsd.
2921         - Reduced jit2h.pl execution time by precompiling the call to the
2922         unimplemented op.
2924         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2925         Parrot/Jit/${cpuarch}Generic.pm
2927         - Changed the way to detect quads to what is written in "man
2928         perlfunc".
2930 2002-01-20 17:23  brentdax
2932         * rx.ops: There's no such thing as rx_allocateinfo.
2934 2002-01-19 08:26  brentdax
2936         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2938 2002-01-19 07:12  mrjoltcola
2940         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2941         into io.ops, leave the STDIO wrappers        in core.ops until they
2942         disappear.  Added debug op for switching on VM debug flag
2944 2002-01-19 01:55  mrjoltcola
2946         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2947         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2949 2002-01-19 00:55  brentdax
2951         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2952         include/parrot/rxstacks.h: Add regex-specific stacks for
2953         efficiency.
2955 2002-01-18 23:58  dan
2957         * Configure.pl: I think the optimal fix here is simply to remove
2958         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2959         man pages say "There is no reason to use this option [-pedantic];
2960         it exists only to satisfy pedants."
2962         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2964 2002-01-18 23:23  dan
2966         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2967         docs/running.pod, which lists the various executables Parrot
2968         currently includes, examples of running them, and mentions of where
2969         they fail to work. It's more of a cry for help than a useful
2970         reference. :-) I've been having trouble recently when making
2971         changes in figuring out whether I broke anything, because any
2972         non-default way of running the system seems to be already broken. I
2973         can't tell what brokenness is expected and what isn't.
2975         Courtesy of  Steve Fink <steve@fink.com>
2977 2002-01-15 22:13  brentdax
2979         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2980         substring use and enhance performance.
2982 2002-01-15 21:03  ajgough
2984         * string.c: Fix problem with string_transcode, &dest not being
2985         updated if src was already in desired encoding.
2987 2002-01-15 16:54  brentdax
2989         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2990         warnings.  Leaves only one warning, at rx.ops line 409, that I
2991         can't manage to get rid of.
2993 2002-01-15 16:50  dan
2995         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2996         code.  Also patches pbc2c.pl to work with rx.ops.
2998         Courtesy of Jason Gloudon <perl@gloudon.com>
3000 2002-01-15 16:15  dan
3002         * classes/Makefile.in: All the C files in classes/ weren't being
3003         compiled with an of the gcc warnings flags. With this patch they
3004         are, and there are an awful lot of warnings, more than I could hope
3005         to understand and clear up (within any sensible time period before
3006         submitting a rash of patches, by which time everyone else would
3007         have moved the code on)
3009         Courtesy of Nicholas Clark <nick@unfortu.net>
3011 2002-01-15 16:10  dan
3013         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
3014         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
3015         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3016         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3017         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3018         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3019         chartypes/usascii.c: This patch adds a few more macros for .ops
3020         files to use. In addition to the existing
3022          goto OFFSET(...)
3023          goto ADDRESS(...)
3024          goto POP()
3025          goto NEXT()
3027         it adds
3029          expr OFFSET(...)
3030          expr ADDRESS(...)
3031          expr POP()
3032          expr NEXT()
3034         This is intended mainly for use in helper functions in .ops files,
3035         but also for ops that need to eg push the address of the next
3036         opcode onto a stack. The only place this currently happens (outside
3037         of my private code) is in the bsr opcode, which previously
3038         hardcoded the computation.
3040         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3041         higher in the generated file so that it can be used by static
3042         functions in the preamble.
3044         Finally, I ran into a parentheses matching problem -- should goto
3045         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3046         \bgoto\s+OFFSET\((.*?)\)
3048         It was done inconsistently for the different calculations, and of
3049         course neither are correct because you really want matching
3050         parentheses. But that seems like too much bother. (Currently,
3051         there's only one place that uses anything other than $n in the
3052         parentheses, and that's the enternative() op.) So I made them all
3053         .*? but emulated recent POD by also allowing (( ... )) (that's two
3054         parenthesis with a space padding the body.)
3056         The generated core_ops.c and core_ops_prederef.c files after this
3057         patch are identical except for the CUR_OPCODE and REL_PC macros
3058         getting moved a little higher, and the bsr in the regular path (not
3059         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3061         In summary, this is a big wad of meaningless changes for the
3062         current code. But it will make adding some opcodes easier in the
3063         future, and cleans up a small nit in the current bsr.
3065         Courtesy of Steve Fink <steve@fink.com>
3067 2002-01-15 08:48  brentdax
3069         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3070         sort of).
3072 2002-01-15 08:45  brentdax
3074         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3076 2002-01-15 05:00  brentdax
3078         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3079         performance.
3081 2002-01-14 20:18  dan
3083         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3085         Courtesy of Nicholas Clark <nick@unfortu.net>
3087 2002-01-14 20:03  dan
3089         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3090         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3091         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3092         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3093         classes/parrotpointer.pmc, classes/perlarray.pmc,
3094         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3095         classes/perlstring.pmc, classes/perlundef.pmc,
3096         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3097         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3098         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3099         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3100         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3101         patch cleans up most of the MSVC-warnings when using warning level
3102         4 (the highest, one above the default level 3). It turns off two
3103         level-4 warnings for 'unreferenced formal parameter' and 'named
3104         type definition in parentheses', the latter of which was turning up
3105         warnings in MS VC headers.  Level 4 warnings also helped me find a
3106         couple of other lurking bugs in the parrot code.
3108         Replaces the various fprintf/exit combos with calls to
3109         internal_exception, which uses var_args to emulate printf. Various
3110         exception types were added as well. These are probably temporary
3111         until a real exception system arrives.
3113         Fixed some places in the IO code where wrong functions were being
3114         called, or put into the vtable.
3116         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3118 2002-01-14 19:00  dan
3120         * MANIFEST: D'oh! Forgot a file.
3122         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3124 2002-01-14 18:44  brentdax
3126         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3127         sense (and a few other enhancements to regexes).
3129 2002-01-14 07:07  brentdax
3131         * interpreter.c, runops_cores.c, test_main.c,
3132         include/parrot/interpreter.h: Make profiling a little more useful.
3134 2002-01-13 19:44  dan
3136         * Configure.pl: Turn off unsed things warnings for now
3138 2002-01-13 19:39  dan
3140         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3142         classes/perlarray.c:  * get_string: is casting
3143         SELF->cache.struct_val to a STRING*,    while all other methods are
3144         using it as a KEY*; don't know    what a perlarray stringifies to,
3145         so replacing with NULL  * get_bool: the default behaviour does not
3146         look right to me
3148         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3150 2002-01-13 19:37  dan
3152         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3153         flags to LDFLAGS, so that Configure.pl --debugging   works with
3154         MSVC
3156         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3157         pmc2c calls
3159         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3161 2002-01-13 19:36  dan
3163         * io/io_win32.c:   according to my MSVC docs, you should use
3164         _tcslen only after
3165           #including tchar.h
3167         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3169 2002-01-13 19:35  dan
3171         * docs/intro.pod: Doc tweak.
3173         Courtesy of Simon Glover <scog@roe.ac.uk>
3175 2002-01-13 19:34  dan
3177         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3178         that
3180           if Px, ...
3182          works with PerlString PMCs; these should be false if they are "",
3183         0, or
3184          are undefined, and true in every other case.
3186         Courtesy of Simon Glover <scog@roe.ac.uk>
3188 2002-01-13 19:23  dan
3190         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3191         NUMVAL_FMT to FLOATVAL_FMT.
3193         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3195 2002-01-13 17:45  jgoff
3197         * Makefile.in, global_setup.c, classes/Makefile.in,
3198         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3199         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3200         designing your own classes.
3202 2002-01-13 08:47  simon
3204         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3205         lib/Parrot/OpTrans/CPrederef.pm:
3206         Fix bsr in prederef mode.
3208         Courtesy of: Jason Gloudon <perl@gloudon.com>
3210 2002-01-12 15:33  dan
3212         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3213         string.c, encodings/singlebyte.c, encodings/utf32.c,
3214         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3215         Silence most of the unused variable warnings.
3217         Courtesy of Nicholas Clark <nick@unfortu.net>
3219 2002-01-12 15:18  dan
3221         * rx.ops: This patch fixes a warning and also changes an 'int' to
3222         an 'INTVAL'.  All tests should pass on Solaris.
3224         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3226 2002-01-12 15:13  dan
3228         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3229         examples/assembly/life.pasm, include/parrot/interpreter.h,
3230         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3231         io/io_win32.c: More IO work. (Plus some misc twiddles)
3233         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3235 2002-01-12 01:14  dan
3237         * include/parrot/string.h: fix a missing name
3239 2002-01-12 00:39  grunblatt
3241         * include/parrot/string.h: Few typos.
3243 2002-01-12 00:16  grunblatt
3245         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3246         that change the program control flow.
3248 2002-01-11 23:53  brentdax
3250         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3251         ParrotPointer's guts.
3253 2002-01-11 23:03  dan
3255         * include/parrot/string.h: flags for the buffers, for GC
3257 2002-01-11 22:31  dan
3259         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3261 2002-01-11 22:21  dan
3263         * include/parrot/pmc.h: Started with PMC flags
3265 2002-01-11 19:33  dan
3267         * config_h.in, memory.c, resources.c, string.c,
3268         include/parrot/resources.h: Beginnings of a memory allocation/gc
3269         system. Without the GC part.
3271 2002-01-11 18:05  dan
3273         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3274         systems
3276         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3278 2002-01-11 17:50  dan
3280         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3281         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3282         a patch that makes pbc2c generated code work with the bsr opcode.
3283         It creates a new opcode 'enternative', and uses this to support a
3284         mixed model of interpretation and execution of compiled C code.
3286         Courtesy of Jason Gloudon <perl@gloudon.com>
3288 2002-01-11 17:48  dan
3290         * Makefile.in: Add life as a potential .exe target
3292 2002-01-11 17:30  dan
3294         * include/parrot/resources.h: Start of arena stuff for GC
3296 2002-01-11 05:34  brentdax
3298         * rx.ops: Docs modifications.
3300 2002-01-11 04:19  brentdax
3302         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3303         regular expressions.
3305 2002-01-11 03:44  grunblatt
3307         * jit/i386/core.jit: off by one.
3309 2002-01-11 02:25  dan
3311         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3313         Courtesy of Steve Fink <steve@fink.com>
3315 2002-01-11 00:32  brentdax
3317         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3319 2002-01-10 23:22  ajgough
3321         * string.c, docs/strings.pod: Removed all the nul termination code,
3322         as this is in general a bad idea.  Note added to docs/strings.pod
3323         to warn people away from assuming termination.
3325 2002-01-10 23:14  dan
3327         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3328         testparrotsizes_c.in, include/parrot/interpreter.h,
3329         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3330         implementation
3332         Courtesy of Steve Fink <steve@fink.com>
3334 2002-01-10 22:48  dan
3336         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3337         sizeof(INTVAL)
3339         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3341 2002-01-10 22:46  dan
3343         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3344         t/pmc/perlhash.t:  Well, actually two bugs.
3346          The first is an off-by-one error in key.c than can cause parrot
3347          to segfault if hash % NUM_BUCKETS happens to be zero.
3349          The other is a bug in the PerlHash init() code that causes new
3350         PerlHash
3351          PMCs to start with the wrong size.
3353          Both fixed below; also tests to prevent them recurring.
3355         Courtesy of Simon Glover <scog@roe.ac.uk>
3357 2002-01-10 22:30  dan
3359         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3360         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3361         with a PerlArray,
3363         Courtesy of Simon Glover <scog@roe.ac.uk>
3365 2002-01-10 21:31  dan
3367         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3369 2002-01-10 20:30  grunblatt
3371         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3372         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3373         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3374         All the op codes that doesn't change the program control flow now
3375         work in the JIT by calling the code generated by the compiler when
3376         the op is not in core.jit TODO:     * Make all the ops that change
3377         the program control flow (and are not on core.jit) work.      *
3378         Remove the dispatch payload.
3380 2002-01-10 17:13  dan
3382         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3383         which tries to return 0 from a void function.
3385         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3387 2002-01-10 17:12  dan
3389         * t/op/macro.t: Skip tests, don't comment them out.
3391         Courtesy of Simon Glover <scog@roe.ac.uk>
3393 2002-01-10 17:10  dan
3395         * rx.c: This fixes a couple of nits in rx.c:
3397            1. There's no newline at the end, which makes gcc unhappy.
3398            2. We should use NULL, not 0 or "", for creating null pointers.
3400         Courtesy of Simon Glover <scog@roe.ac.uk>
3402 2002-01-10 17:09  dan
3404         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3405         back in
3406          alphabetical order.
3408         Courtesy of Simon Glover <scog@roe.ac.uk>
3410 2002-01-10 16:54  ajgough
3412         * resources.c: Made free_string check that there was a string to
3413         free.  In reponse to a bug spotted by Joshua Nye.
3415 2002-01-09 22:44  dan
3417         * global_setup.c: Forgot the setup
3419 2002-01-09 22:35  dan
3421         * rx.ops: Forgot this one
3423 2002-01-09 22:35  dan
3425         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3426         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3427         Tests don't work, though.
3429         Courtesy of "Brent Dax" <brentdax@cpan.org>
3431 2002-01-09 21:48  dan
3433         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3435 2002-01-09 21:22  dan
3437         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3438         Generic pointer holder class
3440         Courtesy of "Brent Dax" <brentdax@cpan.org>
3442 2002-01-09 21:19  dan
3444         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3445         patches.
3447 2002-01-09 19:54  dan
3449         * io/io_unix.c: Whoops. Forgot one
3451 2002-01-09 19:43  dan
3453         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3454         t/pmc/perlhash.t: Fix hash crash bugs
3456         Courtesy of Simon Glover <scog@roe.ac.uk>
3458 2002-01-09 19:13  dan
3460         * memory.c: Signedness whoops.
3462         Courtesy of Simon Glover <scog@roe.ac.uk>
3464 2002-01-09 18:23  dan
3466         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3467         io/io_stdio.c, io/io_win32.c: Changes:
3469         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3470         will be using the   Win32 API and company rather than the unix-ish
3471         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3472         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3473         stuff is   there. Soon we should be able to start using these
3474         rather than   fprintf(stderr, ...) and remove stdio linkage.
3476         Courtesy of <mrjoltcola@mindspring.com>
3478 2002-01-09 17:26  dan
3480         * test_main.c: Fixes bad code gen on x86.
3482         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3484 2002-01-09 17:24  dan
3486         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3487         classes/perlnum.pmc: This patch adds macros to the config.h file
3488         for INTVAL and NUMVAL printf formats.
3490         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3492 2002-01-08 22:55  ajgough
3494         * docs/vtables.pod: Clarify what get_string should do.
3496 2002-01-08 20:05  dan
3498         * key.c: Keep comments in sync.
3500         Courtesy of Simon Glover <scog@roe.ac.uk>
3502 2002-01-08 19:50  dan
3504         * memory.c, include/parrot/memory.h: Need a realloc
3506 2002-01-08 17:24  gregor
3508         * .cvsignore, Configure.pl, Makefile.in:
3509         Added 'reconfig' make target and corresponding --reconfig option to
3510         Configure.pl, so its very easy to re-run Configure.pl with the last
3511         (command-line) options you passed it.
3513 2002-01-08 16:33  dan
3515         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3516         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3517         in core.ops. Potential help for optimizers and JITters.
3519         Courtesy of gregor@linux1.kennedytech.com
3521 2002-01-08 16:32  dan
3523         * key.c: Grab key length from the right spot
3525         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3527 2002-01-08 13:27  ajgough
3529         * test_main.c: Fix slight thinko in realloc usage for reading from
3530         stdin.
3532 2002-01-08 11:34  ajgough
3534         * test_main.c: Allow test_parrot to read bytecode stream from
3535         stdin, adds -f command line option, with "-f -" doing the stdin
3536         stuff.
3538 2002-01-08 06:34  jgoff
3540         * key.c, include/parrot/key.h: key.c - Added simple implementation
3541         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3543 2002-01-08 03:21  jgoff
3545         * include/parrot/key.h: Added an undef type to the key structure,
3546         so we can delete keys without confusion.
3548 2002-01-07 22:09  dan
3550         * key.c, packfile.c, string.c, include/parrot/key.h,
3551         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3552         about index being redefined
3554         Courtesy of Nick Clark
3556 2002-01-07 21:15  dan
3558         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3560         Courtesy of Steve Fink <steve@fink.com>
3562 2002-01-07 20:48  dan
3564         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3565         failures
3567         Courtesy of "Brent Dax" <brentdax@cpan.org>
3569 2002-01-07 20:43  dan
3571         * docs/intro.pod: Missing a comma
3573         Courtesy of "coral" <coral@eekeek.org>
3575 2002-01-07 20:41  dan
3577         * global_setup.c: Quiet a warning
3579         Courtesy of Simon Glover <scog@roe.ac.uk>
3581 2002-01-07 18:58  gregor
3583         * t/op/.cvsignore:
3584         Ignore intermediate test files.
3586 2002-01-07 17:01  gregor
3588         * ops2c.pl:
3589         Print a warning if an .ops file is mentioned more than once on the
3590         command line.
3592 2002-01-07 16:12  ajgough
3594         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3595         these shouldn't fail.
3597 2002-01-07 15:15  simon
3599         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3600         Stop segfaults.
3602 2002-01-07 15:11  simon
3604         * key.c:
3605         Fix zero-termination bug in hash function.
3607 2002-01-07 13:37  ajgough
3609         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3610         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3612 2002-01-07 11:53  brentdax
3614         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3615         (:add{foo}) and a new deleting thing (:rem{foo})
3617 2002-01-07 11:43  simon
3619         * Configure.pl:
3620         Gobble the + before concatenating.
3622 2002-01-07 03:53  dan
3624         * Makefile.in: Dependency fix for new ops setup.
3626 2002-01-07 03:33  jgoff
3628         * classes/perlarray.pmc: Add negative indices, and fix a small
3629         allocation problem.
3631 2002-01-06 23:54  ajgough
3633         * hints/os2.pl: Makes the hints file take account of ldflags and
3634         ccflags being split.  This hints file is still very specific to
3635         builds with gnu tools, but a proper solution can wait.   Thanks to
3636         Nick Burch.
3638 2002-01-06 22:12  dan
3640         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3641             -changes Parrot::OpLib::core's dependencies to reflect the new
3642         selectable ops files    -allows some of the special forms of 'goto'
3643         inside the PREAMBLE of an opcode file
3645         Courtesy of "Brent Dax" <brentdax@cpan.org>
3647 2002-01-06 19:59  simon
3649         * Makefile.in:
3650         *cough*
3652 2002-01-06 18:19  dan
3654         * classes/perlhash.pmc: Fix some type issues.
3656         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3658 2002-01-06 18:03  dan
3660         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3661         for a list of opcode files to use.  The default is everything
3662         available except for obscure.ops.
3664         In addition, it makes it so that if your answer to a question
3665         starts with '+', it will concatenate it to the default.  For
3666         example:
3668         What C compiler do you want to use? [cl] +HAHAHA!!!
3670         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3671         is not terribly useful, it is quite useful with things like
3672         command-line flags and the like.
3674         Finally, it contains a couple tweaks so that my syntax-highlighting
3675         editor recognizes some heredocs correctly.  :^)
3677         Courtesy of "Brent Dax" <brentdax@cpan.org>
3679 2002-01-06 17:59  dan
3681         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3683         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3685 2002-01-06 17:58  dan
3687         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3689         Courtesy of Simon Glover <scog@roe.ac.uk>
3691 2002-01-06 17:57  dan
3693         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3694         Compiler directives, etc. in files other than core.ops will now
3695         work.   2.  Compiler warnings will now display the file and line
3696         number of the  opcode file.
3698         Courtesy of "Brent Dax" <brentdax@cpan.org>
3700 2002-01-06 17:52  dan
3702         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3704         Courtesy of Simon Glover <scog@roe.ac.uk>
3706 2002-01-06 17:36  dan
3708         * docs/intro.pod: Lots of updates
3710         Courtesy of Simon Glover <scog@roe.ac.uk>
3712 2002-01-06 02:34  gregor
3714         * interpreter.c:
3715         Add some internal documentation on the theory of operation of the
3716         prederef code.
3718 2002-01-06 02:17  gregor
3720         * interpreter.c:
3721         Removed unnecessary include.
3723 2002-01-05 12:37  simon
3725         * classes/.cvsignore:
3726         Ignore generated .h files.
3728         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3730 2002-01-05 12:37  simon
3732         * Configure.pl:
3733         Make lcc happier by adding a dummy structure.
3735         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3737 2002-01-05 12:35  simon
3739         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3740         Make perlundef work. (And coincidentally stop segfaults in the
3741         tests :)
3743         Courtesy of: Jason Gloudon <perl@gloudon.com>
3745 2002-01-05 04:59  dan
3747         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3749 2002-01-05 04:55  jgoff
3751         * classes/perlhash.pmc: Added perlhash class definition
3753 2002-01-05 04:48  dan
3755         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3757         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3759 2002-01-05 03:57  jgoff
3761         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3762         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3763         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3764         t/pmc/pmc.t: Initial hash commit.
3766         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3767          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3768         set_{integer,number,string}_index_s
3770         This does not yet do collision resolution, but will soon.
3772 2002-01-05 02:54  dan
3774         * interpreter.c: More unsigned fixes
3776         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3778 2002-01-04 22:13  dan
3780         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3781         test programs happier.
3783         Courtesy of "Jason Diamond" <jason@injektilo.org>
3785 2002-01-04 19:00  dan
3787         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3788         separate things
3790 2002-01-04 18:27  dan
3792         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3793         Fixes to get things configuring and building on Win32 Native.
3795         Courtesy of "Jason Diamond" <jason@injektilo.org>
3797 2002-01-04 17:39  dan
3799         * hints/vms.pl: debug cleanup
3801 2002-01-04 16:53  dan
3803         * docs/parrot.pod:  The enclosed patch brings the list of
3804         documentation in parrot.pod
3805          up to date.
3807         Courtesy of Simon Glover <scog@roe.ac.uk>
3809 2002-01-04 16:47  dan
3811         * test_main.c, Parrot/Jit/i386-linux.pm,
3812         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3813         off warnings..
3815         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3817 2002-01-04 16:44  dan
3819         * Configure.pl, Makefile.in: Fixed linking to use linker.
3821         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3823 2002-01-04 16:39  dan
3825         * io/io_stdio.c: Added CVS tag info
3827 2002-01-04 16:35  dan
3829         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3830         isn't it
3832 2002-01-04 16:26  dan
3834         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3835         Tokenizer test
3837         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3839 2002-01-04 16:17  dan
3841         * chartypes/unicode.c: Silence some warnings.
3843         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3845 2002-01-04 16:09  dan
3847         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3848         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3849         into generated files
3850            but the $Id$ string gets mangled when it's committed.
3851            This patch fixes the existing .pmc files and fixes genclass.pl.
3853          - Makes capitalization in .pmc header match actual filenames
3855          - The command for calling genclass.pl in vtables.pod is incorrect,
3856            since it assumes you're running in classes/ but genclass.pl
3857         assumes
3858            it's being run from the main directory. I changed genclass.pl to
3859         not
3860            care.
3862         Courtesy of Steve Fink <steve@fink.com>
3864 2002-01-04 03:57  dan
3866         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3867         me--I *had* the files:wq!
3869 2002-01-04 03:40  dan
3871         * MANIFEST: Whoops--remove files not really there
3873 2002-01-04 03:37  dan
3875         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3876         my sig adds a new_stack() function to take care of the allocation
3877         and setup of "generic" stacks.
3879         Courtesy of "Brent Dax" <brentdax@cpan.org>
3881 2002-01-04 02:36  dan
3883         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3884         and so
3885          writes a load of junk in core_ops.pod. Applied patch fixes.
3887         Courtesy of Simon Glover <scog@roe.ac.uk>
3889 2002-01-04 02:35  dan
3891         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3892         logical-or is using get_integer instead of get_bool for logical
3893         operations. This patch corrects that.
3895         Perlnum and perlstring have working get_bool's, so the default
3896         logical_or and logical_and should be sufficient. The empty methods
3897         are pointed to the default logical_or.
3899         Courtesy of Jason Gloudon <perl@gloudon.com>
3901 2002-01-04 02:31  dan
3903         * Makefile.in: docs/Makefile should be removed by realclean, but
3904         isn't
3906         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3908 2002-01-04 02:29  dan
3910         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3912         Courtesy of Steve Fink <steve@fink.com>
3914 2002-01-04 00:51  dan
3916         * docs/vtables.pod: More docs
3918         Courtesy of Steve Fink <steve@fink.com>
3920 2002-01-04 00:47  dan
3922         * Configure.pl: Updated 64-bit patch
3924         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3926 2002-01-04 00:43  dan
3928         * Configure.pl: 64-bit Fix.
3930         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3932 2002-01-03 22:37  dan
3934         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3935         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3936         some buffering work.       Additional work on other layers.
3938         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3940 2002-01-03 19:41  gregor
3942         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3943         Updated copyright messages on top-level files.
3945 2002-01-03 04:23  robert
3947         * make.pl: Add author information.  Bonsai test.
3949 2002-01-03 04:02  dan
3951         * io/io_os.c: Twig Bonsai
3953 2002-01-03 03:45  dan
3955         * io/: io_os.c, io_os.c: Twig Bonsai
3957 2002-01-03 03:41  dan
3959         * io/io_os.c: Twig Bonsai
3961 2002-01-02 21:42  gregor
3963         * packfile.c, include/parrot/packfile.h:
3964         Get rid of warnings in packfile.[hc]
3966 2002-01-02 20:39  gregor
3968         * manicheck.pl:
3969         Bracketed translated patterns with ^ and $.
3971 2002-01-02 20:11  dan
3973         * io/io_os.c: silence a warning
3975 2002-01-02 19:52  grunblatt
3977         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3978         op_assembly to jit_struct.h, so that we get the real number of ops.
3979          Removed some warnings.
3981 2002-01-02 19:31  tom
3983         * string.c: Fix string transcoding so that it actually works.
3985         Patch from Peter Gibbs <peter@emkel.co.za>
3987 2002-01-02 19:20  gregor
3989         * manicheck.pl:
3990         A program to check the MANIFEST file, accounting for .cvsignore
3991         files.
3993 2002-01-02 19:19  dan
3995         * t/harness: twig bonsai
3997 2002-01-02 19:13  dan
3999         * t/harness: twig bonsai
4001 2002-01-02 18:54  dan
4003         * t/harness: Tweak to test Bonsai
4005 2002-01-02 16:27  dan
4007         * Configure.pl: Allow 64-bit build of parrot on systems with a
4008         mixed 32/64 bit perl
4010         Courtesy of David M. Lloyd <dmlloyd@tds.net>
4012 2002-01-02 15:33  simon
4014         * MANIFEST, docs/Makefile:
4015         Fixed up MANIFEST. (And I removed the Makefile in docs/)
4017         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4019 2002-01-02 13:51  simon
4021         * Configure.pl:
4022         Die on broken manifest.
4024 2002-01-02 13:48  simon
4026         * jit2h.pl, examples/assembly/mops.pasm:
4027         Clear up JIT warnings.
4029         Courtesy of: Nick Clark <nick@unfortu.net>
4031 2002-01-02 04:10  dan
4033         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4034         only once, so new interp creation works again
4036         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4038 2002-01-02 03:32  dan
4040         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4041         moment.
4043 2002-01-02 00:55  dan
4045         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4046         io/io_os.c: Initial IO system patches
4048         Courtesy of <mrjoltcola@mindspring.com>
4050 2002-01-01 22:55  ajgough
4052         * classes/default.pmc: On second thoughts, and some prodding, the
4053         set_* methods now only set the appropriate part of the cache, and
4054         do nothing else.
4056 2002-01-01 22:29  ajgough
4058         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4060          set_* create appropriate Perl* result.
4061          get_* simply grabs needed bit of cache.*_val
4063          Other methods do the rightest thing I can think of, at the moment.
4065          None yet cope with overflow, the modulus operation needs to be
4066         checked as
4067         I don't know quite which semantics we really want.
4069         Not tested yet.
4071 2002-01-01 20:23  dan
4073         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4074         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4075         rid of unneeded tmp var and eliminated const from encode prototype
4076         since it does make changes to the string.
4078         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4080 2002-01-01 20:11  dan
4082         * Makefile.in: Make clean now tosses pdump.o
4084         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4086 2002-01-01 19:49  dan
4088         * pdump.c, test_main.c: Warnings cleanup
4090         Courtesy of Josh Wilmes <josh@sky.net>
4092 2002-01-01 19:45  dan
4094         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4095         hints/mswin32.pl, languages/jako/Makefile.in,
4096         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4097         platforms
4099         Courtesy of "Jason Diamond" <jason@injektilo.org>
4101 2002-01-01 19:41  dan
4103         * include/parrot/register.h: Clean up some warnings
4105         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4107 2002-01-01 19:10  simon
4109         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4110         Hack-around to enable compilation of code using vtable ops.
4112 2002-01-01 18:43  dan
4114         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4115         checks on unsigned things
4117         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4119 2002-01-01 18:26  dan
4121         * runops_cores.c: More warning silences.
4123         Courtesy of Nicholas Clark <nick@unfortu.net>
4125 2002-01-01 18:25  dan
4127         * trace.c: Shuts up a warning.
4129         Courtesy of Nicholas Clark <nick@unfortu.net>
4131 2002-01-01 18:24  dan
4133         * encodings/singlebyte.c: Clean up some warnings.
4135         Courtesy of Nicholas Clark <nick@unfortu.net>
4137 2002-01-01 18:20  dan
4139         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4140         thunk it?
4142         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4144 2002-01-01 18:17  dan
4146         * packfile.c: Warning cleanup
4148         Courtesy of Nicholas Clark <nick@unfortu.net>
4150 2002-01-01 17:53  dan
4152         * string.c: New string size should be based on output encoding's
4153         size, not input encoding's size.
4155         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4157 2002-01-01 17:22  dan
4159         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4160         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4161         include/parrot/interpreter.h, include/parrot/memory.h,
4162         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4163         Warnings fixups.
4165         Courtesy of Chip Turner <cturner@redhat.com>
4167 2002-01-01 17:09  dan
4169         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4170         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4171         now unsigned, as is proper.
4173         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4174         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4176 2002-01-01 16:59  dan
4178         * include/parrot/trace.h: Useless debugging prototype removed
4180         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4182 2002-01-01 16:58  dan
4184         * MANIFEST: We forgot a file.
4186         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4188 2002-01-01 03:53  dan
4190         * Configure.pl: Okay, I give. Removed some warnings because the
4191         darned system headers were triggering them. Sloppy, sloppy
4192         coding...
4194 2002-01-01 03:48  dan
4196         * config_h.in: Add in an unsigned INTVAL.
4198         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4200 2002-01-01 03:46  dan
4202         * global_setup.c: Clean up some compiler warnings.
4204         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4206 2002-01-01 03:43  dan
4208         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4209         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4210         include/parrot/op.h: Cleaned up some things to make the compiler
4211         happier.
4213         Courtesy of Nicholas Clark <nick@unfortu.net>
4215 2002-01-01 03:14  dan
4217         * Configure.pl: Quad updates.
4219         Courtesy of Nicholas Clark <nick@unfortu.net>
4221 2001-12-31 22:53  dan
4223         * include/parrot/op.h: Typedef had parameters backwards. Threw
4224         core.ops for a big whiny warnings loop.
4226 2001-12-31 22:37  dan
4228         * Makefile.in, resources.c: Tweaks to try and get things to build
4229         in the right order.
4231 2001-12-31 21:58  dan
4233         * Configure.pl: Stupid thinko fix
4235 2001-12-31 21:34  dan
4237         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4239         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4241 2001-12-31 21:32  dan
4243         * Configure.pl: Fix for non-gcc systems
4245 2001-12-31 20:22  dan
4247         * interpreter.c: Tweak so we can build on non-JIT platforms
4249 2001-12-31 20:11  dan
4251         * Configure.pl: Force the time on some copied files to be 'now' to
4252         make the Win builds much less annoying.
4254         Courtesy of "Jason Diamond" <jason@injektilo.org>
4256 2001-12-31 20:07  dan
4258         * Configure.pl: Nuke all object files in the parrot tree that
4259         matter when configuring.  Shouldn't be necessary with good
4260         dependencies in the makefile, but we don't have those yet.
4262 2001-12-31 20:00  gregor
4264         * chartypes/unicode.c:
4265         Silence unused variable warnings.
4267 2001-12-31 19:40  dan
4269         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4271 2001-12-31 19:37  gregor
4273         * interpreter.c, jit.c, include/parrot/jit.h:
4274         Created a prototype for JIT functions and used it in interpreter.c.
4276 2001-12-31 19:31  dan
4278         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4279         detection) with really cranky warnings if we find we're using it.
4281         Courtesy of: Nicholas Clark <nick@unfortu.net>
4283 2001-12-31 18:01  gregor
4285         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4287         Fixed a few warnings wrt prototypes, etc.
4289 2001-12-31 17:23  dan
4291         * string.c: Silenced most of the compiler whines
4293 2001-12-31 17:15  gregor
4295         * Configure.pl:
4296         Get the ccname from either ccname or just cc config var.
4298 2001-12-31 17:14  gregor
4300         * Parrot/Op.pm, lib/Parrot/Op.pm:
4301         Another intermediate opbody notation. Could come in handy. Explicit
4302         types.
4304 2001-12-31 17:05  dan
4306         * string.c: Minor warnings update
4308 2001-12-31 17:00  dan
4310         * include/parrot/string.h: Warnings cleanup
4312 2001-12-31 16:00  simon
4314         * encodings/utf8.c, include/parrot/encoding.h:
4315         Remove a couple more.
4317 2001-12-31 15:58  simon
4319         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4320         include/parrot/op.h:
4321         Rid ourselves of a few warnings.
4323 2001-12-31 15:32  dan
4325         * Configure.pl: Made GCC ever so much pickier.
4327         Switch list courtesy of Jarkko.
4329 2001-12-31 15:22  dan
4331         * string.c: Tightened up initial allocation.
4333         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4335 2001-12-31 06:48  dan
4337         * Configure.pl: Minor Windows tweak
4339 2001-12-31 05:32  dan
4341         * core.ops: Unused temp variable tossed.
4343         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4345 2001-12-31 05:09  grunblatt
4347         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4348         supported plataforms
4350 2001-12-31 03:05  dan
4352         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4353         platform-independent quote substitution for the makefiles.
4354         Hopefully this'll make the Win32 builds happier.
4356 2001-12-30 21:08  dan
4358         * string.c, include/parrot/string.h: More string system tweaks.
4360         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4362 2001-12-30 20:45  dan
4364         * core.ops: Some pod cleanup
4366         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4368 2001-12-30 20:22  ajgough
4370         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4371         we aren't using them right now.  Clarified the workings of set Px,
4372         Py and clone Px, Py.
4374 2001-12-30 20:15  grunblatt
4376         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4377         Added readjit() to read *.jit files Updated core.jit to the new
4378         set_n_i
4380 2001-12-30 20:14  ajgough
4382         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4384 2001-12-30 19:52  dan
4386         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4387         include/parrot/trace.h, platforms/generic.c: Compiler whine
4388         cleanups
4390         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4392 2001-12-30 19:13  dan
4394         * Configure.pl, Makefile.in: Make GCC pickier by default.
4396         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4398 2001-12-30 18:41  dan
4400         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4401         ntoi opcodes to sets.
4403         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4405 2001-12-30 17:58  gregor
4407         * Makefile.in:
4408         'make' no longer builds the mops test. Use 'make mops' for that. To
4409         run the test, you can do 'make mopstest'.
4411 2001-12-30 17:30  gregor
4413         * Makefile.in:
4414         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4415         Gregor.
4417 2001-12-30 17:26  gregor
4419         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4420         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4421         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4422         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4423         Build enhancements. Originally to support building shared
4424         libraries, but now of broader impact.
4426           * .cvsignore: Ignore the blib/ directory, about which more later.
4428           * Configure.pl:
4430               * Got rid of TAB formatting and lined a few things up.
4432               * Added header comment with CVS Id variable, and a few other
4433                 block header comments.
4435               * Uses new Parrot::BuildUtil module to determine the Parrot
4436                 version.
4438               * Reworded a few messages, added a couple, and wrapped
4439         messages
4440                 to 79 columns.
4442               * Added 2002 to the Copyright statement.
4444               * Added new configure variables: VERSION, MAJOR, MINOR and
4445         PATCH
4447               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4448         greater
4449               than 5.6.0, but the comment implies it isn't.
4451           * Makefile.in:
4453               * Added $(SO), $(A) and $(AR_CRS) defines for library
4454         building.
4456               * Added $(RM_RF) define for removing directory trees
4458               * Grouped generated files into two classes: "sticky" (made by
4459         configure,
4460                 persisting across 'make clean') and 'fluid' (made during
4461         the build
4462                 process, deleted by 'make clean').
4464               * Added header comments.
4466               * Added target for test_prog linked with shared library.
4468               * Added rules to build shared libraries in blib/lib. The
4469         libraries are
4470                 built with trailing version numbers in their file names,
4471         and then
4472                 symbolic links are created for shorter and no version tag
4473         variants.
4475               * Added some missing dependencies
4477               * Added some missing 'make clean' targets.
4479               * Added 'make realclean' target that deletes files created by
4480                 Configure.pl (including Makefile), forcing a re-configure.
4482               * Added a 'status' CVS target.
4484           * VERSION: New file, contains only the version. This version
4485         number is
4486             propagated to a few places, such as the core oplib version
4487         number. This
4488             reduces the amount of coordination that has to happen to get
4489         version
4490             number stuff throughout the tree in sync and updated prior to
4491         cutting
4492             a new release. Feel free to grep for '0.0.3' to see the other
4493         files
4494             that contain the version number (but, do that in a fresh CVS
4495         copy, or
4496             after doing 'make realclean').
4498           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4499         PARROT_*_VERSION,
4500             since the oplib and Parrot itself share a version number now.
4501         Added
4502             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4503         (a
4504             string).
4506           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4507         of
4508             specifying the version by hand. Non-core oplibs will set this
4509         to
4510             a quoted dot-string with three natural number components
4511         without
4512             leading zeros.
4514           * interpreter.c: Make use of PARROT_VERSION to simplify some
4515         sprintf()s, and
4516             to get the complete version number in the resulting strings
4517         (including the
4518             new PATCH portion).
4520           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4521         the
4522             generated file.
4524           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4526           * ops2c.pl: Account for the PATCH version, too. This affects the
4527         name of the
4528             oplib init function, and the oplib info struct initializer.
4530           * Parrot/BuildUtil.pm: New file for reading in and validating the
4531         contents of
4532             the new VERSION file. Other build utilities could go here in
4533         futuer.
4535           * Parrot/OpsFile.pm:
4537               * Allow three components in version number, and require that
4538         the value
4539                 be in double quotes.
4541               * Allow "VERSION = PARROT_VERSION", substituting the shared
4542         Parrot
4543                 VERSION in that case.
4545           * include/parrot/oplib.h: Add the patch_version member.
4547 2001-12-30 12:16  simon
4549         * MANIFEST, Makefile.in:
4550         More stuff forgotten from MANIFEST.
4552 2001-12-30 12:13  simon
4554         * MANIFEST:
4555         Missing JIT file.
4557 2001-12-30 12:12  simon
4559         * jit2h.pl:
4560         Safety first.
4562 2001-12-30 12:12  simon
4564         * Makefile.in:
4565         Gragh.
4567 2001-12-30 12:04  simon
4569         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4570         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4571         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4572         include/parrot/string.h, t/op/string.t:
4573         * Expand the strings test suite to be more complete * Make string
4574         commands more consistent (i.e, now the only string command that
4575         actually changes the original is chopn) * Significantly reduce the
4576         number of memory allocations and eliminate reallocations.
4578         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4580 2001-12-29 22:12  dan
4582         * interpreter.c, key.c, register.c, stacks.c, string.c,
4583         test_main.c, trace.c: Updates to match the coding standards.
4585         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4587 2001-12-29 20:42  grunblatt
4589         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4590         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4591         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4592         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4593         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4594         Kitover <caelum@debian.org>
4596 2001-12-28 21:20  dan
4598         * core.ops: Okay, now print takes a preceding file handle.
4600         I feel so dirty now.
4602 2001-12-28 20:46  dan
4604         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4605         changing the open op to use fopen under the hood.
4607         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4609 2001-12-28 18:20  ajgough
4611         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4612         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4613         include/parrot/exceptions.h, include/parrot/string.h,
4614         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4615         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4616         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4617         to hold tests specific to PerlStrings, as the pmc.t file is taking
4618         too long to run and slowing down my thought processes.
4620         Changes to strings.c etc to take string functions.
4622         Some changes to the strings docs, but not yet complete.
4624         Also, PerlString was copying pointers to strings, rather than
4625         strings themselves, so some action-at-a-distance bugs were creeping
4626         in, I think I've fixed this so everything works nicely.
4628 2001-12-28 04:56  gregor
4630         * examples/assembly/pmcmops.pasm:
4631         PMC-using version of mops.pasm.
4633         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4635 2001-12-28 04:56  gregor
4637         * examples/assembly/.cvsignore:
4638         Small tinkering. Removed old stuff, etc.
4640 2001-12-28 01:26  gregor
4642         * examples/mops/mops.scheme:
4643         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4644         to the very un-scheme-like implementation.
4646 2001-12-28 01:19  gregor
4648         * examples/mops/mops.c:
4649         Some people's picky compilers don't like us redefineing time(), so
4650         we call it time_n().  :)
4652 2001-12-28 00:28  gregor
4654         * examples/mops/: README, mops.ps:
4655         Added a PostScript example and a README.
4657 2001-12-27 23:57  gregor
4659         * Makefile.in:
4660         Build the C mops translation in examples/mops/mops.c
4662 2001-12-27 23:56  gregor
4664         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4665         Some translations of mops.pasm into other languages, for inner loop
4666         performance comparisons.
4668 2001-12-27 22:40  gregor
4670         * examples/assembly/mops.pasm:
4671         Fixed erroneous file name in header comment.
4673 2001-12-27 21:18  gregor
4675         * pbc2c.pl:
4676         One-liner to avoid no-op gotos to the next op.
4678 2001-12-27 21:06  gregor
4680         * runops_cores.c:
4681         Fixed -p (profiling). Slow runops core was doing unconditional
4682         tracing, when it should have been checking the flags.
4684 2001-12-27 18:50  ajgough
4686         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4687         classes/perlstring.pmc, include/parrot/chartype.h,
4688         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4689         dded get_digit() to chartypes  * Added string_bool() to strings  *
4690         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4691         to perlstring.pmc  * Tests for above, also a for couple of other
4692         ops without tests
4694         The unicode chartype has only had placeholders added for get_digit,
4695         string_to_num has been updated to use type->get_digit rather than
4696         the previous ascii-isms.  Some remain, but we need to carefully
4697         define what we mean by a number before we let thousands of code
4698         points act as a minus sign.
4700 2001-12-27 18:32  dan
4702         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4703         compiler warnings.
4705         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4707 2001-12-27 18:23  dan
4709         * t/op/bitwise.t: More tests.
4711         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4713 2001-12-27 17:08  gregor
4715         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4716         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4717         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4718         include/parrot/interpreter.h, include/parrot/oplib.h,
4719         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4720         platforms/win32.c, platforms/win32.h:
4721         Initial code for dynamic loading of oplibs, applied for now to the
4722         loading of the core_prederef oplib when the -P flag is passed to
4723         test_parrot.
4725           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4727           * Makefile.in:
4729               * Added libcore_prederef_0_3.so to the shared target.
4730               * Added build rule for libcore_prederef_0_3.so.
4731               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4732                 to Parrot/OpLib/core.pm, core_ops.c and
4733                 core_ops_prederef.c.
4735           * config_h.in: Added defines for constants used to locate the
4736             core oplib's init function, and the core_prederef oplib for
4737             dynaloading.
4739           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4740             required by Parrot/OpsFile.pm.
4742           * interpreter.c:
4744               * Added init_prederef() and stop_prederef() functions to load
4745                 and unload the core_prederef oplib when we are in prederef
4746                 mode.
4748                 NOTE: In all likelihood, the prederef stuff has a rapidly
4749                 dwindling time-to-live. The JIT should provide vastly
4750         superior
4751                 performance, and loading an alternate set of core_ops isn't
4752                 the real direction for the dynaloading stuff. Loading
4753                 *additional* ops is. It does provide a handy test case for
4754         the
4755                 general idea for now, though.
4757               * Gets the core copcode table, etc. via the core oplibs oplib
4758                 info pointer, as returned by the core oplib's init
4759         function.
4761           * ops2c.pl
4763               * Make use of the version, major version and minor version
4764                 stuff parsed by Parrot/OpsFile.pm
4766               * The only exported symbol in the generated files is the init
4767                 function now, since that returns an oplib info struct
4768                 pointer, and all the important stuff can be found there.
4770           * ops2pm.pl: Put the oplib version in the generated .pm file.
4772           * test_main.c: Small changes necessitated by changes in the names
4773             of some members of the interpreter struct.
4775           * trace.c: Small changes necessitated by changes in the names
4776             of some members of the interpreter struct.
4778           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4779             ops are found.
4781           * include/parrot/interp_guts.h: Small changes necessitated by
4782             changes in the names of some members of the interpreter struct.
4784           * include/parrot/interpreter.h: Include the new
4785             include/parrot/oplib.h header. Small changes to the oplib-
4786             related members.
4788           * include/parrot/oplib.h: Define the type of the oplib init
4789             function, and the struct type for the oplib info.
4791           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4792             since not all platforms have it. For those that do, a default
4793             second argument is provided.
4795 2001-12-26 05:12  gregor
4797         * Configure.pl:
4798         Make jitarch calculation not get tripped up by extra components to
4799         archname.
4801 2001-12-24 21:23  gregor
4803         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4804         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4805         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4806         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4807         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4808         Some more JIT work from Daniel Grunblatt.
4810           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4811         to C
4812             functions.
4814           * Added JUMP(END) to place the number of bytes to the end of the
4815         current
4816             op.
4818           * The *.jit files syntax changed.
4820           * Added jit/i386/lib.jit to place handly functions as jump that
4821         take as
4822             argument the address where is the opcode number to jump to.
4824           * There is a bug at some point, but I will start writing
4825             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4826         have use
4827             calls, which make the jit as slow as the interpreter.
4829         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4831 2001-12-24 03:46  dan
4833         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4834         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4835         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4836         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4837         Perls before 5.6.0 don't like it.
4839 2001-12-22 16:02  ajgough
4841         * t/op/stacks.t: stopped skipping tests we can run now.  added
4842         clonep tests.
4844 2001-12-21 21:13  gregor
4846         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4847         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4848         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4849         Fixed some package name goofs.
4851         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4853 2001-12-21 19:32  gregor
4855         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4856         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4857         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4858         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4859         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4860         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4861         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4862         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4863         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4864         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4865         pbc2c.pl.
4867           * Removed ops2c-prederef.pl
4869           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4871           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4872             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4873             for old functionality of ops2c-prederef.pl), and
4874             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4876             "OpTrans" == "Op Transformation"
4878           * Makefile.in modifications to call "ops2c.pl C" where it used
4879             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4880             to be "ops2c-prederef.pl".
4882           * core.ops and obscure.ops changes to syntax. Semantics are
4883             identical with previous version:
4885               return HALT         -->  HALT()
4886               return AUTO         -->  goto NEXT()
4887               return RETREL(...)  -->  goto OFFSET(...)
4888               return RESTART(*)   -->  restart NEXT()
4890             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4891             for dest-less branch ops replaced with new notation "goto
4892         POP()",
4893             which uses the new pop_dest() function in stacks.c. This also
4894             allowed these ops to become 'inline' ops, since they no longer
4895             have local variables.
4897             The 'ret' op also became simplified to just "goto POP()", and
4898             also became an inline op.
4900           * interpreter.c reflects the change in type name:
4902               prederef_op_func_t   -->  op_func_prederef_t
4904             that occurred in include/parrot/op.h
4906           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4907             "return AUTO".
4909           * ops2c.pl is now generic. Its first argument is the last
4910             package name component of a subclass of Parrot::OpTrans. These
4911             subclasses all have full names of the form Parrot::OpTrans::*.
4912             An instance of the class is created and later consulted for
4913             various bits of information needed to generate the C code.
4915           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4916             contain its transformation rules.
4918           * stacks.c has a new function pop_dest() that pops a destination
4919             off the control stack. include/parrot/stacks.h has the
4920         prototype.
4922           * Parrot/Op.pm now supports the syntax generated by
4923         Parrot::OpsFile
4924             for the "goto POP" case.
4926             Also, the source() method now expects its second argument to be
4927             an object that ISA Parrot::OpTrans. Methods of this object are
4928             called to perform the substitutions.
4930           * Parrot/OpsFile.pm supports the change in notation mentioned
4931             above.
4933           * docs/intro.pod reflects these changes.
4935           * include/parrot/op.h: Renamed type prederef_op_func_t to
4936             op_func_prederef_t because it made the implementation of the
4937             shared ops2c.pl easier.
4939 2001-12-21 13:47  gregor
4941         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4942         Both test_parrot (via test_main.c) and the intepreter itself (via
4943         interpreter.c) use the JIT_CAPABLE config to decide whether to
4944         actually attempt JIT operation, or to complain.
4946 2001-12-20 23:25  gregor
4948         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4949         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4950         Changes to the format of *.ops files. An attempt to provide hints
4951         for future opfunc processing logic that wants to know if an opfunc
4952         is simple enough to JIT (e.g.) inline, or not.
4954         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4955         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4956         info.
4958 2001-12-20 21:28  gregor
4960         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4961         jit/i386/core.jit:
4962         More JIT stuff:
4964           * A fix to Gregor's last Configure.pl update.
4966           * Remove the need for hardcoded "\n" at the end of the "%f"
4967             format for printing floating-point numbers.
4969           * New, improved *.jit syntax for references to registers,
4970             e.g. INT_REG[n].
4972           * Support for C() improved.
4974         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4976 2001-12-20 16:55  dan
4978         * MANIFEST: Added jit.c to the manifest.
4980 2001-12-20 15:24  simon
4982         * jit2h.pl:
4983         Off-by-one error fixed.
4985 2001-12-20 14:18  simon
4987         * jit/i386/core.jit:
4988         Just a noop. It's the only machine code I know.
4990 2001-12-20 13:10  gregor
4992         * Configure.pl, Makefile.in, jit2h.pl:
4993         Attempt to fix Win32 builds.
4995           * No more empty braces in include/parrot/jit_struct.h
4997         Also:
4999           * ${jitarchname} has the *bsd -> bsd substitution on it, but
5000         ${archname}
5001             does not.
5003 2001-12-20 11:56  simon
5005         * Makefile.in:
5006         De-cp
5008 2001-12-20 01:57  gregor
5010         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
5011         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
5012         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
5013         include/parrot/.cvsignore, include/parrot/interpreter.h,
5014         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
5015         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5016         lib/Parrot/Jit/i386-nojit.pm:
5017         Initial JIT implementation.
5019           * Enabled with test_parrot -j. 20x speed boosts seen.
5021           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5023           * More to come.
5025         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5027 2001-12-20 01:53  jgoff
5029         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5030         core.ops - Removed key operators, they should be hidden from the
5031         assembler.  t/op/key.t - No need to test the nonexistent key
5032         operators.
5034 2001-12-20 00:13  ajgough
5036         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5037         that asking for type of entry at depth causes segfault as stack is
5038         zero based, fixed cmp in core.ops to reflect this.  Last test is
5039         skipped as we don't do exceptions right yet.
5041 2001-12-19 19:11  ajgough
5043         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5044         non-being was causing Irix "issues".
5046 2001-12-19 03:37  jgoff
5048         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5049         004_combined.t: Changed tests to make sure they pass with the
5050         addition of the clone operator.
5052 2001-12-18 20:06  gregor
5054         * interpreter.c, include/parrot/interp_guts.h:
5055         Performance improvements to the predereferencing code path
5056         suggested to me over lunch yesterday by my friend John Kennedy.
5057         The goal is to remove the additional test in the inner loop that
5058         was checking for NULL to decide whether or not to call the
5059         prederef() function. Also moved pc & pc_prederef syncing outside
5060         the inner loop.
5062           * Changed the prototype of the prederef() function in
5063             interpreter.c to match that of an opfunc.
5065           * Instead of initializing the prederef void * array with NULL,
5066             we initialize it with pointers to prederef().
5068           * prederef() now returns the prederef_pc passed in, so that
5069             after predereferencing, the same location is executed, but now
5070             with the real code being called.
5072         Thanks to: John Kennedy
5074 2001-12-18 19:59  ajgough
5076         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5077         (including some more in the skipped string -> int tests).
5079 2001-12-18 07:06  jgoff
5081         * MANIFEST: Forgot to add classes/perlarray.pmc
5083 2001-12-18 07:05  jgoff
5085         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5086         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5087         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5088         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5089         t/pmc/pmc.t: Big update...  Makefile.in - Added
5090         classes/perlarray.pmc core.ops - Added new series of set() ops for
5091         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5092         Added perlarray.pmc classes/*.pmc - Added
5093         set_{integer,number,string}_index and
5094         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5095         type t/op/pmc.t - Added basic array test
5097         classes/perlarray.pmc - Added
5099 2001-12-17 05:29  jgoff
5101         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5102         generator to use clone operator instead of set Px,Py
5104 2001-12-17 05:25  jgoff
5106         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5107         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5108         PMC,PMC operator. Uses the clone() vtable entries.
5110 2001-12-17 04:51  jgoff
5112         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5113         entry
5115 2001-12-17 04:41  jgoff
5117         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5118         directory...
5120 2001-12-17 04:41  jgoff
5122         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5124 2001-12-17 04:39  jgoff
5126         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5127         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5128         t/
5130 2001-12-17 04:27  jgoff
5132         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5133         Admittedly it's a little thin on true OO, but the algorithms are
5134         the key.
5136 2001-12-17 04:24  jgoff
5138         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5139         003_generator.t, 004_combined.t: Much more comprehensive test suite
5140         for the codegen et al
5142 2001-12-17 04:22  jgoff
5144         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5145         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5146         key handling
5148 2001-12-17 04:20  jgoff
5150         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5151         more comprehensive.
5153 2001-12-17 04:17  jgoff
5155         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5156         changes to the new compiler
5158 2001-12-17 04:11  jgoff
5160         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5161         files to Miniperl/
5163 2001-12-16 14:11  simon
5165         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5166         t/pmc/pmc.t:
5167         Fix bogus assumption that multiplying an integer by an integer
5168         yields an integer.
5170 2001-12-16 12:48  simon
5172         * make_vtable_ops.pl:
5173         Fixed op exploder.
5175 2001-12-16 12:45  simon
5177         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5178         Expand multimethod vtable ops.
5180 2001-12-16 12:04  simon
5182         * Makefile.in:
5183         Added 'cvsclean' which doesn't zap CVS/* directories.
5185 2001-12-15 01:50  dan
5187         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5188         indeed!
5190         Thanks to grunblatt fom #parrot for the catch
5192 2001-12-15 01:39  dan
5194         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5195         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5196         languages/miniperl/Makefile.in,
5197         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5198         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5199         tweaks.
5201         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5203 2001-12-14 17:39  dan
5205         * t/op/trans.t: More trans tests.
5207         Courtesy of: Simon Glover <scog@roe.ac.uk>
5209 2001-12-14 07:41  robert
5211         * make.pl: - define MAKE macro - topological sort and subgraph
5212         order - start of timestamp stuff   (still badly broken)
5214 2001-12-14 06:06  jgoff
5216         * optimizer.pl: Hopefully this should do the trick..
5218 2001-12-14 06:04  jgoff
5220         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5222           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5224           The optimizer performs its work on a file post-macro expansion.
5225           Run it on a .pasm file, preferably with some trivially reducible
5226         operations
5227           like 'add I0,5,-6' or 'mul I0,I1,0'
5229 2001-12-14 05:48  robert
5231         * Makefile.in: case error EXE -> exe
5233 2001-12-14 05:42  robert
5235         * Makefile.in: remove legacy PDISASM macro
5237 2001-12-14 04:01  dan
5239         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5240         better Win building
5242         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5244 2001-12-13 22:03  dan
5246         * Configure.pl, Makefile.in, Parrot/Test.pm,
5247         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5248         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5249         can change it without having to change the world.
5251 2001-12-13 21:57  dan
5253         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5254         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5255         file/line/package to interp structure, with ops to get and set
5256         them. Now we can know where we are!
5258 2001-12-13 19:43  dan
5260         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5261         WinXP builds work out of the box
5263 2001-12-13 17:05  dan
5265         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5266         name again--makes case-insensitive systems much happier.
5268 2001-12-13 16:21  dan
5270         * core.ops, key.c, string.c, test_main.c, trace.c,
5271         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5272         compiler warnings
5274         Courtesy of: Josh Wilmes <josh@sky.net>
5276 2001-12-13 13:33  gregor
5278         * languages/jako/Makefile.in:
5279         Improved the method of calling the assembler.
5281 2001-12-13 13:30  gregor
5283         * languages/jako/Makefile.in:
5284         Improve the build process. It now works from the main parrot dir,
5285         and from the languages/jako directory. Now uses the .SUFFIXES
5286         target and generic build rules to reduce clutter in the
5287         Makefile.in.
5289 2001-12-13 13:29  gregor
5291         * languages/jako/.cvsignore:
5292         Ignore the (now generated Makefile), and don't ignore .list files
5293         anymore, since we aren't generating them.
5295 2001-12-13 13:11  gregor
5297         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5298         languages/Makefile.in, languages/jako/Makefile,
5299         languages/jako/Makefile.in:
5300         Added a 'languages' target to the top-level Makefile.in, and
5301         modified the jako build procedure to involve Makefile.in -->
5302         Makefile too (done by Configure.pl).
5304         NOTE: languages/jako and language/scheme are built.
5305         languages/miniperl wasn't building right, so it was left off for
5306         now.
5308 2001-12-13 12:15  gregor
5310         * MANIFEST:
5311         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5312         the MANIFEST.
5314 2001-12-13 12:12  gregor
5316         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5317         ops2c-prederef.pl, ops2c.pl, test_main.c,
5318         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5319         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5320         Welcome to the Just-in-Time Predereferencing Patch!
5322         This patch implements a "predereferencing" mode for parrot. That
5323         means that a lot of the dereferencing you see in DO_OP and in the
5324         opfuncs is done up front (really, JIT) rather than as and each time
5325         we execute each op in the byte code stream.
5327         This works by creating an array of void pointers with the same
5328         number of elements as the byte code array. This array starts out
5329         life zero-initialized.  Each time we go to execute an op, we check
5330         first to see if we have a NULL pointer at *cur_opcode. If so, we
5331         know we haven't done our predereferencing yet (this is the JIT
5332         part), so we call the prederef() function with sufficient args that
5333         it can go look up opfunc pointers and op arg types and put the
5334         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5335         where N is the number of args (counting the op itself as one arg).
5337         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5338         to have inline INTVAL constants.
5340         I've been getting about a 22% speed increase over vanilla code path
5341         when I compile with -O0. Advantage decreases at -O9 here. I tested
5342         with mops.pbc, and also by temporarily putting the -P flag in
5343         Parrot/Test.pm and running all the tests. So, this code is as
5344         correct as the test suite can detect.
5346         Here's how it plays out in the code:
5348           * New script ops2c-prederef.pl
5350             Copy-paste code reuse from ops2c.pl. Modified to expect the
5351         args to give
5352             a void ** cur_opcode and to return a void **.
5354           * Modified ops2c.pl
5356               * opfuncs are now static. Who needs to call them by name from
5357         outside,
5358                 anyway? They are accessed via the opfunc table.
5360               * Some MACRO stuff to make things work whether we prederef or
5361         not. It
5362                 may be possible to get rid of these some day if other folks
5363         agree
5364                 that we should be using CODE object pointers + offsets as
5365         our PC
5366                 rather than raw pointers to either opcode_t's or (void *)'s
5367                 (depending on prederef mode or no).
5369           * core.ops modified to be usable to build both kinds of opfuncs.
5370         For now,
5371             this means:
5373               * calls to push_generic_entry(... cur_opcode ...) were
5374         changed to
5375                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5376         a
5377                 macro that does the right thing in both kinds of ops.c
5378         files.
5380                 This is applicable to the bsr op. If we treated
5381         destinations as
5382                 (Code PMC + local offset) rather than as
5383         pointer-to-memory-somewhere,
5384                 this wouldn't be a big deal. We may need to do that at some
5385         point
5386                 anyway, so that when you jump around and return not only do
5387         you have
5388                 the right PC (pointer, today), but you also have the
5389         thread/interpreter
5390                 knowing what chunk of bytecode it is in at all times
5391         (assuming we'll
5392                 allow reflection, as in ops that query or affect the
5393         current CODE PMC).
5395               * runinterp was modified. Instead of copying the top-level
5396         PackFile struct
5397                 and blasting its byte_code pointer, we simply call runops
5398         on the new
5399                 interp, passing in the pointer to the current interp's code
5400         and the
5401                 offset into that code at which to start (this last arg used
5402         to be a
5403                 pointer PC, now its an offset PC).
5405           * include/parrot/op.h
5407               * new typedef for prederef opfuncs (they return void **)
5409           * include/parrot/interp_guts.h
5411               * New DO_OP_PREDEREF() macro described above.
5413           * include/parrot/interpreter.h
5415               * New prototype of runops() -- see below.
5417               * resume_addr field changed to resume_flag and resume_offset
5418         pair of fields.
5419                 We might be resuming from interp using prederef to one not
5420         or vice-versa,
5421                 so pointers between the two don't play nice together.
5422         Offsets are beautiful.
5424               * New PARROT_PREDEREF_FLAG constant
5426           * interpreter.c
5428               * include "parrot/oplib/core_ops_prederef.h"
5430               * prederef() function described above.
5432               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5433         macro as its core.
5435               * runops() modified to take size_t CODE-relative offset PC
5436         rather than
5437                 pointer PC. This made other things workable and doesn't
5438         seem to have lost
5439                 anything important (IMO).
5441           * test_main.c
5443               * New flag '-P' to enable predereferencing.
5445           * Makefile modified to build core_ops_prederef.c from core.ops
5446         via
5447             ops2c-prederef.pl.
5449             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5451             Added core_ops_prederef$(O) to O_FILES
5453 2001-12-13 12:12  gregor
5455         * languages/jako/MAINTAINER:
5456         Thought it would be nice to put this right in the code...
5458 2001-12-13 04:36  jgoff
5460         * languages/miniperl/Miniperl/Generator.pm: Commented out
5461         debugging, fixed register spillover algorithm
5463 2001-12-13 04:23  jgoff
5465         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5466         line) Restructured a bit of the dependency generator to fix a
5467         different obob bug.
5469 2001-12-13 03:43  robert
5471         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5473 2001-12-13 03:03  jgoff
5475         * make.pl: Added make.pl
5477 2001-12-13 02:44  jgoff
5479         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5480         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5481         special flags...                     - Dies on undefined macros
5482         such as $(PDISASM) in current make                     - Dies on
5483         recursive macro expansions                       (Doesn't test for
5484         mutual or multipart loops)                     - In general it
5485         seems to be a little less lenient...  Missing bits - File
5486         mod/creation times aren't being looked at              - Actions
5487         aren't being taken              - The few funky variables ($@, $<)
5488         aren't being dealt with Bugs - Line numbers are slipping a bit.
5490 2001-12-13 02:29  jgoff
5492         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5493         Reconstructing files to make the parser flow a little better.
5495 2001-12-13 00:51  dan
5497         * resources.c: Be a bit less wasteful with resources that don't
5498         need to be aligned
5500 2001-12-12 18:22  dan
5502         * Makefile.in: D'oh! Fixed looping makefile bug.
5504         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5506 2001-12-12 16:23  jgoff
5508         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5510 2001-12-12 16:22  jgoff
5512         * MANIFEST: Manifest additions for languages/miniperl
5514 2001-12-12 16:19  jgoff
5516         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5517         tests. These are left over from the Scheme suite and shouldn't be
5518         used yet.
5520 2001-12-12 16:18  jgoff
5522         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5523         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5524         modules. Miniperl/ is where the real work gets done.  t/ is largely
5525         vacant because it isn't ready to survive real tests yet.
5527 2001-12-12 16:17  jgoff
5529         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5530         mpc: Final go-round, hopefully.
5532         languages/miniperl/Makefile - Used basically to run tests, as there
5533         is nothing                               here that needs to be
5534         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5535         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5536         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5537         compiler stub
5539 2001-12-12 16:09  dan
5541         * Configure.pl: Setting a variable with the make command name is
5542         useful.
5544 2001-12-12 15:07  simon
5546         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5547         Recursive make considered "ow, don't do that".
5549 2001-12-12 14:45  dan
5551         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5552         non-portable code) Killing builds on Win32 native. Small patch
5553         applied which hopefully fixes it.
5555 2001-12-12 06:12  ajgough
5557         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5559 2001-12-12 06:08  ajgough
5561         * Makefile.in: perl is $(PERL).
5563 2001-12-12 06:00  ajgough
5565         * t/op/integer.t: Added tests to integer.t so that all permutations
5566         of arguments are actually called at some point.
5568 2001-12-12 05:18  ajgough
5570         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5571          Tests for sleep i|ic
5573 2001-12-12 05:09  ajgough
5575         * t/op/stacks.t: Added pushp and popp register stack tests.
5577 2001-12-12 04:51  ajgough
5579         * t/op/stacks.t: Added tests for save and restore, for all register
5580         types.  Let there be Haiku.
5582 2001-12-12 04:27  ajgough
5584         * t/op/basic.t: bsr_i test.  You know you want it.
5586 2001-12-12 02:55  ajgough
5588         * MANIFEST: Added hints/os2.pl to MANIFEST.
5590 2001-12-12 02:52  jgoff
5592         * core.ops, key.c: Final checkin... These are actually the correct
5593         copies.
5595 2001-12-12 02:12  jgoff
5597         * include/parrot/key.h: key.c - Removed a few functions,
5598         generalized set_element_value and element_value         to accept
5599         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5600         core.ops - Modified to accept the new return style.
5602         This is a prelude to adding virtual-table methods to allow hashing
5603         &c. Expect at least one or two more redesigns before this settles
5604         down. However, it still passes the original tests.
5606 2001-12-11 13:35  gregor
5608         * runops_cores.c:
5609         Fixed a typo.
5611 2001-12-11 12:03  gregor
5613         * .cvsignore:
5614         Don't ignore test_prog, but do ignore parrot.
5616 2001-12-11 12:03  gregor
5618         * classes/.cvsignore:
5619         Ignore the generated file default.h
5621 2001-12-11 04:07  jgoff
5623         * key.c: Key source
5625 2001-12-11 04:05  jgoff
5627         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5629 2001-12-11 04:00  jgoff
5631         * core.ops: Added new key aggregate operations to core ops.
5633 2001-12-11 04:00  jgoff
5635         * include/parrot/parrot.h: Added key.h to header list
5637 2001-12-11 03:59  jgoff
5639         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5641 2001-12-11 03:58  jgoff
5643         * Makefile.in: Added implementation of key aggregates.
5645 2001-12-08 23:07  simon
5647         * README:
5648         README good to go.
5650 2001-12-08 23:05  simon
5652         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5653         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5654         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5655         test_prog? What is test_prog?
5657 2001-12-08 22:57  simon
5659         * ChangeLog:
5661         Oops, the changelog commit was on *this* machine.
5663 2001-12-08 22:56  simon
5665         * NEWS:
5666         Updates to NEWS and ChangeLog pre-release.
5668 2001-12-08 22:07  simon
5670         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5671         classes/perlnum.pmc, classes/pmc2c.pl:
5672         Add "default" PMC vtable so you can inherit implied stuff.
5674 2001-12-08 21:24  simon
5676         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5677         docs/vtables.pod, lib/Parrot/PackFile.pm:
5678         Getting the documentation up to scratch.
5680 2001-12-08 21:21  simon
5682         * classes/pmc2c.pl:
5683         Allow inheriting from default class.
5685 2001-12-07 20:43  gregor
5687         * examples/assembly/queens.pasm:
5688         Regenerated the file with the latest jakoc.
5690 2001-12-07 20:29  simon
5692         * core.ops, t/op/stacks.t:
5693         Rename "rotate" to "rotate_up".
5695 2001-12-07 20:15  simon
5697         * t/op/stacks.t:
5698         Some tests for rotate.
5700 2001-12-07 00:55  gregor
5702         * core.ops:
5703         Cast the result of the pointer arithmetic, since without the cast
5704         there are warnings with some compilers, and without the parens
5705         around the pointer arithmetic, precedence breaks the meaning and
5706         causes crashes.
5708 2001-12-06 23:37  simon
5710         * core.ops:
5711         Temporary. I prefer compiler warnings to segfaults, thanks.
5713 2001-12-06 23:34  simon
5715         * runops_cores.c:
5716         Make "trace" work again.
5718 2001-12-06 21:23  dan
5720         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5722 2001-12-06 21:22  dan
5724         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5725         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5727 2001-12-06 19:22  simon
5729         * core.ops:
5730         Yet another "How the *%$! did that compile?" moment.
5732 2001-12-06 18:28  dan
5734         * hints/vms.pl: Fix to build, with a HERE logical required
5736 2001-12-06 17:48  dan
5738         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5739         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5740         changes to the interpreter--flags are now part of the interp
5741         structure.
5743         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5745 2001-12-06 14:02  gregor
5747         * docs/intro.pod:
5748         s/little_languages/languages/ in Jako section.
5750 2001-12-06 13:15  simon
5752         * Makefile.in:
5753         Ensure the documentation gets made.
5755 2001-12-06 13:12  simon
5757         * MANIFEST, docs/intro.pod:
5758         Documentation! Added the "Some Assembly Required" article with
5759         minor updates.
5761 2001-12-06 00:39  simon
5763         * core.ops:
5764         More "eq" support.
5766         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5768 2001-12-06 00:37  simon
5770         * test_main.c:
5771         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5773         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5775 2001-12-06 00:11  tom
5777         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5778         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5779         include/parrot/chartype.h, include/parrot/encoding.h,
5780         include/parrot/parrot.h: Moved string to number conversion code out
5781         of the encoding layer and into the main string layer as neither the
5782         encoding layer nor the character type layer knows enough on it's
5783         own to do the conversion correctly.
5785 2001-12-05 23:12  tom
5787         * Makefile.in: Rebuild the classes directory if any of the object
5788         files for the classes are missing rather than only when perlint.o
5789         is missing.
5791 2001-12-05 19:43  gregor
5793         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5794           * Reworked the constantize_string() stuff a little bit because it
5795         was
5796             puking on things like "\033[H\033[2J\0" (which occurs in the
5797             languages/jako/mandelzoom.jako example).
5799 2001-12-05 19:39  gregor
5801         * languages/jako/: Makefile, mandelzoom.jako:
5802         Added 'mandelzoom' example.
5804 2001-12-05 19:38  gregor
5806         * languages/jako/jakoc:
5807           * Added sleep()
5809           * Changed some instances of die() to confess()
5811 2001-12-05 18:34  gregor
5813         * t/: op/pmc.t, pmc/pmc.t:
5814         s/sting->int/string->int/
5816 2001-12-05 18:08  gregor
5818         * Parrot/.cvsignore:
5819         Ignore PMC.pm
5821 2001-12-05 18:05  gregor
5823         * classes/.cvsignore:
5824         Ignore the generated files.
5826 2001-12-05 17:19  gregor
5828         * pbc2c.pl:
5829           * Reverted recent changes, since they broke the script. Real fix
5830         coming
5831             later.
5833 2001-12-05 17:03  simon
5835         * classes/Makefile.in:
5836         Remember: change Makefile.in, not Makefile. D'oh.
5838 2001-12-05 17:02  simon
5840         * Makefile.in:
5841         Ensure PMC.pm gets remade.
5843 2001-12-05 16:58  simon
5845         * MANIFEST, Makefile.in, classes/Makefile.in,
5846         classes/perlundef.pmc, include/parrot/pmc.h:
5847         Add perlundef class.
5849 2001-12-05 16:45  simon
5851         * core.ops:
5852         Document "new P0, foo"
5854 2001-12-05 16:43  simon
5856         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5857         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5858         Allow assembler to know about PMC class names.
5860 2001-12-04 13:39  ajgough
5862         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5864 2001-12-04 05:02  ajgough
5866         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5867         in perlnum.c
5869 2001-12-04 04:24  ajgough
5871         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5872         broken form of strtod and appropriate tests.  Does not yet check
5873         for overflow.
5875 2001-12-04 01:31  ajgough
5877         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5878         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5879         to extract_num and extract_int string vtables, without this it
5880         would be impossible to have strings with nulls in while still
5881         knowing where they ended.
5883 2001-12-03 18:40  ajgough
5885         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5886         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5887         include/parrot/string.h: Moved pmc string to number conversion into
5888         the string encoding tables.
5890 2001-12-03 00:21  ajgough
5892         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5893         for p-> integer.
5895 2001-12-02 23:09  jgoff
5897         * classes/Makefile.in: Removed some redundant targets.
5899 2001-12-02 19:02  ajgough
5901         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5902         equality macro rather than using perl to generate expected output,
5903         all tests now have <<OUTPUT.
5905 2001-12-02 17:44  ajgough
5907         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5908         for pmc.t as well.  Will probably move macros into another file at
5909         some point, although this might be best left until the tests are
5910         unperled.
5912 2001-12-02 06:16  jgoff
5914         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5915         within Parrot_Perl{Class}_init.
5917 2001-12-02 06:09  jgoff
5919         * classes/Makefile.in: I seem to have removed *$(O) twice..
5921 2001-12-02 05:06  jgoff
5923         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5924         Configure.pl - Removed '-I./include', added classes/Makefile
5925         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5926         Removed old classes/* make stuff                Added target for
5927         classes/Makefile
5929 2001-12-02 04:48  jgoff
5931         * classes/Makefile.in: Going to be used shortly...
5933 2001-12-02 04:40  jgoff
5935         * docs/Makefile: Configure.pl - Added automatic makefile creation
5936         for docs/ and classes/                Removed '-I./include' because
5937         it was getting incorrectly                passed to classes/
5938         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5939         - Removed classes/ build stuff, replaced with classes/Makefile.in
5940                     Added '-I./include' locally docs/Makefile - Should no
5941         longer be used, but I'm not brave enough to do a
5942         cvs delete.
5944 2001-12-02 01:21  ajgough
5946         * t/op/trans.t: Refactored trans math tests to have hard coded
5947         expected return values and be more ready to be unperled at some
5948         point in the future.  Added $fp_equality_macro which is a
5949         "nearly-equal-to" function.
5951 2001-12-02 01:18  ajgough
5953         * Makefile.in: Humph.  People really ought to use Makefile
5954         variables, s/perl/$(PERL)/ throughout.
5956 2001-12-01 18:15  jgoff
5958         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5959         figure out what to do vis-a-vis the lack of snprintf.
5961 2001-11-30 13:14  ajgough
5963         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5964         and integer.t
5966 2001-11-30 13:14  ajgough
5968         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5969         -, else ... form.
5971 2001-11-30 10:36  simon
5973         * core.ops:
5974         Rewrite print_p to do the right thing.
5976 2001-11-30 06:21  jgoff
5978         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5979         concat,               integer/number/string math
5981 2001-11-30 06:20  jgoff
5983         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5984         classes/perlint.pmc - Fixes and expanding for concat and math with
5985         strings classes/perlnum.pmc - Fixes and expanding for concat and
5986         math with strings classes/perlstring.pmc - Fixes and expanding for
5987         concat and math with strings
5989 2001-11-29 15:21  ajgough
5991         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5992         $^X lies, which confused bash which make uses to run things when
5993         doing its stuff.
5995 2001-11-29 04:58  jgoff
5997         * classes/perlstring.pmc: Removed C++-style comments for good
5998         measure
6000 2001-11-29 04:51  jgoff
6002         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
6004 2001-11-29 04:28  jgoff
6006         * global_setup.c: Initialize PMC strings
6008 2001-11-29 04:25  jgoff
6010         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
6011         string PMCs.
6013 2001-11-29 04:24  jgoff
6015         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6016         files to properly upgrade int to num, do calculations.  Also added
6017         basic string operations. Currently errors out on anything but set
6018         operations, but this will be fixed soon.
6020 2001-11-29 04:22  jgoff
6022         * Makefile.in: PMC .c files weren't getting cleaned out.
6024 2001-11-28 17:00  simon
6026         * t/harness:
6028         Make csh-glob happy.
6030         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6032 2001-11-28 16:40  simon
6034         * classes/perlnum.pmc:
6036         De-C++
6038 2001-11-28 15:22  simon
6040         * string.c:
6042         Fixes Alex's string concat worry.
6044 2001-11-28 14:27  ajgough
6046         * t/op/string.t: test "null onto null" incorrectly passing as it
6047         produced no output.  Output provided.
6049 2001-11-28 11:14  simon
6051         * include/parrot/pmc.h:
6053         Placate AIX.
6055 2001-11-26 21:03  dan
6057         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6059 2001-11-26 17:29  simon
6061         * classes/perlint.pmc:
6063         Various subtle but non-showstopper bugs.
6065 2001-11-26 11:23  simon
6067         * classes/pmc2c.pl:
6069         Replace dependency on Text::Balanced
6071         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6073 2001-11-26 05:22  jgoff
6075         * global_setup.c: Last file that should need to be committed. I
6076         swear.
6078 2001-11-26 05:09  jgoff
6080         * core.ops: Let's try this again... Changes to core.ops required
6082 2001-11-26 04:58  jgoff
6084         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6085         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6086         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6087         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6088         functions classes/perlnum.pmc - Set up basic number functions
6089         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6090         tests against numbers and numbers+integers
6092 2001-11-25 13:18  simon
6094         * Makefile.in:
6095         Windows XP make doesn't like $<
6097 2001-11-25 12:56  simon
6099         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6100         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6101         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6102         examples/assembly/mops_p.pasm:
6103         PMC preprocessor.
6105         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6107         I (Simon) also added a couple more integer methods, but no tests
6108         since I'm a Bad Person.
6110 2001-11-25 08:40  brentdax
6112         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6113         lib/Parrot/OpsFile.pm: Allow _ in op names
6115 2001-11-25 05:54  jgoff
6117         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6118         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6120 2001-11-23 18:27  simon
6122         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6123         Add everything you need to make MOPS use PMCs.
6125 2001-11-23 18:06  simon
6127         * core.ops:
6128         Eh, you'll need this for rewriting mops.pasm.
6130 2001-11-23 17:55  simon
6132         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6133         t/pmc/pmc.t:
6134         More work on integer PMCs.
6136 2001-11-23 17:29  simon
6138         * Makefile.in:
6139         Surprise! Whitespace! HLAGHLAGHLAGH
6141 2001-11-23 17:28  simon
6143         * Makefile.in, ops2c.pl, ops2pm.pl:
6144         Add vtables.ops to the core
6146         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6148 2001-11-22 18:39  simon
6150         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6151         t/pmc/pmc.t:
6152         We can now create PMCs.
6154 2001-11-21 05:49  jgoff
6156         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6158 2001-11-20 16:00  simon
6160         * docs/vtables.pod, include/parrot/pmc.h:
6161         Reorder PMC flags so there's a fixed number of user-defined flags.
6163         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6165 2001-11-19 03:39  jgoff
6167         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6168         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6169         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6170         escaped quotes, and proper                handling of newlines.
6172 2001-11-16 22:03  simon
6174         * classes/perlint.c:
6175         More work on the Perl Integer class. More needed, though.
6177 2001-11-16 21:57  simon
6179         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6180         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6182 2001-11-16 20:49  simon
6184         * interpreter.c, runops_cores.c, trace.c,
6185         include/parrot/runops_cores.h:
6186         Kill superfluous runops cores.
6188 2001-11-16 17:50  simon
6190         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6191         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6192         include/parrot/parrot.h, include/parrot/pmc.h:
6193         Skeleton for Perl scalar types, done right.
6195 2001-11-16 16:15  simon
6197         * classes/genclass.pl:
6198         This tidies up genclass to deal with the new-style multimethods.
6200 2001-11-16 15:29  simon
6202         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6203         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6204         Rework multimethods to be *true* multimethods - that is, have
6205         different types.
6207 2001-11-15 22:29  simon
6209         * MANIFEST, Makefile.in, pmc.c:
6210         pmc.c linkage and support. Oh, and making it compile.
6212 2001-11-15 22:26  dan
6214         * t/op/interp.t: Forgot to tell CVS about the test...
6216 2001-11-15 22:10  dan
6218         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6219         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6220         for PMC registers for the interpreter.
6222         Added in the docs for the runinterp opcode.
6224         Added in code for both the newinterp and runinterp opcodes, so we
6225         can now create new interpreters from within parrot and have them do
6226         things. (Though we can't pass data back and forth. Yet)
6228 2001-11-15 21:24  simon
6230         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6231         More documentation, and other changes as discussed with Dan.
6233 2001-11-15 19:51  simon
6235         * classes/scalarclass.c:
6236         De-cut-and-pasto.
6238 2001-11-15 19:50  simon
6240         * classes/scalarclass.c:
6241         A little code tidiness.
6243 2001-11-15 19:33  simon
6245         * include/parrot/pmc.h:
6246         Missed this in the previous commit - un-constantize the base for
6247         user-defined PMC flags.
6249 2001-11-15 19:28  simon
6251         * classes/scalarclass.c:
6252         Hey look, sanity.
6254 2001-11-15 17:09  simon
6256         * classes/scalarclass.c:
6257         It seems I have completely forgotten how to write C.
6259 2001-11-15 16:53  simon
6261         * docs/vtables.pod:
6262         Start of the PMC classes documentation.
6264 2001-11-15 14:46  simon
6266         * classes/scalarclass.c:
6267         Changing to use a Perl-style struct instead of the union cache.
6269 2001-11-13 23:56  tom
6271         * string.c: Removed leading _ from string_index as function names
6272         starting with _ are reserved to implementors by the C standard.
6274         Also fixed string_index to use the encoding routines instead of
6275         assuming a single byte encoding.
6277 2001-11-13 12:59  jgoff
6279         * string.c: Patched string_concat to accept null strings.  That
6280         test was failing. Nothing to do with ord().
6282 2001-11-13 12:43  jgoff
6284         * string.c: string_ord function, string_concat fixes
6286 2001-11-13 04:52  jgoff
6288         * core.ops: Added ord to core.ops
6290 2001-11-13 04:35  jgoff
6292         * docs/strings.pod, include/parrot/exceptions.h,
6293         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6294         operator, documentation string.c - Added string_ord, _string_index
6295         (_string_index is a static helper)              Patched
6296         string_concat to handle null strings properly.  docs/strings.pod -
6297         Description of string_ord include/parrot/exceptions.h - Added
6298         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6299         string_ord() t/op/string.t - Added full set of test for
6300         ord_i_(s|sc)(_(i|ic))?
6302         string.c contains a bit of documentation explaining the logic
6303         behind _string_index, primarily having to do with multiple encoding
6304         formats.
6306 2001-11-12 22:30  simon
6308         * t/op/macro.t:
6309         Count 'em.
6311 2001-11-12 22:28  simon
6313         * Makefile.in:
6314         Add a rule to compile "platform"
6316 2001-11-12 22:26  simon
6318         * Makefile.in:
6319         Tidy up distclean target.
6321 2001-11-12 16:54  dan
6323         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6324         t/op/macro.t: Fixes to the assembler's macro facility and a test
6326         Courtesy of: Jeff <jgoff@speakeasy.net>
6328 2001-11-12 16:50  dan
6330         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6331         stdin
6333         Courtesy of: Jeff <jgoff@speakeasy.net>
6335 2001-11-12 16:36  dan
6337         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6338         CygWin
6340         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6342 2001-11-12 11:22  simon
6344         * examples/assembly/mops.pasm:
6346         Trivial tightening of mops loop.
6348 2001-11-07 23:57  ajgough
6350         * docs/tests.pod: This is a basic quide to writing tests with
6351         assembler.
6353 2001-11-07 22:29  dan
6355         * stacks.c: Added a little documentation on the cleanup parameter
6356         for an entry
6358 2001-11-07 14:43  dan
6360         * MANIFEST, platforms/generic.c, platforms/linux.c,
6361         platforms/linux.h: Portability patches.
6363         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6365 2001-11-06 19:51  tom
6367         * Makefile.in: Clean up object files in the subdirectories as well
6368         as those in the top level directory.
6370         Enhanced version of patch from Daniel Grunblatt
6371         <daniel@grunblatt.com.ar>
6373 2001-11-06 16:14  dan
6375         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6376         platforms/generic.c, platforms/generic.h: Made things a bit more
6377         platform-independent. Makefile still needs work to pick up changes
6378         to the platform-specific files.
6380 2001-11-05 21:32  dan
6382         * docs/parrot_assembly.pod: Added docs for the GC control ops
6384 2001-11-04 02:52  gregor
6386         * platforms/: win32.c, win32.h:
6387           * win32 dynamic loading functions.
6389         Courtesy of Jason Diamond <jason@injektilo.org>
6391 2001-11-04 00:04  brentdax
6393         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6394         allows an absolute path to be used and gives a useful error message
6395         if the original source file can't be found
6397 2001-11-02 12:37  gregor
6399         * platforms/: linux.c, linux.h:
6400           * Beginning of dynamic loading support. Linux only for now.
6402 2001-11-02 12:13  gregor
6404         * MANIFEST, time.c, include/parrot/time.h:
6405           * Removed time.[hc], since they have been superseded by the new
6406         platform
6407             stuff.
6409 2001-11-02 12:11  gregor
6411         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6412         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6413         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6414         platforms/win32.c, platforms/win32.h:
6415         Patch from Jason Diamond to make win32 platform stuff work:
6417         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6418         platform specific files in the platforms directory gets copied to
6419         the correct directories. The Makefile will re-copy the platform.h
6420         and .c files if the original is modified.
6422         * #include platform.h in parrot.h instead of time.h.
6424         * Removed time.h and time.obj from the Makefile. time.h and time.c
6425         aren't being used anymore since that code was moved to linux.c and
6426         win32.c.
6428         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6429         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6430         windows.h. This required updating several files besides parrot.h.
6432         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6433         instead of the missing identifiers (on Windows) in core.ops in the
6434         calls to open.
6436         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6437         platform files and called those from core.ops. The Linux code for
6438         these functions came from core.ops so they should hopefully work.
6440         Courtesy of Jason Diamond <jason@injektilo.org>
6442 2001-11-02 06:43  brentdax
6444         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6445         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6447 2001-11-02 02:26  gregor
6449         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6450         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6451         platforms/win32.h:
6452           * Beginnings of platform support files in platform/*.[hc]
6454 2001-11-01 23:37  tom
6456         * classes/intclass.c: Added missing *'s to STRING arguments and
6457         return values to avoid compiler warnings.
6459 2001-11-01 22:21  gregor
6461         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6462         include/parrot/parrot.h, include/parrot/time.h:
6463         Initial "fix" of time(n) op for Win32:
6465           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6467           * time.c and include/parrot/time.h
6469             First attempt at getting this working across platforms. The
6470             macro WIN32 being tested might not be right.
6472           * New functions Parrot_intval_time() and Parrot_floatval_time()
6473             wrap the appropriate functionality depending upon platform.
6474             Changed core.ops to call these.
6476         Added obscure.ops with obscure transcendental ops.
6478         Added simple file I/O ops (close, open, read, write):
6480           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6482           * I changed some arg ordering stuff.
6484           * I added read/write of INTVALs and FLOATVALs.
6486         Added environment variable ops (getenv, setenv)
6488         Added system error ops (err(i) and err(s) for accessing errno and
6489         strerr().
6491         Moved print ops in with other "temporary" developer ops, since
6492         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6494 2001-10-31 22:51  tom
6496         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6497         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6498         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6499         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6500         encodings/utf8.c, include/parrot/chartype.h,
6501         include/parrot/encoding.h, include/parrot/exceptions.h,
6502         include/parrot/parrot.h, include/parrot/string.h,
6503         include/parrot/strnative.h, include/parrot/strutf16.h,
6504         include/parrot/strutf32.h, include/parrot/strutf8.h,
6505         include/parrot/transcode.h: Reworked the string code in line with
6506         Dan's latest design that separates character sets from encodings.
6508 2001-10-31 19:53  dan
6510         * docs/parrot_assembly.pod: Finished I/O section of docs
6512 2001-10-31 16:51  dan
6514         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6515         Moved includes out of core.ops and into parrot.h where they belong
6516         (suitably guarded with #ifdefs). Also some updates to
6517         parrot_assembly.pod
6519 2001-10-30 21:43  dan
6521         * core.ops, stacks.c, docs/parrot_assembly.pod,
6522         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6523         of the entry on the stack
6525 2001-10-29 18:30  dan
6527         * stacks.c: You can turn off stack entry type validation on pop by
6528         passing in a type of 0 now. (For those cases where you just want to
6529         throw the darned thing away)
6531 2001-10-29 14:37  gregor
6533         * core.ops, languages/jako/jakoc:
6534           * New variants of the save ops to save constants on the stack.
6535         This is
6536             useful for saving zero arg and result counts on the stack, for
6537         example.
6539           * Modified jakoc to to adapt to the newly announced calling
6540         conventions.
6541             Even though Jako source code appears to show subroutines with
6542         fixed
6543             numbers of arguments and results, they are implemented with the
6544             variable count calling convention. Future modifications will be
6545         needed
6546             to ensure that an exception is raised if the stack frame is of
6547         the
6548             wrong size (or, at least that we pop the complete frame off).
6549         We'll
6550             also have to make more changes to support the true
6551         fixed-arg-count
6552             and fixed-result-count parts of the calling convention spec.
6554 2001-10-28 16:53  simon
6556         * MANIFEST, stacks.c, classes/scalarclass.c,
6557         include/parrot/stacks.h:
6558         Unbelievably bad errors of mine, plus a type incompatibility of
6559         Dan's.
6561 2001-10-28 08:30  simon
6563         * classes/scalarclass.c:
6564         Beginning of a scalar class.
6566 2001-10-28 08:29  simon
6568         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6569         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6570         include/parrot/pmc.h:
6571         This fixes the problem with vtables and pointer arithmetic.
6573 2001-10-26 19:58  dan
6575         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6576         include/parrot/stacks.h: Split the generic stack into a user push
6577         stack and a control stack
6579 2001-10-26 02:59  bdwheele
6581         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6583 2001-10-24 20:27  dan
6585         * languages/scheme/: Makefile, Scheme.pm, schemec,
6586         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6587         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6588         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6589         Scheme compiler
6591 2001-10-24 20:23  dan
6593         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6594         interpreter needs in pdump.c. Added scheme bits to manifest
6596 2001-10-24 16:43  gregor
6598         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6599           * Make the assembler handle octal character code escapes in
6600         string
6601             constants.
6603 2001-10-24 15:56  dan
6605         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6606         play the game of life
6608 2001-10-24 15:54  dan
6610         * core.ops: Added sleep. We'll need to override this to do events
6611         properly anyway, so...
6613 2001-10-24 14:03  gregor
6615         * Makefile.in, pbc2c.pl, pdump.c:
6616           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6617         interpreter
6618             pointer into string functions.
6620         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6622 2001-10-23 20:09  gregor
6624         * languages/jako/jakoc:
6625           * Terminological refinement in regexp capture comment.
6627 2001-10-23 15:23  simon
6629         * classes/genclass.pl:
6630         Use a saner ANSI C construct to make MIPSPro happy.
6632         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6634 2001-10-23 00:34  tom
6636         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6637         strutf8.c, include/parrot/string.h: Make sure the interpreter
6638         structure is passed to the transcoder as necessary, including
6639         passing it to string_compare().
6641 2001-10-23 00:32  tom
6643         * Makefile.in: Make pdump build again by including resources.o in
6644         the link.
6646 2001-10-22 22:43  dan
6648         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6649         strutf32.c, strutf8.c, test_main.c, transcode.c,
6650         include/parrot/packfile.h, include/parrot/parrot.h,
6651         include/parrot/resources.h, include/parrot/string.h,
6652         include/parrot/transcode.h: Everything now uses the allocators and
6653         deallocators in resources.c.
6655         Unfortunately we lost standalone string-test mode, but I can cope
6656         with that.
6658         Please note that until we have a real allocation/deallocation/GC
6659         system, this'll leak. A *lot*.
6661 2001-10-22 20:27  dan
6663         * MANIFEST, Makefile.in, pmc.c, resources.c,
6664         include/parrot/resources.h: First cut to handle arena allocation of
6665         PMC headers. (Amongst other things)
6667 2001-10-22 19:02  dan
6669         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6670         Now each register type has its own mask macro, which is the right
6671         thing to do.
6673         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6675 2001-10-21 23:40  tom
6677         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6678         stack chunk and add a test to test this rollover in future.
6680         Courtesy of Jason Gloudon <perl@gloudon.com>.
6682 2001-10-21 19:14  dan
6684         * include/parrot/string.h: Changed string 'unused' field to the
6685         language field.
6687 2001-10-21 18:18  gregor
6689         * languages/jako/: Makefile, mops.jako:
6690           * Makefile: 'clean' target removes .list files, too. And, it does
6691         rm -f
6692             with wildcards rather than listing things explicitly.
6694           * mops.jako actually prints out the
6695         millions-of-operations-per-second
6696             (mops) value instead of just the operations-per-second value.
6698 2001-10-21 18:03  simon
6700         * classes/intclass.o:
6701         *smack*! WRONG!
6703 2001-10-21 17:47  simon
6705         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6706         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6707         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6708         lib/Parrot/Vtable.pm:
6709         Initial work on PMCs. Explanation to follow
6711 2001-10-21 15:20  gregor
6713         * examples/assembly/queens.pasm:
6714           * Modernize the calling conventions in queens.pasm. It was using
6715         swap,
6716             which now must be rotate. Also, changed to use return values on
6717         the
6718             stack instead of in I0.
6720 2001-10-19 18:14  gregor
6722         * core.ops, stacks.c, include/parrot/stacks.h,
6723         languages/jako/jakoc:
6724         Per Dan's request, replacing 'swap' op by 'rotate'.
6726           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6728           * stacks.c and stacks.h: Removed swap-related functions from my
6729             prior commit, replacing them with stack_depth(), stack_entry()
6730             and rotate_entries().
6732             NOTE: The stack_depth() and rotate_entries() routines could
6733             be made more efficient through the caching of the sum of chunk
6734             'used' members from lower chunks in a field in the upper
6735             chunks. Also, if the interpreter's stack_base was changed to
6736             hold the pointer to the *top* chunk (since we usually come
6737             at the stack from the top down) instead of the *bottom*
6738             chunk. The code here at least works, and we can decide about
6739             bigger changes separately.
6741             For now, rotate only handles rotates in one direction and
6742             of magnituded one. A fully general rotate would do handle
6743             rotates in both directions and of arbitrary amounts. Again,
6744             this implementation is sufficient for current applications,
6745             and a feature-complete version can be developed if this turns
6746             out to be otherwise the right type of implementation.
6748             This change includes a new exception for ERROR_STACK_SHALLOW,
6749             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6751           * jakoc: Changed the calling convention to use rotate instead
6752             of swap (of course). Also changed the convention for return
6753             value passing to use the stack as well.
6755 2001-10-19 13:36  gregor
6757         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6758         examples/assembly/queens.pasm, include/parrot/stacks.h,
6759         languages/jako/.cvsignore, languages/jako/Makefile,
6760         languages/jako/bench.jako, languages/jako/euclid.jako,
6761         languages/jako/fact.jako, languages/jako/jakoc,
6762         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6763         languages/jako/primes.jako, languages/jako/queens.jako,
6764         languages/jako/sub.jako:
6765           * New stack functions push_entry(), pop_entry() and swap_entry().
6766             The first two exist for the support of the last one. These
6767             functions don't care what is in the stack entries. These exist
6768             to support the new 'swap' op (see next bullet).
6770           * New op 'swap' for swapping the top two elements on the stack.
6771             This is necessary for passing arguments to functions, since
6772             the return address will be on top of any arguments that have
6773             been pushed on the stack. This way, you can use a (swap, pop)
6774             pair to retrieve each argument (for subroutine linkage).
6776           * Disassembler now prints numbers in decimal by default, with
6777             a new '-x' flag to turn on hexadecimal display. Since other
6778             members of the Parrot Tool Set use decimal by default, this
6779             makes it easier to compare output from the various tools.
6781           * Jako compiler has more explanatory comments and the following
6782             new features:
6784               * Lexically scoped variables.
6786               * Subroutines that take arguments and return values:
6788                   sub int foo(int bar) {
6789                     if (bar == 1) {
6790                       return 42;
6791                     } else {
6792                       return 13;
6793                     }
6794                   }
6795               * ... if (...) and ... unless (...) statement modifiers
6796                 can be used on next, last and redo.
6798               * Bitwise and (&, &=) and or (|, |=) ops.
6800               * Type names are just 'int', 'num', 'str', and 'poly' now.
6801                 The old long names 'integer', 'number', 'string', and
6802                 'polytype' are no longer valid.
6804               * Integer variable assignments can now use 0b (binary),
6805                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6807           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6808             solving the eight-queens problem. The assembly example is a
6809             hand-modified version of the assembly code produced by the
6810             Jako compiler from queens.jako. A few unnecessary ops have
6811             been removed, lots of unnecessary labels have been removed,
6812             and all the Jako source code comments have been removed.
6814           * Makefile and .cvsignore in languages/jako modified so that
6815             the assembler produces listings when assembling the programs,
6816             yet the *.list files are ignored by CVS.
6818           * Made the default target in languages/jako/Makefile 'all'.
6820           * Modified some of the Jako examples to use some of the new
6821             features of Jako, such as subroutines and lexical variable
6822             scoping.
6824 2001-10-19 02:43  gregor
6826         * runops_cores.c, include/parrot/runops_cores.h:
6827         Bug fix (gcc doesn't complain, but MIPSpro does):
6829           * Added missing extern to runops_cores array declaration in
6830             include/parrot/runops_cores.h
6832           * Also added 'const' there and in runops_cores.c
6834 2001-10-18 15:18  gregor
6836         * .cvsignore, include/parrot/oplib/.cvsignore:
6837           * Ignore the vtable-related generated files.
6839 2001-10-18 15:14  gregor
6841         * core.ops:
6842           * left and right shifts now allow the 2nd argument to be a
6843         constant.
6845 2001-10-18 14:55  simon
6847         * make_vtable_ops.pl:
6848         This is C, not Perl. How on earth did that even compile?
6850 2001-10-18 14:54  simon
6852         * make_vtable_ops.pl:
6853         More vtable ops.
6855 2001-10-18 12:33  simon
6857         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6858         Initial stab at vtable opcode creation stuff.
6860 2001-10-18 02:15  gregor
6862         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6863         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6864         include/parrot/trace.h: Preparation for autogenerated runops cores:
6866           * Split tracing and runops core stuff out of interpreter.c into
6867             trace.c and runops_cores.c
6869           * Similar split of stuff from include/parrot/interpreter.h
6871           * Manifest and Makefile.in updates to make things still compile.
6873 2001-10-18 01:21  gregor
6875         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6877           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6879           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6881           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6883           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6885           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6886         with
6887             copy of $ops->preamble.
6889 2001-10-17 22:32  bdwheele
6891         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6892         request.
6894 2001-10-17 22:08  gregor
6896         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6897           * Now handles label-and-comment-only lines.
6899 2001-10-17 22:04  bdwheele
6901         * interpreter.c: added more comprehensive trace output
6903 2001-10-17 16:50  tom
6905         * Makefile.in: Removed the explicit rule for building mops.o from
6906         mops.c so that the implicit rule for compiling C files is used
6907         instead. This means that the chosen C flags are used, including any
6908         optimisation options.
6910 2001-10-17 15:24  tom
6912         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6913         op explosion logic to be able to handle exploding this:
6915           sub(i, i|ic, i|ic)
6917         into these:
6919           sub(i, i, i)
6920           sub(i, i, ic)
6921           sub(i, ic, i)
6923         without also generating this unwanted version:
6925           sub(i, ic, ic)
6927         The enhanced version rejects any expansion where there is more than
6928         one expanded argument and all the expanded arguments are constants.
6930 2001-10-17 14:20  simon
6932         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6933         Build fixes to use correct Perl version and ensure that things are
6934         running in the right directory.
6936         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6938 2001-10-17 13:16  simon
6940         * Makefile.in:
6941         core.pm is more critical than that.
6943 2001-10-17 13:05  simon
6945         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6946         "Explode" ops into multiple versions for different parameters.
6948         Courtesy of: Tom Hughes <tom@compton.nu>
6950 2001-10-17 12:54  simon
6952         * Makefile.in:
6953         Fix dependencies and cleaning.
6955 2001-10-17 12:45  simon
6957         * Configure.pl, Makefile.in:
6958         Fixes to make Parrot compile without the temporary build hack
6960         Courtesy of: Jason Gloudon <perl@gloudon.com>
6962 2001-10-16 20:43  gregor
6964         * Makefile.in:
6965           * Fixed dependencies for building Parrot/OpLib/core.pm
6967 2001-10-16 19:35  bdwheele
6969         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6970         added test, thanks to Alex Gough
6972 2001-10-16 16:49  bdwheele
6974         * core.ops: added opcode variants for constants and 3 arg concat
6976 2001-10-16 15:12  bdwheele
6978         * core.ops: added "set Sx,Sy" as a string copy to match the other
6979         register-to-register copies available
6981 2001-10-16 13:09  gregor
6983         * core.ops:
6984           * Added #include <sys/time.h> in the preamble for gettimeofday().
6986 2001-10-16 13:09  gregor
6988         * Makefile.in:
6989           * Removed cd t; make, which no longer applies
6991 2001-10-16 03:18  bdwheele
6993         * core.ops: fix save & restore operations to push correct type onto
6994         stack. [good eye to Jason Gloudon for noticing this]
6996 2001-10-16 01:38  bdwheele
6998         * core.ops, register.c, examples/assembly/fact.pasm,
6999         include/parrot/register.h: send in the clones:  clone routines for
7000         parrot + example program
7002 2001-10-15 22:37  gregor
7004         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
7005         examples/assembly/Makefile, examples/assembly/bsr.pasm,
7006         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
7007         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
7008         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
7009         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
7010         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
7011         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7012         t/test4.pasm, t/test5.pasm, t/trace.pasm:
7013           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
7014         some
7015             renames so the names match what they demonstrate.
7017 2001-10-15 22:18  gregor
7019         * core.ops, t/test.pasm:
7020           * time_n uses gettimeofday() to get sub-second times.
7022           * t/test.pasm uses time_n directly rather than doing int stuff
7023         and
7024             converting to num later.
7026 2001-10-15 12:28  gregor
7028         * t/: test.pasm, test2.pasm, trace.pasm:
7029           * t/test.pasm prints using string constants instead of string
7030         regs.
7032           * t/test2.pasm assembles (using implicit op modes)
7034           * t/trace.pasm updated for new behavior of trace_ic, which does
7035         not
7036             require an 'end' after 'trace'.
7038 2001-10-15 00:47  gregor
7040         * core.ops, interpreter.c, test_main.c,
7041         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7042         PARROT_PROFILE_FLAG
7044           * New runops cores to handle profiling
7046           * Support for -p flag in test_prog to enable profiling
7048           * New profile_ic op to control profiling at run-time
7050 2001-10-14 21:54  gregor
7052         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7053         lib/Parrot/OpsFile.pm: Integrated op documentation.
7055           * core.ops now contains POD documentation of ops, interspersed
7056         with the
7057             ops themselves
7059           * Ops are organized into POD =head2 sections
7061           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7062         anything
7063             up to the first POD directive OR op definition.
7065           * docs/Makefile now generates core_ops.pod from core.ops vi
7066         perldoc -u.
7068 2001-10-14 11:58  simon
7070         * Makefile.in:
7071         Unbreak Digital Un^W^WTru64
7073 2001-10-14 11:00  simon
7075         * Configure.pl:
7076         Remove weird typo.
7078 2001-10-14 10:56  tom
7080         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7081         op_info.c no longer exists and op.h is no longer a generated file.
7083 2001-10-14 10:54  tom
7085         * Makefile.in: Added vtable.h to the list of things removed by the
7086         clean target.
7088 2001-10-14 01:43  gregor
7090         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7091         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7092         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7093         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7094         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7095         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7096         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7097         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7098         include/parrot/interpreter.h, include/parrot/op.h,
7099         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7100         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7101         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7102         Moby Patch:
7104           * basic_opcodes.ops and opcode_table replaced by core.ops
7106           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7107             and ops2c.pl. These convert *.ops to *_ops.c and
7108             include/parrot/oplib/*_ops.h
7110           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7112           * disassemble.pl modified to use
7114           * interpreter.c modified to use structures in core_ops.c instead
7115             of the old op_info and op_func stuff. We're not yet to the
7116             point of handling multiple oplibs at a time, but we are getting
7117             there...
7119             Fingerprinting stuff disabled for now. We used to go off
7120             opcode_table. We need to rethink this. I have some ideas to
7121             make it unnecessary, but it remains to be seen whether others
7122             will like the direction they take us.
7124             Termination condition for while(){} loop in runops is now
7125             (pc) instead of (*pc). Any op can cause a HALT by returning
7126             a NULL pointer. Ops end, bounds and trace all do this. So, now
7127             the 'end' op body is actually executed, although all it does
7128             is HALT.
7130           * Makefile.in modified to perform a test build using pbc2c.pl,
7131             which is the bytecode --> C compiler I've posted to the
7132             list before.
7134           * Op full names are now autogenerated. Op root names must not
7135             contain underscores, so some op renamings have happened.
7136             Such as clear_i becoming cleari.
7138 2001-10-13 11:49  simon
7140         * Configure.pl, MANIFEST:
7141         Make parrot actually build again.
7143 2001-10-12 21:34  dan
7145         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7146         opcodes
7148 2001-10-12 20:56  dan
7150         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7151         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7152         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7153         generic stack now in. We also have subroutines, of a simple sort!
7155 2001-10-12 19:15  tom
7157         * t/op/string.t: Improved string comparison tests try all string
7158         combinations with each of the comparison ops.
7160 2001-10-12 19:09  dan
7162         * interpreter.c: Properly sets up generic stack now
7164 2001-10-12 19:09  dan
7166         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7167         interpreter structure
7169 2001-10-12 18:59  dan
7171         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7172         changes to get the generic stack working
7174 2001-10-12 18:59  dan
7176         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7177         hints/vms.pl: Made the changes to figure out mask bits for various
7178         register and stack chunks
7180 2001-10-11 22:09  dan
7182         * docs/parrot_assembly.pod: Tossed the parameter for return
7184 2001-10-11 19:28  tom
7186         * strnative.c: Assignment, not comparison.  (Plus formatted for
7187         coding standards)
7189         Courtesy of Bryan C. Warnock
7191 2001-10-10 19:21  tom
7193         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7194         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7195         include/parrot/string.h, t/op/string.t: Added support for string
7196         comparisons and extended the comparison ops to include comparison
7197         of strings.
7199 2001-10-10 17:58  dan
7201         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7203 2001-10-10 17:54  dan
7205         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7206         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7207         vtable type entries properly
7209 2001-10-10 15:37  dan
7211         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7212         parse new vtable.tbl file now that I've actually checked *in* the
7213         new format vtable.tbl file...
7215 2001-10-10 15:32  dan
7217         * vtable.tbl: New Column to indicate the type of the vtabel entry
7218         so we can know how many slots it takes
7220 2001-10-10 05:26  thgibbs
7222         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7223         allow parrot to compile.  PACKAGE is not defined, therefore, I
7224         added a struct before it to have it not complain until we define
7225         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7226         semicolon at the end of the struct declaration.
7228 2001-10-10 05:09  thgibbs
7230         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7231         string constants of the form U"string" become unicode encoded
7232         parrot strings and the form N"string" become native encoded parrot
7233         strings.
7235         Courtesy of: Tom Hughes <tom@compton.nu>
7237 2001-10-10 04:55  dan
7239         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7240         support for generating the vtable function table offset macros
7242 2001-10-10 01:05  simon
7244         * t/op/integer.t:
7245         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7246         compiles into the mod op, not the cmod_i op, hence wasn't testing
7247         what it thought it was.
7249         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7251 2001-10-09 03:45  thgibbs
7253         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7254         assembler to generate unicode strings.
7256         Courtesy of: Tom Hughes <tom@compton.nu>
7258 2001-10-08 19:30  brentdax
7260         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7261         info for Parrot::Config to remember, more flexible test.c stuff
7263 2001-10-08 15:04  gregor
7265         * basic_opcodes.ops:
7266           * Removed trash from early mod_i experiments (pardon our dust)
7268 2001-10-08 14:56  gregor
7270         * basic_opcodes.ops:
7271           * Fixed a couple of typos.
7273 2001-10-08 14:45  gregor
7275         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7276         Arithmetic enhancements:
7278           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7280             NOTE: This "uncorrected mod" algorithm uses the C language's
7281         built-in
7282             mod operator (x % y), which is
7284                 ... the remainder when x is divided by y, and thus is zero
7285         when y
7286                 divides x exactly.
7287                 ...
7288                 The direction of truncation for / and teh sign of the
7289         result for %
7290                 are machine-dependent for negative operands, as is the
7291         action taken
7292                 on overflow or underflow.
7293                                                                      --
7294         [1], page 41
7296             Also:
7298                 ... if the second operand is 0, the result is undefined.
7299         Otherwise, it
7300                 is always true that (a/b)*b + a%b is equal to z. I both
7301         operands are
7302                 non-negative, then teh remainder is non-negative and
7303         smaller than the
7304                 divisor; if not, it is guaranteed only that the absolute
7305         value of the
7306                 remainder is smaller than the absolute value of the
7307         divisor.
7308                                                                      --
7309         [1], page 205
7311             This op is provided for those who need it (such as
7312         speed-sensitive
7313             applications with heavy use of mod, but using it only with
7314         positive
7315             arguments), but a more mathematically useful numeric mod based
7316         on
7317             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7319               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7320         Programming
7321                   Language*, Second Edition. Prentice Hall, 1988.
7323           * Added "corrected" mod_i:
7325             NOTE: This "corrected mod" algorithm is based on the C code on
7326         page 70
7327             of [1]. Assuming correct behavior of C's built-in mod operator
7328         (%) with
7329             positive arguments, this algorithm implements a mathematically
7330         convenient
7331             version of mod, defined thus:
7333               x mod y = x - y * floor(x / y)
7335             For more information on this definition of mod, see section 3.4
7336         of [2],
7337             pages 81-85.
7339             References:
7341               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7342                   Millennium* Springer, 1999.
7344               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7345         *Concrete
7346                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7348           * Added mod_n, using the same formula as above, but with FLOATVAL
7349             arguments.
7351           * Added cmod_n, using the C math library's fmod() function:
7353             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7354         library's
7355             fmod() function, which computes
7357                 ... the remainder of dividing x by y. The return value is x
7358         - n * y,
7359                 where n is the quotient of x / y, rounded towards zero to
7360         an
7361                 integer.
7362                                                 -- fmod() manpage on RedHat
7363         Linux 7.0
7365             In addition, fmod() returns
7367                 the remainder, unless y is zero, when the function fails
7368         and errno
7369                 is set.
7371             According to page 251 of [1], the result when y is zero is
7372         implementation-
7373             defined.
7375             This op is provided for those who need it, but a more
7376         mathematically
7377             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7378         and
7379             defined with y == 0 is provided by the mod_n op.
7381               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7382         Programming
7383                   Language*, Second Edition. Prentice Hall, 1988.
7385           * Added and modified tests as appropriate for the above.
7387 2001-10-08 08:49  thgibbs
7389         * include/parrot/exceptions.h, include/parrot/parrot.h,
7390         include/parrot/string.h, include/parrot/strutf16.h,
7391         include/parrot/strutf32.h, include/parrot/strutf8.h,
7392         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7393         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7394         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7395         strings for utf8, utf16, and utf32.
7397         Courtesy of: Tom Hughes <tom@compton.nu>
7399 2001-10-08 08:10  thgibbs
7401         * memory.c: Fixed uninitialized variables.
7403         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7405 2001-10-08 01:21  gregor
7407         * packfile.c:   * Casting a return value
7409           * Potential uninitialized variable fix
7411         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7413 2001-10-08 01:15  gregor
7415         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7416         a few tweaks of my own):
7418           * Line wrapping
7420           * Printf format fixes
7422         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7424 2001-10-07 22:39  thgibbs
7426         * build_interp_starter.pl: No longer adds (void*) casts to
7427         interp_guts.c function table as they are not necessary in ANSI C.
7429 2001-10-07 16:27  gregor
7431         * basic_opcodes.ops, interpreter.c, opcode_table,
7432         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7433         t/trace.pasm:
7434           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7435             interpreter->flags and set interpreter->resume_addr.
7437           * Two new runops core variants, so now we cover the relevant
7438             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7440           * Runops core selection that converts the flags into an index
7441         into
7442             a core table (runops_cores) to get the core function pointer.
7444           * A new trace_op variant that doesn't do bounds checking (used by
7445             the non-bounds-checking-but-tracing runops core).
7447           * PC is passed into the cores so that they can be used when
7448             resuming (they used to assume starting at the beginning of the
7449             code, which would thwart resumption).
7451           * runops() itself is changed to have a while() loop in it so that
7452             any time we drop out of the core, we'll resume if we have an
7453             interpreter->resume_addr set (after reselecting the core,
7454         though).
7456           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7457             interpreter->resume_addr. This is used by the new ops. The new
7458             ops still return the new PC as the next op (which MUST be an
7459             'end' op to force the core loop to terminate -- *pc being false
7460             is the only termination condition we can count on for all
7461         cores).
7463           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7464             bounds checking core selection.
7466           * test_prog now has a '-b' flag in addition to the '-t' flag.
7467         Now,
7468             bounds checking is off by default (I saw a performance boost:
7469             6.3 Mop/s with -b, 7.0 Mop/s without).
7471           * A new sample/test program: t/trace.pasm that twiddles the trace
7472             flag while it is running.
7474 2001-10-07 15:41  gregor
7476         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7477         include/parrot/.cvsignore, include/parrot/interpreter.h:
7478         Now that 0.0.2 is released, I can clear out the backlog of approved
7479         but uncommitted patches. Here's one Dan approved on 2001-09-21
7480         (Simplified DO_OP):
7482           * test_prog and pdump are linked with only the files the need,
7483         not
7484             al the files.
7486           * build_interp_starter.pl writes out op_info.[hc], too. These
7487         files
7488             contain op name, arg count and arg type information. This will
7489         be
7490             useful for multiple things in the future, including better
7491         trace
7492             output and the crystalizing loader.
7494           * The DO_OP macro is now simpler and doesn't require explicit
7495             temporaries.
7497           * interpreter.c is modified to use the new op info in tracing
7498         output.
7500           * The interpreter just points its opcode_funcs and opcode_info
7501             members at the default tables rather than allocating memory on
7502             the fly.
7504 2001-10-07 03:58  thgibbs
7506         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7507         comment and adding vtable.h to .cvsignore as it is produced by
7508         vtable_h.in
7510 2001-10-06 20:58  thgibbs
7512         * vtable.tbl: Added * to REGEX type.
7514         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7516 2001-10-06 13:41  simon
7518         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7519         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7520         Framework for vtable functions.
7522 2001-10-06 06:52  thgibbs
7524         * make_op_header.pl: Removed confusing and unused typedef.
7526 2001-10-06 06:31  thgibbs
7528         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7529         are no longer used.
7531 2001-10-06 06:26  thgibbs
7533         * disassemble.pl: Changed intval to op in disassembler.
7535 2001-10-06 06:21  thgibbs
7537         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7538         Assembler, local labels, and integer constants.
7540 2001-10-06 03:11  ask
7542         * Makefile.in: make `make test` actually run the tests on
7543         darwin/macosx
7545 2001-10-06 02:04  thgibbs
7547         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7548         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7549         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7550         include/parrot/register.h, lib/Parrot/Assembler.pm,
7551         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7552         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7553         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7554         type make. :)
7556 2001-10-06 02:02  thgibbs
7558         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7559         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7560         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7561         include/parrot/register.h, lib/Parrot/Assembler.pm,
7562         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7563         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7564         t/op/integer.t: oops...this messed something up.  I must have
7565         missed something in the patch...I have reverted.
7567 2001-10-06 01:57  thgibbs
7569         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7570         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7571         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7572         include/parrot/register.h, lib/Parrot/Assembler.pm,
7573         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7574         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7575         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7576         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7577         This patch ensures that all bytecode is of type opcode_t except for
7578         the constant table constants.  That means that almost all of the
7579         INTVALs in the code were replaced with opcode_t and the i pack type
7580         was replaced with the op pack type in calls to pack_arg and such.
7581         Also, since it has been declared that ALL integer constants are to
7582         be 32 bits, some test cases were changed to ensure that an integer
7583         constant was no bigger than 2 ** 31.
7585         process_opfunc.pl was also cleaned up to no longer look at either
7586         opcode_table or interp_guts.h but gather all of its information
7587         from Opcode.pm.
7589         The Assembler.pm module was changed to do late binding of arguments
7590         so that 0 could be treated like 0.0 without having to be so
7591         declared.  Also, only strings now use the [sc:N] intermediate form
7592         as it was unnecessary for integer and float types.
7594 2001-10-05 21:59  gregor
7596         * MANIFEST, languages/jako/Makefile:
7597         Fixed things due to the movement of little_languages/* to
7598         languages/jako.
7600 2001-10-05 18:31  gregor
7602         * MANIFEST:
7603         Updated MANIFEST to reflect recent additions for Jako.
7605 2001-10-05 17:54  gregor
7607         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7608         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7609         mops.jako, primes.jako, sub.jako:
7610           * Compiler:
7612               * User-defined subroutines.
7613               * Generates assembly code with the Jako code in comments.
7614               * "end;" no longer required at the end of programs.
7615               * Better handling of const-reg and reg-const.
7616               * Optimizes const-const operations to compile-time
7617         evaluations.
7618               * Constants in addition to variables.
7619               * Arithmetic fixes.
7620               * Allow leading minus signs in integer and number constants
7621         (ahem).
7622               * goto's.
7624           * New sample programs:
7626               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7627         example)
7628               * mandelbrot.jako (based on Leon Brocard's translation of
7629         Glenn Rhodes' C code)
7630               * mops.jako (based on t/test.pasm)
7631               * primes.jako (based on Leon Brocard's primes.pasm example)
7632               * sub.jako (demonstrates a simple user-defined subroutine)
7634 2001-10-05 12:54  gregor
7636         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7637           * Removed mysterious extra copy of code after POD.
7639 2001-10-05 12:46  gregor
7641         * basic_opcodes.ops, t/op/string.t:
7642           * Enabled the previously SKIPped test of printing string regs
7643         after
7644             clear_s
7646           * Made print_s do nothing if the STRING pointer in the register
7647         file
7648             is NULL.
7650 2001-10-04 21:19  dan
7652         * Configure.pl: VMS tweaks
7654 2001-10-04 21:17  dan
7656         * hints/vms.pl: Hints file for VMS
7658 2001-10-04 00:58  bdwheele
7660         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7661         Assembler which stopped equates from working.
7663 2001-10-03 21:50  gregor
7665         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7667           * More documentation updates for the packfile stuff.
7669 2001-10-03 21:37  gregor
7671         * docs/parrotbyte.pod:
7672           * Pointed the reader at Parrot::PackFile.
7674 2001-10-03 21:34  gregor
7676         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7677           * Updated documentation to match current implementation.
7679 2001-10-03 18:30  gregor
7681         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7682         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7683         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7684         t/op/basic.t:
7685           * Added new syntax to the assembler to allow square-bracket
7686             arithmetic expressions involving (global) labels, the current
7687             instructions base address ('@'), numeric constants (not
7688         equates)
7689             and basic arithmetic operators (+, -, *, / -- although + and -
7690             are likely to be the only ones used in practice).
7692           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7693         to
7694             fail (argument passing wasn't working).
7696           * Enabled t/op/basic.t's last test, which is actually a copy of
7697         the
7698             code from t/call.pasm. Now all tests there are enabled and
7699         working.
7701           * Added new example/test program t/call.pasm to demonstrate
7702         working
7703             macros and poor-man's subroutine calls
7705           * Added header comments to t/*.pasm
7707 2001-10-03 18:00  simon
7709         * ChangeLog:
7710         Needed, since it's in the MANIFEST.
7712 2001-10-03 17:56  simon
7714         * t/op/: string.t, time.t:
7715         Small fixes to help Win32 on its way.
7717 2001-10-03 17:41  simon
7719         * MANIFEST, README:
7720         Oops. Tiny bugs.
7722 2001-10-03 17:39  simon
7724         * MANIFEST, NEWS, README:
7725         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7726         think so!
7728 2001-10-03 17:21  simon
7730         * basic_opcodes.ops, interpreter.c, packfile.c:
7731         Evil printf bandaid (which allows Sparc64 to pass tests)
7733         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7735 2001-10-03 16:58  simon
7737         * string.c, t/op/string.t:
7738         chop fixes for n < 0 and tests
7740         Courtesy of: Alex Gough <alex@rcon.org>
7742 2001-10-03 15:51  thgibbs
7744         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7746         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7748 2001-10-02 17:48  dan
7750         * include/parrot/stacks.h: Fix typo in function name
7752 2001-10-02 17:35  dan
7754         * include/parrot/stacks.h: changed to support new stack stuff
7755         coming after 0.02
7757 2001-10-02 15:01  simon
7759         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7760         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7761         process_opfunc.pl, register.c, string.c, strnative.c,
7762         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7763         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7764         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7765         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7766         include/parrot/memory.h, include/parrot/packfile.h,
7767         include/parrot/parrot.h, include/parrot/register.h,
7768         include/parrot/stacks.h, include/parrot/string.h,
7769         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7771         The Great Renaming.
7773 2001-10-02 12:49  gregor
7775         * process_opfunc.pl:
7776           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7778 2001-10-02 12:40  simon
7780         * basic_opcodes.ops, process_opfunc.pl, register.c,
7781         include/parrot/register.h:
7782         Move preprocessing of register accessors to process_opfunc.pl
7784         Courtesy of: Jason Gloudon <perl@gloudon.com>
7786 2001-10-02 01:20  ask
7788         * README: add a few lines about lists.
7790 2001-10-01 23:00  brentdax
7792         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7793         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7795 2001-10-01 22:50  brentdax
7797         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7799 2001-10-01 21:51  simon
7801         * process_opfunc.pl:
7802         Michael Fischer's patch broke conditionals.
7804 2001-10-01 15:38  simon
7806         * process_opfunc.pl:
7807         Small hack to keep process_opfunc.pl from generating extra return()
7808         statements.
7810         Courtesy of: Michael Fischer <michael@visv.net>
7812 2001-10-01 15:32  simon
7814         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7815         Documentation fix.
7817         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7819 2001-10-01 01:49  simon
7821         * packfile.c:
7822         Simon is an idiot. Don't trust him with your code.
7824         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7826 2001-10-01 00:59  simon
7828         * Parrot/String.pm, lib/Parrot/String.pm:
7829         Was in manifest, but not in CVS.
7831 2001-09-30 21:25  simon
7833         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7834         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7835         Parrot/Assembler.pm, Parrot/PackFile.pm,
7836         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7837         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7838         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7839         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7840         include/parrot/packfile.h, include/parrot/string.h:
7841         Move NVs to the constant table.    * Changes to Types_pm.in to make
7842         life easier for some of the      packing/etc. I'm doing elsewhere.
7843         Also, we now pack 'n' as      'i'.
7845           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7846             eventually we can use all these tools together inside scripts
7847             rather than call out to the shell to run the programs.
7849           * As I was tracking down problems, I converted the internal
7850             documentation of the assembler to POD from comments.
7852           * Changed the numeric regexp in the assembler to detect leading
7853             signs and trailing exponents.
7855           * Updated basic_opcodes.ops to fetch numeric constants from the
7856             constant table.
7858           * Enhanced the disassembler in a number of ways to make my life
7859             easier while tracking down bugs (try it out). It now puts in
7860             labels for ops that are the destinations of flow control ops.
7862           * packfile.c now has a TRACE_PACKFILE switch that can be set
7863             to get it to print info as it processes. I needed this while
7864             debugging, but I can remove it or change it before committing
7865             if its a problem.
7867           * Updated pdump.c because it was missing a call to init_world().
7869           * Updated process_opfunc.pl to deal with numeric constants
7870             being stored in the constant table instead of inline.
7872           * Added multiple type support to Parrot/PackFile/Constant.pm
7874           * Added Parrot/String.pm, to be used for constants.
7876           * Added packfile.[hc] functions for allocating new constants
7877             of various types.
7879           * Made string_copy visible to the world in parrot/string.h.
7881         Wow.
7883         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7885 2001-09-29 15:56  gregor
7887         * languages/jako/Makefile:
7888         Removed assumption that '.' is on the path.
7890 2001-09-29 15:55  gregor
7892         * languages/jako/Makefile:
7893         Removed references to leibnitz test program.
7895 2001-09-29 15:21  thgibbs
7897         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7898         math ops args to work on Solaris.
7900 2001-09-27 15:15  thgibbs
7902         * assemble.pl: Added case insensitive matches to hex and binary
7903         characters
7905         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7907 2001-09-27 04:46  thgibbs
7909         * assemble.pl: This patch makes integer constants of the form
7910         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7911         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7912         returning 0.  To fix this, I added a from_binary function that
7913         would take a binary string and return its decimal representation.
7914         Now, instead of blindly calilng oct, it makes a distinction between
7915         0/0x numbers and 0b numbers.
7917 2001-09-26 19:30  thgibbs
7919         * assemble.pl: Error now returns a non-zero status
7921         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7923 2001-09-26 19:13  gregor
7925         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7926         interpreter.c, packfile.c, pdump.c, test_main.c,
7927         include/parrot/bytecode.h, include/parrot/interpreter.h,
7928         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7929         t/op/stacks.t:
7930           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7931             packfile/bytecode file from C. May be renamed in the future.
7933           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7934             of 'PackFile *', just like the interpreter, etc.
7936           * Constants are accessed via the interpreter's 'code' member
7937             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7938             provided to access constants by index and the number of
7939             constants, respectively (assumes a variable 'interpreter' of
7940             the appropriate type is in scope).
7942           * Byte Code is accessed via the interpreter's 'code' member.
7944           * Changed PackFile_Constant to point to a STRING instead of
7945         having
7946             members for the string_make() arguments. Also has a 'type' IV
7947             in preparation for allowing multiple types of constants in
7948             const_table.
7950           * Removed hardcoded example program from test_main.c. We have
7951             plenty of test programs elsewhere.
7953           * test_prog now uses a PackFile to deal with the program before
7954             sending it on to the interpreter.
7956           * Added missing 'end' ops to some tests in t/op/integer.t and
7957             t/op/stacks.t.
7959 2001-09-26 18:38  thgibbs
7961         * assemble.pl: Separated code into functions and added comments.
7963 2001-09-26 18:29  simon
7965         * config_h.in:
7966         Fix 64-bit chunk-base issue.
7968 2001-09-26 06:55  thgibbs
7970         * t/op/bitwise.t: Added end to bitwise tests.
7972 2001-09-26 00:54  dan
7974         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7975         and interpreter creation. Skeleton only, but it's something to peer
7976         at.
7978 2001-09-25 21:44  thgibbs
7980         * t/op/trans.t: Removed loops in transcendtal op test.
7982 2001-09-25 10:12  simon
7984         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7985         t/op/string.t, t/op/time.t:
7986         More tests
7988         Courtesy of: Alex Gough <alex@rcon.org>
7990 2001-09-24 19:08  gregor
7992         * t/op/number.t:
7993           * Enabled the clear_n test.
7995 2001-09-24 18:56  gregor
7997         * Parrot/.cvsignore:
7998           * Ignore the generated Types.pm file.
8000 2001-09-24 18:52  gregor
8002         * languages/jako/Makefile, t/op/number.t:
8003           * No need to skip the inc and dec numeric tests anymore. I fixed
8004         the
8005             assembler earlier today.
8007 2001-09-24 18:21  simon
8009         * MANIFEST, t/op/stacks.t:
8010         Oops.
8012 2001-09-24 18:19  simon
8014         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
8015         include/parrot/exceptions.h, include/parrot/interpreter.h,
8016         lib/Parrot/Test.pm, t/op/string.t:
8017         1) captured error output, so can test errors, this might be bad,
8018         not sure.  2) basic tests for register stack frames, including some
8019         errors 3) I think we can stop skipping one of the string tests 4) I
8020         added some more substr tests, but substr was broken, so 5) changed
8021         substr to work with out of range values, or 6) throw an error if
8022         they're far too silly
8024         Courtesy of: Alex Gough <alex@rcon.org>
8026 2001-09-24 17:27  gregor
8028         * basic_opcodes.ops, opcode_table, t/op/number.t:
8029           * Op set_n was missing. Added it and a test for it. We now have
8030         the
8031             same int and num ops, except mod is int-only.
8033 2001-09-24 17:01  gregor
8035         * assemble.pl:
8036           * Fixed a typo: s/Line/line/
8038 2001-09-24 16:02  gregor
8040         * basic_opcodes.ops:
8041           * Fixed dec_n_nc opcode, which had += where it should have had
8042         -=.
8044 2001-09-24 15:34  gregor
8046         * assemble.pl:
8047           * Fixed handling of constants starting with '0' that should not
8048         be
8049             sent through oct(). For example 'set N2 0.1' was being
8050         interpreted
8051             as 'set N2 0' (naughty).
8053             As reported by Leon Brocard <acme@astray.com> in the comments
8054         of
8055             his mandelbrot.pasm example.
8057 2001-09-24 02:21  bdwheele
8059         * assemble.pl: fixed dumb code when --include was not specified.
8061 2001-09-24 02:17  simon
8063         * assemble.pl:
8064         Shit-sweeping.
8066 2001-09-24 01:56  bdwheele
8068         * assemble.pl: * Added --include=dir option to assembler to provide
8069         a path to look for included files.  * Error message of a macro is
8070         defined inside of a macro
8072 2001-09-23 21:29  bdwheele
8074         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8076 2001-09-23 15:50  simon
8078         * Configure.pl:
8079         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8081 2001-09-23 02:03  ask
8083         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8084         Courtesy of: acme@astray.com (Leon Brocard)
8086         rename 'test' executable used in Configure process to test_siz.
8088 2001-09-23 01:03  simon
8090         * process_opfunc.pl:
8091         iPaq fix. No, really.
8093 2001-09-23 00:47  simon
8095         * MANIFEST:
8096         Missed several, in fact.
8098 2001-09-23 00:46  simon
8100         * MANIFEST:
8101         Missed one.
8103 2001-09-22 21:13  simon
8105         * assemble.pl:
8106         Assembler register numbering rigour.
8108         Courtesy of: Leon Brocard <acme@astray.com>
8110 2001-09-22 18:20  simon
8112         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8113         lib/Test/Utils.pm:
8114         I'm sick of having to install Test::More everywhere. Temporary
8115         measure until we remove this silly dependency.
8117         Also a typo in Makefile.in which suggests some things were only
8118         happening correctly by sheer chance. :)
8120 2001-09-22 18:06  simon
8122         * README:
8123         test.pasm is dead, long like make test.
8125 2001-09-22 17:47  simon
8127         * t/op/number.t:
8128         De-fang overzealous floating point test.
8130 2001-09-22 17:39  simon
8132         * process_opfunc.pl:
8133         Remove hard-coded NV size assumption. Tru64 is nearly there!
8135 2001-09-22 17:18  simon
8137         * assemble.pl, disassemble.pl:
8138         More portability fixups.
8140 2001-09-22 16:44  simon
8142         * assemble.pl, Parrot/PackFile/Constant.pm,
8143         lib/Parrot/PackFile/Constant.pm:
8144         And I *think* this fixes Tru64.
8146 2001-09-22 16:37  simon
8148         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8150         Oops.
8152 2001-09-22 16:36  simon
8154         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8155         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8156         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8158         More removal of hard-coded pack formats.
8160 2001-09-22 15:21  simon
8162         * assemble.pl:
8164         Grrr. Why isn't this working?
8166 2001-09-22 15:18  simon
8168         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8169         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8171         Make assemble use the PackFile modules; also fixed some bugs in
8172         them.
8174 2001-09-22 14:38  simon
8176         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8178         Abstract the argument and opcode packing types and functions out
8179         into a separate module. This *should* help us maintain consistency
8180         when we change the various types.
8182 2001-09-22 00:46  brentdax
8184         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8185         test program finishes.
8187 2001-09-21 21:24  brentdax
8189         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8190         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8192 2001-09-21 21:09  gregor
8194         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8195         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8197           * Fixed pad calculation (similar to recent bug fix on C library)
8199 2001-09-21 20:23  simon
8201         * disassemble.pl:
8202         Pack types and sizes have gone askew.
8204 2001-09-21 20:18  brentdax
8206         * Configure.pl: Fix typo in setting stuff from the C test program
8208 2001-09-21 10:25  simon
8210         * basic_opcodes.ops, process_opfunc.pl:
8211         Document patches.
8213         Courtesy of: Leon Brocard <acme@astray.com>
8215 2001-09-21 06:06  ask
8217         * Config_pm.in, assemble.pl: fix 5.005_03.
8219 2001-09-21 06:03  ask
8221         * Configure.pl: make the ivsize detection work for us normal people
8222         without . in our PATH.  :-)
8224 2001-09-21 05:56  brentdax
8226         * test_main.c: Change _read to read for portability to Tru64
8227         (Damien Neil <neild@misago.org> and likely many others)
8229 2001-09-21 05:46  ask
8231         * Makefile.in: "update" target to update from cvs.
8233 2001-09-21 05:44  brentdax
8235         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8237 2001-09-21 02:43  brentdax
8239         * Configure.pl: Fix a typo that forced the -g flag on
8241 2001-09-20 22:41  dan
8243         * packfile.c: Had some no-value returns. Naughty
8245 2001-09-20 22:40  dan
8247         * t/test.pasm: Added labels to output
8249 2001-09-20 15:39  simon
8251         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8252         lib/Parrot/Test.pm:
8253         This patch does two only somewhat related things.
8255         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8256         = 2*sizeof(iv) to a PConfig-type computed value.
8258         Parrot/Test.pm:  Change it to run with the perl that was used to
8259         generate this version of Parrot.  This is useful if, for example,
8260         you want to use bleadperl to build and test parrot (e.g. to try out
8261         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8262         installed as the default 'perl' on your system.  Since perl-5.7.x
8263         is installed 'version-only', a plain 'perl' is quite likely to pick
8264         up the older perl in such cases. Such an older perl might well not
8265         understand pack('q') used in the assembler.
8267         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8269 2001-09-20 15:14  gregor
8271         * packfile.c:
8272           * Fixed a typo in pad calculation that throwing off unpack and
8273         pack.
8275 2001-09-20 15:03  thgibbs
8277         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8278         tests now cover all registers.
8280         Courtesy of: Damien Neil neild@misago.org
8282 2001-09-20 14:48  thgibbs
8284         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8285         machines.
8287 2001-09-20 14:35  simon
8289         * Configure.pl, assemble.pl:
8290         Pack IVs correctly.
8292         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8294 2001-09-20 14:06  gregor
8296         * languages/jako/jakoc:
8297           * Fixed a tyop in the string interpolation regex.
8299         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8301 2001-09-20 13:56  gregor
8303         * languages/jako/jakoc:
8304           * Updated jakoc to work with the single-destination comp ops.
8306 2001-09-20 05:08  bdwheele
8308         * assemble.pl: macro expansion.  Here's the test macro I was using:
8310         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8311         label.  testi       macro   num,got,want    print   "Test #"
8312         print   num     print   "..."   set     I32,want        set
8313         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8314         $end $ok:       print   "OK\n" $end:    endm
8316         It is invoked as:
8318         Test1:  testi   1,I3,I2
8320 2001-09-20 03:52  dan
8322         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8323         generic stack support
8325 2001-09-20 02:49  bdwheele
8327         * assemble.pl: Added include processing to assemble.pl  the syntax
8328         is: include 'file.to.include'
8330 2001-09-19 23:57  thgibbs
8332         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8333         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8334         function to only use 2 args, but the opcode_table still had three
8335         listed.  Fixed integer.t and number.t to use the new comparison
8336         operators.  Improved assemble.pl ability to grok operators by
8337         constructing a function set and comparing operator types.
8339 2001-09-19 22:42  dan
8341         * assemble.pl: Binmodes the output filehandles now. (No more
8342         bytecode munching...)
8344 2001-09-19 22:32  dan
8346         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8347         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8348         conditional branches take a single argument, and fall through
8349         otherwise.
8351 2001-09-19 21:19  thgibbs
8353         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8354         Sugalski
8356         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8358 2001-09-19 21:04  thgibbs
8360         * include/parrot/interpreter.h, Configure.pl,
8361         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8362         process_opfunc.pl: Changed opcode_t from a union to a configurable
8363         type.
8365 2001-09-19 20:54  thgibbs
8367         * assemble.pl: Missed a couple of changes for 64 bit portability.
8369 2001-09-19 20:37  gregor
8371         * packfile.c, include/parrot/packfile.h:
8372           * Added "methods" for setting and getting all the various
8373         attributes,
8374             probably sufficient for an assembler to use the library.
8376 2001-09-19 20:04  thgibbs
8378         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8379         a 64 bit platform manually change the  setting for 'i' from 'l' to
8380         'q'.  This should be automatically done by a Configure setting in
8381         the near future.
8383 2001-09-19 19:10  thgibbs
8385         * config_h.in: changed c++ comment to c comment.
8387         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8389 2001-09-19 17:48  gregor
8391         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8392         include/parrot/packfile.h:
8393           * C code for dealing with PackFiles as if they were objects.
8394         Mostly
8395             read-only interface for now, but it would not be hard to make
8396         it
8397             read-write. [packfile.c, include/parrot/packfile.h]
8399           * PackFile Dumping program that falls short of disassembling, but
8400             tests the above code and provides a hex listing of the byte
8401         code
8402             contents of the PackFile. [pdump.c]
8404           * New Makefile target 'pdump' for the above program, and related
8405             Makefile.in changes.
8407           * Updated MANIFEST to reflect the added files
8409           * Update .cvsignore to ignore pdump.
8411 2001-09-19 14:55  thgibbs
8413         * MANIFEST: Added number.t and trans.t to MANIFEST
8415 2001-09-19 05:40  thgibbs
8417         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8418         of union opcode_t.  I hope this will be more portable for set_n_nc.
8420 2001-09-19 05:39  thgibbs
8422         * t/op/integer.t: Added end to test 1.
8424 2001-09-19 00:09  thgibbs
8426         * t/op/number.t: Added end to each test
8428 2001-09-19 00:00  simon
8430         * t/op/number.t:
8431         Number tests! Wooo!
8433         Courtesy of: Damien Neil <neild@misago.org>
8435 2001-09-18 23:52  thgibbs
8437         * interpreter.c: Added casts to appropriate types to make -Wall not
8438         complain on certain printf formats
8440 2001-09-18 23:31  thgibbs
8442         * t/op/integer.t: Added end to each test.
8444 2001-09-18 22:54  thgibbs
8446         * t/op/trans.t: Added trans.t for transcendental math function
8447         tests.
8449 2001-09-18 22:28  simon
8451         * MANIFEST:
8452         MANIFEST updates. (And notice how I carefully snuck in the
8453         t/op/integer.t there...)
8455         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8457 2001-09-18 22:26  simon
8459         * t/: integer.t, op/integer.t:
8460         Except it doesn't go there. Duh.
8462 2001-09-18 22:25  simon
8464         * t/integer.t:
8465         Tests for integer ops.
8467         Courtesy of: Damien Neil <neild@misago.org>
8469 2001-09-18 22:03  thgibbs
8471         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8472         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8473         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8474         opcode_t union for operators.  This required a few perl script
8475         changes to output the correct type.  There were also some changes
8476         to allow -pedantic in gcc
8478 2001-09-18 21:07  gregor
8480         * disassemble.pl, Parrot/PackFile.pm,
8481         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8482         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8483         lib/Parrot/PackFile/Constant.pm:
8484         Converted the disassembler to use the Parrot::PackFile Perl classes
8485         to do its job.
8487 2001-09-18 19:18  brentdax
8489         * Makefile.in: Fix missing functions for real this time.  (I
8490         swear!)
8492 2001-09-18 18:49  brentdax
8494         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8495         <doughera@lafayette.edu>}
8497 2001-09-18 18:47  brentdax
8499         * Makefile.in: Fix bugs with missing math, etc. functions
8501 2001-09-18 14:42  thgibbs
8503         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8504         char*.
8506 2001-09-18 13:59  thgibbs
8508         * strnative.c: Removed unnecessary IV cast in concat.
8510 2001-09-18 13:58  thgibbs
8512         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8513         to concat test in string.t
8515 2001-09-18 12:07  gregor
8517         * languages/jako/jakoc:
8518           * var num ... no longer requires assignment
8519           * automatic casting between int and num
8520           * Fixed an error message
8522         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8524 2001-09-18 11:57  simon
8526         * TODO:
8527         Gonna have to start thinking of more things to do, soon.
8529 2001-09-18 10:42  simon
8531         * opcode_table:
8532         Introduce a little more tidiness into the opcode table.
8534 2001-09-18 03:06  gregor
8536         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8537         Resurrected register-const ops per Dan's request.
8539 2001-09-18 02:20  gregor
8541         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8542         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8543         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8544         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8545         Committed some files that were missed in the last *.h moving
8546         commit.
8548 2001-09-18 02:17  gregor
8550         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8552 2001-09-18 02:16  gregor
8554         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8555         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8556         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8557         missed in last commit for the move of *.h to include/parrot.
8559 2001-09-18 01:32  simon
8561         * t/Makefile:
8562         Trivial "clean" target to t/Makefile.
8564 2001-09-18 01:32  simon
8566         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8567         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8568         Change icky Digest::MD5 for nice simple unpack()
8570         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8572 2001-09-18 00:35  simon
8574         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8575         t/op/string.t:
8576         New concat op. Hey, if I'm going to talk about it in an article,
8577         better implement it...
8579 2001-09-17 22:54  gregor
8581         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8582         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8583         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8584         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8586         Functions for reading, writing and manipulating Parrot Pack Files.
8587         NOTE: This is a proposed term based on the fact that the file
8588         contains more than just byte code, and another language (Java)
8589         calls its binary files by a broader notion of what's in them (Class
8590         Files). Since Perl has packages, and since we use pack() to write
8591         them, we'll call them PackFiles (at least for now).
8593         That does, however, beg the question of file extension. Should we
8594         name the files "foo.pack" instead of "foo.pbc"?
8596 2001-09-17 20:23  thgibbs
8598         * interpreter.c, test_main.c: Uncuddled else statements for coding
8599         standard.
8601 2001-09-17 19:57  gregor
8603         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8604         Added a $revision variable, parsing of the CVS Id line in
8605         opcode_table and a &revision() subroutine.
8607 2001-09-17 19:53  gregor
8609         * opcode_table:
8610         Added a CVS Id tag to it.
8612 2001-09-17 18:58  thgibbs
8614         * interpreter.c: Cleared interpreter flags on creation.
8616 2001-09-17 18:38  gregor
8618         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8619         interpreter.h, test_main.c:
8620           * Provides macros in interp_guts.h for setting up arrays with
8621             op names and op arg counts (done via build_interp_starter.pl).
8623             These are used in the op tracing
8625           * The functions in bytecode.[hc] pass around a pointer to the
8626         length
8627             of the bytecode so that later when we get to runops, we know
8628             how much bytecode we've got and we can detect out-of-bounds
8629             jumping. The documentation is updated, too.
8631           * runops in interpreter.c now looks at interpreter->flags to
8632             decide if the core of runops should be runops_trace_core or
8633             runops_notrace_core. These new functions contain just the
8634             while-loop portion of runops. A new function runops_generic
8635             does any other setup (such as checking the bytecode
8636             fingerprint) or wrapup (such as complaining if we ended up
8637             out-of-bounds). NOTE: I didn't know what we should do for
8638             functions in here that are not part of the api, so I gave
8639             them docs with 'TODO' marks mentioning they really aren't
8640             part of the api. Guidance appreciated.
8642           * test_main.c now checks for '-t' arg and sets the tracing flag
8643             on its interpreter instance as appropriate.
8645 2001-09-17 17:47  bdwheele
8647         * assemble.pl: added some default equates, and if they're sub
8648         references, they are computed each time it is referenced.
8650 2001-09-17 16:15  dan
8652         * interpreter.h:
8654         Added flags to the interpreter structure and defined a few.
8656 2001-09-17 15:51  simon
8658         * bytecode.h, string.h:
8659         VAR_SCOPE on globals.
8661 2001-09-17 15:20  simon
8663         * MANIFEST:
8664         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8666 2001-09-17 15:05  gregor
8668         * t/jump.pasm, MANIFEST:
8669         Added a test program to demonstrate jump_i.
8671 2001-09-17 14:44  thgibbs
8673         * register.c: Fixed register pop not using correct offset (off by
8674         one).
8676         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8678 2001-09-17 13:56  thgibbs
8680         * interpreter.c, register.c: Added code to call Parrot_clear_s
8681         during initialization and Parrot_clear_s and Parrot_clear_p when a
8682         new stack frame is pushed.
8684 2001-09-17 13:51  gregor
8686         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8687         fib.jako, hello.jako: Added bench.pasm to "clean"
8689 2001-09-17 13:49  gregor
8691         * languages/jako/: jakoc, Makefile:
8692         Added CVS Id tag.
8694 2001-09-17 13:49  gregor
8696         * languages/jako/jakoc:
8697         Code streamlining.
8699         Courtesy of: Buggs <buggs-perl6@splashground.de>
8701 2001-09-17 13:29  gregor
8703         * MANIFEST, opcheck.pl:
8704         Added an opcode_table checker to make sure that all opcodes listed
8705         there conform to a simple set of naming rules (rules themselves, of
8706         course, are subject to change).
8708 2001-09-17 13:23  thgibbs
8710         * string.c: Modified string.c to correctly use the return value of
8711         realloc.
8713 2001-09-17 05:26  brentdax
8715         * Makefile.in: Making the Makefile smarter
8717 2001-09-16 23:06  brentdax
8719         * hints/mswin32.pl: Finishing the Configure hints
8721 2001-09-16 23:05  brentdax
8723         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8724         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8725         Configure hints, 5.005 compatibility, MANIFEST checking
8727 2001-09-16 19:25  bdwheele
8729         * assemble.pl: parrot assembly equates
8731 2001-09-16 18:03  gregor
8733         * Makefile.in:
8734         Added 'test' target to run new test suite.
8736 2001-09-16 17:33  simon
8738         * basic_opcodes.ops:
8739         'not' was being !, rather than ~. Too many Perl programmers here, I
8740         suspect.
8742         Courtesy of: Tom Hughes <tom@compton.nu>
8744 2001-09-16 17:21  simon
8746         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8747         t/op/string.t:
8748         A *real* test suite!
8750         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8752 2001-09-16 16:49  gregor
8754         * basic_opcodes.ops, opcode_table:
8755         At Dan's request, my new register-constant comparison ops have been
8756         removed.
8758 2001-09-16 16:40  gregor
8760         * languages/jako/jakoc:
8761         Fixed a copy-paste error in one of jakoc's error messages.
8763         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8765 2001-09-16 16:37  gregor
8767         * languages/jako/jakoc:
8768         Modified comparison implementation to use temporary registers in
8769         the case of register-constant and constant-register comparisons.
8770         This will allow the compiler to emit code that works when the
8771         constant-comparison ops are backed out of Parrot. If the ops ever
8772         make their way back in, then jakoc can emit more efficient code
8773         again.
8775 2001-09-16 16:19  bdwheele
8777         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8778         ... though not subroutine based like the documentation wants, they
8779         are local to the last non-local label defined.
8781 2001-09-16 14:02  simon
8783         * MANIFEST:
8784         And remember, when you add stuff, keep the manifest up to date.
8786 2001-09-16 02:55  ask
8788         * Makefile.in: a "shared" target for building libparrot.so
8790 2001-09-16 02:45  thgibbs
8792         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8793         global_setup.h, interpreter.c, interpreter.h, io.h,
8794         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8795         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8796         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8797         use the coding standard PDD.  Also changed Perl_Interp to
8798         Parrot_Interp.
8800 2001-09-16 02:21  ask
8802         * README: emphasise the bits about the license not being worked out
8803         yet.
8805 2001-09-15 22:21  simon
8807         * process_opfunc.pl:
8808         basic_opcodes.c should *scream* that it's autogenerated.
8810 2001-09-15 21:58  gregor
8812         * languages/jako/Makefile:
8813         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8814         compile.
8816 2001-09-15 21:58  gregor
8818         * languages/jako/: jako_compiler.pl, jakoc:
8819         Renamed the Jako compiler to jakoc from jako_compiler.pl
8821 2001-09-15 21:51  gregor
8823         * languages/jako/: Makefile, bench.jako, euclid.jako,
8824         jako_compiler.pl:
8825         Added a new bench.jako example based on Leon Brocard's Bench.java.
8827         Jako Compiler:   * fix a bug in assignment handling   * add some
8828         more conditionals to while and if   * revert to using implicit
8829         opcodes in a few cases that were broken     before the assembler
8830         patch went in recently.
8832 2001-09-15 21:46  gregor
8834         * assemble.pl, basic_opcodes.ops, opcode_table:
8835         New ops for register-constant INTEGER comparisons:
8837           {eq,ne,lt,le,gt,ge}_ic_ic
8839         New ops for register-register and register-constant NUMERIC
8840         comparisons:
8842           eq_nc_ic
8843           {ne,lt,le,gt,ge}_{n,nc}_ic
8845         Assembler:
8847           Allow uppercase and underscores in labels.
8849           Tweaks to the op infer code to make it work with the examples
8850         I've been
8851           creating.
8853 2001-09-15 19:16  thgibbs
8855         * README: Updated README to include Configure.pl
8857 2001-09-15 17:05  simon
8859         * build_interp_starter.pl:
8860         Casting happiness
8862         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8864 2001-09-15 16:45  simon
8866         * assemble.pl:
8867         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8869 2001-09-15 16:40  simon
8871         * t/Makefile:
8872         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8873         test Makefile
8875 2001-09-15 12:26  simon
8877         * memory.c:
8878         Fixed to match the coding standards.
8880         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8882 2001-09-15 01:57  ask
8884         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8885         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8886         to run Configure.pl
8888 2001-09-15 01:48  ask
8890         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8891         say so. :-)
8893 2001-09-15 01:42  gregor
8895         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8896         jako_compiler.pl:
8897         Compiler: Added variable interpolation in double-quoted strings.
8898         Examples: Made use of variable interpolation.
8900 2001-09-15 01:28  gregor
8902         * Parrot/.cvsignore:
8903         Ignore the Config.pm generated file.
8905 2001-09-15 01:22  gregor
8907         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8908         fib.jako, hello.jako, jako_compiler.pl:
8909         gnp: Added some more sample Jako files and added many more
8910         operators to the compiler. Preparations for supporting all the Math
8911         and bitwise ops.
8913 2001-09-14 19:06  simon
8915         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8916         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8917         lib/Parrot/Opcode.pm:
8918         Move common table reading stuff to a module.
8920         Courtesy of: Damien Neil <neild@misago.org>
8922 2001-09-14 17:42  simon
8924         * .cvsignore:
8925         More .cvsignore foo.
8927 2001-09-14 17:40  simon
8929         * assemble.pl, config_h.in:
8930         De-coredump
8932         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8934 2001-09-14 17:38  simon
8936         * assemble.pl, t/Makefile:
8937         Make assemble.pl look in its parent directory if the data files it
8938         needs aren't in the current one. Plus a Makefile that lets "make
8939         foo.pbc" work in t/
8941         Courtesy of: Rocco Caputo <troc@netrus.net>
8943 2001-09-14 16:29  simon
8945         * make_op_header.pl:
8946         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8947         probably segfault everywhere else.)
8949 2001-09-14 15:58  dan
8951         * languages/jako/: euclid.jako, jako_compiler.pl:
8953         Added in the first mini-language that targets Parrot.
8955         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8957 2001-09-14 15:20  dan
8959         * memory.c: Was misaligning returned memory. Fixed.
8961 2001-09-14 15:08  simon
8963         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8964         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8965         register.c, register.h, string.c, string.h, strnative.c,
8966         test_main.c:
8967         Fixes to include <parrot/foo.h>
8969         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8971 2001-09-14 12:05  simon
8973         * strnative.c:
8974         Appease Tru64.
8976 2001-09-14 12:01  simon
8978         * memory.c:
8979         Appease Tru64.
8981 2001-09-14 11:54  simon
8983         * interpreter.c:
8984         Remove lvalue cast.
8986 2001-09-14 11:45  simon
8988         * Configure.pl:
8989         Be 5.005 friendly.
8991 2001-09-14 11:39  simon
8993         * Configure.pl:
8994         Tru64 cc doesn't like -Wall
8996 2001-09-14 10:57  simon
8998         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8999         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
9000         config.h.in, config_h.in, disassemble.pl, interpreter.c:
9001         Configure now generates Makefile
9003         Courtesy of: Brent Dax <brentdax@cpan.org>
9005 2001-09-14 10:08  simon
9007         * t/test3.pasm:
9008         Add "end"
9010         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9012 2001-09-14 10:07  simon
9014         * assemble.pl:
9015                 * uses Getopt::Long for options.  -c is now --checksyntax.
9016         I wasn't
9017         sure how to keep compatible (patches welcome!)         * options
9018         include:                 --help                 --version
9019               --verbose                 --output=file
9020         --listing=file                 --checksyntax         * produces
9021         verbose listing of what the assembler saw :)  Only one nitpick with
9022         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9023         includes symbols which may be defined later in the file (i.e.
9024         forward jumps).
9026         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9028 2001-09-14 10:06  simon
9030         * strnative.c:
9031         substr growth fixup
9033         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9035 2001-09-14 10:03  simon
9037         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9038         register.c, string.c, strnative.c, test_main.c:
9039         Coding standards conformance
9041         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9043 2001-09-14 09:46  simon
9045         * assemble.pl:
9046         Make the assembler grok transcendental maths again.  Courtesy of:
9047         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9049 2001-09-13 17:29  simon
9051         * assemble.pl:
9052         Better opcode guessing, from Brian Wheeler. (Again!)
9054 2001-09-13 17:20  dan
9056         * docs/parrot_assembly.pod:
9058         Took out duplicate entries for iton, ntoi, and tostring.
9060 2001-09-13 17:16  simon
9062         * assemble.pl, basic_opcodes.ops, opcode_table:
9063         From Brian Wheeler:
9065         This patch gives the assembler support of '\a','\n','\r','\t', and
9066         '\\' in string constants.
9068         In addition, it changes (for all registers) "I reg %li is ..." to
9069         just the value of the register.  Printing constants is also
9070         supported, but alas, you have to specify the type (print_sc,
9071         print_ic, print_nc).
9073 2001-09-13 15:38  simon
9075         * assemble.pl:
9076         Why don't I actually *test* this stuff before applying it, eh?
9078 2001-09-13 15:34  simon
9080         * TODO, t/euclid.pasm:
9081         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9082         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9083         inference
9085 2001-09-13 14:42  simon
9087         * assemble.pl:
9088         A new assembler, from Brian Wheeler.
9090 2001-09-13 09:44  simon
9092         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9093         test_main.c:
9094         Two more from Tom Hughes:     Patch to fix C++ style comments
9095         Patch to remove use of structure constant/cast
9097 2001-09-13 09:39  simon
9099         * TODO, docs/strings.pod:
9100         Update string docs.
9102 2001-09-13 09:36  simon
9104         * Makefile, basic_opcodes.ops:
9105         Tom Hughes      Patch to link with the maths library Tom Hughes
9106          Patch to fix += on rvalue
9108 2001-09-13 08:57  simon
9110         * MANIFEST:
9111         I guess nobody's been using the nightly builds...
9113 2001-09-13 08:27  simon
9115         * assemble.pl, basic_opcodes.ops, opcode_table:
9116         Bitwise ops, from Brian Wheeler.
9118 2001-09-13 08:23  simon
9120         * .cvsignore, t/.cvsignore:
9121         .cvsignore's, from Gregor Purdy.
9123 2001-09-13 08:22  simon
9125         * Makefile:
9126         Euclidean test and test output rearranging from Gregor Purdy.
9128 2001-09-13 08:21  simon
9130         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9131         Math ops from Gibbs Tanton.
9133 2001-09-13 08:14  simon
9135         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9136         t/test2.pasm:
9137         String substr op; also rearranged "encoding" to be a vtable
9138         pointer, not an array index. Haven't changed docs to reflect this,
9139         oops.
9141         Simon
9143 2001-09-12 19:48  dan
9145         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9146         Gregor Purdy
9148 2001-09-12 19:39  dan
9150         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9152 2001-09-12 19:23  dan
9154         * interpreter.h, parrot.h: Quick placeholder entry for string
9155         function tables
9157 2001-09-12 18:58  dan
9159         * memory.c: Added in a cast to make gcc happy.
9161 2001-09-12 16:44  dan
9163         * docs/parrot_assembly.pod:
9165         PDD describing parrot's assembly language and the opcodes in it
9167 2001-09-12 14:20  dan
9169         * memory.c:
9170         Fixed alignment issues with allocation
9172 2001-09-12 10:54  simon
9174         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9175         make_op_header.pl, opcode_table, process_opfunc.pl:
9176         Brian Wheeler's big patch:
9178         * Changes the opcode_table file to provide additional information
9179         about the operands.  Case shouldn't be a problem since that data
9180         never becomes a C symbol [this is pretty much as before]
9182         * Padding errors solved:  assemble.pl and bytecode.c were padding
9183         the constants incorrectly.  It should have been 4-(size % 4), not
9184         just (size % 4).  It is now fixed in both places.
9186         * assembler has less special cases, and should be easier to hang
9187         error checking on
9189         * disassembler dumps constant table and the format is a bit
9190         prettier, including register names, etc.
9192 2001-09-11 23:21  dan
9194         * build_interp_starter.pl, interpreter.c:
9196         Abstracted the runops function core into a macro for easy
9197         replacement later.
9199 2001-09-11 10:43  simon
9201         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9202         Configure system from Brent Dax <brentdax@cpan.org>
9204 2001-09-11 09:38  simon
9206         * assemble.pl, test.pbc:
9207         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9208         assembler deferred output
9210         Also got rid of the bytecode, since that's probably way out of
9211         date.
9213 2001-09-11 09:26  simon
9215         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9216         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9217         patch
9219 2001-09-10 23:20  simon
9221         * MANIFEST:
9222         And that move needs a MANIFEST change. So many things to remember!
9224 2001-09-10 23:18  simon
9226         * t/: test.pasm, test2.pasm, test3.pasm:
9227         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9229 2001-09-10 23:18  simon
9231         * test.pasm, test2.pasm, test3.pasm:
9232         Move tests to t/
9234 2001-09-10 23:04  dan
9236         * test3.pasm:
9238         Register push/pop test
9240 2001-09-10 22:47  simon
9242         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9243         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9244         (Modified to avoid conflict with Dan's changes.)
9246 2001-09-10 22:45  dan
9248         * disassemble.pl:
9250         Happier about blanks in opcode_table
9252 2001-09-10 22:40  dan
9254         * interpreter.c, register.c:
9256         Yanked out debugging code, since these work OK. The bug I want is
9257         elsewhere.
9259 2001-09-10 22:30  simon
9261         * MANIFEST:
9262         Uhm. We want make_op_header.pl. We really, really do.
9264 2001-09-10 22:26  simon
9266         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9267         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9268         opcode_table, process_opfunc.pl:
9269         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9270         This means we can add lots more opcodes without fiddling about with
9271         the numbers. Hooray!
9273         Don't forget that "end" needs to be op zero, else the interpreter
9274         falls off the end of the code. This is Bad, and I wonder if there's
9275         a way around it.
9277 2001-09-10 19:49  simon
9279         * MANIFEST, make_op_table_build.pl:
9280         Hey! This doesn't do anything...
9282 2001-09-10 19:46  simon
9284         * Makefile:
9285         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9287 2001-09-10 18:31  simon
9289         * MANIFEST:
9290         You know what this means...
9292 2001-09-10 18:30  simon
9294         * assemble.pl:
9295         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9296         wait for a release...? :)
9298 2001-09-10 18:13  simon
9300         * interpreter.c:
9301         Bad Dan! No cookie!
9303 2001-09-10 17:56  simon
9305         * README:
9306         A *real* README file, which doesn't claim it isn't for public
9307         consumption.
9309 2001-09-10 17:02  simon
9311         * TODO:
9312         More things to do.
9314 2001-09-10 16:56  dan
9316         * TODO: Added in assembler gripe. Also added a few blank lines for
9317         clarity
9319 2001-09-10 16:49  dan
9321         * register.h, register.c: Renamed the core functions so the opcodes
9322         can find 'em OK. (There were some conflicts)
9324 2001-09-10 16:48  dan
9326         * basic_opcodes.ops, opcode_table: Added register window ops
9328 2001-09-10 11:07  simon
9330         * TODO:
9331         Trivial TODO list.
9333 2001-09-10 11:05  simon
9335         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9336         note "-s" flag to test prog.
9338 2001-09-10 11:01  simon
9340         * docs/strings.pod:
9341         New string documentation.
9343 2001-09-10 11:01  simon
9345         * basic_opcodes.ops, opcode_table:
9346         String ops.
9348 2001-09-10 10:53  simon
9350         * global_setup.c:
9351         More string fu.
9353 2001-09-10 10:51  simon
9355         * memory.h:
9356         Just some more aliases for now. Used by string handling stuff.
9358 2001-09-10 10:50  simon
9360         * assemble.pl, bytecode.c, bytecode.h:
9361         Temporary hack to store string constants in bytecode and recreate
9362         them at runtime.
9364 2001-09-10 10:48  simon
9366         * op.h:
9367         op.h is now generated by the Makefile; remove it.
9369 2001-09-10 10:47  simon
9371         * Makefile:
9372         clean and op.h Makefile targets.
9374 2001-09-10 10:45  simon
9376         * string.c, string.h, strnative.c:
9377         More string vtable stuff.
9379 2001-09-07 21:07  dan
9381         * assemble.pl:
9383         Much less picky about whitespace in the opcode_table now. (Doesn't
9384         whine on blank lines)
9386 2001-09-07 16:23  dan
9388         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9389         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9390         this takes) Added global_setup.h to declare init_world function
9392         Moved variable declarations out of the interpreter loop for small
9393         speed boost.
9395         Changed end opcode to now be opcode #0. A function is provided for
9396         it, but isn't ever executed.
9398         When the interpreter sees an opcode 0 in the stream it means the
9399         end of stream. Things were coring on Cygwin otherwise. (I think I
9400         was dereferencing a zero, which is bad)
9402 2001-09-06 22:07  dan
9404         * basic_opcodes.ops, process_opfunc.pl:
9406         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9407         are minor changes now that things are in a fixed state.
9409 2001-09-06 16:13  dan
9411         * basic_opcodes.c, test_opcodes.c:
9412         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9414         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9415         should be nuked. So it is. :)
9417 2001-09-06 03:35  dan
9419         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9420         Scripts to build the header file that holds the function table
9421         creation code, as well as the script to turn an opcode file to C
9422         source. (And the basic opcode functions turned into an opcode
9423         source file)
9425 2001-09-06 03:31  dan
9427         * Makefile, interpreter.c:
9428         Changes to support the autogeneration of the opcode function
9429         pointer table in interpreter.c, along with the changes to the
9430         Makefile needed.
9432 2001-09-05 13:27  simon
9434         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9435         docs/parrotbyte.pod, docs/vtables.pod:
9436         Added stubs for the documents; working on them this week. (What's
9437         left of it.) config.h change is just to type VTABLE, and the
9438         bytecode thing you might want to revoke. It's apidoc for the
9439         functions in there.
9441 2001-09-03 18:26  simon
9443         * docs/strings.pod:
9444         A start on the string API documentation.
9446 2001-09-03 17:43  simon
9448         * opcode_table:
9449         Since we specify the opcode number, we can rearrange to a more
9450         human-friendly ordering.
9452 2001-09-03 17:42  simon
9454         * basic_opcodes.c:
9455         Coupl'a logic bugs. (I think)
9457 2001-09-03 17:41  simon
9459         * string.c, string.h, strnative.c:
9460         Tidying up the string vtables.
9462 2001-09-03 17:38  simon
9464         * make_op_header.pl:
9465         Spit out the whole of op.h, not just the bit in the middle.
9467 2001-08-29 13:16  ask
9469         * README: it seems like we indeed can commit. What about sending
9470         commit mails?
9472 2001-08-29 13:07  simon
9474         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9475         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9476         global_setup.c, interpreter.c, interpreter.h, io.h,
9477         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9478         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9479         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9480         test.pbc, test_main.c, test_opcodes.c:
9481         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9482          I'm still working on the string stuff, though.
9484 2001-08-29 12:44  ask
9486         * README: update README with list address
9488 2001-08-29 12:36  ask
9490         * README: first readme.