[t][TT #1610] Add tests for Parrot_compile_string
[parrot.git] / ChangeLog
blobba835a1bbf3bb0d5ae7662daf283933abc67b6ac
1 #1 $Id$
3 2010.04.20     Gerd
4         * Released 2.3.0
5         See NEWS for more.
7 2010.03.16     cotto
8         * Released 2.2.0
9         See NEWS for more.
11 2010.02.16     darbelo
12         * Released 2.1.0
13         See NEWS for more.
15 2010.01.19     chromatic
16         * Released 2.0.0
17         See NEWS for more.
19 2009.12.15     Gerd
20         * Released 1.9.0
21         See NEWS for more.
23 2009.11.17     barney
24         * Released 1.8.0
25         See NEWS for more.
27 2009.10.20     dukeleto
28         * Released 1.7.0
29         See NEWS for more.
31 2009.9.15     particle
32         * Released 1.6.0
33         See NEWS for more.
35 2009.8.18     Whiteknight
36         * Released 1.5.0
37         See NEWS for more.
39 2009.7.21     cotto
40         * Released 1.4.0
41         See NEWS for more.
43 2009.06.16    Whiteknight
44         * Released 1.3.0
45         See NEWS for more.
47 2009.05.19    Infinoid
48         * Released 1.2.0
49         See NEWS for more.
51 2009.04.21    fperrad
52         * Released 1.1.0
53         See NEWS for more.
55 2009.03.17    allison
56         * Released 1.0.0
57         See NEWS for more.
59 2009.02.17    kjs
60         * Released 0.9.1
61         See NEWS for more.
63 2009.01.20    chromatic
64         * Released 0.9.0
65         See NEWS for more.
67 2008.12.16    Whiteknight
68         * Released 0.8.2
69         See NEWS for more.
71 2008.11.18    chromatic
72         * Released 0.8.1
73         See NEWS for more.
75 2008.10.21    particle
76         * Released 0.8.0
77         See NEWS for more.
79 2008.09.16    pmichaud
80         * Released 0.7.1
81         See NEWS for more.
83 2008.08.19    rgrjr
84         * Released 0.7.0
85         See NEWS for more.
87 2008.07.15    barney
88         * Released 0.6.4
89         See NEWS for more.
91 2008.06.17    smash
92         * Released 0.6.3
93         See NEWS for more.
95 2008.05.20    chromatic
96         * Released 0.6.2
97         See NEWS for more.
99 2008.04.15    particle
100         * Released 0.6.1
101         See NEWS for more.
103 2008.03.18    bernhard
104         * Released 0.6.0
105         See NEWS for more.
107 2008.02.20    pmichaud
108         * Released 0.5.3
109         See NEWS for more.
111 2008.01.15    rgrjr
112         * Released 0.5.2
113         See NEWS for more.
115 2007.12.18    jonathan
116         * Released 0.5.1
117         See NEWS for more.
119 2007.11.20    chromatic
120         * Released 0.5.0
121         See NEWS for more.
123 2007.10.17    coke
124         * Released 0.4.17
125         See NEWS for more.
127 2007.09.18    particle
128         * Released 0.4.16
129         See NEWS for more.
131 2007.08.22    pmichaud
132         * Released 0.4.15
133         See NEWS for more.
135 2007.07.17    particle
136         * Released 0.4.14
137         See NEWS for more.
139 2007.06.19    allison
140         * Released 0.4.13
141         See NEWS for more.
143 2007.05.15    chromatic
144         * Released 0.4.12
145         See NEWS for more.
147 2007.04.17    mdiep
148         * Released 0.4.11
149         See NEWS for more.
151 2007.03.20    coke
152         * Released 0.4.10
153         See NEWS for more.
155 2007.3.10     coke
156         * removed parakeet
158 2007.02.22    pmichaud
159         * Released 0.4.9
160         See NEWS for more.
162 2007.01.17    chromatic
163         * changed 'name' method on namespaces to 'get_name' per pdd21
165 2007.01.16    particle
166         * Released 0.4.8
167         See NEWS for more.
169 2006.12.12    particle
170         * added C<isnull> opcode
172 2006.11.14    chip
173         * Released 0.4.7
174         See NEWS for more.
176 2006.11.07      tewk
177         * added :init pragma functionality to subs
179 2006.10.28      jonathan
180         * added :vtable pragma functionality to subs
182 2006.09.18    chromatic
183         * added Parrot::Embed under ext/Parrot-Embed
185 2006.08.18    leo
186         * remove the None PMC - if needed it can trivially be reimplemented
187           in languages from r14189
189 2006.08.16    creiss
190         Merged Software Transactional Memory branch into trunk, adds:
191         * several new opcodes whose names start with stm_
192         * read-only PMC support
193         * several new PMC types (whose names start with STM*)
194         * support for threads (again)
196 2006.08.08    chip
197         * Released 0.4.6
198         See NEWS for more.
200 2006.08.02    chip
201         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
202         there are opcodes now that want the real "in PMC".
203         * namespace and global opcodes now accept name arrays again, as
204         well as keys; the corresponding namespace PMC methods are gone.
206 2006.07.21    leo
207         * Parrot_exit, Parrot_on_exit take now an Interp * argument
209 2006.07.25    chip
210         * add experimental op find_type_i_p
211         * fix longstanding bug that sometimes didn't encode pasm keys as
212         Key PMCs (specifically "[S0]" and "['stringliteral']").
214 2006.07.24    chip
215         further implementation of new pdd21:
216         * new opcodes {get,set}*global
217           (old {find,store}*global will be supported for a short while)
219 2006.07.20    audreyt
220         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
221           (or some such --leo)
222           (at the moment code is checking for 2.0 -- ambs)
224 2006.07.17    chip
225         partial implementation of new pdd21:
226         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
227         * get_namespace and find_global opcodes no longer accept arrays
228           of strings.  To use arrays, call namespace object methods.
230 2006.06.19    leo
231         * Released 0.4.5
232         See NEWS for more.
234 2006.06.03    leo
235         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
237 2006.05.14    leo
238         * Released 0.4.4
239         See NEWS for more.
241 2006.04.30    bernhard
242         * Make the Perl PMCs dynamic and move them to src/dynpmc
244 2006.04.02    leo
245         * Released 0.4.3
246         See NEWS for more.
248 2006.03.06    leo
249         * Shifted argument type bits left by 2 according to r11754
250           change of docs/pdds/pdd03_calling_conventions.pod
251         * if you are creating PASM then code needs adjustment
253 2006.02.22    leo
254         * Released 0.4.2
255         See NEWS for more.
257 2006.01.16    bernhard
258          * rename src/dynclasses to src/dynpmc
259          * rename src/classes to src/pmc
261 2006.01.15    leo
263          * find_global and friends returns a .Null PMC instead of .Undef on
264           lookup failure, iff lookup exceptions are off
266 2006.01.08    leo
267         * Released 0.4.1
268         See NEWS for more.
270 2005.12.28    particle
271         * renamed all .imc files to .pir
272         * modified all doc references to .pir as well
274 2005.12.13    particle
275         * moved jit/ directory to src/jit/
277 2005.12.12    particle
278         * moved io/ directory to src/io/
279         * moved classes/ directory to src/classes/
280         * moved dynclasses/ directory to src/dynclasses/
282 2005.12.08    particle
283         * moved types/ directory to src/types/
284         * moved pf/ directory to src/packfile/
285         * moved ops/ directory to src/ops/
287 2005.12.08    particle
288         * moved charset/ directory to src/charset/
289         * moved encodings/ directory to src/encodings/
291 2005.12.07    particle
292         * moved imcc/ directory to compilers/imcc/
294 2005.12.06    particle
295         * moved util/ directory to tools/util/
296         * removed imcc/examples/ directory
297         * moved ast/ directory to compilers/ast/
299 2005.12.05    particle
300         * moved imcc/docs/ directory to docs/imcc/
301         * moved build_tools/ directory to tools/build/
302         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
304 2005.12.04    leo
305         * Released 0.4.0
306         * See NEWS for changes
308 2005.11.06    leo
309         * Released 0.3.1
310         * See NEWS for changes
312 2005.10.01    leo
313         * Released 0.3.0
314         * See NEWS for changes
316 2005.08.05    leo
317         * Released 0.2.3
318         * See NEWS for changes
320 2005.07.03    leo
321         * Released 0.2.2
322         * See NEWS for changes
324 2005.06.04    leo
325         * Released 0.2.1
326         * allow short names for object attributes
327         * string encoding and charset can now be set independently
328         * experimental mmap IO layer for slurping files
329         * enable compile opcode support for compilers written in PASM/PIR
330         * improved HLL support with .HLL and n_operators pragmas
331         * simplified hash code
332         * more strength reduce optimizations
333         * distinct debug and trace flag settings
334         * glob support in PGE
335         * new character classification opcodes and interfaces
336         * numerous bug fixes and enhancements
338 2005-05-08    leo
339         * Released 0.2.0
340         * parrot repository is now under subversion
341         * MMD (Multi Method Dispatch) enhanced
342         * new unary and infix opcodes that return new result PMCs
343         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
344         * more unification of PMCs and ParrotObjects
345         * tailcalls for functions and methods
346         * PGE (Parrot Grammar Engine) reworked
347         * Pugs creates Parrot code and Pugs is a registered compiler now
348         * new languages/lisp
349         * the usual bug fixes and improvements
351 2005-03-06    leo
352         * Released 0.1.2
353         * big rewrite of string code, not yet finished but ...
354         * partial implementation of a generational garbage collector
355         * indirect register frame addressing
356         * .return(args) PIR syntax
357         * moved most of the Python code to dynclasses
358         * a lot more Python functionality
359         * precalculate opcodes with all constants
360         * PGE - Parrot Grammar Engine
361         * scalar classes refactoring
362         * much more tests and big test system cleanup
363         * improved documentation
364         * and as always a lot more
366 2004-10-09    leo
367         * Released 0.1.1
368         * Need Perl 5.6 now for building
369         * Basic AST support, PAST file parser, bits of code generation
370         * BigInt PMC using GMP
371         * Complex PMC
372         * Dynamic loading improved including bundles of PMC classes
373         * Experimental support for "make install"
374         * IA64 and hppa JIT support
375         * ICU unicode support
376         * IO layer handling code
377         * IO readline and buffered IO fixes
378         * Incremental GC
379         * Internal pythonic functions: filter, map, reduce, max, min ...
380         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
381         * Library updates, Stream and SDL library
382         * MMD - multi method dispatch for binary vtable methods
383         * Many new array PMCs
384         * Method call syntax in PIR obj."meth"(...)
385         * More OS stuff: stat, exec, system, gmtime, piped read and write
386         * New Python PMCs like Enumerate, None
387         * Non-branching compare opcodes
388         * PIR support for += and friends
389         * Python language subdir
390         * Python types mapped to existing PMCs
391         * Slices and range support
392         * Tons of bug fixes, documentation updates, new tests
393         * Win32 COFF exec support
394         * ... and a lot more
396 2004-02-29    leo
397         * Released 0.1.0
398         * "Ladies and gentlemen, I give you... objects!"
399         * Huge documentation overhaul
400         * More supported platforms, s. PLATFORMS
401         * Basic thread support for pthread based architectures
402         * Basic event handling for timers and signals including:
403         * PASM callbacks for NCI (native C) functions.
404         * Improved platform configuration
405         * COW stacks now working, stacks code redone
406         * Structure handling vastly improved
407         * Random PMC and rand primitives
408         * Better subroutine call syntax in PIR
409         * Make PIR subroutines compliant with pdd03
410         * Improved profiling (DOD, GC timings)
411         * Hash code improvements, incl. random key order support
412         * Experimental freeze/thaw code for some PMC types
413         * IO improvements for buffered layer and Win32
414         * String iterators
415         * String bitwise vtables
416         * Many new opcodes
417         * Support for JIT, where malloced memory isn't executable
418         * Priority DOD scheme for objects that need timely destruction
419         * Improved bytecode loading (e.g. onLoad functions)
420         * Language updates: forth, Perl6/P6C, m4
421         * Libraries: Getopt_Long, SDL, Dumper, Sort
422         * new JAPH examples
423         * Unified imcc and parrot test handling
424         * Many new tests (make test reports 1386 tests)
425         * Numerous bug fixes
428 2003-10-31    leo
429         * Released 0.0.13
430         * Yep thirteen - haunted by the ghost of 0.0.12
431         * Build imcc as parrot
432         * Objects more finished
433         * Delegate vtable methods to byte code
434         * Binary multi-method dispatching
435         * Isa and does methods for PMCs
436         * Call byte code from C
437         * Start of extension interface
438         * Experimental struct handling
439         * Catch access to NULL PMCs
440         * Experimental network socket interface code and opcodes
441         * IO fixes and improvements
442         * Dynamic opcode libraries
443         * Fix-assigned opcode numbers
444         * Argument flattening for function calls
445         * More native call interface (NCI) signatures
446         * Ncurses, postgres, and pcre interface libraries
447         * Forth language is vastly improved
448         * BSD and Win32 build improvements
449         * Many new tests and fixes
451 2003-10-22    melvin
452         * imcc moved from parrot/languages/ to parrot/
454 2003-09-20    sfink
456         * updated the native_pbc test files (from Leo)
457         * built 0.0.11.1 release tarball
459 2003-09-20    sfink
461         * CHANGES BUNDLED INTO 0.0.11:
462         * Executable output
463         * Dynamic PMC registration
464         * Trial exception system
465         * Beginnings of object system
466         * Iterators
467         * Ordered hashes
468         * I/O system improvements
469         * References
470         * Documentation for basic PMC types
471         * IMCC support of Parrot Calling Conventions
472         * Runtime loading of chartypes (and other string improvements)
473         * Conditional breakpoints
474         * Dramatically accelerated sweeps for finalizable objects
475         * Small PMCs (PMCs split into core and extensions)
476         * Loadable bytecode packfiles
477         * Constant PMCs
478         * Sub variants that deal with the stack correctly
479         * Switched runops core
480         * Line numbers in warnings
481         * Environment access
482         * Many documentation cleanups
483         * Conversion to CPS style!
484         * BASIC debugger and many other wacky features
485         * Filename, line number parsing support in IMCC
487 2003-07-21 17:31 chromatic
488         * applied copyright patch from Josh Wilmes
490 2003-06-14 13:50 dan
491         * Moved the registers out of the context structure, since they
492           really aren't context
493         * Changed the register stack frames to hold only 16 registers
494           rather than 32, added half-set push and pop ops, and reworked
495           the full set push/pops to do two half-set push/pops. Should
496           speed up saving register data on calls, since we usually only
497           care about the top half of the registers anyway.
498         * Started committing some of the new class/object framework
499         * Remembered to finally start updating the Changelog
501 2003-03-18 03:50  ask
503         * Various files
504           Update Yet Another copyright statements to reflect the (no longer
505           so) shiny new year.
507 2003-03-11 22:06  chip
509         * Configure.pl: print help on non-option command line args
511 2002-12-18 20:38  sfink: changes since 0.0.8
513         - Allow suppression of cgoto core to save memory during compile
514         * Native function calling interface
515         * Major rewrite of stack and list aggregates
516         - Scalar PMC added
517         * Scratchpads implemented
518         - Win32 libraries
519         - Internal memory subsystem documentation
520         * Preliminary DotGNU support
521         - Packfile fingerprinting
522         * Buffer/PMC unification (into PObjs)
523         * stabs debugging information support
524         * Major Jako overhaul, including:
525           - imcc integration
526           - native function calling
527         - Perl6 string interpolation
528         - languages/regex now targets IMCC
529         * Optional Lea memory allocator
530         * Full sprintf implementation
531         * Many, many new tests
532         * Miniparrot
533         - exchange ops
534         - runtime-controllable gc debugging
535         * PMC properties
536         - Crash info
537         * JIT: various improvements
538           - register usage tracking
539           - block register allocation
540           - optimizations
541           - more jitted ops
542           - restartable
543           - architecture abstraction layer
544           - debugging via GDB
545         * Beginning support for extensible packfiles
546         * Much better key support, generally
547         * splice()
548         * Restructured PMC hierarchy with better functionality inheritance
549         * IMCC: many, many improvements. See imcc/ChangeLog
550         * Perl6: index map grep join reverse defined
551         * Scheme with functions!
554 2002-03-19 22:54  nicholas
556         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
558          We can now get usage information for test_parrot without having to
559          grep the source.
561 2002-03-19 22:53  simon
563         * Configure.pl:
564         Parrot is called parrot.
566 2002-03-19 22:53  nicholas
568         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
570          1. There are tests in t/pmc as well as t/op now.
571          2. Adds a comment about Parrot::Test
573 2002-03-19 18:09  dan
575         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
576         messes up automated builds
578         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
580 2002-03-19 00:33  mrjoltcola
582         * core.ops: Doc cleanup from Simon Glover.
584 2002-03-18 23:52  mrjoltcola
586         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
588 2002-03-18 22:09  dan
590         * include/parrot/resources.h: Checked in old version
592 2002-03-18 20:17  dan
594         * include/parrot/resources.h: Forgot a prototype
596 2002-03-18 20:15  dan
598         * resources.c: D'oh! Thinko, fixed.
600         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
602 2002-03-18 17:33  josh
604         * Configure.pl: Lowering the bar a bit.
606 2002-03-18 17:33  sfink
608         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
609         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
610         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
611         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
612         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
613         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
614         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
615         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
616         t/example.t: Whoops, wrong time to check this in.
618 2002-03-18 16:42  dan
620         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
621         least we consider the PMC and Buffer free pools worth collecting,
622         and initialize the Buffer pool stuff.  Still not 100% correct,
623         though.
625 2002-03-18 15:35  simon
627         * packfile.c:
628         Fix format arg bug.
630 2002-03-18 07:45  brentdax
632         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
633         system.
635 2002-03-18 00:09  sfink
637         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
638         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
639         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
640         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
641         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
642         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
643         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
644         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
645         t/example.t: Buggy 1st version of regex compiler implementation.
646         Warning: the test code depends on features of the assembler that do
647         not yet exist.
649 2002-03-17 21:35  ajgough
651         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
652         through addition and subtraction.  Also added the ability to run
653         all the tests, including the ones which deal with overflow and
654         underflow.  These fail, but that's expected.  Soon they'll pass.
655         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
656         passsssssssings tesssstsssss.
658 2002-03-17 20:06  ajgough
660         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
661         check_(under|over)flow to test bignumbers, rather than values.
662         context now carries E_limit, from which max and min exp are found.
664         Added a default-context-creating function (although this isn't the
665         same as either of the default contexts defined in the eda).
667 2002-03-17 13:31  ajgough
669         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
670         exported version matches prototypes of other public functions.
672 2002-03-17 06:44  josh
674         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
675         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
676         last-minute re-indenting.
678 2002-03-17 05:07  mrjoltcola
680         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
682 2002-03-16 23:17  nicholas
684         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
685         remove warnings:
687          default.pmc: In function `Parrot_default_get_integer_keyed':
688          default.pmc:50: warning: control reaches end of non-void function
689          default.pmc: In function `Parrot_default_get_number_keyed':
690          default.pmc:58: warning: control reaches end of non-void function
691          default.pmc: In function `Parrot_default_get_string_keyed':
692          default.pmc:67: warning: control reaches end of non-void function
693          default.pmc: In function `Parrot_default_get_pmc_keyed':
694          default.pmc:87: warning: control reaches end of non-void function
696 2002-03-16 18:50  ajgough
698         * types/: bignum.c, bignum.h: Lots of prototypes changed in
699         readiness for nicely telling your caller about any oddness you've
700         caused in the persuit of flow.
702 2002-03-16 17:38  dan
704         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
705         include/parrot/interpreter.h, include/parrot/resources.h: Now we
706         can control the GC and DOD, to stop it when we don't really want
707         it.
709 2002-03-16 16:58  dan
711         * resources.c, vtable.tbl, classes/default.pmc,
712         include/parrot/resources.h: Added the last code to let PMCs control
713         their marking at DOD time
715 2002-03-16 16:57  ajgough
717         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
718         feel a little more virtuous now.  Really I do.  You might not
719         believe me, but you should.  perl -pne 's/\t/        /g', if you're
720         curious.
722 2002-03-16 16:57  josh
724         * packfile.c, packout.c: M-x untabify is my new friend.
726 2002-03-16 16:50  josh
728         * trace.c, resources.c: Minor whitespace tweak for the benefit of
729         check_source_standards.pl
731 2002-03-16 16:50  ajgough
733         * types/: bignum.c, bignum.h: More documentation, separate
734         functions into public and private sorts, some initial stuff to cope
735         with over and underflow correctly.
737 2002-03-16 16:49  josh
739         * resources.c: Re-indented (sorry bout the big diff)
741 2002-03-16 16:47  bdwheele
743         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
744         assemble again, both with Simon's new assembler and with the old
745         one.
747 2002-03-16 16:33  mrjoltcola
749         * io/TODO: Get the TODO up-to-date for 0.0.4.
751 2002-03-16 16:11  josh
753         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
754         silly people (such as me) running Configure with
755         /usr/local/bin/perl (which is 5.004_05) and not realising their
756         mistake until the pmc subdirectory, where the first qr// is
757         encountered.
759         Syntax error messages don't tell you what you did wrong. This does:
761         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
762         only version 5.00405, stopped at Configure.pl line 10.
764 2002-03-16 14:38  ajgough
766         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
767         with commenting.
769 2002-03-16 11:45  simon
771         * MANIFEST, examples/assembly/xml_parser.pasm:
772         Added Clint Pierce's XML parser.
774 2002-03-15 22:24  simon
776         * packout.c:
777         Don't need that function.
779 2002-03-15 21:56  simon
781         * Makefile.in, include/parrot/packfile.h:
782         Rebuild packout.o, since it'll be used for the Packfile XS module
784 2002-03-15 19:45  dan
786         * include/parrot/: memory.h, pmc.h: Another add-in for GC
788 2002-03-14 19:48  dan
790         * core.ops: No string to int for some reason
792 2002-03-14 18:45  dan
794         * string.c, t/op/string.t: Fix 0-length substr problem
796 2002-03-14 14:46  dan
798         * core.ops, interpreter.c, resources.c, classes/array.pmc,
799         classes/perlarray.pmc, examples/assembly/life.pasm,
800         include/parrot/interpreter.h, include/parrot/resources.h: Added in
801         a counter for copied memory, with a display in life.pasm
803 2002-03-14 03:16  mrjoltcola
805         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
807 2002-03-13 23:43  simon
809         * packfile.c:
810         Oops.
812 2002-03-13 23:43  simon
814         * packfile.c:
815         Hangs head in shame.
817 2002-03-13 21:31  simon
819         * MANIFEST:
820         FAQ moved.
822 2002-03-13 18:06  simon
824         * string.c:
826         Fix string_compare screw-up.
828 2002-03-13 18:02  brentdax
830         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
831         and add a new question/answer pair.
833 2002-03-12 22:53  mrjoltcola
835         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
837 2002-03-12 22:48  mrjoltcola
839         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
840         warranty provided.
842 2002-03-12 22:29  ajgough
844         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
846 2002-03-12 22:24  ajgough
848         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
849         version 1.1, Don't know if this is the correct number, but I don't
850         want this stuck on my harddrive where it will get lost, so 14 it is
851         :)
853 2002-03-12 11:35  simon
855         * MANIFEST, packdump.c, packout.c:
857         Just so the functionality doesn't disappear.
859 2002-03-12 11:33  simon
861         * Makefile.in, chartype.c, encoding.c, packfile.c,
862         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
863         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
864         include/parrot/chartype.h, include/parrot/encoding.h,
865         include/parrot/packfile.h:
867         Packfile axing.
869 2002-03-11 23:06  nicholas
871         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
873           Core.ops documentation nits
875 2002-03-11 23:05  nicholas
877         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
879           Most of the PerlUndef tests in pmc.t appear to have been added
880         twice.
881           Enclosed patch removes the duplicates.
883 2002-03-10 23:40  nicholas
885         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
887          More tests for the PerlString test-suite.
889 2002-03-10 23:40  nicholas
891         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
893         test for sleep with negative argument
895 2002-03-10 21:58  nicholas
897         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
899          Enclosed patch fixes up a few more holes in our test coverage.
901 2002-03-10 21:18  mrjoltcola
903         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
904         classes/parrotpointer.pmc, classes/perlarray.pmc,
905         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
906         classes/perlstring.pmc, classes/perlundef.pmc,
907         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
908         argument to the init() vtable method so PMCs have the option to
909         know how to size themselves at creation. size could be N elements
910         or a byte count, depending on the PMC or it may simply be ignored.
911         Overloaded 'new' opcode for optional arg.
913 2002-03-10 21:15  mrjoltcola
915         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
916         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
917         class).
919         Also added small hack for .sub directive (which simply translates
920         to a label, however we might eventually want to collect these to
921         validate bsr calls.
923 2002-03-10 15:09  ajgough
925         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
926         Added round_floor and round_ceiling.  3403 tests pass, none fail.
928 2002-03-10 03:56  ajgough
930         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
931         divide, divide integer and remainder.  All filled in functions now
932         have special values capability.
934         Much remains to be done though, and the pdd needs to catch up.
936 2002-03-10 01:36  ajgough
938         * types/bignum.c: Added extended stuff to _add, _subtract.
940 2002-03-10 00:14  nicholas
942         * t/op/: integer.t, number.t: Patch from Simon Glover
943         <scog@roe.ac.uk>:
945          The enclosed patch fixes a few of the holes in our test coverage
946          uncovered by Josh Wilmes
948 2002-03-09 23:03  ajgough
950         * types/: bignum.c, bignum.h: Modified compare to work with
951         extended values.  Made a couple of changes here and there to allow
952         BN_comp to take a context, so that an is_zero check doesn't clobber
953         negative zeros.
955 2002-03-09 22:19  ajgough
957         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
958         Unary plus now copes with special values.
960 2002-03-09 04:25  ajgough
962         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
963         traps and flags are now enabled and tested for all the standard
964         tests for all the functions which are currently implemented.  Test
965         harness faffed with to allow these to be tested.
967 2002-03-09 02:29  josh
969         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
970         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
971         Re-indented
973 2002-03-09 02:22  josh
975         * config_h.in: tab-blastin'
977 2002-03-09 02:21  josh
979         * check_source_standards.pl: Play nicer with M-x compile- don't
980         bother giving line numbers for things you don't want to look at.
982 2002-03-09 02:10  josh
984         * examples/mops/mops.c: re-indented
986 2002-03-09 02:07  josh
988         * classes/pmc2c.pl: Use the usual header so that we can detect the
989         autogeneratedness.
991 2002-03-09 02:05  josh
993         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
994         compiler warning
996 2002-03-09 01:59  josh
998         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
999         patch- re-indent io/*.c.
1001 2002-03-09 01:52  ajgough
1003         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
1004         special values to the string conversion functions, some other
1005         functions now need context (to let -0 pass through really_zero)
1006         which have also been added.
1008 2002-03-09 01:47  josh
1010         * test_main.c: Re-indented.
1012 2002-03-09 01:41  josh
1014         * rx.c: killed a stray tab
1016 2002-03-09 01:38  josh
1018         * rx.c: Re-indented.
1020 2002-03-09 01:36  josh
1022         * misc.c: Oops, some tabs remained- cleaned up.
1024 2002-03-09 01:31  josh
1026         * misc.c: Re-indented (major patch, sorry)
1028 2002-03-09 00:59  josh
1030         * embed.c: Re-indented.
1032 2002-03-08 23:08  simon
1034         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1035         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1036         docs/pdds/pdd13_bytecode.pod:
1037         Placeholder PDDs.
1039 2002-03-08 21:12  ajgough
1041         * include/parrot/string.h: Added private flags to string.h, mostly
1042         so that other GCed stuff can also have its very own private flags.
1044 2002-03-08 19:53  simon
1046         * MANIFEST:
1047         Great PDD Renaming
1049 2002-03-08 19:41  robert
1051         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1052         pdd6.pod, pdd7.pod: Renamed...
1054 2002-03-08 18:51  simon
1056         * MANIFEST, docs/pdds/pdd08_keys.pod:
1057         Add keys PDD.
1059 2002-03-08 18:20  ajgough
1061         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1062         Introduced exception handlers and exception flags to context, will
1063         allow support of extended standard.  Unified exception checking
1064         mechanism (sort of) and made minimal changes to bulk of code to use
1065         this.  Tests pass, I'm happy, and further changes will happen more
1066         gradually.
1068 2002-03-08 04:38  josh
1070         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1071         tweaks.
1073 2002-03-08 04:37  josh
1075         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1077 2002-03-08 04:24  josh
1079         * embed.c: A bit more re-indenting
1081 2002-03-08 04:20  josh
1083         * embed.c: Indenting fixes
1085 2002-03-08 04:14  josh
1087         * jit.c: Re-indented (run_indent.pl)
1089 2002-03-08 03:36  josh
1091         * ops2c.pl: Fix the line numbers which get reported while compiling
1092         core_ops*.c
1094 2002-03-08 03:22  josh
1096         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1097         The variable "type" is set but never used.
1099               opcode_t type;
1101 2002-03-08 03:04  josh
1103         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1104         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1105         noticed by the sgi compiler.
1107 2002-03-08 03:02  josh
1109         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1110         misc.c, Line = 417   The indicated type qualifier is meaningless on
1111         cast type.
1114         (const char) 'f');
1115                                                                          ^
1117 2002-03-08 02:55  josh
1119         * Makefile.in: Clean up one of the object files it was missing
1121 2002-03-08 01:15  josh
1123         * include/parrot/interpreter.h: Fixes the following error (tcc):
1124         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1125         comma at end of list.
1127 2002-03-06 22:15  simon
1129         * stacks.c:
1130         Tidy up stack chunk allocation.
1132 2002-03-06 21:00  simon
1134         * interpreter.c:
1135         Create strings only once we've got string register heads set up.
1137 2002-03-06 20:31  simon
1139         * classes/perlarray.pmc:
1140         malloc(0) considered harmful.
1142 2002-03-06 20:24  simon
1144         * include/parrot/resources.h:
1145         I like it when Parrot compiles.
1147 2002-03-06 17:02  dan
1149         * classes/array.pmc: Changed over to data pointing to a Buffer.
1151 2002-03-06 15:45  dan
1153         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1154         packfile.c, pbc2c.pl, pdump.c, resources.c,
1155         include/parrot/interpreter.h, include/parrot/memory.h,
1156         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1157         and opcode_t > longs will now be even more suspect than what they
1158         were beforehand.  2) Feel free to bicker with names.  I don't think
1159         we've come to *any* sort of agreement with these, although we
1160         really, really, need to.  3) I forget the third thing.  4) But I
1161         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1162         ANSI C states that enums will fit within the smallest type (int or
1163         greater) that can hold the values. Is that actually correct, and
1164         does it state whether unsigned is preferred to signed for
1165         non-negative enums? 6) Since I'm no longer constrained by "three"
1166         or "quick", I'm going size_t happy for a lot of memory-related
1167         storage.  (That's good.  No sense wasting the size or performance
1168         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1169         a couple other internal things (like the GC stat counters, seen
1170         here).  Size and performance, again, and unpromotable to a bigint,
1171         so we know that we (theoretically) will wrap.  However, size_t
1172         isn't the best choice for the type.  (Not that there's anything
1173         wrong with size_t, just that it shouldn't be called size_t.)  Any
1174         thoughts?  I was thinking of just doing unsigned int, because,
1175         IIRC, int is usually the natural word size, and will be most
1176         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1177         of was while writing down the others.  Sorry.
1179         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1181 2002-03-06 15:26  dan
1183         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1184         include/parrot/resources.h: Now we allocate generic Buffers from
1185         arenas too
1187 2002-03-05 21:42  brentdax
1189         * Configure.pl: Minor cleanup and enhancements.
1191 2002-03-05 21:25  dan
1193         * resources.c: non-special GC now works with PMCs
1195 2002-03-05 19:48  brentdax
1197         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1198         Parrot now "knows" if it's a development version or a release
1199         version.  See the instructions in the DEVELOPING file.
1201 2002-03-05 18:05  brentdax
1203         * MANIFEST: pasm.vim wasn't in the manifest.
1205 2002-03-05 17:57  simon
1207         * Makefile.in:
1208         Now, through much evilness, make distclean and make cvsclean work
1209         again.
1211 2002-03-05 17:38  dan
1213         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1214         include/parrot/interpreter.h, include/parrot/pmc.h,
1215         include/parrot/resources.h: PMC tracing complete
1217 2002-03-05 16:28  gregor
1219         * languages/jako/Makefile.in:
1220         Changed -I ../../ to -I ../../lib when calling the assembler, since
1221         the perl modules have moved.
1223 2002-03-05 05:30  josh
1225         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1226         string.c: More re-indenting via run_indent.pl.
1228 2002-03-05 05:17  josh
1230         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1231         run_indent.pl)
1233 2002-03-05 04:26  josh
1235         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1236         using run_indent.pl and some minor tweaking.
1238 2002-03-05 04:21  josh
1240         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1241         interpreter.c: Re-indented using run_indent.pl and some minor
1242         tweaking.
1244 2002-03-05 03:30  josh
1246         * include/parrot/trace.h: These functions are no longer used (or
1247         even implemented)
1249 2002-03-04 18:21  josh
1251         * include/parrot/trace.h: Fix a typo in the argument type.
1253         Patch from <daniel.ritz@gmx.ch>
1255 2002-03-04 03:39  josh
1257         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1258         header to jit_struct.h so we don't try to check it for conformance.
1259          (no way will it conform)
1261 2002-03-04 03:38  josh
1263         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1264         unicode.h, warnings.h: Remove some remaining tabs and split some of
1265         the remaining long lines.
1267 2002-03-04 03:17  josh
1269         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1270         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1271         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1272         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1273         string_funcs.h, trace.h, warnings.h: This is the first batch of
1274         re-indenting.   This patch is the result of running run_indent.pl
1275         on the header files and manually tweaking the results where errors
1276         were noticed.   This should get us closed, but some refinement may
1277         follow.
1279 2002-03-04 03:06  josh
1281         * resources.c: Return without parens, as mentioned in PDD 7
1283 2002-03-04 03:01  josh
1285         * core.ops: POD fixes.
1287 2002-03-04 02:58  josh
1289         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1290         on autogenerated files- used by the check_source_standards.pl
1291         script (for now) to exempt autogenerated files from the checks.
1293 2002-03-04 02:51  josh
1295         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1296         warnings.c: Added the editor "boilerplate" footer to a few files
1297         which were missing it.
1299 2002-03-04 02:34  josh
1301         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1302         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1303         c preprocessor directive indentation to comply with pdd 7.
1305         (also fixes the check for this indentation in
1306         check_source_standards.pl)
1308 2002-03-04 02:32  josh
1310         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1311         irix.
1313         perl t/harness t/op/basic..........Use of uninitialized value at
1314         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1315         line 6) #          got: undef #     expected: ''
1317 2002-03-04 02:30  josh
1319         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1320         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1321         "indent" program to enforce some of the code style standards
1322         outlined in PDD 7.
1324         Usage: ./run_indent.pl <file>
1326 2002-03-03 19:04  simon
1328         * examples/mops/mops.c:
1329         Let's make it compile, huh?
1331 2002-03-03 19:04  simon
1333         * examples/mops/mops.cs:
1334         I R AN IDIOT
1336 2002-03-03 18:11  simon
1338         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1339         Added C# and MS-IL versions of mops tester.
1341 2002-03-03 14:52  simon
1343         * core.ops:
1344         Add a sub() op to make mops_p work.
1346 2002-03-02 18:12  nicholas
1348         * examples/mops/mops.c, include/parrot/embed.h,
1349         include/parrot/interp_guts.h, include/parrot/jit.h,
1350         include/parrot/misc.h, include/parrot/packfile.h,
1351         include/parrot/rx.h, include/parrot/warnings.h,
1352         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1353         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1354         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1355         indent variables correctly.
1357 2002-03-02 17:41  nicholas
1359         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1360         patch to fix a compiler warning.
1362 2002-03-01 22:35  dan
1364         * memory.c, resources.c, include/parrot/pmc.h,
1365         include/parrot/resources.h: PMCs now come out of arenas.
1367 2002-03-01 06:15  dan
1369         * string.c:
1370         A non-existing buffer + a non-existing buffer should be a
1371         non-existing buffer, not "", which is really '\0'.
1373         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1375 2002-03-01 06:02  dan
1377         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1379         TMTOWTDI, but strcmp is probably the worse.
1381         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1383 2002-03-01 02:32  brentdax
1385         * embed.c: Debug mode now prints out the GC data.
1387 2002-02-28 23:44  dan
1389         * core.ops, resources.c, include/parrot/resources.h: Added collect
1390         and sweep opcodes
1392 2002-02-28 22:58  dan
1394         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1395         opcode
1397 2002-02-28 22:50  dan
1399         * core.ops, interpreter.c, resources.c,
1400         examples/assembly/life.pasm, include/parrot/interpreter.h,
1401         include/parrot/resources.h: Add some stat gathering to the resource
1402         allocation code.
1404         Also add an interpreter info retrieval op, and teach it about the
1405         different things it can retrieve.
1407         Finally, add some stat info to life.pasm as an example
1409 2002-02-28 21:27  dan
1411         * editor/pasm.vim: VIM mode commands for parrot assembly files
1413         Courtesy of Scott Beck <scott@gossamer-threads.com>
1415 2002-02-28 19:20  dan
1417         * examples/assembly/life.pasm: Fix a creeping string length leak.
1419         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1421 2002-02-28 18:26  dan
1423         * string.c: When you clone a constant, it ain't constant no mo'.
1425         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1427 2002-02-28 00:51  dan
1429         * MANIFEST: Add missing files
1431         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1433 2002-02-28 00:49  dan
1435         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1436         CVS seems to have several chunks missing out of it, too.  This
1437         patch is simply an administrative patch, with the differences
1438         between my last version, and the one currently in there.  There
1439         will be a forthcoming patch for some minor tweaking to the PDD, but
1440         I wanted a common baseline before I make any (potential) semantic
1441         changes.
1443         There's only one semi-major change, which noone needs to worry
1444         about just yet.  That's a change from PDD Format 1 to PDD Format
1445         6.0 - rationale can be found under 'Standard (Version #)' of the
1446         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1447         should be 6.0.0, and we need to discuss Perl versus Parrot with
1448         PDDs.
1450         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1452 2002-02-28 00:27  dan
1454         * packfile.c, resources.c, examples/assembly/life.pasm,
1455         include/parrot/register.h, include/parrot/resources.h,
1456         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1457         no PMCs yet)
1459         This patch now implements a real copying collector. We trace from
1460         our root set and compact the contents of Buffer structs.
1462         Todo:
1464         *) It's very STRING-centric and doesn't handle memory stuffed in
1465         Buffers.  But, then, we don't have pool allocation for Buffers
1466         either, and we need to have that soonish for this to work.
1468         *) Doesn't trace PMCs, so if you trigger a collection and there's
1469         memory or STRING structs only accessible from PMCs, you'll fail
1470         horribly. That needs fixing too
1472         *) Better algorithms for when to trace or collect vs when to just
1473         go allocate more memory from the system. Should probably be more
1474         cache friendly too.
1476 2002-02-27 21:04  dan
1478         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1479         examples/assembly/life.pasm, include/parrot/resources.h,
1480         include/parrot/string.h, include/parrot/string_funcs.h,
1481         jit/i386/core.jit: Start of GC in
1483 2002-02-26 16:41  dan
1485         * jit/i386/string.jit: Fix a typo
1487         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1489 2002-02-26 16:37  dan
1491         * interpreter.c: Fix solaris test failures
1493         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1495 2002-02-26 16:36  dan
1497         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1498         unicode.h, warnings.h: Fixes various warts in header files, such
1499         as: * macros   -added parens to prevent problems with operator
1500         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1501         is no longer used * added some more INLINE definitions for MSVC and
1502         C99 compilers
1504         Courtesy of Brian Lee Ray <blray@ualr.edu>
1506 2002-02-26 16:20  dan
1508         * Configure.pl: Turns out we were using a warning flag which
1509         doesn't exist on 2.7.  Simple tweak though:
1511         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1513 2002-02-25 22:58  dan
1515         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1517 2002-02-25 17:36  dan
1519         * include/parrot/pmc.h: Fix the bits
1521 2002-02-23 21:57  dan
1523         * include/parrot/resources.h: Another 1.5% never hurts
1525 2002-02-23 21:44  dan
1527         * global_setup.c, memory.c, resources.c, string.c,
1528         include/parrot/resources.h: Allocate STRING headers from an arena
1529         with freelist rather than with the system malloc. First step in a
1530         good (or even a bad) GC system.
1532 2002-02-23 20:37  brentdax
1534         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1536 2002-02-22 14:59  ajgough
1538         * types/bignum.c: BN_multiply split into BN_multiply and
1539         BN_imultiply, the internal version to be used by idivide so that
1540         rounding isn't performed during intermediate stages of division.
1542         following test scripts now all pass: divide divideint add multiply
1543         subtract remainder compare rounding plus minus (these are all the
1544         operations currently implemented, rescale and power must still be
1545         written, so don't pass right now).
1547 2002-02-22 13:13  ajgough
1549         * types/bignum_atest.pl: Test harness modified to understand
1550         comments better, and be able to run unary (and rounding) tests.
1551         Currently a few rounding tests fail, which are being investigated.
1553 2002-02-22 01:41  dan
1555         * key.c: Although there's more work being done on the key stuff and
1556         this isn't the final fix, applying this patch does get parrot to
1557         build with two more compilers, so it's probably worthwhile.
1559         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1561 2002-02-22 00:53  dan
1563         * config_h.in, misc.c, include/parrot/embed.h,
1564         include/parrot/exceptions.h, include/parrot/interpreter.h,
1565         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1566         include/parrot/resources.h, include/parrot/rx.h,
1567         include/parrot/string.h, include/parrot/unicode.h,
1568         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1569         io/io_win32.c: Fixes the following (lcc) warnings:
1571           - interpreter.c:470: warning: expression with no effect elided
1572                (related to the way warnings flags were defined)
1574           - misc.c:352: warning: unreachable code
1575             misc.c:483: warning: unreachable code
1576                (i introduced these with some overzealous de-linting)
1578           - numerous warnings like this:
1579             io/io_unix.c:383: warning: conversion from pointer to void' to
1580         pointer to
1581             pointer to struct _ParrotIO function(pointer to struct
1582         Parrot_Interp,pointer
1583             to struct _ParrotIOLayer,pointer to const char,pointer to const
1584         char,pointer
1585             to pointer to void)' is compiler dependent
1587         Fixes the following nits:    - remove bad indenting (tabs) in the
1588         includes
1590         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1592 2002-02-21 21:12  ajgough
1594         * types/: bignum.c, bignum.h: These might look like massive
1595         changes, but really it's just he imposition of coding standards.
1596         The file still isn't entirely compliant, but is now much more so.
1598         Also changed:
1600          o a few more comments
1601          o BN_compare uses internal BN_comp to compare
1602          o lost_digits behaviour is now correct (test harness modified to
1603         test
1604            this).
1606         All binary functions now pass all the tests in the basic standard.
1607         Unary functions not yet tested, will be soon.
1609 2002-02-21 18:20  dan
1611         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1612         was no longer needed, and the ssize_t thing really shouldn't be
1613         needed either.
1615         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1617 2002-02-21 18:15  dan
1619         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1620         include/parrot/parrot.h: this patch adds support for the freely
1621         available borland c++ 5.5.1 compiler
1623         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1624         working borland compiler (compiler must know where to find headers
1625         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1626         cc='cl.exe' - a working make utility (borland make doesn't work,
1627         nmake does)
1629         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1630         hints/mswin32.pl - remove a space from Configure.pl (very very
1631         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1632         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1633         (win32 knows it, linux not)
1635         and the why: - parrot is MUCH faster when compiled with borland c
1636         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1637         seconds
1639         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1641 2002-02-21 18:09  dan
1643         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1644         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1645         cuddled elses, as required by PDD 7.
1647         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1649 2002-02-21 18:04  dan
1651         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1652         a new Makefile target called "check_source".  This target scans all
1653         the .c and .h files in the directory and checks for conformance to
1654         a number of the standards outlined in PDD 7.
1656         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1658 2002-02-21 16:38  ajgough
1660         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1661         allow arithmetic with numbers with a fixed fractional part, buffer
1662         structures now more ready to be integrated into the parrot memory
1663         allocation game, test harness modified to allow lost_digits
1664         condition to be checked.  Some more comments.
1666 2002-02-21 15:53  simon
1668         * io/io_unix.c:
1669         Fix typo
1671         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1673 2002-02-20 16:41  dan
1675         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1677 2002-02-18 18:25  dan
1679         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1681         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1683 2002-02-18 18:21  dan
1685         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1686         CPrederef.pm to make to generated code compile with the MS
1687         compiler.
1689         fixes: - ms compiler allows inline only for c++, for c there's
1690         __inline - ms header files knows nothing about ssize_t
1692         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1694 2002-02-18 17:49  dan
1696         * MANIFEST: Add the PDDs
1698 2002-02-18 17:47  dan
1700         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1701         coding standards PDD.
1703 2002-02-18 17:40  dan
1705         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1707 2002-02-18 12:41  gregor
1709         * test_main.c:
1710         Remove warning about exit() not being declared.
1712 2002-02-18 08:29  simon
1714         * misc.c, warnings.c, include/parrot/misc.h,
1715         include/parrot/warnings.h:
1716         This patch adds some missing const's to silence a number of gcc
1717         warnings.
1719         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1721 2002-02-18 08:26  simon
1723         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1724         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1725         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1726         include/parrot/parrot.h, include/parrot/rx.h,
1727         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1728         lib/Parrot/OpTrans/CPrederef.pm:
1729            - add makefile target and script to test for external libc
1730         dependencies
1731            - fix return values in hash and array PMCs (returning 0 in a
1732         void func)
1733            - remove unnecessary data pointer <=> function pointer
1734         conversions
1735              outside of the JIT code.
1736            - move the definition of the "INLINE" macro out of the rx header
1737         and make
1738              available for general use on C++ compilers and gcc.
1739            - remove a few unused variables
1741         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1743 2002-02-17 16:29  simon
1745         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1746         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1747         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1748         We're organised and responsible. Honest.
1750 2002-02-17 02:46  sfink
1752         * Makefile.in: Remove $^ for nmake compatibility.
1754 2002-02-16 09:20  brentdax
1756         * config_h.in, test_main.c, include/parrot/chartype.h,
1757         include/parrot/embed.h, include/parrot/encoding.h,
1758         include/parrot/string.h, include/parrot/string_funcs.h: Better
1759         embedding exposure and hiding, part 1.
1761 2002-02-16 04:38  dan
1763         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1764         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1765         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1766         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1767         typecasts in various places throughout the code. It probably won't
1768         work for Windows yet. The libparrot.a target might need to be
1769         modified to at least prevent it from confusing make on Windows; I
1770         don't know.
1772         Preliminary instructions for using pbc2c.pl are in
1773         docs/running.pod.  I'll try to do better later.
1775         Courtesy of Steve Fink <steve@fink.com>
1777 2002-02-16 04:15  dan
1779         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1781         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1783 2002-02-16 00:03  simon
1785         * classes/: perlarray.pmc, perlhash.pmc:
1787         pmc is already defined!
1789 2002-02-15 23:20  brentdax
1791         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1792         include/parrot/exceptions.h: Far more informative panic messages.
1794 2002-02-15 03:24  dan
1796         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1797         much more extensive patch that fixes it to work properly, and
1798         deletes a bazillion casts as well.  It also points to the question
1799         "can we make the byte_code be an opcode_t* already?"
1801         Oh, and it makes some of the formatting prettier, so it's gotta be
1802         good.
1804         Courtesy of * Steve Fink <steve@fink.com>
1806 2002-02-15 02:30  dan
1808         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1809         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1810         of the things it finds.  Attaching the patch as well as the current
1811         lint output.
1813         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1815 2002-02-15 01:59  dan
1817         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1818         moment.
1820 2002-02-15 01:48  dan
1822         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1824 2002-02-15 01:40  dan
1826         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1827         things
1829 2002-02-14 23:30  dan
1831         * resources.c: Added comment for buffer tag routine. D'oh!
1833 2002-02-14 23:28  dan
1835         * resources.c, include/parrot/resources.h: Added buffer mark
1836         routine for GC
1838 2002-02-14 23:17  dan
1840         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1841         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1842         Rejigged memory system a bit. Now should be ready for the horror
1843         that is garbage collection.
1845 2002-02-14 19:33  gregor
1847         * ops2c.pl, include/parrot/oplib.h:
1848         Added code to automatically generate a function within an oplib to
1849         lookup opinfos given the op name. This will come in handy in future
1850         when we want to twiddle opcode tables at run time and possibly at
1851         startup time.
1853 2002-02-14 19:25  gregor
1855         * examples/assembly/queens.pasm:
1856         Regenerated queens.pasm from queens.jako since the clone_* stuff
1857         went away.
1859 2002-02-14 17:12  dan
1861         * resources.c, include/parrot/resources.h: Finished up the
1862         interface for memory and tracked interpreter thingies.
1864 2002-02-14 16:53  dan
1866         * memory.c, include/parrot/memory.h: intercept free and realloc
1868 2002-02-14 05:53  dan
1870         * interpreter.c, runops_cores.c: The type changes in struct
1871         Packfile break the pointer math used in a few places to calculate
1872         the address of the end of the loaded byte code. This causes
1873         segfaults in build_asm in jit.c when using -j. It also breaks the
1874         bounds checking on opcode address in runops_slow_core.
1876         The patch adds the necessary cast to correct the code_end
1877         calculations.
1879         Courtesy of Jason Gloudon <perl@gloudon.com>
1881 2002-02-14 01:01  ajgough
1883         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1884         BigInt operations (I think), tests for normal operation continue to
1885         pass.  Also a shed load of comments.
1887 2002-02-13 01:34  ajgough
1889         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1890         is a (mostly) working bignumber library.  There remains much work
1891         to do though, some functions are not yet implemented and headers
1892         need to find their way to the correct place RSN.  Also support for
1893         bigints and a sensible error reporting mechanism are needed.
1895 2002-02-12 18:51  dan
1897         * misc.c: Fix some warnings
1899 2002-02-12 17:10  dan
1901         * misc.c: Run through indent -kr -nce so I can read it
1903 2002-02-12 16:49  dan
1905         * misc.c: Need standard header/footer comments
1907 2002-02-11 20:32  simon
1909         * classes/array.pmc:
1910         get and set pmc methods.
1912 2002-02-11 20:19  simon
1914         * classes/array.pmc:
1915         Maybe the keys aren't integer...
1917 2002-02-11 20:03  simon
1919         * core.ops, vtable.tbl, classes/default.pmc:
1920         {g,s}et_pmc_keyed
1922 2002-02-11 19:07  simon
1924         * vtable.tbl, classes/default.pmc:
1925         Add set_pmc. Usee with caution.
1927 2002-02-11 18:20  dan
1929         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1930         compile
1932 2002-02-11 17:59  simon
1934         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1935         classes/perlarray.pmc, classes/perlhash.pmc:
1936         Make it compile.
1938 2002-02-11 17:57  simon
1940         * packfile.c, include/parrot/packfile.h:
1941         Reduce warnings
1943         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1945 2002-02-11 17:55  dan
1947         * docs/parrot_assembly.pod: Document some key ops
1949 2002-02-11 09:20  brentdax
1951         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1952         disgustingly easy.
1954 2002-02-11 00:34  simon
1956         * core.ops, include/parrot/exceptions.h:
1957         This is what keyed set ops look like. Remember, however, that for
1958         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1959         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1960         obviously ambiguous that you ought to use the 4-arg version
1961         instead.
1963 2002-02-10 23:12  jgoff
1965         * classes/: array.pmc, perlarray.pmc: Properly allocate
1966         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1967         isn't tested yet, but should be fairly straightforward.  PerlHash
1968         needs to be finished before the system will compile again, and that
1969         should be done in the next few days.
1971 2002-02-09 04:46  jgoff
1973         * classes/: array.pmc, default.pmc, intqueue.pmc,
1974         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1975         Added basic _keyed member functions.  Unfortunately this still
1976         doesn't fix the problems that are causing the build to break. It's
1977         a start though. I'm not implementing the PMC add functions just
1978         yet.
1980 2002-02-08 15:59  simon
1982         * classes/array.pmc:
1983         Some more work on getting the array stuff up to date.
1985 2002-02-08 12:23  simon
1987         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1988         lib/Parrot/Vtable.pm:
1989         Got array->get_integer_keyed doing what I think it ought to. One
1990         down, all the rest to go.
1992 2002-02-08 11:47  simon
1994         * vtable.tbl:
1995         Although I didn't intend it to be quite that broken...
1997 2002-02-08 11:42  simon
1999         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
2000         Completely break Parrot, but at least we get the key stuff right
2001         for now.
2003 2002-02-08 06:25  dan
2005         * hints/darwin.pl: Silences the warning about passing in
2006         -flat_namespace to the compile.  That's a link-only flag.
2008 2002-02-08 04:52  jgoff
2010         * classes/: array.pmc, default.pmc, intqueue.pmc,
2011         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
2012         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
2013         return values in *.pmc, added some missing casts to the repeat_foo
2014         members, and deleted the _index members from the perlscalar
2015         classes.  Basic cleanup, and getting ready for _keyed functions.
2017 2002-02-07 04:49  mrjoltcola
2019         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2020         added a nested subroutine call.
2022 2002-02-07 04:32  jgoff
2024         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2025         changes in order to give the whitespace rules a little workout, and
2026         do a little bit more testing. No actual structural changes were
2027         made.  lib/Parrot/Vtable.pm got an interface change, and more
2028         importantly should be ready to support the new '_keyed' attribute,
2029         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2030         src_value' followed by 'KEY* src_key'.  This will be how the new
2031         _keyed operators will function, and those should be written within
2032         a few days.
2034 2002-02-06 18:00  doughera
2036         * misc.c: Change C++-style comments to C comments (again).  Remove
2037         unused perl5 code that was in #if 0/#endif.
2039 2002-02-06 17:59  doughera
2041         * warnings.c: Add trailing newline.
2043 2002-02-06 04:14  mrjoltcola
2045         * include/parrot/io.h, io/io.c: Minor cleanup.
2047 2002-02-06 03:11  mrjoltcola
2049         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2050         couple of loose end in win32 IO stuff. Open behaves now but needs
2051         more work.
2053 2002-02-05 21:02  brentdax
2055         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2056         which showed up in Purify builds.
2058 2002-02-05 17:15  simon
2060         * misc.c:
2061         Warning fixes.
2063         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2065 2002-02-05 17:08  doughera
2067         * misc.c: Avoid C++-style comments.
2069 2002-02-05 17:07  doughera
2071         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2072         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2073         thanks to Jason Gloudon <perl@gloudon.com>.
2075 2002-02-05 14:04  simon
2077         * misc.c:
2078         Make the problem different, perhaps even better.
2080 2002-02-05 13:49  simon
2082         * misc.c:
2083         Possibly fix a `short int' is promoted to `int' when passed through
2084         `...' scary error, possibly make things absolutely worse.
2086 2002-02-05 13:15  simon
2088         * Configure.pl:
2089         Placate Tru64.
2091 2002-02-05 13:12  simon
2093         * warnings.c:
2094         Not going to get far without this one...
2096 2002-02-05 11:41  simon
2098         * string.c:
2099         Don't barf when handed null pointers.
2101 2002-02-05 10:04  simon
2103         * misc.c, include/parrot/misc.h:
2104         Fix some trivial bugs in warnings code.
2106 2002-02-05 09:27  simon
2108         * misc.c:
2109         Oops, forgot this one; also added %P support.
2111 2002-02-05 09:20  simon
2113         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2114         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2115         include/parrot/interpreter.h, include/parrot/misc.h,
2116         include/parrot/parrot.h, include/parrot/warnings.h:
2117         Warnings support.
2119         Courtesy of: Brent Dax <brentdax@cpan.org>
2121 2002-02-05 05:41  jgoff
2123         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2124         format of vtable.tbl to get rid of the tab-dependence.  The format
2125         now looks roughly like this:
2127         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2128         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2129         assumed here, but note the C-like prototyping.  Also had to disable
2130         one test that depended upon 'concat_p_p_s', which isn't necessary
2131         anyway.
2133         Vtable.pm will change again when the type '_keyed' is added,
2134         because that requires remapping parameters slightly differently
2135         again.  Also, note that it assumes 'value' is the first parameter
2136         in the list. This assumption will go away at the same time.
2138 2002-02-04 16:57  ajgough
2140         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2141         functions.  Thanks to Simon Glover.
2143 2002-02-04 02:47  ajgough
2145         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2146         needed.  I suspect that the entire hints file isn't really needed,
2147         but there's no one to actually tell us this.
2149 2002-02-02 15:45  ask
2151         * docs/ParrotFAQ.htm: fix internal links
2153 2002-02-02 04:06  jgoff
2155         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2156         Moving the internal KEY structure from the cache.struct_val member,
2157         where it doesn't really belong, to the internal SELF->data member.
2158         This frees up the cache/type members for other usage.
2160         This is the first step in moving PMCs to the point where we can do
2161         multidimensional PMC handles. The next step is to change the
2162         assembler to accept the syntax of 'set P0["foo"],7'.
2164 2002-02-02 00:13  nicholas
2166         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2167         prototype Parrot_Array_class_init
2169 2002-02-02 00:13  nicholas
2171         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2172         time to sum_time to avoid warning on FreeBSD about tracking a
2173         global [No, this warning does not appear on Linux. Yes, it is real
2174         :-)]
2176 2002-02-01 23:02  nicholas
2178         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2179         Glover
2181 2002-02-01 20:20  nicholas
2183         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2185 2002-02-01 18:20  nicholas
2187         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2188         you
2190 2002-02-01 13:22  nicholas
2192         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2194 2002-02-01 12:19  simon
2196         * core.ops, t/op/ifunless.t, t/op/integer.t:
2197         Added "unless" op.
2199 2002-02-01 12:11  simon
2201         * lib/Parrot/Test.pm:
2202         Remove a warning.
2204 2002-02-01 01:38  nicholas
2206         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2207         and a manitest target to Makefile.in that lets one test the
2208         manifest.
2210 2002-02-01 00:03  dan
2212         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2213         PMC dynaloading
2215 2002-01-31 21:46  gregor
2217         * Configure.pl, Makefile.in, hints/mswin32.pl:
2218         A few more things are now configable, so we are closer to win32
2219         shared library builds. Not there yet, but closer.
2221 2002-01-31 21:00  dan
2223         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2224         include/parrot/pmc.h: First step in dynamically loading PMC classes
2226 2002-01-31 19:38  dan
2228         * Makefile.in: Dependencies in the Makefile are currently too broad
2229         brush.  I don't enjoy waiting for everything to recompile every
2230         time I try to tweak the jit. The only file that #includes
2231         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2232         should reflect this, and not cause a gratuitous recompile of
2233         everything.  There are probably other auto-generated header files
2234         that world+dog should not depend on.
2236         Courtesy of  Nicholas Clark <nick@unfortu.net>
2238 2002-01-31 19:03  gregor
2240         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2241         Added two new make targets:
2243           * testp: Like 'make test', but passes -P to t/harness, so you get
2244         to
2245             see how broken predereferencing is.
2247           * testj: Like 'make test', but passes -j to t/harness, so you get
2248         to
2249             see how broken JIT is.
2251         Now, anyone who wants to see how good all three ways of running are
2252         can do so, at the cost of about 3x the time.
2254 2002-01-31 17:09  brentdax
2256         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2258 2002-01-31 03:41  grunblatt
2260         * docs/jit.pod: Update jit.pod
2262 2002-01-31 03:20  grunblatt
2264         * jit/i386/core.jit: Hold this until we get an assemble tool,
2265         because of the different objdump problems.
2267 2002-01-31 03:13  grunblatt
2269         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2270         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2271         of: Jason Gloudon <perl@gloudon.com>
2273 2002-01-31 02:22  grunblatt
2275         * jit/i386/core.jit: Continue if the register is null
2277 2002-01-30 23:50  grunblatt
2279         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2280         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2281         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2282         specific file.
2284 2002-01-30 23:35  mrjoltcola
2286         * io/io_win32.c: Change implementation of isatty on win32,
2287         suggested by Hong Zhang.
2289 2002-01-30 23:19  sfink
2291         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2292         Op::may_jump boolean method.
2294         Replaced jit2h's hardcoded pattern match to decide what ops might
2295         change the control flow.
2297 2002-01-30 22:13  dan
2299         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2300         parrot to mostly-build with tcc.  It allows one to skip compiling
2301         the JIT stuff (by specifying --define jitcapable=0), and it
2302         introduces a test program which gives a friendlier error in this
2303         case for compilers which are as picky as tcc is about function
2304         pointer conversion.
2306         If anyone figures out the proper way to cast these function
2307         pointers this may not be necessary.
2309         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2311 2002-01-30 20:54  dan
2313         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2314         Here's an update to docs/running.pod to better reflect the current
2315         state (both the test_parrot and assemble.pl improvements, plus
2316         documentation of a few more things.) And also a speling fiks
2317         s/POST_MORTERM/POST_MORTEM/.
2319         I could also replace some "perl foo" calls with "./foo" if someone
2320         wanted to set the executable flag in CVS on assemble.pl,
2321         optimize.pl, etc.
2323         Courtesy of Steve Fink <steve@fink.com>
2325 2002-01-30 20:43  dan
2327         * core.ops: find_global doesn't work, so stub out the wrong code
2329 2002-01-30 19:08  dan
2331         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2332         that perldoc
2333          can read it and just tidies it up generally. It also adds
2334         documentation
2335          for the constantize_integer and constantize_number functions.
2337         Courtesy of Simon Glover <scog@roe.ac.uk>
2339 2002-01-30 18:02  dan
2341         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2342         classes/genclass.pl, classes/pmc2c.pl,
2343         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2344         distribution (including assemble.pl !)
2345          can no longer find the Parrot::* modules. Enclosed patch fixes
2346         (although
2347          it would be nice if there were an easier way to do this).
2349         Courtesy of  Simon Glover <scog@roe.ac.uk>
2351 2002-01-30 16:00  mrjoltcola
2353         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2354         types.
2356 2002-01-30 15:50  mrjoltcola
2358         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2360 2002-01-30 15:42  grunblatt
2362         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2363         files around
2365 2002-01-30 15:38  grunblatt
2367         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2368         the manifest,  and also puts it back into alphabetical order.
2370         Courtesy of: Simon Glover <scog@roe.ac.uk>
2372 2002-01-30 14:41  nicholas
2374         * embed.c: Patch from Simon Glover to clean up warnings where
2375         prototype is () not (void)
2377 2002-01-30 13:54  nicholas
2379         * include/parrot/embed.h, test_main.c: Add void as an explicit
2380         parameter in test_main.c's usage(), version(void) and embed.h's
2381         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2382         warning: function declaration isn't a prototype
2384 2002-01-30 12:08  simon
2386         * lib/Parrot/.cvsignore:
2387         Ignore generated Perl modules.
2389 2002-01-30 12:07  simon
2391         * t/harness:
2392         Run the PMC tests as well.
2394 2002-01-30 12:04  simon
2396         * MANIFEST:
2397         Fix MANIFEST after recent t/pmc rejig.
2399 2002-01-30 11:42  simon
2401         * lib/Parrot/Test.pm:
2402         Report non-zero exit codes.
2404         Courtesy of: Michael G Schwern <schwern@pobox.com>
2406 2002-01-30 11:39  simon
2408         * t/op/rx.t:
2409         Skip final test, TODO doesn't work yet.
2411 2002-01-30 09:54  brentdax
2413         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2414         predereferencing works.
2416 2002-01-30 09:38  brentdax
2418         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2419         subsystem.
2421 2002-01-30 09:37  brentdax
2423         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2425 2002-01-30 09:37  brentdax
2427         * config_h.in: Expose another flag for embedders.
2429 2002-01-30 05:07  jgoff
2431         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2432         location for Parrot/, and t/harness wasn't able to run the new
2433         op/pmc tests. Both problems fixed, so I think I'm going to declare
2434         the build suitable for public consumption.
2436 2002-01-30 04:34  robert
2438         * docs/Makefile.in: update for CVS movement
2440 2002-01-30 04:32  robert
2442         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2443         .in file, not the real Makefile)
2445 2002-01-30 04:20  robert
2447         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2448         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2449         related to moving files around
2451 2002-01-30 04:10  robert
2453         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2455 2002-01-30 04:07  robert
2457         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2459 2002-01-30 03:56  robert
2461         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2462         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2463         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2464         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2465         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2466         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2467         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2468         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2469         lib/Parrot/
2471 2002-01-30 03:46  robert
2473         * languages/miniperl/miniperlc: renamed to mpc
2475 2002-01-30 03:45  robert
2477         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2478         pmc_perlstring.t: Moved to t/op/pmc/
2480 2002-01-30 03:40  robert
2482         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2484 2002-01-30 03:14  jgoff
2486         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2487         Fixed some problems with PerlArray and added tests.  Previously,
2488         only integers could be accessed by negative indices.  After this
2489         change, all basic types can be accessed by negative indices, and
2490         they can also be set at negative indices.
2492 2002-01-29 22:13  brentdax
2494         * TODO: Just look at the stupid diff.
2496 2002-01-29 21:53  simon
2498         * TODO, docs/vtables.pod:
2499         New TODO, and tiny addition to vtables.pod
2501 2002-01-29 21:47  mrjoltcola
2503         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2505 2002-01-29 21:38  mrjoltcola
2507         * Makefile.in: Makefile.in tweak for io depend.
2509 2002-01-29 21:15  brentdax
2511         * embed.c: Fix a segfault and some profiling formatting nits.
2513 2002-01-29 20:54  brentdax
2515         * pmc.c: Oops.
2517 2002-01-29 20:50  brentdax
2519         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2520         segfaults.
2522 2002-01-29 20:17  mrjoltcola
2524         * interpreter.c, core.ops, io.ops: CVS missed this.
2526 2002-01-29 20:17  mrjoltcola
2528         * io/io.c: These should have gone in Sunday with the rest. CVS is
2529         out to get me.
2531 2002-01-29 18:39  brentdax
2533         * platforms/win32.h: Fix Win32 whoops.
2535 2002-01-29 18:29  brentdax
2537         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2539 2002-01-29 17:51  simon
2541         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2542         include/parrot/embed.h, include/parrot/parrot.h:
2543         Embedding support. Cool.
2545         Courtesy of: <brentdax@cpan.org>
2547 2002-01-29 15:40  grunblatt
2549         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2550         Gloudon <perl@gloudon.com>
2552 2002-01-29 14:42  simon
2554         * include/parrot/parrot.h:
2555         Platform stuff has to be included *after* system headers.
2557 2002-01-29 14:05  grunblatt
2559         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2560         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2561         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2562         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2563         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2565 2002-01-29 10:56  simon
2567         * platforms/generic.h:
2568         If we don't have a S_ISREG, produce something close to it.
2570 2002-01-29 06:01  dan
2572         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2574 2002-01-29 04:38  jgoff
2576         * classes/array.pmc: Forgot to remove some C++-isms from the
2577         get_{foo}_index routines.
2579 2002-01-29 04:26  jgoff
2581         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2582         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2583         t/pmc/array.t: Added array class that languages other than perl can
2584         use for a basis.  It has no features like preextension, and the
2585         array index starts at 0.
2587         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2588         and classes/Makefile.in - Added array.pmc to the makefile.
2589         (Assuming rules like .pmc.o are portable (or even possible) I might
2590         alter classes/Makefile.in to autobuild the appropriate files.
2592 2002-01-29 02:32  dan
2594         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2595         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2596         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2597         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2598             Update to Test::More 0.41 which adds Test::Builder
2600             Delete the vestigal Test::Utils
2602             Change Parrot::Test so it uses Test::Builder instead of Evil
2603         Wrappers
2604             around Test::More
2606             output_* now returns whether the test passes or fails
2608             Parrot::Test no longer exports Test::More's functions.  Instead
2609         they
2610             can simply be used together.  The few tests which used
2611         Test::More
2612             features (ie. skip) have 'use Test::More' added.
2614             I ditched the export_to_level() crutch.  Do we expect parrot to
2615         work on
2616             5.004?  (literally 5.004, not 5.004_04)
2618         Courtesy of Michael G Schwern <schwern@pobox.com>
2620 2002-01-28 21:04  dan
2622         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2623         pointer should actually be to
2624          parrot_assembly.pod, as the canonical documentation.
2626         Courtesy of Simon Glover <scog@roe.ac.uk>
2628 2002-01-28 20:21  dan
2630         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2631         clone[inps]
2633 2002-01-28 19:18  dan
2635         * core.ops, register.c: clone[insp] is dead
2637 2002-01-28 17:46  grunblatt
2639         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2640         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2642 2002-01-28 16:45  dan
2644         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2645         the requirement for fink at the moment.
2647 2002-01-28 15:59  simon
2649         * test_main.c:
2650         People might try and run a directory file, with spectacular
2651         results.  We don't want that. No.
2653 2002-01-28 14:58  doughera
2655         * core.ops: Avoid C++-style comments.
2657 2002-01-28 14:16  grunblatt
2659         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2660         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2661         work again.
2663 2002-01-28 13:47  doughera
2665         * include/parrot/register.h: Avoid C++-style comment.
2667 2002-01-28 06:03  dan
2669         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2670         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2671         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2672         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2673         include/parrot/parrot.h, include/parrot/regfuncs.h,
2674         include/parrot/register.h, include/parrot/register_funcs.h,
2675         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2676         are now stored in the interpreter structure itself, rather than
2677         just a pointer to the top of the register structure. Pushes and
2678         pops now involve memcpys, but register access has one fewer
2679         dereference.
2681         Fails four of the register stack tests, though, so not perfect.
2682         Needs fixing, but this is a good place to start.
2684 2002-01-28 04:40  mrjoltcola
2686         * test_main.c: cvs commit missed this. ??
2688 2002-01-28 04:27  mrjoltcola
2690         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2691         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2692         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2693         interpreter now (at least in theory).  IO handle array added.  Misc
2694         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2695         we don't conflict         with system libraries.  Still have broken
2696         stuff in win32 and stdio layer.
2698 2002-01-28 04:01  mrjoltcola
2700         * include/parrot/chartype.h: Typo in chartype.h include guard.
2702 2002-01-28 03:41  mrjoltcola
2704         * t/op/interp.t: Fix flag for interp so we don't get "info"
2705         messages which break tests.
2707 2002-01-28 01:54  dan
2709         * include/parrot/string.h: A few more buffer/string flags
2711 2002-01-27 11:33  nicholas
2713         * chartypes/unicode.c: Cast unsigned argument to int in call to
2714         isdigit to silence gcc warning.
2716 2002-01-26 23:18  grunblatt
2718         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2719         off that flag.
2721 2002-01-26 23:17  grunblatt
2723         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2724         jit/i386/core.jit: [no log message]
2726 2002-01-26 22:18  simon
2728         * jit/i386/core.jit:
2729         Jumping to 0x0 is a recipe for segfaults.
2731 2002-01-26 18:35  simon
2733         * t/harness:
2734         Allow user to select which tests to harness
2736         Courtesy of: Nicholas Clark <nick@unfortu.net>
2738 2002-01-26 17:20  grunblatt
2740         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2741         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2742         to make the jit work in linux again.
2744 2002-01-26 16:52  dan
2746         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2747         headers can't cope with this. Darwin-only
2749 2002-01-26 16:04  dan
2751         * include/parrot/parrot.h: Quick note to remind folks that this
2752         isn't the file they're looking for if they're writing extensions or
2753         embedding parrot.
2755         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2757 2002-01-26 00:41  mrjoltcola
2759         * MANIFEST: Oopsy.
2761 2002-01-26 00:37  mrjoltcola
2763         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2764         Turoff
2766 2002-01-25 01:31  grunblatt
2768         * jit/alpha/core.jit: There is no neg or fneg.
2770 2002-01-25 01:27  grunblatt
2772         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2773         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2774         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2775         t/op/number.t: Added Parrot_neg.  Erase t.s
2777 2002-01-24 23:26  dan
2779         * interpreter.c: Best make sure unused elements are NULL
2781 2002-01-24 23:24  dan
2783         * interpreter.c: Fix stupid thinko
2785 2002-01-24 18:37  doughera
2787         * Makefile.in: Add a few missing dollar signs in the lifetest
2788         section so that ${exe} and the like get properly interpolated.
2790 2002-01-24 18:15  mrjoltcola
2792         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2793         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2794         Simon Glover <scog@roe.ac.uk>
2796 2002-01-24 06:43  mrjoltcola
2798         * io/io_stdio.c: Oops.
2800 2002-01-24 06:34  mrjoltcola
2802         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2803         of work on the buffering layer.  Decided to use shared read/write
2804         buffer (as do most implementations) for now since its the simplest
2805         way to keep everything synced, (flush on seeks, flush read on
2806         writes, etc.)
2808 2002-01-24 03:38  mrjoltcola
2810         * test_main.c: Cleaned up option handling code a bit for main().
2812 2002-01-23 23:22  dan
2814         * interpreter.c, include/parrot/interpreter.h,
2815         include/parrot/resources.h: Now each interpreter gets its own hash
2816         for globals.
2818 2002-01-23 20:45  dan
2820         * Configure.pl: Fix a warning when there's no - in an architecture
2822 2002-01-22 23:57  grunblatt
2824         * docs/running.pod: [no log message]
2826 2002-01-22 20:29  doughera
2828         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2829         appears to be a generic problem (if sizeof(long double) >
2830         sizeof(double)), not an x86-specific one.
2832 2002-01-22 16:57  doughera
2834         * runops_cores.c: Change variable name from time to starttime to
2835         avoid gcc warning about variable name shadowing.
2837 2002-01-22 16:55  doughera
2839         * classes/pmc2c.pl: Include class_init prototype too.
2841 2002-01-22 16:01  doughera
2843         * MANIFEST: [no log message]
2845 2002-01-22 01:04  ajgough
2847         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2848         classes/parrotpointer.pmc, classes/perlarray.pmc,
2849         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2850         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2851         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2852         warnings from pmc files.  Message-ID:
2853         <20020121224719.GE1726@Bagpuss.unfortu.net>
2855 2002-01-22 00:53  ajgough
2857         * test_main.c: Clears up a couple of warnings in test_main.c.
2858         Thanks to Nick Clark.  Message-ID:
2859         <20020121190457.GB1726@Bagpuss.unfortu.net>
2861 2002-01-22 00:47  ajgough
2863         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2864         include/parrot/chartype.h: Cause all codepoints to be treated as
2865         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2866         Nick Clark, see also: Message-ID:
2867         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2869 2002-01-22 00:24  dan
2871         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2873         Appended patch cures these warnings:
2875         key.c: In function `debug_key': key.c:29: warning: int format,
2876         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2877         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2878         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2879         format, INTVAL arg (arg 4)
2881         Courtesy of Nicholas Clark <nick@unfortu.net>
2883 2002-01-21 12:41  mrjoltcola
2885         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2886         be clock skew.
2888 2002-01-21 06:37  mrjoltcola
2890         * io/io.c: Cleanup a warning
2892 2002-01-21 06:28  mrjoltcola
2894         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2895         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2896         ops. Various other IO twiddlings.
2898 2002-01-21 03:25  grunblatt
2900         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2901         Melvin Smith for the catch up.
2903 2002-01-20 23:13  sfink
2905         * stacks.c: Fixed logic errors, need tests
2907 2002-01-20 22:17  brentdax
2909         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2910         prepare for /i to work.
2912 2002-01-20 20:52  grunblatt
2914         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2915         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2916         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2917         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2918         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2919         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2920         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2921         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2922         jit/alpha/string.jit:
2923         - Added support for ALPHA, by now linux and bsd.
2925         - Reduced jit2h.pl execution time by precompiling the call to the
2926         unimplemented op.
2928         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2929         Parrot/Jit/${cpuarch}Generic.pm
2931         - Changed the way to detect quads to what is written in "man
2932         perlfunc".
2934 2002-01-20 17:23  brentdax
2936         * rx.ops: There's no such thing as rx_allocateinfo.
2938 2002-01-19 08:26  brentdax
2940         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2942 2002-01-19 07:12  mrjoltcola
2944         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2945         into io.ops, leave the STDIO wrappers        in core.ops until they
2946         disappear.  Added debug op for switching on VM debug flag
2948 2002-01-19 01:55  mrjoltcola
2950         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2951         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2953 2002-01-19 00:55  brentdax
2955         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2956         include/parrot/rxstacks.h: Add regex-specific stacks for
2957         efficiency.
2959 2002-01-18 23:58  dan
2961         * Configure.pl: I think the optimal fix here is simply to remove
2962         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2963         man pages say "There is no reason to use this option [-pedantic];
2964         it exists only to satisfy pedants."
2966         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2968 2002-01-18 23:23  dan
2970         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2971         docs/running.pod, which lists the various executables Parrot
2972         currently includes, examples of running them, and mentions of where
2973         they fail to work. It's more of a cry for help than a useful
2974         reference. :-) I've been having trouble recently when making
2975         changes in figuring out whether I broke anything, because any
2976         non-default way of running the system seems to be already broken. I
2977         can't tell what brokenness is expected and what isn't.
2979         Courtesy of  Steve Fink <steve@fink.com>
2981 2002-01-15 22:13  brentdax
2983         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2984         substring use and enhance performance.
2986 2002-01-15 21:03  ajgough
2988         * string.c: Fix problem with string_transcode, &dest not being
2989         updated if src was already in desired encoding.
2991 2002-01-15 16:54  brentdax
2993         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2994         warnings.  Leaves only one warning, at rx.ops line 409, that I
2995         can't manage to get rid of.
2997 2002-01-15 16:50  dan
2999         * pbc2c.pl: Pointer arithmetic not quite right in the generated
3000         code.  Also patches pbc2c.pl to work with rx.ops.
3002         Courtesy of Jason Gloudon <perl@gloudon.com>
3004 2002-01-15 16:15  dan
3006         * classes/Makefile.in: All the C files in classes/ weren't being
3007         compiled with an of the gcc warnings flags. With this patch they
3008         are, and there are an awful lot of warnings, more than I could hope
3009         to understand and clear up (within any sensible time period before
3010         submitting a rash of patches, by which time everyone else would
3011         have moved the code on)
3013         Courtesy of Nicholas Clark <nick@unfortu.net>
3015 2002-01-15 16:10  dan
3017         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
3018         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
3019         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3020         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3021         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3022         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3023         chartypes/usascii.c: This patch adds a few more macros for .ops
3024         files to use. In addition to the existing
3026          goto OFFSET(...)
3027          goto ADDRESS(...)
3028          goto POP()
3029          goto NEXT()
3031         it adds
3033          expr OFFSET(...)
3034          expr ADDRESS(...)
3035          expr POP()
3036          expr NEXT()
3038         This is intended mainly for use in helper functions in .ops files,
3039         but also for ops that need to eg push the address of the next
3040         opcode onto a stack. The only place this currently happens (outside
3041         of my private code) is in the bsr opcode, which previously
3042         hardcoded the computation.
3044         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3045         higher in the generated file so that it can be used by static
3046         functions in the preamble.
3048         Finally, I ran into a parentheses matching problem -- should goto
3049         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3050         \bgoto\s+OFFSET\((.*?)\)
3052         It was done inconsistently for the different calculations, and of
3053         course neither are correct because you really want matching
3054         parentheses. But that seems like too much bother. (Currently,
3055         there's only one place that uses anything other than $n in the
3056         parentheses, and that's the enternative() op.) So I made them all
3057         .*? but emulated recent POD by also allowing (( ... )) (that's two
3058         parenthesis with a space padding the body.)
3060         The generated core_ops.c and core_ops_prederef.c files after this
3061         patch are identical except for the CUR_OPCODE and REL_PC macros
3062         getting moved a little higher, and the bsr in the regular path (not
3063         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3065         In summary, this is a big wad of meaningless changes for the
3066         current code. But it will make adding some opcodes easier in the
3067         future, and cleans up a small nit in the current bsr.
3069         Courtesy of Steve Fink <steve@fink.com>
3071 2002-01-15 08:48  brentdax
3073         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3074         sort of).
3076 2002-01-15 08:45  brentdax
3078         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3080 2002-01-15 05:00  brentdax
3082         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3083         performance.
3085 2002-01-14 20:18  dan
3087         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3089         Courtesy of Nicholas Clark <nick@unfortu.net>
3091 2002-01-14 20:03  dan
3093         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3094         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3095         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3096         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3097         classes/parrotpointer.pmc, classes/perlarray.pmc,
3098         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3099         classes/perlstring.pmc, classes/perlundef.pmc,
3100         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3101         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3102         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3103         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3104         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3105         patch cleans up most of the MSVC-warnings when using warning level
3106         4 (the highest, one above the default level 3). It turns off two
3107         level-4 warnings for 'unreferenced formal parameter' and 'named
3108         type definition in parentheses', the latter of which was turning up
3109         warnings in MS VC headers.  Level 4 warnings also helped me find a
3110         couple of other lurking bugs in the parrot code.
3112         Replaces the various fprintf/exit combos with calls to
3113         internal_exception, which uses var_args to emulate printf. Various
3114         exception types were added as well. These are probably temporary
3115         until a real exception system arrives.
3117         Fixed some places in the IO code where wrong functions were being
3118         called, or put into the vtable.
3120         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3122 2002-01-14 19:00  dan
3124         * MANIFEST: D'oh! Forgot a file.
3126         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3128 2002-01-14 18:44  brentdax
3130         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3131         sense (and a few other enhancements to regexes).
3133 2002-01-14 07:07  brentdax
3135         * interpreter.c, runops_cores.c, test_main.c,
3136         include/parrot/interpreter.h: Make profiling a little more useful.
3138 2002-01-13 19:44  dan
3140         * Configure.pl: Turn off unsed things warnings for now
3142 2002-01-13 19:39  dan
3144         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3146         classes/perlarray.c:  * get_string: is casting
3147         SELF->cache.struct_val to a STRING*,    while all other methods are
3148         using it as a KEY*; don't know    what a perlarray stringifies to,
3149         so replacing with NULL  * get_bool: the default behaviour does not
3150         look right to me
3152         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3154 2002-01-13 19:37  dan
3156         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3157         flags to LDFLAGS, so that Configure.pl --debugging   works with
3158         MSVC
3160         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3161         pmc2c calls
3163         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3165 2002-01-13 19:36  dan
3167         * io/io_win32.c:   according to my MSVC docs, you should use
3168         _tcslen only after
3169           #including tchar.h
3171         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3173 2002-01-13 19:35  dan
3175         * docs/intro.pod: Doc tweak.
3177         Courtesy of Simon Glover <scog@roe.ac.uk>
3179 2002-01-13 19:34  dan
3181         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3182         that
3184           if Px, ...
3186          works with PerlString PMCs; these should be false if they are "",
3187         0, or
3188          are undefined, and true in every other case.
3190         Courtesy of Simon Glover <scog@roe.ac.uk>
3192 2002-01-13 19:23  dan
3194         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3195         NUMVAL_FMT to FLOATVAL_FMT.
3197         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3199 2002-01-13 17:45  jgoff
3201         * Makefile.in, global_setup.c, classes/Makefile.in,
3202         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3203         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3204         designing your own classes.
3206 2002-01-13 08:47  simon
3208         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3209         lib/Parrot/OpTrans/CPrederef.pm:
3210         Fix bsr in prederef mode.
3212         Courtesy of: Jason Gloudon <perl@gloudon.com>
3214 2002-01-12 15:33  dan
3216         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3217         string.c, encodings/singlebyte.c, encodings/utf32.c,
3218         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3219         Silence most of the unused variable warnings.
3221         Courtesy of Nicholas Clark <nick@unfortu.net>
3223 2002-01-12 15:18  dan
3225         * rx.ops: This patch fixes a warning and also changes an 'int' to
3226         an 'INTVAL'.  All tests should pass on Solaris.
3228         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3230 2002-01-12 15:13  dan
3232         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3233         examples/assembly/life.pasm, include/parrot/interpreter.h,
3234         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3235         io/io_win32.c: More IO work. (Plus some misc twiddles)
3237         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3239 2002-01-12 01:14  dan
3241         * include/parrot/string.h: fix a missing name
3243 2002-01-12 00:39  grunblatt
3245         * include/parrot/string.h: Few typos.
3247 2002-01-12 00:16  grunblatt
3249         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3250         that change the program control flow.
3252 2002-01-11 23:53  brentdax
3254         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3255         ParrotPointer's guts.
3257 2002-01-11 23:03  dan
3259         * include/parrot/string.h: flags for the buffers, for GC
3261 2002-01-11 22:31  dan
3263         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3265 2002-01-11 22:21  dan
3267         * include/parrot/pmc.h: Started with PMC flags
3269 2002-01-11 19:33  dan
3271         * config_h.in, memory.c, resources.c, string.c,
3272         include/parrot/resources.h: Beginnings of a memory allocation/gc
3273         system. Without the GC part.
3275 2002-01-11 18:05  dan
3277         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3278         systems
3280         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3282 2002-01-11 17:50  dan
3284         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3285         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3286         a patch that makes pbc2c generated code work with the bsr opcode.
3287         It creates a new opcode 'enternative', and uses this to support a
3288         mixed model of interpretation and execution of compiled C code.
3290         Courtesy of Jason Gloudon <perl@gloudon.com>
3292 2002-01-11 17:48  dan
3294         * Makefile.in: Add life as a potential .exe target
3296 2002-01-11 17:30  dan
3298         * include/parrot/resources.h: Start of arena stuff for GC
3300 2002-01-11 05:34  brentdax
3302         * rx.ops: Docs modifications.
3304 2002-01-11 04:19  brentdax
3306         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3307         regular expressions.
3309 2002-01-11 03:44  grunblatt
3311         * jit/i386/core.jit: off by one.
3313 2002-01-11 02:25  dan
3315         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3317         Courtesy of Steve Fink <steve@fink.com>
3319 2002-01-11 00:32  brentdax
3321         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3323 2002-01-10 23:22  ajgough
3325         * string.c, docs/strings.pod: Removed all the nul termination code,
3326         as this is in general a bad idea.  Note added to docs/strings.pod
3327         to warn people away from assuming termination.
3329 2002-01-10 23:14  dan
3331         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3332         testparrotsizes_c.in, include/parrot/interpreter.h,
3333         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3334         implementation
3336         Courtesy of Steve Fink <steve@fink.com>
3338 2002-01-10 22:48  dan
3340         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3341         sizeof(INTVAL)
3343         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3345 2002-01-10 22:46  dan
3347         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3348         t/pmc/perlhash.t:  Well, actually two bugs.
3350          The first is an off-by-one error in key.c than can cause parrot
3351          to segfault if hash % NUM_BUCKETS happens to be zero.
3353          The other is a bug in the PerlHash init() code that causes new
3354         PerlHash
3355          PMCs to start with the wrong size.
3357          Both fixed below; also tests to prevent them recurring.
3359         Courtesy of Simon Glover <scog@roe.ac.uk>
3361 2002-01-10 22:30  dan
3363         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3364         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3365         with a PerlArray,
3367         Courtesy of Simon Glover <scog@roe.ac.uk>
3369 2002-01-10 21:31  dan
3371         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3373 2002-01-10 20:30  grunblatt
3375         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3376         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3377         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3378         All the op codes that doesn't change the program control flow now
3379         work in the JIT by calling the code generated by the compiler when
3380         the op is not in core.jit TODO:     * Make all the ops that change
3381         the program control flow (and are not on core.jit) work.      *
3382         Remove the dispatch payload.
3384 2002-01-10 17:13  dan
3386         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3387         which tries to return 0 from a void function.
3389         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3391 2002-01-10 17:12  dan
3393         * t/op/macro.t: Skip tests, don't comment them out.
3395         Courtesy of Simon Glover <scog@roe.ac.uk>
3397 2002-01-10 17:10  dan
3399         * rx.c: This fixes a couple of nits in rx.c:
3401            1. There's no newline at the end, which makes gcc unhappy.
3402            2. We should use NULL, not 0 or "", for creating null pointers.
3404         Courtesy of Simon Glover <scog@roe.ac.uk>
3406 2002-01-10 17:09  dan
3408         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3409         back in
3410          alphabetical order.
3412         Courtesy of Simon Glover <scog@roe.ac.uk>
3414 2002-01-10 16:54  ajgough
3416         * resources.c: Made free_string check that there was a string to
3417         free.  In reponse to a bug spotted by Joshua Nye.
3419 2002-01-09 22:44  dan
3421         * global_setup.c: Forgot the setup
3423 2002-01-09 22:35  dan
3425         * rx.ops: Forgot this one
3427 2002-01-09 22:35  dan
3429         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3430         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3431         Tests don't work, though.
3433         Courtesy of "Brent Dax" <brentdax@cpan.org>
3435 2002-01-09 21:48  dan
3437         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3439 2002-01-09 21:22  dan
3441         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3442         Generic pointer holder class
3444         Courtesy of "Brent Dax" <brentdax@cpan.org>
3446 2002-01-09 21:19  dan
3448         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3449         patches.
3451 2002-01-09 19:54  dan
3453         * io/io_unix.c: Whoops. Forgot one
3455 2002-01-09 19:43  dan
3457         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3458         t/pmc/perlhash.t: Fix hash crash bugs
3460         Courtesy of Simon Glover <scog@roe.ac.uk>
3462 2002-01-09 19:13  dan
3464         * memory.c: Signedness whoops.
3466         Courtesy of Simon Glover <scog@roe.ac.uk>
3468 2002-01-09 18:23  dan
3470         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3471         io/io_stdio.c, io/io_win32.c: Changes:
3473         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3474         will be using the   Win32 API and company rather than the unix-ish
3475         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3476         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3477         stuff is   there. Soon we should be able to start using these
3478         rather than   fprintf(stderr, ...) and remove stdio linkage.
3480         Courtesy of <mrjoltcola@mindspring.com>
3482 2002-01-09 17:26  dan
3484         * test_main.c: Fixes bad code gen on x86.
3486         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3488 2002-01-09 17:24  dan
3490         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3491         classes/perlnum.pmc: This patch adds macros to the config.h file
3492         for INTVAL and NUMVAL printf formats.
3494         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3496 2002-01-08 22:55  ajgough
3498         * docs/vtables.pod: Clarify what get_string should do.
3500 2002-01-08 20:05  dan
3502         * key.c: Keep comments in sync.
3504         Courtesy of Simon Glover <scog@roe.ac.uk>
3506 2002-01-08 19:50  dan
3508         * memory.c, include/parrot/memory.h: Need a realloc
3510 2002-01-08 17:24  gregor
3512         * .cvsignore, Configure.pl, Makefile.in:
3513         Added 'reconfig' make target and corresponding --reconfig option to
3514         Configure.pl, so its very easy to re-run Configure.pl with the last
3515         (command-line) options you passed it.
3517 2002-01-08 16:33  dan
3519         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3520         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3521         in core.ops. Potential help for optimizers and JITters.
3523         Courtesy of gregor@linux1.kennedytech.com
3525 2002-01-08 16:32  dan
3527         * key.c: Grab key length from the right spot
3529         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3531 2002-01-08 13:27  ajgough
3533         * test_main.c: Fix slight thinko in realloc usage for reading from
3534         stdin.
3536 2002-01-08 11:34  ajgough
3538         * test_main.c: Allow test_parrot to read bytecode stream from
3539         stdin, adds -f command line option, with "-f -" doing the stdin
3540         stuff.
3542 2002-01-08 06:34  jgoff
3544         * key.c, include/parrot/key.h: key.c - Added simple implementation
3545         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3547 2002-01-08 03:21  jgoff
3549         * include/parrot/key.h: Added an undef type to the key structure,
3550         so we can delete keys without confusion.
3552 2002-01-07 22:09  dan
3554         * key.c, packfile.c, string.c, include/parrot/key.h,
3555         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3556         about index being redefined
3558         Courtesy of Nick Clark
3560 2002-01-07 21:15  dan
3562         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3564         Courtesy of Steve Fink <steve@fink.com>
3566 2002-01-07 20:48  dan
3568         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3569         failures
3571         Courtesy of "Brent Dax" <brentdax@cpan.org>
3573 2002-01-07 20:43  dan
3575         * docs/intro.pod: Missing a comma
3577         Courtesy of "coral" <coral@eekeek.org>
3579 2002-01-07 20:41  dan
3581         * global_setup.c: Quiet a warning
3583         Courtesy of Simon Glover <scog@roe.ac.uk>
3585 2002-01-07 18:58  gregor
3587         * t/op/.cvsignore:
3588         Ignore intermediate test files.
3590 2002-01-07 17:01  gregor
3592         * ops2c.pl:
3593         Print a warning if an .ops file is mentioned more than once on the
3594         command line.
3596 2002-01-07 16:12  ajgough
3598         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3599         these shouldn't fail.
3601 2002-01-07 15:15  simon
3603         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3604         Stop segfaults.
3606 2002-01-07 15:11  simon
3608         * key.c:
3609         Fix zero-termination bug in hash function.
3611 2002-01-07 13:37  ajgough
3613         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3614         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3616 2002-01-07 11:53  brentdax
3618         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3619         (:add{foo}) and a new deleting thing (:rem{foo})
3621 2002-01-07 11:43  simon
3623         * Configure.pl:
3624         Gobble the + before concatenating.
3626 2002-01-07 03:53  dan
3628         * Makefile.in: Dependency fix for new ops setup.
3630 2002-01-07 03:33  jgoff
3632         * classes/perlarray.pmc: Add negative indices, and fix a small
3633         allocation problem.
3635 2002-01-06 23:54  ajgough
3637         * hints/os2.pl: Makes the hints file take account of ldflags and
3638         ccflags being split.  This hints file is still very specific to
3639         builds with gnu tools, but a proper solution can wait.   Thanks to
3640         Nick Burch.
3642 2002-01-06 22:12  dan
3644         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3645             -changes Parrot::OpLib::core's dependencies to reflect the new
3646         selectable ops files    -allows some of the special forms of 'goto'
3647         inside the PREAMBLE of an opcode file
3649         Courtesy of "Brent Dax" <brentdax@cpan.org>
3651 2002-01-06 19:59  simon
3653         * Makefile.in:
3654         *cough*
3656 2002-01-06 18:19  dan
3658         * classes/perlhash.pmc: Fix some type issues.
3660         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3662 2002-01-06 18:03  dan
3664         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3665         for a list of opcode files to use.  The default is everything
3666         available except for obscure.ops.
3668         In addition, it makes it so that if your answer to a question
3669         starts with '+', it will concatenate it to the default.  For
3670         example:
3672         What C compiler do you want to use? [cl] +HAHAHA!!!
3674         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3675         is not terribly useful, it is quite useful with things like
3676         command-line flags and the like.
3678         Finally, it contains a couple tweaks so that my syntax-highlighting
3679         editor recognizes some heredocs correctly.  :^)
3681         Courtesy of "Brent Dax" <brentdax@cpan.org>
3683 2002-01-06 17:59  dan
3685         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3687         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3689 2002-01-06 17:58  dan
3691         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3693         Courtesy of Simon Glover <scog@roe.ac.uk>
3695 2002-01-06 17:57  dan
3697         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3698         Compiler directives, etc. in files other than core.ops will now
3699         work.   2.  Compiler warnings will now display the file and line
3700         number of the  opcode file.
3702         Courtesy of "Brent Dax" <brentdax@cpan.org>
3704 2002-01-06 17:52  dan
3706         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3708         Courtesy of Simon Glover <scog@roe.ac.uk>
3710 2002-01-06 17:36  dan
3712         * docs/intro.pod: Lots of updates
3714         Courtesy of Simon Glover <scog@roe.ac.uk>
3716 2002-01-06 02:34  gregor
3718         * interpreter.c:
3719         Add some internal documentation on the theory of operation of the
3720         prederef code.
3722 2002-01-06 02:17  gregor
3724         * interpreter.c:
3725         Removed unnecessary include.
3727 2002-01-05 12:37  simon
3729         * classes/.cvsignore:
3730         Ignore generated .h files.
3732         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3734 2002-01-05 12:37  simon
3736         * Configure.pl:
3737         Make lcc happier by adding a dummy structure.
3739         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3741 2002-01-05 12:35  simon
3743         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3744         Make perlundef work. (And coincidentally stop segfaults in the
3745         tests :)
3747         Courtesy of: Jason Gloudon <perl@gloudon.com>
3749 2002-01-05 04:59  dan
3751         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3753 2002-01-05 04:55  jgoff
3755         * classes/perlhash.pmc: Added perlhash class definition
3757 2002-01-05 04:48  dan
3759         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3761         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3763 2002-01-05 03:57  jgoff
3765         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3766         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3767         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3768         t/pmc/pmc.t: Initial hash commit.
3770         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3771          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3772         set_{integer,number,string}_index_s
3774         This does not yet do collision resolution, but will soon.
3776 2002-01-05 02:54  dan
3778         * interpreter.c: More unsigned fixes
3780         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3782 2002-01-04 22:13  dan
3784         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3785         test programs happier.
3787         Courtesy of "Jason Diamond" <jason@injektilo.org>
3789 2002-01-04 19:00  dan
3791         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3792         separate things
3794 2002-01-04 18:27  dan
3796         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3797         Fixes to get things configuring and building on Win32 Native.
3799         Courtesy of "Jason Diamond" <jason@injektilo.org>
3801 2002-01-04 17:39  dan
3803         * hints/vms.pl: debug cleanup
3805 2002-01-04 16:53  dan
3807         * docs/parrot.pod:  The enclosed patch brings the list of
3808         documentation in parrot.pod
3809          up to date.
3811         Courtesy of Simon Glover <scog@roe.ac.uk>
3813 2002-01-04 16:47  dan
3815         * test_main.c, Parrot/Jit/i386-linux.pm,
3816         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3817         off warnings..
3819         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3821 2002-01-04 16:44  dan
3823         * Configure.pl, Makefile.in: Fixed linking to use linker.
3825         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3827 2002-01-04 16:39  dan
3829         * io/io_stdio.c: Added CVS tag info
3831 2002-01-04 16:35  dan
3833         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3834         isn't it
3836 2002-01-04 16:26  dan
3838         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3839         Tokenizer test
3841         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3843 2002-01-04 16:17  dan
3845         * chartypes/unicode.c: Silence some warnings.
3847         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3849 2002-01-04 16:09  dan
3851         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3852         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3853         into generated files
3854            but the $Id$ string gets mangled when it's committed.
3855            This patch fixes the existing .pmc files and fixes genclass.pl.
3857          - Makes capitalization in .pmc header match actual filenames
3859          - The command for calling genclass.pl in vtables.pod is incorrect,
3860            since it assumes you're running in classes/ but genclass.pl
3861         assumes
3862            it's being run from the main directory. I changed genclass.pl to
3863         not
3864            care.
3866         Courtesy of Steve Fink <steve@fink.com>
3868 2002-01-04 03:57  dan
3870         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3871         me--I *had* the files:wq!
3873 2002-01-04 03:40  dan
3875         * MANIFEST: Whoops--remove files not really there
3877 2002-01-04 03:37  dan
3879         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3880         my sig adds a new_stack() function to take care of the allocation
3881         and setup of "generic" stacks.
3883         Courtesy of "Brent Dax" <brentdax@cpan.org>
3885 2002-01-04 02:36  dan
3887         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3888         and so
3889          writes a load of junk in core_ops.pod. Applied patch fixes.
3891         Courtesy of Simon Glover <scog@roe.ac.uk>
3893 2002-01-04 02:35  dan
3895         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3896         logical-or is using get_integer instead of get_bool for logical
3897         operations. This patch corrects that.
3899         Perlnum and perlstring have working get_bool's, so the default
3900         logical_or and logical_and should be sufficient. The empty methods
3901         are pointed to the default logical_or.
3903         Courtesy of Jason Gloudon <perl@gloudon.com>
3905 2002-01-04 02:31  dan
3907         * Makefile.in: docs/Makefile should be removed by realclean, but
3908         isn't
3910         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3912 2002-01-04 02:29  dan
3914         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3916         Courtesy of Steve Fink <steve@fink.com>
3918 2002-01-04 00:51  dan
3920         * docs/vtables.pod: More docs
3922         Courtesy of Steve Fink <steve@fink.com>
3924 2002-01-04 00:47  dan
3926         * Configure.pl: Updated 64-bit patch
3928         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3930 2002-01-04 00:43  dan
3932         * Configure.pl: 64-bit Fix.
3934         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3936 2002-01-03 22:37  dan
3938         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3939         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3940         some buffering work.       Additional work on other layers.
3942         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3944 2002-01-03 19:41  gregor
3946         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3947         Updated copyright messages on top-level files.
3949 2002-01-03 04:23  robert
3951         * make.pl: Add author information.  Bonsai test.
3953 2002-01-03 04:02  dan
3955         * io/io_os.c: Twig Bonsai
3957 2002-01-03 03:45  dan
3959         * io/: io_os.c, io_os.c: Twig Bonsai
3961 2002-01-03 03:41  dan
3963         * io/io_os.c: Twig Bonsai
3965 2002-01-02 21:42  gregor
3967         * packfile.c, include/parrot/packfile.h:
3968         Get rid of warnings in packfile.[hc]
3970 2002-01-02 20:39  gregor
3972         * manicheck.pl:
3973         Bracketed translated patterns with ^ and $.
3975 2002-01-02 20:11  dan
3977         * io/io_os.c: silence a warning
3979 2002-01-02 19:52  grunblatt
3981         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3982         op_assembly to jit_struct.h, so that we get the real number of ops.
3983          Removed some warnings.
3985 2002-01-02 19:31  tom
3987         * string.c: Fix string transcoding so that it actually works.
3989         Patch from Peter Gibbs <peter@emkel.co.za>
3991 2002-01-02 19:20  gregor
3993         * manicheck.pl:
3994         A program to check the MANIFEST file, accounting for .cvsignore
3995         files.
3997 2002-01-02 19:19  dan
3999         * t/harness: twig bonsai
4001 2002-01-02 19:13  dan
4003         * t/harness: twig bonsai
4005 2002-01-02 18:54  dan
4007         * t/harness: Tweak to test Bonsai
4009 2002-01-02 16:27  dan
4011         * Configure.pl: Allow 64-bit build of parrot on systems with a
4012         mixed 32/64 bit perl
4014         Courtesy of David M. Lloyd <dmlloyd@tds.net>
4016 2002-01-02 15:33  simon
4018         * MANIFEST, docs/Makefile:
4019         Fixed up MANIFEST. (And I removed the Makefile in docs/)
4021         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4023 2002-01-02 13:51  simon
4025         * Configure.pl:
4026         Die on broken manifest.
4028 2002-01-02 13:48  simon
4030         * jit2h.pl, examples/assembly/mops.pasm:
4031         Clear up JIT warnings.
4033         Courtesy of: Nick Clark <nick@unfortu.net>
4035 2002-01-02 04:10  dan
4037         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4038         only once, so new interp creation works again
4040         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4042 2002-01-02 03:32  dan
4044         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4045         moment.
4047 2002-01-02 00:55  dan
4049         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4050         io/io_os.c: Initial IO system patches
4052         Courtesy of <mrjoltcola@mindspring.com>
4054 2002-01-01 22:55  ajgough
4056         * classes/default.pmc: On second thoughts, and some prodding, the
4057         set_* methods now only set the appropriate part of the cache, and
4058         do nothing else.
4060 2002-01-01 22:29  ajgough
4062         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4064          set_* create appropriate Perl* result.
4065          get_* simply grabs needed bit of cache.*_val
4067          Other methods do the rightest thing I can think of, at the moment.
4069          None yet cope with overflow, the modulus operation needs to be
4070         checked as
4071         I don't know quite which semantics we really want.
4073         Not tested yet.
4075 2002-01-01 20:23  dan
4077         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4078         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4079         rid of unneeded tmp var and eliminated const from encode prototype
4080         since it does make changes to the string.
4082         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4084 2002-01-01 20:11  dan
4086         * Makefile.in: Make clean now tosses pdump.o
4088         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4090 2002-01-01 19:49  dan
4092         * pdump.c, test_main.c: Warnings cleanup
4094         Courtesy of Josh Wilmes <josh@sky.net>
4096 2002-01-01 19:45  dan
4098         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4099         hints/mswin32.pl, languages/jako/Makefile.in,
4100         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4101         platforms
4103         Courtesy of "Jason Diamond" <jason@injektilo.org>
4105 2002-01-01 19:41  dan
4107         * include/parrot/register.h: Clean up some warnings
4109         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4111 2002-01-01 19:10  simon
4113         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4114         Hack-around to enable compilation of code using vtable ops.
4116 2002-01-01 18:43  dan
4118         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4119         checks on unsigned things
4121         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4123 2002-01-01 18:26  dan
4125         * runops_cores.c: More warning silences.
4127         Courtesy of Nicholas Clark <nick@unfortu.net>
4129 2002-01-01 18:25  dan
4131         * trace.c: Shuts up a warning.
4133         Courtesy of Nicholas Clark <nick@unfortu.net>
4135 2002-01-01 18:24  dan
4137         * encodings/singlebyte.c: Clean up some warnings.
4139         Courtesy of Nicholas Clark <nick@unfortu.net>
4141 2002-01-01 18:20  dan
4143         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4144         thunk it?
4146         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4148 2002-01-01 18:17  dan
4150         * packfile.c: Warning cleanup
4152         Courtesy of Nicholas Clark <nick@unfortu.net>
4154 2002-01-01 17:53  dan
4156         * string.c: New string size should be based on output encoding's
4157         size, not input encoding's size.
4159         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4161 2002-01-01 17:22  dan
4163         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4164         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4165         include/parrot/interpreter.h, include/parrot/memory.h,
4166         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4167         Warnings fixups.
4169         Courtesy of Chip Turner <cturner@redhat.com>
4171 2002-01-01 17:09  dan
4173         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4174         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4175         now unsigned, as is proper.
4177         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4178         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4180 2002-01-01 16:59  dan
4182         * include/parrot/trace.h: Useless debugging prototype removed
4184         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4186 2002-01-01 16:58  dan
4188         * MANIFEST: We forgot a file.
4190         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4192 2002-01-01 03:53  dan
4194         * Configure.pl: Okay, I give. Removed some warnings because the
4195         darned system headers were triggering them. Sloppy, sloppy
4196         coding...
4198 2002-01-01 03:48  dan
4200         * config_h.in: Add in an unsigned INTVAL.
4202         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4204 2002-01-01 03:46  dan
4206         * global_setup.c: Clean up some compiler warnings.
4208         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4210 2002-01-01 03:43  dan
4212         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4213         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4214         include/parrot/op.h: Cleaned up some things to make the compiler
4215         happier.
4217         Courtesy of Nicholas Clark <nick@unfortu.net>
4219 2002-01-01 03:14  dan
4221         * Configure.pl: Quad updates.
4223         Courtesy of Nicholas Clark <nick@unfortu.net>
4225 2001-12-31 22:53  dan
4227         * include/parrot/op.h: Typedef had parameters backwards. Threw
4228         core.ops for a big whiny warnings loop.
4230 2001-12-31 22:37  dan
4232         * Makefile.in, resources.c: Tweaks to try and get things to build
4233         in the right order.
4235 2001-12-31 21:58  dan
4237         * Configure.pl: Stupid thinko fix
4239 2001-12-31 21:34  dan
4241         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4243         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4245 2001-12-31 21:32  dan
4247         * Configure.pl: Fix for non-gcc systems
4249 2001-12-31 20:22  dan
4251         * interpreter.c: Tweak so we can build on non-JIT platforms
4253 2001-12-31 20:11  dan
4255         * Configure.pl: Force the time on some copied files to be 'now' to
4256         make the Win builds much less annoying.
4258         Courtesy of "Jason Diamond" <jason@injektilo.org>
4260 2001-12-31 20:07  dan
4262         * Configure.pl: Nuke all object files in the parrot tree that
4263         matter when configuring.  Shouldn't be necessary with good
4264         dependencies in the makefile, but we don't have those yet.
4266 2001-12-31 20:00  gregor
4268         * chartypes/unicode.c:
4269         Silence unused variable warnings.
4271 2001-12-31 19:40  dan
4273         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4275 2001-12-31 19:37  gregor
4277         * interpreter.c, jit.c, include/parrot/jit.h:
4278         Created a prototype for JIT functions and used it in interpreter.c.
4280 2001-12-31 19:31  dan
4282         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4283         detection) with really cranky warnings if we find we're using it.
4285         Courtesy of: Nicholas Clark <nick@unfortu.net>
4287 2001-12-31 18:01  gregor
4289         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4291         Fixed a few warnings wrt prototypes, etc.
4293 2001-12-31 17:23  dan
4295         * string.c: Silenced most of the compiler whines
4297 2001-12-31 17:15  gregor
4299         * Configure.pl:
4300         Get the ccname from either ccname or just cc config var.
4302 2001-12-31 17:14  gregor
4304         * Parrot/Op.pm, lib/Parrot/Op.pm:
4305         Another intermediate opbody notation. Could come in handy. Explicit
4306         types.
4308 2001-12-31 17:05  dan
4310         * string.c: Minor warnings update
4312 2001-12-31 17:00  dan
4314         * include/parrot/string.h: Warnings cleanup
4316 2001-12-31 16:00  simon
4318         * encodings/utf8.c, include/parrot/encoding.h:
4319         Remove a couple more.
4321 2001-12-31 15:58  simon
4323         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4324         include/parrot/op.h:
4325         Rid ourselves of a few warnings.
4327 2001-12-31 15:32  dan
4329         * Configure.pl: Made GCC ever so much pickier.
4331         Switch list courtesy of Jarkko.
4333 2001-12-31 15:22  dan
4335         * string.c: Tightened up initial allocation.
4337         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4339 2001-12-31 06:48  dan
4341         * Configure.pl: Minor Windows tweak
4343 2001-12-31 05:32  dan
4345         * core.ops: Unused temp variable tossed.
4347         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4349 2001-12-31 05:09  grunblatt
4351         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4352         supported plataforms
4354 2001-12-31 03:05  dan
4356         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4357         platform-independent quote substitution for the makefiles.
4358         Hopefully this'll make the Win32 builds happier.
4360 2001-12-30 21:08  dan
4362         * string.c, include/parrot/string.h: More string system tweaks.
4364         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4366 2001-12-30 20:45  dan
4368         * core.ops: Some pod cleanup
4370         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4372 2001-12-30 20:22  ajgough
4374         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4375         we aren't using them right now.  Clarified the workings of set Px,
4376         Py and clone Px, Py.
4378 2001-12-30 20:15  grunblatt
4380         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4381         Added readjit() to read *.jit files Updated core.jit to the new
4382         set_n_i
4384 2001-12-30 20:14  ajgough
4386         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4388 2001-12-30 19:52  dan
4390         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4391         include/parrot/trace.h, platforms/generic.c: Compiler whine
4392         cleanups
4394         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4396 2001-12-30 19:13  dan
4398         * Configure.pl, Makefile.in: Make GCC pickier by default.
4400         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4402 2001-12-30 18:41  dan
4404         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4405         ntoi opcodes to sets.
4407         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4409 2001-12-30 17:58  gregor
4411         * Makefile.in:
4412         'make' no longer builds the mops test. Use 'make mops' for that. To
4413         run the test, you can do 'make mopstest'.
4415 2001-12-30 17:30  gregor
4417         * Makefile.in:
4418         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4419         Gregor.
4421 2001-12-30 17:26  gregor
4423         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4424         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4425         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4426         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4427         Build enhancements. Originally to support building shared
4428         libraries, but now of broader impact.
4430           * .cvsignore: Ignore the blib/ directory, about which more later.
4432           * Configure.pl:
4434               * Got rid of TAB formatting and lined a few things up.
4436               * Added header comment with CVS Id variable, and a few other
4437                 block header comments.
4439               * Uses new Parrot::BuildUtil module to determine the Parrot
4440                 version.
4442               * Reworded a few messages, added a couple, and wrapped
4443         messages
4444                 to 79 columns.
4446               * Added 2002 to the Copyright statement.
4448               * Added new configure variables: VERSION, MAJOR, MINOR and
4449         PATCH
4451               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4452         greater
4453               than 5.6.0, but the comment implies it isn't.
4455           * Makefile.in:
4457               * Added $(SO), $(A) and $(AR_CRS) defines for library
4458         building.
4460               * Added $(RM_RF) define for removing directory trees
4462               * Grouped generated files into two classes: "sticky" (made by
4463         configure,
4464                 persisting across 'make clean') and 'fluid' (made during
4465         the build
4466                 process, deleted by 'make clean').
4468               * Added header comments.
4470               * Added target for test_prog linked with shared library.
4472               * Added rules to build shared libraries in blib/lib. The
4473         libraries are
4474                 built with trailing version numbers in their file names,
4475         and then
4476                 symbolic links are created for shorter and no version tag
4477         variants.
4479               * Added some missing dependencies
4481               * Added some missing 'make clean' targets.
4483               * Added 'make realclean' target that deletes files created by
4484                 Configure.pl (including Makefile), forcing a re-configure.
4486               * Added a 'status' CVS target.
4488           * VERSION: New file, contains only the version. This version
4489         number is
4490             propagated to a few places, such as the core oplib version
4491         number. This
4492             reduces the amount of coordination that has to happen to get
4493         version
4494             number stuff throughout the tree in sync and updated prior to
4495         cutting
4496             a new release. Feel free to grep for '0.0.3' to see the other
4497         files
4498             that contain the version number (but, do that in a fresh CVS
4499         copy, or
4500             after doing 'make realclean').
4502           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4503         PARROT_*_VERSION,
4504             since the oplib and Parrot itself share a version number now.
4505         Added
4506             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4507         (a
4508             string).
4510           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4511         of
4512             specifying the version by hand. Non-core oplibs will set this
4513         to
4514             a quoted dot-string with three natural number components
4515         without
4516             leading zeros.
4518           * interpreter.c: Make use of PARROT_VERSION to simplify some
4519         sprintf()s, and
4520             to get the complete version number in the resulting strings
4521         (including the
4522             new PATCH portion).
4524           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4525         the
4526             generated file.
4528           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4530           * ops2c.pl: Account for the PATCH version, too. This affects the
4531         name of the
4532             oplib init function, and the oplib info struct initializer.
4534           * Parrot/BuildUtil.pm: New file for reading in and validating the
4535         contents of
4536             the new VERSION file. Other build utilities could go here in
4537         futuer.
4539           * Parrot/OpsFile.pm:
4541               * Allow three components in version number, and require that
4542         the value
4543                 be in double quotes.
4545               * Allow "VERSION = PARROT_VERSION", substituting the shared
4546         Parrot
4547                 VERSION in that case.
4549           * include/parrot/oplib.h: Add the patch_version member.
4551 2001-12-30 12:16  simon
4553         * MANIFEST, Makefile.in:
4554         More stuff forgotten from MANIFEST.
4556 2001-12-30 12:13  simon
4558         * MANIFEST:
4559         Missing JIT file.
4561 2001-12-30 12:12  simon
4563         * jit2h.pl:
4564         Safety first.
4566 2001-12-30 12:12  simon
4568         * Makefile.in:
4569         Gragh.
4571 2001-12-30 12:04  simon
4573         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4574         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4575         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4576         include/parrot/string.h, t/op/string.t:
4577         * Expand the strings test suite to be more complete * Make string
4578         commands more consistent (i.e, now the only string command that
4579         actually changes the original is chopn) * Significantly reduce the
4580         number of memory allocations and eliminate reallocations.
4582         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4584 2001-12-29 22:12  dan
4586         * interpreter.c, key.c, register.c, stacks.c, string.c,
4587         test_main.c, trace.c: Updates to match the coding standards.
4589         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4591 2001-12-29 20:42  grunblatt
4593         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4594         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4595         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4596         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4597         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4598         Kitover <caelum@debian.org>
4600 2001-12-28 21:20  dan
4602         * core.ops: Okay, now print takes a preceding file handle.
4604         I feel so dirty now.
4606 2001-12-28 20:46  dan
4608         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4609         changing the open op to use fopen under the hood.
4611         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4613 2001-12-28 18:20  ajgough
4615         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4616         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4617         include/parrot/exceptions.h, include/parrot/string.h,
4618         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4619         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4620         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4621         to hold tests specific to PerlStrings, as the pmc.t file is taking
4622         too long to run and slowing down my thought processes.
4624         Changes to strings.c etc to take string functions.
4626         Some changes to the strings docs, but not yet complete.
4628         Also, PerlString was copying pointers to strings, rather than
4629         strings themselves, so some action-at-a-distance bugs were creeping
4630         in, I think I've fixed this so everything works nicely.
4632 2001-12-28 04:56  gregor
4634         * examples/assembly/pmcmops.pasm:
4635         PMC-using version of mops.pasm.
4637         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4639 2001-12-28 04:56  gregor
4641         * examples/assembly/.cvsignore:
4642         Small tinkering. Removed old stuff, etc.
4644 2001-12-28 01:26  gregor
4646         * examples/mops/mops.scheme:
4647         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4648         to the very un-scheme-like implementation.
4650 2001-12-28 01:19  gregor
4652         * examples/mops/mops.c:
4653         Some people's picky compilers don't like us redefineing time(), so
4654         we call it time_n().  :)
4656 2001-12-28 00:28  gregor
4658         * examples/mops/: README, mops.ps:
4659         Added a PostScript example and a README.
4661 2001-12-27 23:57  gregor
4663         * Makefile.in:
4664         Build the C mops translation in examples/mops/mops.c
4666 2001-12-27 23:56  gregor
4668         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4669         Some translations of mops.pasm into other languages, for inner loop
4670         performance comparisons.
4672 2001-12-27 22:40  gregor
4674         * examples/assembly/mops.pasm:
4675         Fixed erroneous file name in header comment.
4677 2001-12-27 21:18  gregor
4679         * pbc2c.pl:
4680         One-liner to avoid no-op gotos to the next op.
4682 2001-12-27 21:06  gregor
4684         * runops_cores.c:
4685         Fixed -p (profiling). Slow runops core was doing unconditional
4686         tracing, when it should have been checking the flags.
4688 2001-12-27 18:50  ajgough
4690         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4691         classes/perlstring.pmc, include/parrot/chartype.h,
4692         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4693         dded get_digit() to chartypes  * Added string_bool() to strings  *
4694         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4695         to perlstring.pmc  * Tests for above, also a for couple of other
4696         ops without tests
4698         The unicode chartype has only had placeholders added for get_digit,
4699         string_to_num has been updated to use type->get_digit rather than
4700         the previous ascii-isms.  Some remain, but we need to carefully
4701         define what we mean by a number before we let thousands of code
4702         points act as a minus sign.
4704 2001-12-27 18:32  dan
4706         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4707         compiler warnings.
4709         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4711 2001-12-27 18:23  dan
4713         * t/op/bitwise.t: More tests.
4715         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4717 2001-12-27 17:08  gregor
4719         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4720         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4721         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4722         include/parrot/interpreter.h, include/parrot/oplib.h,
4723         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4724         platforms/win32.c, platforms/win32.h:
4725         Initial code for dynamic loading of oplibs, applied for now to the
4726         loading of the core_prederef oplib when the -P flag is passed to
4727         test_parrot.
4729           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4731           * Makefile.in:
4733               * Added libcore_prederef_0_3.so to the shared target.
4734               * Added build rule for libcore_prederef_0_3.so.
4735               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4736                 to Parrot/OpLib/core.pm, core_ops.c and
4737                 core_ops_prederef.c.
4739           * config_h.in: Added defines for constants used to locate the
4740             core oplib's init function, and the core_prederef oplib for
4741             dynaloading.
4743           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4744             required by Parrot/OpsFile.pm.
4746           * interpreter.c:
4748               * Added init_prederef() and stop_prederef() functions to load
4749                 and unload the core_prederef oplib when we are in prederef
4750                 mode.
4752                 NOTE: In all likelihood, the prederef stuff has a rapidly
4753                 dwindling time-to-live. The JIT should provide vastly
4754         superior
4755                 performance, and loading an alternate set of core_ops isn't
4756                 the real direction for the dynaloading stuff. Loading
4757                 *additional* ops is. It does provide a handy test case for
4758         the
4759                 general idea for now, though.
4761               * Gets the core copcode table, etc. via the core oplibs oplib
4762                 info pointer, as returned by the core oplib's init
4763         function.
4765           * ops2c.pl
4767               * Make use of the version, major version and minor version
4768                 stuff parsed by Parrot/OpsFile.pm
4770               * The only exported symbol in the generated files is the init
4771                 function now, since that returns an oplib info struct
4772                 pointer, and all the important stuff can be found there.
4774           * ops2pm.pl: Put the oplib version in the generated .pm file.
4776           * test_main.c: Small changes necessitated by changes in the names
4777             of some members of the interpreter struct.
4779           * trace.c: Small changes necessitated by changes in the names
4780             of some members of the interpreter struct.
4782           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4783             ops are found.
4785           * include/parrot/interp_guts.h: Small changes necessitated by
4786             changes in the names of some members of the interpreter struct.
4788           * include/parrot/interpreter.h: Include the new
4789             include/parrot/oplib.h header. Small changes to the oplib-
4790             related members.
4792           * include/parrot/oplib.h: Define the type of the oplib init
4793             function, and the struct type for the oplib info.
4795           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4796             since not all platforms have it. For those that do, a default
4797             second argument is provided.
4799 2001-12-26 05:12  gregor
4801         * Configure.pl:
4802         Make jitarch calculation not get tripped up by extra components to
4803         archname.
4805 2001-12-24 21:23  gregor
4807         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4808         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4809         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4810         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4811         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4812         Some more JIT work from Daniel Grunblatt.
4814           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4815         to C
4816             functions.
4818           * Added JUMP(END) to place the number of bytes to the end of the
4819         current
4820             op.
4822           * The *.jit files syntax changed.
4824           * Added jit/i386/lib.jit to place handly functions as jump that
4825         take as
4826             argument the address where is the opcode number to jump to.
4828           * There is a bug at some point, but I will start writing
4829             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4830         have use
4831             calls, which make the jit as slow as the interpreter.
4833         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4835 2001-12-24 03:46  dan
4837         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4838         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4839         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4840         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4841         Perls before 5.6.0 don't like it.
4843 2001-12-22 16:02  ajgough
4845         * t/op/stacks.t: stopped skipping tests we can run now.  added
4846         clonep tests.
4848 2001-12-21 21:13  gregor
4850         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4851         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4852         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4853         Fixed some package name goofs.
4855         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4857 2001-12-21 19:32  gregor
4859         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4860         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4861         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4862         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4863         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4864         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4865         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4866         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4867         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4868         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4869         pbc2c.pl.
4871           * Removed ops2c-prederef.pl
4873           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4875           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4876             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4877             for old functionality of ops2c-prederef.pl), and
4878             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4880             "OpTrans" == "Op Transformation"
4882           * Makefile.in modifications to call "ops2c.pl C" where it used
4883             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4884             to be "ops2c-prederef.pl".
4886           * core.ops and obscure.ops changes to syntax. Semantics are
4887             identical with previous version:
4889               return HALT         -->  HALT()
4890               return AUTO         -->  goto NEXT()
4891               return RETREL(...)  -->  goto OFFSET(...)
4892               return RESTART(*)   -->  restart NEXT()
4894             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4895             for dest-less branch ops replaced with new notation "goto
4896         POP()",
4897             which uses the new pop_dest() function in stacks.c. This also
4898             allowed these ops to become 'inline' ops, since they no longer
4899             have local variables.
4901             The 'ret' op also became simplified to just "goto POP()", and
4902             also became an inline op.
4904           * interpreter.c reflects the change in type name:
4906               prederef_op_func_t   -->  op_func_prederef_t
4908             that occurred in include/parrot/op.h
4910           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4911             "return AUTO".
4913           * ops2c.pl is now generic. Its first argument is the last
4914             package name component of a subclass of Parrot::OpTrans. These
4915             subclasses all have full names of the form Parrot::OpTrans::*.
4916             An instance of the class is created and later consulted for
4917             various bits of information needed to generate the C code.
4919           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4920             contain its transformation rules.
4922           * stacks.c has a new function pop_dest() that pops a destination
4923             off the control stack. include/parrot/stacks.h has the
4924         prototype.
4926           * Parrot/Op.pm now supports the syntax generated by
4927         Parrot::OpsFile
4928             for the "goto POP" case.
4930             Also, the source() method now expects its second argument to be
4931             an object that ISA Parrot::OpTrans. Methods of this object are
4932             called to perform the substitutions.
4934           * Parrot/OpsFile.pm supports the change in notation mentioned
4935             above.
4937           * docs/intro.pod reflects these changes.
4939           * include/parrot/op.h: Renamed type prederef_op_func_t to
4940             op_func_prederef_t because it made the implementation of the
4941             shared ops2c.pl easier.
4943 2001-12-21 13:47  gregor
4945         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4946         Both test_parrot (via test_main.c) and the intepreter itself (via
4947         interpreter.c) use the JIT_CAPABLE config to decide whether to
4948         actually attempt JIT operation, or to complain.
4950 2001-12-20 23:25  gregor
4952         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4953         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4954         Changes to the format of *.ops files. An attempt to provide hints
4955         for future opfunc processing logic that wants to know if an opfunc
4956         is simple enough to JIT (e.g.) inline, or not.
4958         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4959         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4960         info.
4962 2001-12-20 21:28  gregor
4964         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4965         jit/i386/core.jit:
4966         More JIT stuff:
4968           * A fix to Gregor's last Configure.pl update.
4970           * Remove the need for hardcoded "\n" at the end of the "%f"
4971             format for printing floating-point numbers.
4973           * New, improved *.jit syntax for references to registers,
4974             e.g. INT_REG[n].
4976           * Support for C() improved.
4978         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4980 2001-12-20 16:55  dan
4982         * MANIFEST: Added jit.c to the manifest.
4984 2001-12-20 15:24  simon
4986         * jit2h.pl:
4987         Off-by-one error fixed.
4989 2001-12-20 14:18  simon
4991         * jit/i386/core.jit:
4992         Just a noop. It's the only machine code I know.
4994 2001-12-20 13:10  gregor
4996         * Configure.pl, Makefile.in, jit2h.pl:
4997         Attempt to fix Win32 builds.
4999           * No more empty braces in include/parrot/jit_struct.h
5001         Also:
5003           * ${jitarchname} has the *bsd -> bsd substitution on it, but
5004         ${archname}
5005             does not.
5007 2001-12-20 11:56  simon
5009         * Makefile.in:
5010         De-cp
5012 2001-12-20 01:57  gregor
5014         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
5015         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
5016         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
5017         include/parrot/.cvsignore, include/parrot/interpreter.h,
5018         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
5019         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5020         lib/Parrot/Jit/i386-nojit.pm:
5021         Initial JIT implementation.
5023           * Enabled with test_parrot -j. 20x speed boosts seen.
5025           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5027           * More to come.
5029         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5031 2001-12-20 01:53  jgoff
5033         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5034         core.ops - Removed key operators, they should be hidden from the
5035         assembler.  t/op/key.t - No need to test the nonexistent key
5036         operators.
5038 2001-12-20 00:13  ajgough
5040         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5041         that asking for type of entry at depth causes segfault as stack is
5042         zero based, fixed cmp in core.ops to reflect this.  Last test is
5043         skipped as we don't do exceptions right yet.
5045 2001-12-19 19:11  ajgough
5047         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5048         non-being was causing Irix "issues".
5050 2001-12-19 03:37  jgoff
5052         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5053         004_combined.t: Changed tests to make sure they pass with the
5054         addition of the clone operator.
5056 2001-12-18 20:06  gregor
5058         * interpreter.c, include/parrot/interp_guts.h:
5059         Performance improvements to the predereferencing code path
5060         suggested to me over lunch yesterday by my friend John Kennedy.
5061         The goal is to remove the additional test in the inner loop that
5062         was checking for NULL to decide whether or not to call the
5063         prederef() function. Also moved pc & pc_prederef syncing outside
5064         the inner loop.
5066           * Changed the prototype of the prederef() function in
5067             interpreter.c to match that of an opfunc.
5069           * Instead of initializing the prederef void * array with NULL,
5070             we initialize it with pointers to prederef().
5072           * prederef() now returns the prederef_pc passed in, so that
5073             after predereferencing, the same location is executed, but now
5074             with the real code being called.
5076         Thanks to: John Kennedy
5078 2001-12-18 19:59  ajgough
5080         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5081         (including some more in the skipped string -> int tests).
5083 2001-12-18 07:06  jgoff
5085         * MANIFEST: Forgot to add classes/perlarray.pmc
5087 2001-12-18 07:05  jgoff
5089         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5090         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5091         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5092         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5093         t/pmc/pmc.t: Big update...  Makefile.in - Added
5094         classes/perlarray.pmc core.ops - Added new series of set() ops for
5095         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5096         Added perlarray.pmc classes/*.pmc - Added
5097         set_{integer,number,string}_index and
5098         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5099         type t/op/pmc.t - Added basic array test
5101         classes/perlarray.pmc - Added
5103 2001-12-17 05:29  jgoff
5105         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5106         generator to use clone operator instead of set Px,Py
5108 2001-12-17 05:25  jgoff
5110         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5111         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5112         PMC,PMC operator. Uses the clone() vtable entries.
5114 2001-12-17 04:51  jgoff
5116         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5117         entry
5119 2001-12-17 04:41  jgoff
5121         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5122         directory...
5124 2001-12-17 04:41  jgoff
5126         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5128 2001-12-17 04:39  jgoff
5130         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5131         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5132         t/
5134 2001-12-17 04:27  jgoff
5136         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5137         Admittedly it's a little thin on true OO, but the algorithms are
5138         the key.
5140 2001-12-17 04:24  jgoff
5142         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5143         003_generator.t, 004_combined.t: Much more comprehensive test suite
5144         for the codegen et al
5146 2001-12-17 04:22  jgoff
5148         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5149         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5150         key handling
5152 2001-12-17 04:20  jgoff
5154         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5155         more comprehensive.
5157 2001-12-17 04:17  jgoff
5159         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5160         changes to the new compiler
5162 2001-12-17 04:11  jgoff
5164         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5165         files to Miniperl/
5167 2001-12-16 14:11  simon
5169         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5170         t/pmc/pmc.t:
5171         Fix bogus assumption that multiplying an integer by an integer
5172         yields an integer.
5174 2001-12-16 12:48  simon
5176         * make_vtable_ops.pl:
5177         Fixed op exploder.
5179 2001-12-16 12:45  simon
5181         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5182         Expand multimethod vtable ops.
5184 2001-12-16 12:04  simon
5186         * Makefile.in:
5187         Added 'cvsclean' which doesn't zap CVS/* directories.
5189 2001-12-15 01:50  dan
5191         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5192         indeed!
5194         Thanks to grunblatt fom #parrot for the catch
5196 2001-12-15 01:39  dan
5198         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5199         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5200         languages/miniperl/Makefile.in,
5201         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5202         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5203         tweaks.
5205         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5207 2001-12-14 17:39  dan
5209         * t/op/trans.t: More trans tests.
5211         Courtesy of: Simon Glover <scog@roe.ac.uk>
5213 2001-12-14 07:41  robert
5215         * make.pl: - define MAKE macro - topological sort and subgraph
5216         order - start of timestamp stuff   (still badly broken)
5218 2001-12-14 06:06  jgoff
5220         * optimizer.pl: Hopefully this should do the trick..
5222 2001-12-14 06:04  jgoff
5224         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5226           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5228           The optimizer performs its work on a file post-macro expansion.
5229           Run it on a .pasm file, preferably with some trivially reducible
5230         operations
5231           like 'add I0,5,-6' or 'mul I0,I1,0'
5233 2001-12-14 05:48  robert
5235         * Makefile.in: case error EXE -> exe
5237 2001-12-14 05:42  robert
5239         * Makefile.in: remove legacy PDISASM macro
5241 2001-12-14 04:01  dan
5243         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5244         better Win building
5246         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5248 2001-12-13 22:03  dan
5250         * Configure.pl, Makefile.in, Parrot/Test.pm,
5251         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5252         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5253         can change it without having to change the world.
5255 2001-12-13 21:57  dan
5257         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5258         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5259         file/line/package to interp structure, with ops to get and set
5260         them. Now we can know where we are!
5262 2001-12-13 19:43  dan
5264         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5265         WinXP builds work out of the box
5267 2001-12-13 17:05  dan
5269         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5270         name again--makes case-insensitive systems much happier.
5272 2001-12-13 16:21  dan
5274         * core.ops, key.c, string.c, test_main.c, trace.c,
5275         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5276         compiler warnings
5278         Courtesy of: Josh Wilmes <josh@sky.net>
5280 2001-12-13 13:33  gregor
5282         * languages/jako/Makefile.in:
5283         Improved the method of calling the assembler.
5285 2001-12-13 13:30  gregor
5287         * languages/jako/Makefile.in:
5288         Improve the build process. It now works from the main parrot dir,
5289         and from the languages/jako directory. Now uses the .SUFFIXES
5290         target and generic build rules to reduce clutter in the
5291         Makefile.in.
5293 2001-12-13 13:29  gregor
5295         * languages/jako/.cvsignore:
5296         Ignore the (now generated Makefile), and don't ignore .list files
5297         anymore, since we aren't generating them.
5299 2001-12-13 13:11  gregor
5301         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5302         languages/Makefile.in, languages/jako/Makefile,
5303         languages/jako/Makefile.in:
5304         Added a 'languages' target to the top-level Makefile.in, and
5305         modified the jako build procedure to involve Makefile.in -->
5306         Makefile too (done by Configure.pl).
5308         NOTE: languages/jako and language/scheme are built.
5309         languages/miniperl wasn't building right, so it was left off for
5310         now.
5312 2001-12-13 12:15  gregor
5314         * MANIFEST:
5315         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5316         the MANIFEST.
5318 2001-12-13 12:12  gregor
5320         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5321         ops2c-prederef.pl, ops2c.pl, test_main.c,
5322         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5323         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5324         Welcome to the Just-in-Time Predereferencing Patch!
5326         This patch implements a "predereferencing" mode for parrot. That
5327         means that a lot of the dereferencing you see in DO_OP and in the
5328         opfuncs is done up front (really, JIT) rather than as and each time
5329         we execute each op in the byte code stream.
5331         This works by creating an array of void pointers with the same
5332         number of elements as the byte code array. This array starts out
5333         life zero-initialized.  Each time we go to execute an op, we check
5334         first to see if we have a NULL pointer at *cur_opcode. If so, we
5335         know we haven't done our predereferencing yet (this is the JIT
5336         part), so we call the prederef() function with sufficient args that
5337         it can go look up opfunc pointers and op arg types and put the
5338         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5339         where N is the number of args (counting the op itself as one arg).
5341         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5342         to have inline INTVAL constants.
5344         I've been getting about a 22% speed increase over vanilla code path
5345         when I compile with -O0. Advantage decreases at -O9 here. I tested
5346         with mops.pbc, and also by temporarily putting the -P flag in
5347         Parrot/Test.pm and running all the tests. So, this code is as
5348         correct as the test suite can detect.
5350         Here's how it plays out in the code:
5352           * New script ops2c-prederef.pl
5354             Copy-paste code reuse from ops2c.pl. Modified to expect the
5355         args to give
5356             a void ** cur_opcode and to return a void **.
5358           * Modified ops2c.pl
5360               * opfuncs are now static. Who needs to call them by name from
5361         outside,
5362                 anyway? They are accessed via the opfunc table.
5364               * Some MACRO stuff to make things work whether we prederef or
5365         not. It
5366                 may be possible to get rid of these some day if other folks
5367         agree
5368                 that we should be using CODE object pointers + offsets as
5369         our PC
5370                 rather than raw pointers to either opcode_t's or (void *)'s
5371                 (depending on prederef mode or no).
5373           * core.ops modified to be usable to build both kinds of opfuncs.
5374         For now,
5375             this means:
5377               * calls to push_generic_entry(... cur_opcode ...) were
5378         changed to
5379                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5380         a
5381                 macro that does the right thing in both kinds of ops.c
5382         files.
5384                 This is applicable to the bsr op. If we treated
5385         destinations as
5386                 (Code PMC + local offset) rather than as
5387         pointer-to-memory-somewhere,
5388                 this wouldn't be a big deal. We may need to do that at some
5389         point
5390                 anyway, so that when you jump around and return not only do
5391         you have
5392                 the right PC (pointer, today), but you also have the
5393         thread/interpreter
5394                 knowing what chunk of bytecode it is in at all times
5395         (assuming we'll
5396                 allow reflection, as in ops that query or affect the
5397         current CODE PMC).
5399               * runinterp was modified. Instead of copying the top-level
5400         PackFile struct
5401                 and blasting its byte_code pointer, we simply call runops
5402         on the new
5403                 interp, passing in the pointer to the current interp's code
5404         and the
5405                 offset into that code at which to start (this last arg used
5406         to be a
5407                 pointer PC, now its an offset PC).
5409           * include/parrot/op.h
5411               * new typedef for prederef opfuncs (they return void **)
5413           * include/parrot/interp_guts.h
5415               * New DO_OP_PREDEREF() macro described above.
5417           * include/parrot/interpreter.h
5419               * New prototype of runops() -- see below.
5421               * resume_addr field changed to resume_flag and resume_offset
5422         pair of fields.
5423                 We might be resuming from interp using prederef to one not
5424         or vice-versa,
5425                 so pointers between the two don't play nice together.
5426         Offsets are beautiful.
5428               * New PARROT_PREDEREF_FLAG constant
5430           * interpreter.c
5432               * include "parrot/oplib/core_ops_prederef.h"
5434               * prederef() function described above.
5436               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5437         macro as its core.
5439               * runops() modified to take size_t CODE-relative offset PC
5440         rather than
5441                 pointer PC. This made other things workable and doesn't
5442         seem to have lost
5443                 anything important (IMO).
5445           * test_main.c
5447               * New flag '-P' to enable predereferencing.
5449           * Makefile modified to build core_ops_prederef.c from core.ops
5450         via
5451             ops2c-prederef.pl.
5453             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5455             Added core_ops_prederef$(O) to O_FILES
5457 2001-12-13 12:12  gregor
5459         * languages/jako/MAINTAINER:
5460         Thought it would be nice to put this right in the code...
5462 2001-12-13 04:36  jgoff
5464         * languages/miniperl/Miniperl/Generator.pm: Commented out
5465         debugging, fixed register spillover algorithm
5467 2001-12-13 04:23  jgoff
5469         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5470         line) Restructured a bit of the dependency generator to fix a
5471         different obob bug.
5473 2001-12-13 03:43  robert
5475         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5477 2001-12-13 03:03  jgoff
5479         * make.pl: Added make.pl
5481 2001-12-13 02:44  jgoff
5483         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5484         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5485         special flags...                     - Dies on undefined macros
5486         such as $(PDISASM) in current make                     - Dies on
5487         recursive macro expansions                       (Doesn't test for
5488         mutual or multipart loops)                     - In general it
5489         seems to be a little less lenient...  Missing bits - File
5490         mod/creation times aren't being looked at              - Actions
5491         aren't being taken              - The few funky variables ($@, $<)
5492         aren't being dealt with Bugs - Line numbers are slipping a bit.
5494 2001-12-13 02:29  jgoff
5496         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5497         Reconstructing files to make the parser flow a little better.
5499 2001-12-13 00:51  dan
5501         * resources.c: Be a bit less wasteful with resources that don't
5502         need to be aligned
5504 2001-12-12 18:22  dan
5506         * Makefile.in: D'oh! Fixed looping makefile bug.
5508         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5510 2001-12-12 16:23  jgoff
5512         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5514 2001-12-12 16:22  jgoff
5516         * MANIFEST: Manifest additions for languages/miniperl
5518 2001-12-12 16:19  jgoff
5520         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5521         tests. These are left over from the Scheme suite and shouldn't be
5522         used yet.
5524 2001-12-12 16:18  jgoff
5526         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5527         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5528         modules. Miniperl/ is where the real work gets done.  t/ is largely
5529         vacant because it isn't ready to survive real tests yet.
5531 2001-12-12 16:17  jgoff
5533         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5534         mpc: Final go-round, hopefully.
5536         languages/miniperl/Makefile - Used basically to run tests, as there
5537         is nothing                               here that needs to be
5538         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5539         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5540         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5541         compiler stub
5543 2001-12-12 16:09  dan
5545         * Configure.pl: Setting a variable with the make command name is
5546         useful.
5548 2001-12-12 15:07  simon
5550         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5551         Recursive make considered "ow, don't do that".
5553 2001-12-12 14:45  dan
5555         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5556         non-portable code) Killing builds on Win32 native. Small patch
5557         applied which hopefully fixes it.
5559 2001-12-12 06:12  ajgough
5561         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5563 2001-12-12 06:08  ajgough
5565         * Makefile.in: perl is $(PERL).
5567 2001-12-12 06:00  ajgough
5569         * t/op/integer.t: Added tests to integer.t so that all permutations
5570         of arguments are actually called at some point.
5572 2001-12-12 05:18  ajgough
5574         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5575          Tests for sleep i|ic
5577 2001-12-12 05:09  ajgough
5579         * t/op/stacks.t: Added pushp and popp register stack tests.
5581 2001-12-12 04:51  ajgough
5583         * t/op/stacks.t: Added tests for save and restore, for all register
5584         types.  Let there be Haiku.
5586 2001-12-12 04:27  ajgough
5588         * t/op/basic.t: bsr_i test.  You know you want it.
5590 2001-12-12 02:55  ajgough
5592         * MANIFEST: Added hints/os2.pl to MANIFEST.
5594 2001-12-12 02:52  jgoff
5596         * core.ops, key.c: Final checkin... These are actually the correct
5597         copies.
5599 2001-12-12 02:12  jgoff
5601         * include/parrot/key.h: key.c - Removed a few functions,
5602         generalized set_element_value and element_value         to accept
5603         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5604         core.ops - Modified to accept the new return style.
5606         This is a prelude to adding virtual-table methods to allow hashing
5607         &c. Expect at least one or two more redesigns before this settles
5608         down. However, it still passes the original tests.
5610 2001-12-11 13:35  gregor
5612         * runops_cores.c:
5613         Fixed a typo.
5615 2001-12-11 12:03  gregor
5617         * .cvsignore:
5618         Don't ignore test_prog, but do ignore parrot.
5620 2001-12-11 12:03  gregor
5622         * classes/.cvsignore:
5623         Ignore the generated file default.h
5625 2001-12-11 04:07  jgoff
5627         * key.c: Key source
5629 2001-12-11 04:05  jgoff
5631         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5633 2001-12-11 04:00  jgoff
5635         * core.ops: Added new key aggregate operations to core ops.
5637 2001-12-11 04:00  jgoff
5639         * include/parrot/parrot.h: Added key.h to header list
5641 2001-12-11 03:59  jgoff
5643         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5645 2001-12-11 03:58  jgoff
5647         * Makefile.in: Added implementation of key aggregates.
5649 2001-12-08 23:07  simon
5651         * README:
5652         README good to go.
5654 2001-12-08 23:05  simon
5656         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5657         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5658         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5659         test_prog? What is test_prog?
5661 2001-12-08 22:57  simon
5663         * ChangeLog:
5665         Oops, the changelog commit was on *this* machine.
5667 2001-12-08 22:56  simon
5669         * NEWS:
5670         Updates to NEWS and ChangeLog pre-release.
5672 2001-12-08 22:07  simon
5674         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5675         classes/perlnum.pmc, classes/pmc2c.pl:
5676         Add "default" PMC vtable so you can inherit implied stuff.
5678 2001-12-08 21:24  simon
5680         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5681         docs/vtables.pod, lib/Parrot/PackFile.pm:
5682         Getting the documentation up to scratch.
5684 2001-12-08 21:21  simon
5686         * classes/pmc2c.pl:
5687         Allow inheriting from default class.
5689 2001-12-07 20:43  gregor
5691         * examples/assembly/queens.pasm:
5692         Regenerated the file with the latest jakoc.
5694 2001-12-07 20:29  simon
5696         * core.ops, t/op/stacks.t:
5697         Rename "rotate" to "rotate_up".
5699 2001-12-07 20:15  simon
5701         * t/op/stacks.t:
5702         Some tests for rotate.
5704 2001-12-07 00:55  gregor
5706         * core.ops:
5707         Cast the result of the pointer arithmetic, since without the cast
5708         there are warnings with some compilers, and without the parens
5709         around the pointer arithmetic, precedence breaks the meaning and
5710         causes crashes.
5712 2001-12-06 23:37  simon
5714         * core.ops:
5715         Temporary. I prefer compiler warnings to segfaults, thanks.
5717 2001-12-06 23:34  simon
5719         * runops_cores.c:
5720         Make "trace" work again.
5722 2001-12-06 21:23  dan
5724         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5726 2001-12-06 21:22  dan
5728         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5729         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5731 2001-12-06 19:22  simon
5733         * core.ops:
5734         Yet another "How the *%$! did that compile?" moment.
5736 2001-12-06 18:28  dan
5738         * hints/vms.pl: Fix to build, with a HERE logical required
5740 2001-12-06 17:48  dan
5742         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5743         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5744         changes to the interpreter--flags are now part of the interp
5745         structure.
5747         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5749 2001-12-06 14:02  gregor
5751         * docs/intro.pod:
5752         s/little_languages/languages/ in Jako section.
5754 2001-12-06 13:15  simon
5756         * Makefile.in:
5757         Ensure the documentation gets made.
5759 2001-12-06 13:12  simon
5761         * MANIFEST, docs/intro.pod:
5762         Documentation! Added the "Some Assembly Required" article with
5763         minor updates.
5765 2001-12-06 00:39  simon
5767         * core.ops:
5768         More "eq" support.
5770         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5772 2001-12-06 00:37  simon
5774         * test_main.c:
5775         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5777         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5779 2001-12-06 00:11  tom
5781         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5782         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5783         include/parrot/chartype.h, include/parrot/encoding.h,
5784         include/parrot/parrot.h: Moved string to number conversion code out
5785         of the encoding layer and into the main string layer as neither the
5786         encoding layer nor the character type layer knows enough on it's
5787         own to do the conversion correctly.
5789 2001-12-05 23:12  tom
5791         * Makefile.in: Rebuild the classes directory if any of the object
5792         files for the classes are missing rather than only when perlint.o
5793         is missing.
5795 2001-12-05 19:43  gregor
5797         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5798           * Reworked the constantize_string() stuff a little bit because it
5799         was
5800             puking on things like "\033[H\033[2J\0" (which occurs in the
5801             languages/jako/mandelzoom.jako example).
5803 2001-12-05 19:39  gregor
5805         * languages/jako/: Makefile, mandelzoom.jako:
5806         Added 'mandelzoom' example.
5808 2001-12-05 19:38  gregor
5810         * languages/jako/jakoc:
5811           * Added sleep()
5813           * Changed some instances of die() to confess()
5815 2001-12-05 18:34  gregor
5817         * t/: op/pmc.t, pmc/pmc.t:
5818         s/sting->int/string->int/
5820 2001-12-05 18:08  gregor
5822         * Parrot/.cvsignore:
5823         Ignore PMC.pm
5825 2001-12-05 18:05  gregor
5827         * classes/.cvsignore:
5828         Ignore the generated files.
5830 2001-12-05 17:19  gregor
5832         * pbc2c.pl:
5833           * Reverted recent changes, since they broke the script. Real fix
5834         coming
5835             later.
5837 2001-12-05 17:03  simon
5839         * classes/Makefile.in:
5840         Remember: change Makefile.in, not Makefile. D'oh.
5842 2001-12-05 17:02  simon
5844         * Makefile.in:
5845         Ensure PMC.pm gets remade.
5847 2001-12-05 16:58  simon
5849         * MANIFEST, Makefile.in, classes/Makefile.in,
5850         classes/perlundef.pmc, include/parrot/pmc.h:
5851         Add perlundef class.
5853 2001-12-05 16:45  simon
5855         * core.ops:
5856         Document "new P0, foo"
5858 2001-12-05 16:43  simon
5860         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5861         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5862         Allow assembler to know about PMC class names.
5864 2001-12-04 13:39  ajgough
5866         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5868 2001-12-04 05:02  ajgough
5870         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5871         in perlnum.c
5873 2001-12-04 04:24  ajgough
5875         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5876         broken form of strtod and appropriate tests.  Does not yet check
5877         for overflow.
5879 2001-12-04 01:31  ajgough
5881         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5882         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5883         to extract_num and extract_int string vtables, without this it
5884         would be impossible to have strings with nulls in while still
5885         knowing where they ended.
5887 2001-12-03 18:40  ajgough
5889         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5890         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5891         include/parrot/string.h: Moved pmc string to number conversion into
5892         the string encoding tables.
5894 2001-12-03 00:21  ajgough
5896         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5897         for p-> integer.
5899 2001-12-02 23:09  jgoff
5901         * classes/Makefile.in: Removed some redundant targets.
5903 2001-12-02 19:02  ajgough
5905         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5906         equality macro rather than using perl to generate expected output,
5907         all tests now have <<OUTPUT.
5909 2001-12-02 17:44  ajgough
5911         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5912         for pmc.t as well.  Will probably move macros into another file at
5913         some point, although this might be best left until the tests are
5914         unperled.
5916 2001-12-02 06:16  jgoff
5918         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5919         within Parrot_Perl{Class}_init.
5921 2001-12-02 06:09  jgoff
5923         * classes/Makefile.in: I seem to have removed *$(O) twice..
5925 2001-12-02 05:06  jgoff
5927         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5928         Configure.pl - Removed '-I./include', added classes/Makefile
5929         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5930         Removed old classes/* make stuff                Added target for
5931         classes/Makefile
5933 2001-12-02 04:48  jgoff
5935         * classes/Makefile.in: Going to be used shortly...
5937 2001-12-02 04:40  jgoff
5939         * docs/Makefile: Configure.pl - Added automatic makefile creation
5940         for docs/ and classes/                Removed '-I./include' because
5941         it was getting incorrectly                passed to classes/
5942         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5943         - Removed classes/ build stuff, replaced with classes/Makefile.in
5944                     Added '-I./include' locally docs/Makefile - Should no
5945         longer be used, but I'm not brave enough to do a
5946         cvs delete.
5948 2001-12-02 01:21  ajgough
5950         * t/op/trans.t: Refactored trans math tests to have hard coded
5951         expected return values and be more ready to be unperled at some
5952         point in the future.  Added $fp_equality_macro which is a
5953         "nearly-equal-to" function.
5955 2001-12-02 01:18  ajgough
5957         * Makefile.in: Humph.  People really ought to use Makefile
5958         variables, s/perl/$(PERL)/ throughout.
5960 2001-12-01 18:15  jgoff
5962         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5963         figure out what to do vis-a-vis the lack of snprintf.
5965 2001-11-30 13:14  ajgough
5967         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5968         and integer.t
5970 2001-11-30 13:14  ajgough
5972         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5973         -, else ... form.
5975 2001-11-30 10:36  simon
5977         * core.ops:
5978         Rewrite print_p to do the right thing.
5980 2001-11-30 06:21  jgoff
5982         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5983         concat,               integer/number/string math
5985 2001-11-30 06:20  jgoff
5987         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5988         classes/perlint.pmc - Fixes and expanding for concat and math with
5989         strings classes/perlnum.pmc - Fixes and expanding for concat and
5990         math with strings classes/perlstring.pmc - Fixes and expanding for
5991         concat and math with strings
5993 2001-11-29 15:21  ajgough
5995         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5996         $^X lies, which confused bash which make uses to run things when
5997         doing its stuff.
5999 2001-11-29 04:58  jgoff
6001         * classes/perlstring.pmc: Removed C++-style comments for good
6002         measure
6004 2001-11-29 04:51  jgoff
6006         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
6008 2001-11-29 04:28  jgoff
6010         * global_setup.c: Initialize PMC strings
6012 2001-11-29 04:25  jgoff
6014         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
6015         string PMCs.
6017 2001-11-29 04:24  jgoff
6019         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6020         files to properly upgrade int to num, do calculations.  Also added
6021         basic string operations. Currently errors out on anything but set
6022         operations, but this will be fixed soon.
6024 2001-11-29 04:22  jgoff
6026         * Makefile.in: PMC .c files weren't getting cleaned out.
6028 2001-11-28 17:00  simon
6030         * t/harness:
6032         Make csh-glob happy.
6034         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6036 2001-11-28 16:40  simon
6038         * classes/perlnum.pmc:
6040         De-C++
6042 2001-11-28 15:22  simon
6044         * string.c:
6046         Fixes Alex's string concat worry.
6048 2001-11-28 14:27  ajgough
6050         * t/op/string.t: test "null onto null" incorrectly passing as it
6051         produced no output.  Output provided.
6053 2001-11-28 11:14  simon
6055         * include/parrot/pmc.h:
6057         Placate AIX.
6059 2001-11-26 21:03  dan
6061         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6063 2001-11-26 17:29  simon
6065         * classes/perlint.pmc:
6067         Various subtle but non-showstopper bugs.
6069 2001-11-26 11:23  simon
6071         * classes/pmc2c.pl:
6073         Replace dependency on Text::Balanced
6075         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6077 2001-11-26 05:22  jgoff
6079         * global_setup.c: Last file that should need to be committed. I
6080         swear.
6082 2001-11-26 05:09  jgoff
6084         * core.ops: Let's try this again... Changes to core.ops required
6086 2001-11-26 04:58  jgoff
6088         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6089         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6090         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6091         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6092         functions classes/perlnum.pmc - Set up basic number functions
6093         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6094         tests against numbers and numbers+integers
6096 2001-11-25 13:18  simon
6098         * Makefile.in:
6099         Windows XP make doesn't like $<
6101 2001-11-25 12:56  simon
6103         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6104         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6105         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6106         examples/assembly/mops_p.pasm:
6107         PMC preprocessor.
6109         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6111         I (Simon) also added a couple more integer methods, but no tests
6112         since I'm a Bad Person.
6114 2001-11-25 08:40  brentdax
6116         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6117         lib/Parrot/OpsFile.pm: Allow _ in op names
6119 2001-11-25 05:54  jgoff
6121         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6122         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6124 2001-11-23 18:27  simon
6126         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6127         Add everything you need to make MOPS use PMCs.
6129 2001-11-23 18:06  simon
6131         * core.ops:
6132         Eh, you'll need this for rewriting mops.pasm.
6134 2001-11-23 17:55  simon
6136         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6137         t/pmc/pmc.t:
6138         More work on integer PMCs.
6140 2001-11-23 17:29  simon
6142         * Makefile.in:
6143         Surprise! Whitespace! HLAGHLAGHLAGH
6145 2001-11-23 17:28  simon
6147         * Makefile.in, ops2c.pl, ops2pm.pl:
6148         Add vtables.ops to the core
6150         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6152 2001-11-22 18:39  simon
6154         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6155         t/pmc/pmc.t:
6156         We can now create PMCs.
6158 2001-11-21 05:49  jgoff
6160         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6162 2001-11-20 16:00  simon
6164         * docs/vtables.pod, include/parrot/pmc.h:
6165         Reorder PMC flags so there's a fixed number of user-defined flags.
6167         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6169 2001-11-19 03:39  jgoff
6171         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6172         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6173         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6174         escaped quotes, and proper                handling of newlines.
6176 2001-11-16 22:03  simon
6178         * classes/perlint.c:
6179         More work on the Perl Integer class. More needed, though.
6181 2001-11-16 21:57  simon
6183         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6184         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6186 2001-11-16 20:49  simon
6188         * interpreter.c, runops_cores.c, trace.c,
6189         include/parrot/runops_cores.h:
6190         Kill superfluous runops cores.
6192 2001-11-16 17:50  simon
6194         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6195         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6196         include/parrot/parrot.h, include/parrot/pmc.h:
6197         Skeleton for Perl scalar types, done right.
6199 2001-11-16 16:15  simon
6201         * classes/genclass.pl:
6202         This tidies up genclass to deal with the new-style multimethods.
6204 2001-11-16 15:29  simon
6206         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6207         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6208         Rework multimethods to be *true* multimethods - that is, have
6209         different types.
6211 2001-11-15 22:29  simon
6213         * MANIFEST, Makefile.in, pmc.c:
6214         pmc.c linkage and support. Oh, and making it compile.
6216 2001-11-15 22:26  dan
6218         * t/op/interp.t: Forgot to tell CVS about the test...
6220 2001-11-15 22:10  dan
6222         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6223         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6224         for PMC registers for the interpreter.
6226         Added in the docs for the runinterp opcode.
6228         Added in code for both the newinterp and runinterp opcodes, so we
6229         can now create new interpreters from within parrot and have them do
6230         things. (Though we can't pass data back and forth. Yet)
6232 2001-11-15 21:24  simon
6234         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6235         More documentation, and other changes as discussed with Dan.
6237 2001-11-15 19:51  simon
6239         * classes/scalarclass.c:
6240         De-cut-and-pasto.
6242 2001-11-15 19:50  simon
6244         * classes/scalarclass.c:
6245         A little code tidiness.
6247 2001-11-15 19:33  simon
6249         * include/parrot/pmc.h:
6250         Missed this in the previous commit - un-constantize the base for
6251         user-defined PMC flags.
6253 2001-11-15 19:28  simon
6255         * classes/scalarclass.c:
6256         Hey look, sanity.
6258 2001-11-15 17:09  simon
6260         * classes/scalarclass.c:
6261         It seems I have completely forgotten how to write C.
6263 2001-11-15 16:53  simon
6265         * docs/vtables.pod:
6266         Start of the PMC classes documentation.
6268 2001-11-15 14:46  simon
6270         * classes/scalarclass.c:
6271         Changing to use a Perl-style struct instead of the union cache.
6273 2001-11-13 23:56  tom
6275         * string.c: Removed leading _ from string_index as function names
6276         starting with _ are reserved to implementors by the C standard.
6278         Also fixed string_index to use the encoding routines instead of
6279         assuming a single byte encoding.
6281 2001-11-13 12:59  jgoff
6283         * string.c: Patched string_concat to accept null strings.  That
6284         test was failing. Nothing to do with ord().
6286 2001-11-13 12:43  jgoff
6288         * string.c: string_ord function, string_concat fixes
6290 2001-11-13 04:52  jgoff
6292         * core.ops: Added ord to core.ops
6294 2001-11-13 04:35  jgoff
6296         * docs/strings.pod, include/parrot/exceptions.h,
6297         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6298         operator, documentation string.c - Added string_ord, _string_index
6299         (_string_index is a static helper)              Patched
6300         string_concat to handle null strings properly.  docs/strings.pod -
6301         Description of string_ord include/parrot/exceptions.h - Added
6302         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6303         string_ord() t/op/string.t - Added full set of test for
6304         ord_i_(s|sc)(_(i|ic))?
6306         string.c contains a bit of documentation explaining the logic
6307         behind _string_index, primarily having to do with multiple encoding
6308         formats.
6310 2001-11-12 22:30  simon
6312         * t/op/macro.t:
6313         Count 'em.
6315 2001-11-12 22:28  simon
6317         * Makefile.in:
6318         Add a rule to compile "platform"
6320 2001-11-12 22:26  simon
6322         * Makefile.in:
6323         Tidy up distclean target.
6325 2001-11-12 16:54  dan
6327         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6328         t/op/macro.t: Fixes to the assembler's macro facility and a test
6330         Courtesy of: Jeff <jgoff@speakeasy.net>
6332 2001-11-12 16:50  dan
6334         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6335         stdin
6337         Courtesy of: Jeff <jgoff@speakeasy.net>
6339 2001-11-12 16:36  dan
6341         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6342         CygWin
6344         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6346 2001-11-12 11:22  simon
6348         * examples/assembly/mops.pasm:
6350         Trivial tightening of mops loop.
6352 2001-11-07 23:57  ajgough
6354         * docs/tests.pod: This is a basic quide to writing tests with
6355         assembler.
6357 2001-11-07 22:29  dan
6359         * stacks.c: Added a little documentation on the cleanup parameter
6360         for an entry
6362 2001-11-07 14:43  dan
6364         * MANIFEST, platforms/generic.c, platforms/linux.c,
6365         platforms/linux.h: Portability patches.
6367         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6369 2001-11-06 19:51  tom
6371         * Makefile.in: Clean up object files in the subdirectories as well
6372         as those in the top level directory.
6374         Enhanced version of patch from Daniel Grunblatt
6375         <daniel@grunblatt.com.ar>
6377 2001-11-06 16:14  dan
6379         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6380         platforms/generic.c, platforms/generic.h: Made things a bit more
6381         platform-independent. Makefile still needs work to pick up changes
6382         to the platform-specific files.
6384 2001-11-05 21:32  dan
6386         * docs/parrot_assembly.pod: Added docs for the GC control ops
6388 2001-11-04 02:52  gregor
6390         * platforms/: win32.c, win32.h:
6391           * win32 dynamic loading functions.
6393         Courtesy of Jason Diamond <jason@injektilo.org>
6395 2001-11-04 00:04  brentdax
6397         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6398         allows an absolute path to be used and gives a useful error message
6399         if the original source file can't be found
6401 2001-11-02 12:37  gregor
6403         * platforms/: linux.c, linux.h:
6404           * Beginning of dynamic loading support. Linux only for now.
6406 2001-11-02 12:13  gregor
6408         * MANIFEST, time.c, include/parrot/time.h:
6409           * Removed time.[hc], since they have been superseded by the new
6410         platform
6411             stuff.
6413 2001-11-02 12:11  gregor
6415         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6416         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6417         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6418         platforms/win32.c, platforms/win32.h:
6419         Patch from Jason Diamond to make win32 platform stuff work:
6421         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6422         platform specific files in the platforms directory gets copied to
6423         the correct directories. The Makefile will re-copy the platform.h
6424         and .c files if the original is modified.
6426         * #include platform.h in parrot.h instead of time.h.
6428         * Removed time.h and time.obj from the Makefile. time.h and time.c
6429         aren't being used anymore since that code was moved to linux.c and
6430         win32.c.
6432         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6433         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6434         windows.h. This required updating several files besides parrot.h.
6436         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6437         instead of the missing identifiers (on Windows) in core.ops in the
6438         calls to open.
6440         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6441         platform files and called those from core.ops. The Linux code for
6442         these functions came from core.ops so they should hopefully work.
6444         Courtesy of Jason Diamond <jason@injektilo.org>
6446 2001-11-02 06:43  brentdax
6448         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6449         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6451 2001-11-02 02:26  gregor
6453         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6454         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6455         platforms/win32.h:
6456           * Beginnings of platform support files in platform/*.[hc]
6458 2001-11-01 23:37  tom
6460         * classes/intclass.c: Added missing *'s to STRING arguments and
6461         return values to avoid compiler warnings.
6463 2001-11-01 22:21  gregor
6465         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6466         include/parrot/parrot.h, include/parrot/time.h:
6467         Initial "fix" of time(n) op for Win32:
6469           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6471           * time.c and include/parrot/time.h
6473             First attempt at getting this working across platforms. The
6474             macro WIN32 being tested might not be right.
6476           * New functions Parrot_intval_time() and Parrot_floatval_time()
6477             wrap the appropriate functionality depending upon platform.
6478             Changed core.ops to call these.
6480         Added obscure.ops with obscure transcendental ops.
6482         Added simple file I/O ops (close, open, read, write):
6484           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6486           * I changed some arg ordering stuff.
6488           * I added read/write of INTVALs and FLOATVALs.
6490         Added environment variable ops (getenv, setenv)
6492         Added system error ops (err(i) and err(s) for accessing errno and
6493         strerr().
6495         Moved print ops in with other "temporary" developer ops, since
6496         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6498 2001-10-31 22:51  tom
6500         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6501         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6502         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6503         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6504         encodings/utf8.c, include/parrot/chartype.h,
6505         include/parrot/encoding.h, include/parrot/exceptions.h,
6506         include/parrot/parrot.h, include/parrot/string.h,
6507         include/parrot/strnative.h, include/parrot/strutf16.h,
6508         include/parrot/strutf32.h, include/parrot/strutf8.h,
6509         include/parrot/transcode.h: Reworked the string code in line with
6510         Dan's latest design that separates character sets from encodings.
6512 2001-10-31 19:53  dan
6514         * docs/parrot_assembly.pod: Finished I/O section of docs
6516 2001-10-31 16:51  dan
6518         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6519         Moved includes out of core.ops and into parrot.h where they belong
6520         (suitably guarded with #ifdefs). Also some updates to
6521         parrot_assembly.pod
6523 2001-10-30 21:43  dan
6525         * core.ops, stacks.c, docs/parrot_assembly.pod,
6526         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6527         of the entry on the stack
6529 2001-10-29 18:30  dan
6531         * stacks.c: You can turn off stack entry type validation on pop by
6532         passing in a type of 0 now. (For those cases where you just want to
6533         throw the darned thing away)
6535 2001-10-29 14:37  gregor
6537         * core.ops, languages/jako/jakoc:
6538           * New variants of the save ops to save constants on the stack.
6539         This is
6540             useful for saving zero arg and result counts on the stack, for
6541         example.
6543           * Modified jakoc to to adapt to the newly announced calling
6544         conventions.
6545             Even though Jako source code appears to show subroutines with
6546         fixed
6547             numbers of arguments and results, they are implemented with the
6548             variable count calling convention. Future modifications will be
6549         needed
6550             to ensure that an exception is raised if the stack frame is of
6551         the
6552             wrong size (or, at least that we pop the complete frame off).
6553         We'll
6554             also have to make more changes to support the true
6555         fixed-arg-count
6556             and fixed-result-count parts of the calling convention spec.
6558 2001-10-28 16:53  simon
6560         * MANIFEST, stacks.c, classes/scalarclass.c,
6561         include/parrot/stacks.h:
6562         Unbelievably bad errors of mine, plus a type incompatibility of
6563         Dan's.
6565 2001-10-28 08:30  simon
6567         * classes/scalarclass.c:
6568         Beginning of a scalar class.
6570 2001-10-28 08:29  simon
6572         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6573         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6574         include/parrot/pmc.h:
6575         This fixes the problem with vtables and pointer arithmetic.
6577 2001-10-26 19:58  dan
6579         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6580         include/parrot/stacks.h: Split the generic stack into a user push
6581         stack and a control stack
6583 2001-10-26 02:59  bdwheele
6585         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6587 2001-10-24 20:27  dan
6589         * languages/scheme/: Makefile, Scheme.pm, schemec,
6590         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6591         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6592         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6593         Scheme compiler
6595 2001-10-24 20:23  dan
6597         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6598         interpreter needs in pdump.c. Added scheme bits to manifest
6600 2001-10-24 16:43  gregor
6602         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6603           * Make the assembler handle octal character code escapes in
6604         string
6605             constants.
6607 2001-10-24 15:56  dan
6609         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6610         play the game of life
6612 2001-10-24 15:54  dan
6614         * core.ops: Added sleep. We'll need to override this to do events
6615         properly anyway, so...
6617 2001-10-24 14:03  gregor
6619         * Makefile.in, pbc2c.pl, pdump.c:
6620           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6621         interpreter
6622             pointer into string functions.
6624         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6626 2001-10-23 20:09  gregor
6628         * languages/jako/jakoc:
6629           * Terminological refinement in regexp capture comment.
6631 2001-10-23 15:23  simon
6633         * classes/genclass.pl:
6634         Use a saner ANSI C construct to make MIPSPro happy.
6636         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6638 2001-10-23 00:34  tom
6640         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6641         strutf8.c, include/parrot/string.h: Make sure the interpreter
6642         structure is passed to the transcoder as necessary, including
6643         passing it to string_compare().
6645 2001-10-23 00:32  tom
6647         * Makefile.in: Make pdump build again by including resources.o in
6648         the link.
6650 2001-10-22 22:43  dan
6652         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6653         strutf32.c, strutf8.c, test_main.c, transcode.c,
6654         include/parrot/packfile.h, include/parrot/parrot.h,
6655         include/parrot/resources.h, include/parrot/string.h,
6656         include/parrot/transcode.h: Everything now uses the allocators and
6657         deallocators in resources.c.
6659         Unfortunately we lost standalone string-test mode, but I can cope
6660         with that.
6662         Please note that until we have a real allocation/deallocation/GC
6663         system, this'll leak. A *lot*.
6665 2001-10-22 20:27  dan
6667         * MANIFEST, Makefile.in, pmc.c, resources.c,
6668         include/parrot/resources.h: First cut to handle arena allocation of
6669         PMC headers. (Amongst other things)
6671 2001-10-22 19:02  dan
6673         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6674         Now each register type has its own mask macro, which is the right
6675         thing to do.
6677         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6679 2001-10-21 23:40  tom
6681         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6682         stack chunk and add a test to test this rollover in future.
6684         Courtesy of Jason Gloudon <perl@gloudon.com>.
6686 2001-10-21 19:14  dan
6688         * include/parrot/string.h: Changed string 'unused' field to the
6689         language field.
6691 2001-10-21 18:18  gregor
6693         * languages/jako/: Makefile, mops.jako:
6694           * Makefile: 'clean' target removes .list files, too. And, it does
6695         rm -f
6696             with wildcards rather than listing things explicitly.
6698           * mops.jako actually prints out the
6699         millions-of-operations-per-second
6700             (mops) value instead of just the operations-per-second value.
6702 2001-10-21 18:03  simon
6704         * classes/intclass.o:
6705         *smack*! WRONG!
6707 2001-10-21 17:47  simon
6709         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6710         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6711         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6712         lib/Parrot/Vtable.pm:
6713         Initial work on PMCs. Explanation to follow
6715 2001-10-21 15:20  gregor
6717         * examples/assembly/queens.pasm:
6718           * Modernize the calling conventions in queens.pasm. It was using
6719         swap,
6720             which now must be rotate. Also, changed to use return values on
6721         the
6722             stack instead of in I0.
6724 2001-10-19 18:14  gregor
6726         * core.ops, stacks.c, include/parrot/stacks.h,
6727         languages/jako/jakoc:
6728         Per Dan's request, replacing 'swap' op by 'rotate'.
6730           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6732           * stacks.c and stacks.h: Removed swap-related functions from my
6733             prior commit, replacing them with stack_depth(), stack_entry()
6734             and rotate_entries().
6736             NOTE: The stack_depth() and rotate_entries() routines could
6737             be made more efficient through the caching of the sum of chunk
6738             'used' members from lower chunks in a field in the upper
6739             chunks. Also, if the interpreter's stack_base was changed to
6740             hold the pointer to the *top* chunk (since we usually come
6741             at the stack from the top down) instead of the *bottom*
6742             chunk. The code here at least works, and we can decide about
6743             bigger changes separately.
6745             For now, rotate only handles rotates in one direction and
6746             of magnituded one. A fully general rotate would do handle
6747             rotates in both directions and of arbitrary amounts. Again,
6748             this implementation is sufficient for current applications,
6749             and a feature-complete version can be developed if this turns
6750             out to be otherwise the right type of implementation.
6752             This change includes a new exception for ERROR_STACK_SHALLOW,
6753             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6755           * jakoc: Changed the calling convention to use rotate instead
6756             of swap (of course). Also changed the convention for return
6757             value passing to use the stack as well.
6759 2001-10-19 13:36  gregor
6761         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6762         examples/assembly/queens.pasm, include/parrot/stacks.h,
6763         languages/jako/.cvsignore, languages/jako/Makefile,
6764         languages/jako/bench.jako, languages/jako/euclid.jako,
6765         languages/jako/fact.jako, languages/jako/jakoc,
6766         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6767         languages/jako/primes.jako, languages/jako/queens.jako,
6768         languages/jako/sub.jako:
6769           * New stack functions push_entry(), pop_entry() and swap_entry().
6770             The first two exist for the support of the last one. These
6771             functions don't care what is in the stack entries. These exist
6772             to support the new 'swap' op (see next bullet).
6774           * New op 'swap' for swapping the top two elements on the stack.
6775             This is necessary for passing arguments to functions, since
6776             the return address will be on top of any arguments that have
6777             been pushed on the stack. This way, you can use a (swap, pop)
6778             pair to retrieve each argument (for subroutine linkage).
6780           * Disassembler now prints numbers in decimal by default, with
6781             a new '-x' flag to turn on hexadecimal display. Since other
6782             members of the Parrot Tool Set use decimal by default, this
6783             makes it easier to compare output from the various tools.
6785           * Jako compiler has more explanatory comments and the following
6786             new features:
6788               * Lexically scoped variables.
6790               * Subroutines that take arguments and return values:
6792                   sub int foo(int bar) {
6793                     if (bar == 1) {
6794                       return 42;
6795                     } else {
6796                       return 13;
6797                     }
6798                   }
6799               * ... if (...) and ... unless (...) statement modifiers
6800                 can be used on next, last and redo.
6802               * Bitwise and (&, &=) and or (|, |=) ops.
6804               * Type names are just 'int', 'num', 'str', and 'poly' now.
6805                 The old long names 'integer', 'number', 'string', and
6806                 'polytype' are no longer valid.
6808               * Integer variable assignments can now use 0b (binary),
6809                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6811           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6812             solving the eight-queens problem. The assembly example is a
6813             hand-modified version of the assembly code produced by the
6814             Jako compiler from queens.jako. A few unnecessary ops have
6815             been removed, lots of unnecessary labels have been removed,
6816             and all the Jako source code comments have been removed.
6818           * Makefile and .cvsignore in languages/jako modified so that
6819             the assembler produces listings when assembling the programs,
6820             yet the *.list files are ignored by CVS.
6822           * Made the default target in languages/jako/Makefile 'all'.
6824           * Modified some of the Jako examples to use some of the new
6825             features of Jako, such as subroutines and lexical variable
6826             scoping.
6828 2001-10-19 02:43  gregor
6830         * runops_cores.c, include/parrot/runops_cores.h:
6831         Bug fix (gcc doesn't complain, but MIPSpro does):
6833           * Added missing extern to runops_cores array declaration in
6834             include/parrot/runops_cores.h
6836           * Also added 'const' there and in runops_cores.c
6838 2001-10-18 15:18  gregor
6840         * .cvsignore, include/parrot/oplib/.cvsignore:
6841           * Ignore the vtable-related generated files.
6843 2001-10-18 15:14  gregor
6845         * core.ops:
6846           * left and right shifts now allow the 2nd argument to be a
6847         constant.
6849 2001-10-18 14:55  simon
6851         * make_vtable_ops.pl:
6852         This is C, not Perl. How on earth did that even compile?
6854 2001-10-18 14:54  simon
6856         * make_vtable_ops.pl:
6857         More vtable ops.
6859 2001-10-18 12:33  simon
6861         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6862         Initial stab at vtable opcode creation stuff.
6864 2001-10-18 02:15  gregor
6866         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6867         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6868         include/parrot/trace.h: Preparation for autogenerated runops cores:
6870           * Split tracing and runops core stuff out of interpreter.c into
6871             trace.c and runops_cores.c
6873           * Similar split of stuff from include/parrot/interpreter.h
6875           * Manifest and Makefile.in updates to make things still compile.
6877 2001-10-18 01:21  gregor
6879         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6881           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6883           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6885           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6887           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6889           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6890         with
6891             copy of $ops->preamble.
6893 2001-10-17 22:32  bdwheele
6895         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6896         request.
6898 2001-10-17 22:08  gregor
6900         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6901           * Now handles label-and-comment-only lines.
6903 2001-10-17 22:04  bdwheele
6905         * interpreter.c: added more comprehensive trace output
6907 2001-10-17 16:50  tom
6909         * Makefile.in: Removed the explicit rule for building mops.o from
6910         mops.c so that the implicit rule for compiling C files is used
6911         instead. This means that the chosen C flags are used, including any
6912         optimisation options.
6914 2001-10-17 15:24  tom
6916         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6917         op explosion logic to be able to handle exploding this:
6919           sub(i, i|ic, i|ic)
6921         into these:
6923           sub(i, i, i)
6924           sub(i, i, ic)
6925           sub(i, ic, i)
6927         without also generating this unwanted version:
6929           sub(i, ic, ic)
6931         The enhanced version rejects any expansion where there is more than
6932         one expanded argument and all the expanded arguments are constants.
6934 2001-10-17 14:20  simon
6936         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6937         Build fixes to use correct Perl version and ensure that things are
6938         running in the right directory.
6940         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6942 2001-10-17 13:16  simon
6944         * Makefile.in:
6945         core.pm is more critical than that.
6947 2001-10-17 13:05  simon
6949         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6950         "Explode" ops into multiple versions for different parameters.
6952         Courtesy of: Tom Hughes <tom@compton.nu>
6954 2001-10-17 12:54  simon
6956         * Makefile.in:
6957         Fix dependencies and cleaning.
6959 2001-10-17 12:45  simon
6961         * Configure.pl, Makefile.in:
6962         Fixes to make Parrot compile without the temporary build hack
6964         Courtesy of: Jason Gloudon <perl@gloudon.com>
6966 2001-10-16 20:43  gregor
6968         * Makefile.in:
6969           * Fixed dependencies for building Parrot/OpLib/core.pm
6971 2001-10-16 19:35  bdwheele
6973         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6974         added test, thanks to Alex Gough
6976 2001-10-16 16:49  bdwheele
6978         * core.ops: added opcode variants for constants and 3 arg concat
6980 2001-10-16 15:12  bdwheele
6982         * core.ops: added "set Sx,Sy" as a string copy to match the other
6983         register-to-register copies available
6985 2001-10-16 13:09  gregor
6987         * core.ops:
6988           * Added #include <sys/time.h> in the preamble for gettimeofday().
6990 2001-10-16 13:09  gregor
6992         * Makefile.in:
6993           * Removed cd t; make, which no longer applies
6995 2001-10-16 03:18  bdwheele
6997         * core.ops: fix save & restore operations to push correct type onto
6998         stack. [good eye to Jason Gloudon for noticing this]
7000 2001-10-16 01:38  bdwheele
7002         * core.ops, register.c, examples/assembly/fact.pasm,
7003         include/parrot/register.h: send in the clones:  clone routines for
7004         parrot + example program
7006 2001-10-15 22:37  gregor
7008         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
7009         examples/assembly/Makefile, examples/assembly/bsr.pasm,
7010         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
7011         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
7012         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
7013         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
7014         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
7015         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7016         t/test4.pasm, t/test5.pasm, t/trace.pasm:
7017           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
7018         some
7019             renames so the names match what they demonstrate.
7021 2001-10-15 22:18  gregor
7023         * core.ops, t/test.pasm:
7024           * time_n uses gettimeofday() to get sub-second times.
7026           * t/test.pasm uses time_n directly rather than doing int stuff
7027         and
7028             converting to num later.
7030 2001-10-15 12:28  gregor
7032         * t/: test.pasm, test2.pasm, trace.pasm:
7033           * t/test.pasm prints using string constants instead of string
7034         regs.
7036           * t/test2.pasm assembles (using implicit op modes)
7038           * t/trace.pasm updated for new behavior of trace_ic, which does
7039         not
7040             require an 'end' after 'trace'.
7042 2001-10-15 00:47  gregor
7044         * core.ops, interpreter.c, test_main.c,
7045         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7046         PARROT_PROFILE_FLAG
7048           * New runops cores to handle profiling
7050           * Support for -p flag in test_prog to enable profiling
7052           * New profile_ic op to control profiling at run-time
7054 2001-10-14 21:54  gregor
7056         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7057         lib/Parrot/OpsFile.pm: Integrated op documentation.
7059           * core.ops now contains POD documentation of ops, interspersed
7060         with the
7061             ops themselves
7063           * Ops are organized into POD =head2 sections
7065           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7066         anything
7067             up to the first POD directive OR op definition.
7069           * docs/Makefile now generates core_ops.pod from core.ops vi
7070         perldoc -u.
7072 2001-10-14 11:58  simon
7074         * Makefile.in:
7075         Unbreak Digital Un^W^WTru64
7077 2001-10-14 11:00  simon
7079         * Configure.pl:
7080         Remove weird typo.
7082 2001-10-14 10:56  tom
7084         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7085         op_info.c no longer exists and op.h is no longer a generated file.
7087 2001-10-14 10:54  tom
7089         * Makefile.in: Added vtable.h to the list of things removed by the
7090         clean target.
7092 2001-10-14 01:43  gregor
7094         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7095         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7096         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7097         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7098         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7099         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7100         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7101         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7102         include/parrot/interpreter.h, include/parrot/op.h,
7103         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7104         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7105         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7106         Moby Patch:
7108           * basic_opcodes.ops and opcode_table replaced by core.ops
7110           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7111             and ops2c.pl. These convert *.ops to *_ops.c and
7112             include/parrot/oplib/*_ops.h
7114           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7116           * disassemble.pl modified to use
7118           * interpreter.c modified to use structures in core_ops.c instead
7119             of the old op_info and op_func stuff. We're not yet to the
7120             point of handling multiple oplibs at a time, but we are getting
7121             there...
7123             Fingerprinting stuff disabled for now. We used to go off
7124             opcode_table. We need to rethink this. I have some ideas to
7125             make it unnecessary, but it remains to be seen whether others
7126             will like the direction they take us.
7128             Termination condition for while(){} loop in runops is now
7129             (pc) instead of (*pc). Any op can cause a HALT by returning
7130             a NULL pointer. Ops end, bounds and trace all do this. So, now
7131             the 'end' op body is actually executed, although all it does
7132             is HALT.
7134           * Makefile.in modified to perform a test build using pbc2c.pl,
7135             which is the bytecode --> C compiler I've posted to the
7136             list before.
7138           * Op full names are now autogenerated. Op root names must not
7139             contain underscores, so some op renamings have happened.
7140             Such as clear_i becoming cleari.
7142 2001-10-13 11:49  simon
7144         * Configure.pl, MANIFEST:
7145         Make parrot actually build again.
7147 2001-10-12 21:34  dan
7149         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7150         opcodes
7152 2001-10-12 20:56  dan
7154         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7155         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7156         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7157         generic stack now in. We also have subroutines, of a simple sort!
7159 2001-10-12 19:15  tom
7161         * t/op/string.t: Improved string comparison tests try all string
7162         combinations with each of the comparison ops.
7164 2001-10-12 19:09  dan
7166         * interpreter.c: Properly sets up generic stack now
7168 2001-10-12 19:09  dan
7170         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7171         interpreter structure
7173 2001-10-12 18:59  dan
7175         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7176         changes to get the generic stack working
7178 2001-10-12 18:59  dan
7180         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7181         hints/vms.pl: Made the changes to figure out mask bits for various
7182         register and stack chunks
7184 2001-10-11 22:09  dan
7186         * docs/parrot_assembly.pod: Tossed the parameter for return
7188 2001-10-11 19:28  tom
7190         * strnative.c: Assignment, not comparison.  (Plus formatted for
7191         coding standards)
7193         Courtesy of Bryan C. Warnock
7195 2001-10-10 19:21  tom
7197         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7198         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7199         include/parrot/string.h, t/op/string.t: Added support for string
7200         comparisons and extended the comparison ops to include comparison
7201         of strings.
7203 2001-10-10 17:58  dan
7205         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7207 2001-10-10 17:54  dan
7209         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7210         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7211         vtable type entries properly
7213 2001-10-10 15:37  dan
7215         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7216         parse new vtable.tbl file now that I've actually checked *in* the
7217         new format vtable.tbl file...
7219 2001-10-10 15:32  dan
7221         * vtable.tbl: New Column to indicate the type of the vtabel entry
7222         so we can know how many slots it takes
7224 2001-10-10 05:26  thgibbs
7226         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7227         allow parrot to compile.  PACKAGE is not defined, therefore, I
7228         added a struct before it to have it not complain until we define
7229         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7230         semicolon at the end of the struct declaration.
7232 2001-10-10 05:09  thgibbs
7234         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7235         string constants of the form U"string" become unicode encoded
7236         parrot strings and the form N"string" become native encoded parrot
7237         strings.
7239         Courtesy of: Tom Hughes <tom@compton.nu>
7241 2001-10-10 04:55  dan
7243         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7244         support for generating the vtable function table offset macros
7246 2001-10-10 01:05  simon
7248         * t/op/integer.t:
7249         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7250         compiles into the mod op, not the cmod_i op, hence wasn't testing
7251         what it thought it was.
7253         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7255 2001-10-09 03:45  thgibbs
7257         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7258         assembler to generate unicode strings.
7260         Courtesy of: Tom Hughes <tom@compton.nu>
7262 2001-10-08 19:30  brentdax
7264         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7265         info for Parrot::Config to remember, more flexible test.c stuff
7267 2001-10-08 15:04  gregor
7269         * basic_opcodes.ops:
7270           * Removed trash from early mod_i experiments (pardon our dust)
7272 2001-10-08 14:56  gregor
7274         * basic_opcodes.ops:
7275           * Fixed a couple of typos.
7277 2001-10-08 14:45  gregor
7279         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7280         Arithmetic enhancements:
7282           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7284             NOTE: This "uncorrected mod" algorithm uses the C language's
7285         built-in
7286             mod operator (x % y), which is
7288                 ... the remainder when x is divided by y, and thus is zero
7289         when y
7290                 divides x exactly.
7291                 ...
7292                 The direction of truncation for / and teh sign of the
7293         result for %
7294                 are machine-dependent for negative operands, as is the
7295         action taken
7296                 on overflow or underflow.
7297                                                                      --
7298         [1], page 41
7300             Also:
7302                 ... if the second operand is 0, the result is undefined.
7303         Otherwise, it
7304                 is always true that (a/b)*b + a%b is equal to z. I both
7305         operands are
7306                 non-negative, then teh remainder is non-negative and
7307         smaller than the
7308                 divisor; if not, it is guaranteed only that the absolute
7309         value of the
7310                 remainder is smaller than the absolute value of the
7311         divisor.
7312                                                                      --
7313         [1], page 205
7315             This op is provided for those who need it (such as
7316         speed-sensitive
7317             applications with heavy use of mod, but using it only with
7318         positive
7319             arguments), but a more mathematically useful numeric mod based
7320         on
7321             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7323               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7324         Programming
7325                   Language*, Second Edition. Prentice Hall, 1988.
7327           * Added "corrected" mod_i:
7329             NOTE: This "corrected mod" algorithm is based on the C code on
7330         page 70
7331             of [1]. Assuming correct behavior of C's built-in mod operator
7332         (%) with
7333             positive arguments, this algorithm implements a mathematically
7334         convenient
7335             version of mod, defined thus:
7337               x mod y = x - y * floor(x / y)
7339             For more information on this definition of mod, see section 3.4
7340         of [2],
7341             pages 81-85.
7343             References:
7345               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7346                   Millennium* Springer, 1999.
7348               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7349         *Concrete
7350                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7352           * Added mod_n, using the same formula as above, but with FLOATVAL
7353             arguments.
7355           * Added cmod_n, using the C math library's fmod() function:
7357             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7358         library's
7359             fmod() function, which computes
7361                 ... the remainder of dividing x by y. The return value is x
7362         - n * y,
7363                 where n is the quotient of x / y, rounded towards zero to
7364         an
7365                 integer.
7366                                                 -- fmod() manpage on RedHat
7367         Linux 7.0
7369             In addition, fmod() returns
7371                 the remainder, unless y is zero, when the function fails
7372         and errno
7373                 is set.
7375             According to page 251 of [1], the result when y is zero is
7376         implementation-
7377             defined.
7379             This op is provided for those who need it, but a more
7380         mathematically
7381             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7382         and
7383             defined with y == 0 is provided by the mod_n op.
7385               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7386         Programming
7387                   Language*, Second Edition. Prentice Hall, 1988.
7389           * Added and modified tests as appropriate for the above.
7391 2001-10-08 08:49  thgibbs
7393         * include/parrot/exceptions.h, include/parrot/parrot.h,
7394         include/parrot/string.h, include/parrot/strutf16.h,
7395         include/parrot/strutf32.h, include/parrot/strutf8.h,
7396         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7397         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7398         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7399         strings for utf8, utf16, and utf32.
7401         Courtesy of: Tom Hughes <tom@compton.nu>
7403 2001-10-08 08:10  thgibbs
7405         * memory.c: Fixed uninitialized variables.
7407         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7409 2001-10-08 01:21  gregor
7411         * packfile.c:   * Casting a return value
7413           * Potential uninitialized variable fix
7415         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7417 2001-10-08 01:15  gregor
7419         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7420         a few tweaks of my own):
7422           * Line wrapping
7424           * Printf format fixes
7426         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7428 2001-10-07 22:39  thgibbs
7430         * build_interp_starter.pl: No longer adds (void*) casts to
7431         interp_guts.c function table as they are not necessary in ANSI C.
7433 2001-10-07 16:27  gregor
7435         * basic_opcodes.ops, interpreter.c, opcode_table,
7436         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7437         t/trace.pasm:
7438           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7439             interpreter->flags and set interpreter->resume_addr.
7441           * Two new runops core variants, so now we cover the relevant
7442             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7444           * Runops core selection that converts the flags into an index
7445         into
7446             a core table (runops_cores) to get the core function pointer.
7448           * A new trace_op variant that doesn't do bounds checking (used by
7449             the non-bounds-checking-but-tracing runops core).
7451           * PC is passed into the cores so that they can be used when
7452             resuming (they used to assume starting at the beginning of the
7453             code, which would thwart resumption).
7455           * runops() itself is changed to have a while() loop in it so that
7456             any time we drop out of the core, we'll resume if we have an
7457             interpreter->resume_addr set (after reselecting the core,
7458         though).
7460           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7461             interpreter->resume_addr. This is used by the new ops. The new
7462             ops still return the new PC as the next op (which MUST be an
7463             'end' op to force the core loop to terminate -- *pc being false
7464             is the only termination condition we can count on for all
7465         cores).
7467           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7468             bounds checking core selection.
7470           * test_prog now has a '-b' flag in addition to the '-t' flag.
7471         Now,
7472             bounds checking is off by default (I saw a performance boost:
7473             6.3 Mop/s with -b, 7.0 Mop/s without).
7475           * A new sample/test program: t/trace.pasm that twiddles the trace
7476             flag while it is running.
7478 2001-10-07 15:41  gregor
7480         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7481         include/parrot/.cvsignore, include/parrot/interpreter.h:
7482         Now that 0.0.2 is released, I can clear out the backlog of approved
7483         but uncommitted patches. Here's one Dan approved on 2001-09-21
7484         (Simplified DO_OP):
7486           * test_prog and pdump are linked with only the files the need,
7487         not
7488             al the files.
7490           * build_interp_starter.pl writes out op_info.[hc], too. These
7491         files
7492             contain op name, arg count and arg type information. This will
7493         be
7494             useful for multiple things in the future, including better
7495         trace
7496             output and the crystalizing loader.
7498           * The DO_OP macro is now simpler and doesn't require explicit
7499             temporaries.
7501           * interpreter.c is modified to use the new op info in tracing
7502         output.
7504           * The interpreter just points its opcode_funcs and opcode_info
7505             members at the default tables rather than allocating memory on
7506             the fly.
7508 2001-10-07 03:58  thgibbs
7510         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7511         comment and adding vtable.h to .cvsignore as it is produced by
7512         vtable_h.in
7514 2001-10-06 20:58  thgibbs
7516         * vtable.tbl: Added * to REGEX type.
7518         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7520 2001-10-06 13:41  simon
7522         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7523         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7524         Framework for vtable functions.
7526 2001-10-06 06:52  thgibbs
7528         * make_op_header.pl: Removed confusing and unused typedef.
7530 2001-10-06 06:31  thgibbs
7532         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7533         are no longer used.
7535 2001-10-06 06:26  thgibbs
7537         * disassemble.pl: Changed intval to op in disassembler.
7539 2001-10-06 06:21  thgibbs
7541         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7542         Assembler, local labels, and integer constants.
7544 2001-10-06 03:11  ask
7546         * Makefile.in: make `make test` actually run the tests on
7547         darwin/macosx
7549 2001-10-06 02:04  thgibbs
7551         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7552         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7553         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7554         include/parrot/register.h, lib/Parrot/Assembler.pm,
7555         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7556         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7557         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7558         type make. :)
7560 2001-10-06 02:02  thgibbs
7562         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7563         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7564         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7565         include/parrot/register.h, lib/Parrot/Assembler.pm,
7566         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7567         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7568         t/op/integer.t: oops...this messed something up.  I must have
7569         missed something in the patch...I have reverted.
7571 2001-10-06 01:57  thgibbs
7573         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7574         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7575         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7576         include/parrot/register.h, lib/Parrot/Assembler.pm,
7577         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7578         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7579         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7580         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7581         This patch ensures that all bytecode is of type opcode_t except for
7582         the constant table constants.  That means that almost all of the
7583         INTVALs in the code were replaced with opcode_t and the i pack type
7584         was replaced with the op pack type in calls to pack_arg and such.
7585         Also, since it has been declared that ALL integer constants are to
7586         be 32 bits, some test cases were changed to ensure that an integer
7587         constant was no bigger than 2 ** 31.
7589         process_opfunc.pl was also cleaned up to no longer look at either
7590         opcode_table or interp_guts.h but gather all of its information
7591         from Opcode.pm.
7593         The Assembler.pm module was changed to do late binding of arguments
7594         so that 0 could be treated like 0.0 without having to be so
7595         declared.  Also, only strings now use the [sc:N] intermediate form
7596         as it was unnecessary for integer and float types.
7598 2001-10-05 21:59  gregor
7600         * MANIFEST, languages/jako/Makefile:
7601         Fixed things due to the movement of little_languages/* to
7602         languages/jako.
7604 2001-10-05 18:31  gregor
7606         * MANIFEST:
7607         Updated MANIFEST to reflect recent additions for Jako.
7609 2001-10-05 17:54  gregor
7611         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7612         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7613         mops.jako, primes.jako, sub.jako:
7614           * Compiler:
7616               * User-defined subroutines.
7617               * Generates assembly code with the Jako code in comments.
7618               * "end;" no longer required at the end of programs.
7619               * Better handling of const-reg and reg-const.
7620               * Optimizes const-const operations to compile-time
7621         evaluations.
7622               * Constants in addition to variables.
7623               * Arithmetic fixes.
7624               * Allow leading minus signs in integer and number constants
7625         (ahem).
7626               * goto's.
7628           * New sample programs:
7630               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7631         example)
7632               * mandelbrot.jako (based on Leon Brocard's translation of
7633         Glenn Rhodes' C code)
7634               * mops.jako (based on t/test.pasm)
7635               * primes.jako (based on Leon Brocard's primes.pasm example)
7636               * sub.jako (demonstrates a simple user-defined subroutine)
7638 2001-10-05 12:54  gregor
7640         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7641           * Removed mysterious extra copy of code after POD.
7643 2001-10-05 12:46  gregor
7645         * basic_opcodes.ops, t/op/string.t:
7646           * Enabled the previously SKIPped test of printing string regs
7647         after
7648             clear_s
7650           * Made print_s do nothing if the STRING pointer in the register
7651         file
7652             is NULL.
7654 2001-10-04 21:19  dan
7656         * Configure.pl: VMS tweaks
7658 2001-10-04 21:17  dan
7660         * hints/vms.pl: Hints file for VMS
7662 2001-10-04 00:58  bdwheele
7664         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7665         Assembler which stopped equates from working.
7667 2001-10-03 21:50  gregor
7669         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7671           * More documentation updates for the packfile stuff.
7673 2001-10-03 21:37  gregor
7675         * docs/parrotbyte.pod:
7676           * Pointed the reader at Parrot::PackFile.
7678 2001-10-03 21:34  gregor
7680         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7681           * Updated documentation to match current implementation.
7683 2001-10-03 18:30  gregor
7685         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7686         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7687         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7688         t/op/basic.t:
7689           * Added new syntax to the assembler to allow square-bracket
7690             arithmetic expressions involving (global) labels, the current
7691             instructions base address ('@'), numeric constants (not
7692         equates)
7693             and basic arithmetic operators (+, -, *, / -- although + and -
7694             are likely to be the only ones used in practice).
7696           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7697         to
7698             fail (argument passing wasn't working).
7700           * Enabled t/op/basic.t's last test, which is actually a copy of
7701         the
7702             code from t/call.pasm. Now all tests there are enabled and
7703         working.
7705           * Added new example/test program t/call.pasm to demonstrate
7706         working
7707             macros and poor-man's subroutine calls
7709           * Added header comments to t/*.pasm
7711 2001-10-03 18:00  simon
7713         * ChangeLog:
7714         Needed, since it's in the MANIFEST.
7716 2001-10-03 17:56  simon
7718         * t/op/: string.t, time.t:
7719         Small fixes to help Win32 on its way.
7721 2001-10-03 17:41  simon
7723         * MANIFEST, README:
7724         Oops. Tiny bugs.
7726 2001-10-03 17:39  simon
7728         * MANIFEST, NEWS, README:
7729         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7730         think so!
7732 2001-10-03 17:21  simon
7734         * basic_opcodes.ops, interpreter.c, packfile.c:
7735         Evil printf bandaid (which allows Sparc64 to pass tests)
7737         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7739 2001-10-03 16:58  simon
7741         * string.c, t/op/string.t:
7742         chop fixes for n < 0 and tests
7744         Courtesy of: Alex Gough <alex@rcon.org>
7746 2001-10-03 15:51  thgibbs
7748         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7750         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7752 2001-10-02 17:48  dan
7754         * include/parrot/stacks.h: Fix typo in function name
7756 2001-10-02 17:35  dan
7758         * include/parrot/stacks.h: changed to support new stack stuff
7759         coming after 0.02
7761 2001-10-02 15:01  simon
7763         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7764         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7765         process_opfunc.pl, register.c, string.c, strnative.c,
7766         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7767         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7768         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7769         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7770         include/parrot/memory.h, include/parrot/packfile.h,
7771         include/parrot/parrot.h, include/parrot/register.h,
7772         include/parrot/stacks.h, include/parrot/string.h,
7773         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7775         The Great Renaming.
7777 2001-10-02 12:49  gregor
7779         * process_opfunc.pl:
7780           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7782 2001-10-02 12:40  simon
7784         * basic_opcodes.ops, process_opfunc.pl, register.c,
7785         include/parrot/register.h:
7786         Move preprocessing of register accessors to process_opfunc.pl
7788         Courtesy of: Jason Gloudon <perl@gloudon.com>
7790 2001-10-02 01:20  ask
7792         * README: add a few lines about lists.
7794 2001-10-01 23:00  brentdax
7796         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7797         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7799 2001-10-01 22:50  brentdax
7801         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7803 2001-10-01 21:51  simon
7805         * process_opfunc.pl:
7806         Michael Fischer's patch broke conditionals.
7808 2001-10-01 15:38  simon
7810         * process_opfunc.pl:
7811         Small hack to keep process_opfunc.pl from generating extra return()
7812         statements.
7814         Courtesy of: Michael Fischer <michael@visv.net>
7816 2001-10-01 15:32  simon
7818         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7819         Documentation fix.
7821         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7823 2001-10-01 01:49  simon
7825         * packfile.c:
7826         Simon is an idiot. Don't trust him with your code.
7828         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7830 2001-10-01 00:59  simon
7832         * Parrot/String.pm, lib/Parrot/String.pm:
7833         Was in manifest, but not in CVS.
7835 2001-09-30 21:25  simon
7837         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7838         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7839         Parrot/Assembler.pm, Parrot/PackFile.pm,
7840         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7841         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7842         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7843         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7844         include/parrot/packfile.h, include/parrot/string.h:
7845         Move NVs to the constant table.    * Changes to Types_pm.in to make
7846         life easier for some of the      packing/etc. I'm doing elsewhere.
7847         Also, we now pack 'n' as      'i'.
7849           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7850             eventually we can use all these tools together inside scripts
7851             rather than call out to the shell to run the programs.
7853           * As I was tracking down problems, I converted the internal
7854             documentation of the assembler to POD from comments.
7856           * Changed the numeric regexp in the assembler to detect leading
7857             signs and trailing exponents.
7859           * Updated basic_opcodes.ops to fetch numeric constants from the
7860             constant table.
7862           * Enhanced the disassembler in a number of ways to make my life
7863             easier while tracking down bugs (try it out). It now puts in
7864             labels for ops that are the destinations of flow control ops.
7866           * packfile.c now has a TRACE_PACKFILE switch that can be set
7867             to get it to print info as it processes. I needed this while
7868             debugging, but I can remove it or change it before committing
7869             if its a problem.
7871           * Updated pdump.c because it was missing a call to init_world().
7873           * Updated process_opfunc.pl to deal with numeric constants
7874             being stored in the constant table instead of inline.
7876           * Added multiple type support to Parrot/PackFile/Constant.pm
7878           * Added Parrot/String.pm, to be used for constants.
7880           * Added packfile.[hc] functions for allocating new constants
7881             of various types.
7883           * Made string_copy visible to the world in parrot/string.h.
7885         Wow.
7887         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7889 2001-09-29 15:56  gregor
7891         * languages/jako/Makefile:
7892         Removed assumption that '.' is on the path.
7894 2001-09-29 15:55  gregor
7896         * languages/jako/Makefile:
7897         Removed references to leibnitz test program.
7899 2001-09-29 15:21  thgibbs
7901         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7902         math ops args to work on Solaris.
7904 2001-09-27 15:15  thgibbs
7906         * assemble.pl: Added case insensitive matches to hex and binary
7907         characters
7909         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7911 2001-09-27 04:46  thgibbs
7913         * assemble.pl: This patch makes integer constants of the form
7914         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7915         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7916         returning 0.  To fix this, I added a from_binary function that
7917         would take a binary string and return its decimal representation.
7918         Now, instead of blindly calilng oct, it makes a distinction between
7919         0/0x numbers and 0b numbers.
7921 2001-09-26 19:30  thgibbs
7923         * assemble.pl: Error now returns a non-zero status
7925         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7927 2001-09-26 19:13  gregor
7929         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7930         interpreter.c, packfile.c, pdump.c, test_main.c,
7931         include/parrot/bytecode.h, include/parrot/interpreter.h,
7932         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7933         t/op/stacks.t:
7934           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7935             packfile/bytecode file from C. May be renamed in the future.
7937           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7938             of 'PackFile *', just like the interpreter, etc.
7940           * Constants are accessed via the interpreter's 'code' member
7941             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7942             provided to access constants by index and the number of
7943             constants, respectively (assumes a variable 'interpreter' of
7944             the appropriate type is in scope).
7946           * Byte Code is accessed via the interpreter's 'code' member.
7948           * Changed PackFile_Constant to point to a STRING instead of
7949         having
7950             members for the string_make() arguments. Also has a 'type' IV
7951             in preparation for allowing multiple types of constants in
7952             const_table.
7954           * Removed hardcoded example program from test_main.c. We have
7955             plenty of test programs elsewhere.
7957           * test_prog now uses a PackFile to deal with the program before
7958             sending it on to the interpreter.
7960           * Added missing 'end' ops to some tests in t/op/integer.t and
7961             t/op/stacks.t.
7963 2001-09-26 18:38  thgibbs
7965         * assemble.pl: Separated code into functions and added comments.
7967 2001-09-26 18:29  simon
7969         * config_h.in:
7970         Fix 64-bit chunk-base issue.
7972 2001-09-26 06:55  thgibbs
7974         * t/op/bitwise.t: Added end to bitwise tests.
7976 2001-09-26 00:54  dan
7978         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7979         and interpreter creation. Skeleton only, but it's something to peer
7980         at.
7982 2001-09-25 21:44  thgibbs
7984         * t/op/trans.t: Removed loops in transcendtal op test.
7986 2001-09-25 10:12  simon
7988         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7989         t/op/string.t, t/op/time.t:
7990         More tests
7992         Courtesy of: Alex Gough <alex@rcon.org>
7994 2001-09-24 19:08  gregor
7996         * t/op/number.t:
7997           * Enabled the clear_n test.
7999 2001-09-24 18:56  gregor
8001         * Parrot/.cvsignore:
8002           * Ignore the generated Types.pm file.
8004 2001-09-24 18:52  gregor
8006         * languages/jako/Makefile, t/op/number.t:
8007           * No need to skip the inc and dec numeric tests anymore. I fixed
8008         the
8009             assembler earlier today.
8011 2001-09-24 18:21  simon
8013         * MANIFEST, t/op/stacks.t:
8014         Oops.
8016 2001-09-24 18:19  simon
8018         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
8019         include/parrot/exceptions.h, include/parrot/interpreter.h,
8020         lib/Parrot/Test.pm, t/op/string.t:
8021         1) captured error output, so can test errors, this might be bad,
8022         not sure.  2) basic tests for register stack frames, including some
8023         errors 3) I think we can stop skipping one of the string tests 4) I
8024         added some more substr tests, but substr was broken, so 5) changed
8025         substr to work with out of range values, or 6) throw an error if
8026         they're far too silly
8028         Courtesy of: Alex Gough <alex@rcon.org>
8030 2001-09-24 17:27  gregor
8032         * basic_opcodes.ops, opcode_table, t/op/number.t:
8033           * Op set_n was missing. Added it and a test for it. We now have
8034         the
8035             same int and num ops, except mod is int-only.
8037 2001-09-24 17:01  gregor
8039         * assemble.pl:
8040           * Fixed a typo: s/Line/line/
8042 2001-09-24 16:02  gregor
8044         * basic_opcodes.ops:
8045           * Fixed dec_n_nc opcode, which had += where it should have had
8046         -=.
8048 2001-09-24 15:34  gregor
8050         * assemble.pl:
8051           * Fixed handling of constants starting with '0' that should not
8052         be
8053             sent through oct(). For example 'set N2 0.1' was being
8054         interpreted
8055             as 'set N2 0' (naughty).
8057             As reported by Leon Brocard <acme@astray.com> in the comments
8058         of
8059             his mandelbrot.pasm example.
8061 2001-09-24 02:21  bdwheele
8063         * assemble.pl: fixed dumb code when --include was not specified.
8065 2001-09-24 02:17  simon
8067         * assemble.pl:
8068         Shit-sweeping.
8070 2001-09-24 01:56  bdwheele
8072         * assemble.pl: * Added --include=dir option to assembler to provide
8073         a path to look for included files.  * Error message of a macro is
8074         defined inside of a macro
8076 2001-09-23 21:29  bdwheele
8078         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8080 2001-09-23 15:50  simon
8082         * Configure.pl:
8083         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8085 2001-09-23 02:03  ask
8087         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8088         Courtesy of: acme@astray.com (Leon Brocard)
8090         rename 'test' executable used in Configure process to test_siz.
8092 2001-09-23 01:03  simon
8094         * process_opfunc.pl:
8095         iPaq fix. No, really.
8097 2001-09-23 00:47  simon
8099         * MANIFEST:
8100         Missed several, in fact.
8102 2001-09-23 00:46  simon
8104         * MANIFEST:
8105         Missed one.
8107 2001-09-22 21:13  simon
8109         * assemble.pl:
8110         Assembler register numbering rigour.
8112         Courtesy of: Leon Brocard <acme@astray.com>
8114 2001-09-22 18:20  simon
8116         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8117         lib/Test/Utils.pm:
8118         I'm sick of having to install Test::More everywhere. Temporary
8119         measure until we remove this silly dependency.
8121         Also a typo in Makefile.in which suggests some things were only
8122         happening correctly by sheer chance. :)
8124 2001-09-22 18:06  simon
8126         * README:
8127         test.pasm is dead, long like make test.
8129 2001-09-22 17:47  simon
8131         * t/op/number.t:
8132         De-fang overzealous floating point test.
8134 2001-09-22 17:39  simon
8136         * process_opfunc.pl:
8137         Remove hard-coded NV size assumption. Tru64 is nearly there!
8139 2001-09-22 17:18  simon
8141         * assemble.pl, disassemble.pl:
8142         More portability fixups.
8144 2001-09-22 16:44  simon
8146         * assemble.pl, Parrot/PackFile/Constant.pm,
8147         lib/Parrot/PackFile/Constant.pm:
8148         And I *think* this fixes Tru64.
8150 2001-09-22 16:37  simon
8152         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8154         Oops.
8156 2001-09-22 16:36  simon
8158         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8159         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8160         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8162         More removal of hard-coded pack formats.
8164 2001-09-22 15:21  simon
8166         * assemble.pl:
8168         Grrr. Why isn't this working?
8170 2001-09-22 15:18  simon
8172         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8173         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8175         Make assemble use the PackFile modules; also fixed some bugs in
8176         them.
8178 2001-09-22 14:38  simon
8180         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8182         Abstract the argument and opcode packing types and functions out
8183         into a separate module. This *should* help us maintain consistency
8184         when we change the various types.
8186 2001-09-22 00:46  brentdax
8188         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8189         test program finishes.
8191 2001-09-21 21:24  brentdax
8193         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8194         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8196 2001-09-21 21:09  gregor
8198         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8199         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8201           * Fixed pad calculation (similar to recent bug fix on C library)
8203 2001-09-21 20:23  simon
8205         * disassemble.pl:
8206         Pack types and sizes have gone askew.
8208 2001-09-21 20:18  brentdax
8210         * Configure.pl: Fix typo in setting stuff from the C test program
8212 2001-09-21 10:25  simon
8214         * basic_opcodes.ops, process_opfunc.pl:
8215         Document patches.
8217         Courtesy of: Leon Brocard <acme@astray.com>
8219 2001-09-21 06:06  ask
8221         * Config_pm.in, assemble.pl: fix 5.005_03.
8223 2001-09-21 06:03  ask
8225         * Configure.pl: make the ivsize detection work for us normal people
8226         without . in our PATH.  :-)
8228 2001-09-21 05:56  brentdax
8230         * test_main.c: Change _read to read for portability to Tru64
8231         (Damien Neil <neild@misago.org> and likely many others)
8233 2001-09-21 05:46  ask
8235         * Makefile.in: "update" target to update from cvs.
8237 2001-09-21 05:44  brentdax
8239         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8241 2001-09-21 02:43  brentdax
8243         * Configure.pl: Fix a typo that forced the -g flag on
8245 2001-09-20 22:41  dan
8247         * packfile.c: Had some no-value returns. Naughty
8249 2001-09-20 22:40  dan
8251         * t/test.pasm: Added labels to output
8253 2001-09-20 15:39  simon
8255         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8256         lib/Parrot/Test.pm:
8257         This patch does two only somewhat related things.
8259         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8260         = 2*sizeof(iv) to a PConfig-type computed value.
8262         Parrot/Test.pm:  Change it to run with the perl that was used to
8263         generate this version of Parrot.  This is useful if, for example,
8264         you want to use bleadperl to build and test parrot (e.g. to try out
8265         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8266         installed as the default 'perl' on your system.  Since perl-5.7.x
8267         is installed 'version-only', a plain 'perl' is quite likely to pick
8268         up the older perl in such cases. Such an older perl might well not
8269         understand pack('q') used in the assembler.
8271         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8273 2001-09-20 15:14  gregor
8275         * packfile.c:
8276           * Fixed a typo in pad calculation that throwing off unpack and
8277         pack.
8279 2001-09-20 15:03  thgibbs
8281         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8282         tests now cover all registers.
8284         Courtesy of: Damien Neil neild@misago.org
8286 2001-09-20 14:48  thgibbs
8288         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8289         machines.
8291 2001-09-20 14:35  simon
8293         * Configure.pl, assemble.pl:
8294         Pack IVs correctly.
8296         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8298 2001-09-20 14:06  gregor
8300         * languages/jako/jakoc:
8301           * Fixed a tyop in the string interpolation regex.
8303         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8305 2001-09-20 13:56  gregor
8307         * languages/jako/jakoc:
8308           * Updated jakoc to work with the single-destination comp ops.
8310 2001-09-20 05:08  bdwheele
8312         * assemble.pl: macro expansion.  Here's the test macro I was using:
8314         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8315         label.  testi       macro   num,got,want    print   "Test #"
8316         print   num     print   "..."   set     I32,want        set
8317         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8318         $end $ok:       print   "OK\n" $end:    endm
8320         It is invoked as:
8322         Test1:  testi   1,I3,I2
8324 2001-09-20 03:52  dan
8326         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8327         generic stack support
8329 2001-09-20 02:49  bdwheele
8331         * assemble.pl: Added include processing to assemble.pl  the syntax
8332         is: include 'file.to.include'
8334 2001-09-19 23:57  thgibbs
8336         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8337         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8338         function to only use 2 args, but the opcode_table still had three
8339         listed.  Fixed integer.t and number.t to use the new comparison
8340         operators.  Improved assemble.pl ability to grok operators by
8341         constructing a function set and comparing operator types.
8343 2001-09-19 22:42  dan
8345         * assemble.pl: Binmodes the output filehandles now. (No more
8346         bytecode munching...)
8348 2001-09-19 22:32  dan
8350         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8351         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8352         conditional branches take a single argument, and fall through
8353         otherwise.
8355 2001-09-19 21:19  thgibbs
8357         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8358         Sugalski
8360         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8362 2001-09-19 21:04  thgibbs
8364         * include/parrot/interpreter.h, Configure.pl,
8365         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8366         process_opfunc.pl: Changed opcode_t from a union to a configurable
8367         type.
8369 2001-09-19 20:54  thgibbs
8371         * assemble.pl: Missed a couple of changes for 64 bit portability.
8373 2001-09-19 20:37  gregor
8375         * packfile.c, include/parrot/packfile.h:
8376           * Added "methods" for setting and getting all the various
8377         attributes,
8378             probably sufficient for an assembler to use the library.
8380 2001-09-19 20:04  thgibbs
8382         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8383         a 64 bit platform manually change the  setting for 'i' from 'l' to
8384         'q'.  This should be automatically done by a Configure setting in
8385         the near future.
8387 2001-09-19 19:10  thgibbs
8389         * config_h.in: changed c++ comment to c comment.
8391         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8393 2001-09-19 17:48  gregor
8395         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8396         include/parrot/packfile.h:
8397           * C code for dealing with PackFiles as if they were objects.
8398         Mostly
8399             read-only interface for now, but it would not be hard to make
8400         it
8401             read-write. [packfile.c, include/parrot/packfile.h]
8403           * PackFile Dumping program that falls short of disassembling, but
8404             tests the above code and provides a hex listing of the byte
8405         code
8406             contents of the PackFile. [pdump.c]
8408           * New Makefile target 'pdump' for the above program, and related
8409             Makefile.in changes.
8411           * Updated MANIFEST to reflect the added files
8413           * Update .cvsignore to ignore pdump.
8415 2001-09-19 14:55  thgibbs
8417         * MANIFEST: Added number.t and trans.t to MANIFEST
8419 2001-09-19 05:40  thgibbs
8421         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8422         of union opcode_t.  I hope this will be more portable for set_n_nc.
8424 2001-09-19 05:39  thgibbs
8426         * t/op/integer.t: Added end to test 1.
8428 2001-09-19 00:09  thgibbs
8430         * t/op/number.t: Added end to each test
8432 2001-09-19 00:00  simon
8434         * t/op/number.t:
8435         Number tests! Wooo!
8437         Courtesy of: Damien Neil <neild@misago.org>
8439 2001-09-18 23:52  thgibbs
8441         * interpreter.c: Added casts to appropriate types to make -Wall not
8442         complain on certain printf formats
8444 2001-09-18 23:31  thgibbs
8446         * t/op/integer.t: Added end to each test.
8448 2001-09-18 22:54  thgibbs
8450         * t/op/trans.t: Added trans.t for transcendental math function
8451         tests.
8453 2001-09-18 22:28  simon
8455         * MANIFEST:
8456         MANIFEST updates. (And notice how I carefully snuck in the
8457         t/op/integer.t there...)
8459         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8461 2001-09-18 22:26  simon
8463         * t/: integer.t, op/integer.t:
8464         Except it doesn't go there. Duh.
8466 2001-09-18 22:25  simon
8468         * t/integer.t:
8469         Tests for integer ops.
8471         Courtesy of: Damien Neil <neild@misago.org>
8473 2001-09-18 22:03  thgibbs
8475         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8476         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8477         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8478         opcode_t union for operators.  This required a few perl script
8479         changes to output the correct type.  There were also some changes
8480         to allow -pedantic in gcc
8482 2001-09-18 21:07  gregor
8484         * disassemble.pl, Parrot/PackFile.pm,
8485         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8486         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8487         lib/Parrot/PackFile/Constant.pm:
8488         Converted the disassembler to use the Parrot::PackFile Perl classes
8489         to do its job.
8491 2001-09-18 19:18  brentdax
8493         * Makefile.in: Fix missing functions for real this time.  (I
8494         swear!)
8496 2001-09-18 18:49  brentdax
8498         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8499         <doughera@lafayette.edu>}
8501 2001-09-18 18:47  brentdax
8503         * Makefile.in: Fix bugs with missing math, etc. functions
8505 2001-09-18 14:42  thgibbs
8507         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8508         char*.
8510 2001-09-18 13:59  thgibbs
8512         * strnative.c: Removed unnecessary IV cast in concat.
8514 2001-09-18 13:58  thgibbs
8516         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8517         to concat test in string.t
8519 2001-09-18 12:07  gregor
8521         * languages/jako/jakoc:
8522           * var num ... no longer requires assignment
8523           * automatic casting between int and num
8524           * Fixed an error message
8526         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8528 2001-09-18 11:57  simon
8530         * TODO:
8531         Gonna have to start thinking of more things to do, soon.
8533 2001-09-18 10:42  simon
8535         * opcode_table:
8536         Introduce a little more tidiness into the opcode table.
8538 2001-09-18 03:06  gregor
8540         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8541         Resurrected register-const ops per Dan's request.
8543 2001-09-18 02:20  gregor
8545         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8546         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8547         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8548         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8549         Committed some files that were missed in the last *.h moving
8550         commit.
8552 2001-09-18 02:17  gregor
8554         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8556 2001-09-18 02:16  gregor
8558         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8559         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8560         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8561         missed in last commit for the move of *.h to include/parrot.
8563 2001-09-18 01:32  simon
8565         * t/Makefile:
8566         Trivial "clean" target to t/Makefile.
8568 2001-09-18 01:32  simon
8570         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8571         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8572         Change icky Digest::MD5 for nice simple unpack()
8574         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8576 2001-09-18 00:35  simon
8578         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8579         t/op/string.t:
8580         New concat op. Hey, if I'm going to talk about it in an article,
8581         better implement it...
8583 2001-09-17 22:54  gregor
8585         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8586         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8587         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8588         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8590         Functions for reading, writing and manipulating Parrot Pack Files.
8591         NOTE: This is a proposed term based on the fact that the file
8592         contains more than just byte code, and another language (Java)
8593         calls its binary files by a broader notion of what's in them (Class
8594         Files). Since Perl has packages, and since we use pack() to write
8595         them, we'll call them PackFiles (at least for now).
8597         That does, however, beg the question of file extension. Should we
8598         name the files "foo.pack" instead of "foo.pbc"?
8600 2001-09-17 20:23  thgibbs
8602         * interpreter.c, test_main.c: Uncuddled else statements for coding
8603         standard.
8605 2001-09-17 19:57  gregor
8607         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8608         Added a $revision variable, parsing of the CVS Id line in
8609         opcode_table and a &revision() subroutine.
8611 2001-09-17 19:53  gregor
8613         * opcode_table:
8614         Added a CVS Id tag to it.
8616 2001-09-17 18:58  thgibbs
8618         * interpreter.c: Cleared interpreter flags on creation.
8620 2001-09-17 18:38  gregor
8622         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8623         interpreter.h, test_main.c:
8624           * Provides macros in interp_guts.h for setting up arrays with
8625             op names and op arg counts (done via build_interp_starter.pl).
8627             These are used in the op tracing
8629           * The functions in bytecode.[hc] pass around a pointer to the
8630         length
8631             of the bytecode so that later when we get to runops, we know
8632             how much bytecode we've got and we can detect out-of-bounds
8633             jumping. The documentation is updated, too.
8635           * runops in interpreter.c now looks at interpreter->flags to
8636             decide if the core of runops should be runops_trace_core or
8637             runops_notrace_core. These new functions contain just the
8638             while-loop portion of runops. A new function runops_generic
8639             does any other setup (such as checking the bytecode
8640             fingerprint) or wrapup (such as complaining if we ended up
8641             out-of-bounds). NOTE: I didn't know what we should do for
8642             functions in here that are not part of the api, so I gave
8643             them docs with 'TODO' marks mentioning they really aren't
8644             part of the api. Guidance appreciated.
8646           * test_main.c now checks for '-t' arg and sets the tracing flag
8647             on its interpreter instance as appropriate.
8649 2001-09-17 17:47  bdwheele
8651         * assemble.pl: added some default equates, and if they're sub
8652         references, they are computed each time it is referenced.
8654 2001-09-17 16:15  dan
8656         * interpreter.h:
8658         Added flags to the interpreter structure and defined a few.
8660 2001-09-17 15:51  simon
8662         * bytecode.h, string.h:
8663         VAR_SCOPE on globals.
8665 2001-09-17 15:20  simon
8667         * MANIFEST:
8668         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8670 2001-09-17 15:05  gregor
8672         * t/jump.pasm, MANIFEST:
8673         Added a test program to demonstrate jump_i.
8675 2001-09-17 14:44  thgibbs
8677         * register.c: Fixed register pop not using correct offset (off by
8678         one).
8680         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8682 2001-09-17 13:56  thgibbs
8684         * interpreter.c, register.c: Added code to call Parrot_clear_s
8685         during initialization and Parrot_clear_s and Parrot_clear_p when a
8686         new stack frame is pushed.
8688 2001-09-17 13:51  gregor
8690         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8691         fib.jako, hello.jako: Added bench.pasm to "clean"
8693 2001-09-17 13:49  gregor
8695         * languages/jako/: jakoc, Makefile:
8696         Added CVS Id tag.
8698 2001-09-17 13:49  gregor
8700         * languages/jako/jakoc:
8701         Code streamlining.
8703         Courtesy of: Buggs <buggs-perl6@splashground.de>
8705 2001-09-17 13:29  gregor
8707         * MANIFEST, opcheck.pl:
8708         Added an opcode_table checker to make sure that all opcodes listed
8709         there conform to a simple set of naming rules (rules themselves, of
8710         course, are subject to change).
8712 2001-09-17 13:23  thgibbs
8714         * string.c: Modified string.c to correctly use the return value of
8715         realloc.
8717 2001-09-17 05:26  brentdax
8719         * Makefile.in: Making the Makefile smarter
8721 2001-09-16 23:06  brentdax
8723         * hints/mswin32.pl: Finishing the Configure hints
8725 2001-09-16 23:05  brentdax
8727         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8728         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8729         Configure hints, 5.005 compatibility, MANIFEST checking
8731 2001-09-16 19:25  bdwheele
8733         * assemble.pl: parrot assembly equates
8735 2001-09-16 18:03  gregor
8737         * Makefile.in:
8738         Added 'test' target to run new test suite.
8740 2001-09-16 17:33  simon
8742         * basic_opcodes.ops:
8743         'not' was being !, rather than ~. Too many Perl programmers here, I
8744         suspect.
8746         Courtesy of: Tom Hughes <tom@compton.nu>
8748 2001-09-16 17:21  simon
8750         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8751         t/op/string.t:
8752         A *real* test suite!
8754         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8756 2001-09-16 16:49  gregor
8758         * basic_opcodes.ops, opcode_table:
8759         At Dan's request, my new register-constant comparison ops have been
8760         removed.
8762 2001-09-16 16:40  gregor
8764         * languages/jako/jakoc:
8765         Fixed a copy-paste error in one of jakoc's error messages.
8767         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8769 2001-09-16 16:37  gregor
8771         * languages/jako/jakoc:
8772         Modified comparison implementation to use temporary registers in
8773         the case of register-constant and constant-register comparisons.
8774         This will allow the compiler to emit code that works when the
8775         constant-comparison ops are backed out of Parrot. If the ops ever
8776         make their way back in, then jakoc can emit more efficient code
8777         again.
8779 2001-09-16 16:19  bdwheele
8781         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8782         ... though not subroutine based like the documentation wants, they
8783         are local to the last non-local label defined.
8785 2001-09-16 14:02  simon
8787         * MANIFEST:
8788         And remember, when you add stuff, keep the manifest up to date.
8790 2001-09-16 02:55  ask
8792         * Makefile.in: a "shared" target for building libparrot.so
8794 2001-09-16 02:45  thgibbs
8796         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8797         global_setup.h, interpreter.c, interpreter.h, io.h,
8798         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8799         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8800         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8801         use the coding standard PDD.  Also changed Perl_Interp to
8802         Parrot_Interp.
8804 2001-09-16 02:21  ask
8806         * README: emphasise the bits about the license not being worked out
8807         yet.
8809 2001-09-15 22:21  simon
8811         * process_opfunc.pl:
8812         basic_opcodes.c should *scream* that it's autogenerated.
8814 2001-09-15 21:58  gregor
8816         * languages/jako/Makefile:
8817         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8818         compile.
8820 2001-09-15 21:58  gregor
8822         * languages/jako/: jako_compiler.pl, jakoc:
8823         Renamed the Jako compiler to jakoc from jako_compiler.pl
8825 2001-09-15 21:51  gregor
8827         * languages/jako/: Makefile, bench.jako, euclid.jako,
8828         jako_compiler.pl:
8829         Added a new bench.jako example based on Leon Brocard's Bench.java.
8831         Jako Compiler:   * fix a bug in assignment handling   * add some
8832         more conditionals to while and if   * revert to using implicit
8833         opcodes in a few cases that were broken     before the assembler
8834         patch went in recently.
8836 2001-09-15 21:46  gregor
8838         * assemble.pl, basic_opcodes.ops, opcode_table:
8839         New ops for register-constant INTEGER comparisons:
8841           {eq,ne,lt,le,gt,ge}_ic_ic
8843         New ops for register-register and register-constant NUMERIC
8844         comparisons:
8846           eq_nc_ic
8847           {ne,lt,le,gt,ge}_{n,nc}_ic
8849         Assembler:
8851           Allow uppercase and underscores in labels.
8853           Tweaks to the op infer code to make it work with the examples
8854         I've been
8855           creating.
8857 2001-09-15 19:16  thgibbs
8859         * README: Updated README to include Configure.pl
8861 2001-09-15 17:05  simon
8863         * build_interp_starter.pl:
8864         Casting happiness
8866         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8868 2001-09-15 16:45  simon
8870         * assemble.pl:
8871         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8873 2001-09-15 16:40  simon
8875         * t/Makefile:
8876         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8877         test Makefile
8879 2001-09-15 12:26  simon
8881         * memory.c:
8882         Fixed to match the coding standards.
8884         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8886 2001-09-15 01:57  ask
8888         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8889         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8890         to run Configure.pl
8892 2001-09-15 01:48  ask
8894         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8895         say so. :-)
8897 2001-09-15 01:42  gregor
8899         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8900         jako_compiler.pl:
8901         Compiler: Added variable interpolation in double-quoted strings.
8902         Examples: Made use of variable interpolation.
8904 2001-09-15 01:28  gregor
8906         * Parrot/.cvsignore:
8907         Ignore the Config.pm generated file.
8909 2001-09-15 01:22  gregor
8911         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8912         fib.jako, hello.jako, jako_compiler.pl:
8913         gnp: Added some more sample Jako files and added many more
8914         operators to the compiler. Preparations for supporting all the Math
8915         and bitwise ops.
8917 2001-09-14 19:06  simon
8919         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8920         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8921         lib/Parrot/Opcode.pm:
8922         Move common table reading stuff to a module.
8924         Courtesy of: Damien Neil <neild@misago.org>
8926 2001-09-14 17:42  simon
8928         * .cvsignore:
8929         More .cvsignore foo.
8931 2001-09-14 17:40  simon
8933         * assemble.pl, config_h.in:
8934         De-coredump
8936         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8938 2001-09-14 17:38  simon
8940         * assemble.pl, t/Makefile:
8941         Make assemble.pl look in its parent directory if the data files it
8942         needs aren't in the current one. Plus a Makefile that lets "make
8943         foo.pbc" work in t/
8945         Courtesy of: Rocco Caputo <troc@netrus.net>
8947 2001-09-14 16:29  simon
8949         * make_op_header.pl:
8950         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8951         probably segfault everywhere else.)
8953 2001-09-14 15:58  dan
8955         * languages/jako/: euclid.jako, jako_compiler.pl:
8957         Added in the first mini-language that targets Parrot.
8959         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8961 2001-09-14 15:20  dan
8963         * memory.c: Was misaligning returned memory. Fixed.
8965 2001-09-14 15:08  simon
8967         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8968         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8969         register.c, register.h, string.c, string.h, strnative.c,
8970         test_main.c:
8971         Fixes to include <parrot/foo.h>
8973         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8975 2001-09-14 12:05  simon
8977         * strnative.c:
8978         Appease Tru64.
8980 2001-09-14 12:01  simon
8982         * memory.c:
8983         Appease Tru64.
8985 2001-09-14 11:54  simon
8987         * interpreter.c:
8988         Remove lvalue cast.
8990 2001-09-14 11:45  simon
8992         * Configure.pl:
8993         Be 5.005 friendly.
8995 2001-09-14 11:39  simon
8997         * Configure.pl:
8998         Tru64 cc doesn't like -Wall
9000 2001-09-14 10:57  simon
9002         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
9003         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
9004         config.h.in, config_h.in, disassemble.pl, interpreter.c:
9005         Configure now generates Makefile
9007         Courtesy of: Brent Dax <brentdax@cpan.org>
9009 2001-09-14 10:08  simon
9011         * t/test3.pasm:
9012         Add "end"
9014         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9016 2001-09-14 10:07  simon
9018         * assemble.pl:
9019                 * uses Getopt::Long for options.  -c is now --checksyntax.
9020         I wasn't
9021         sure how to keep compatible (patches welcome!)         * options
9022         include:                 --help                 --version
9023               --verbose                 --output=file
9024         --listing=file                 --checksyntax         * produces
9025         verbose listing of what the assembler saw :)  Only one nitpick with
9026         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9027         includes symbols which may be defined later in the file (i.e.
9028         forward jumps).
9030         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9032 2001-09-14 10:06  simon
9034         * strnative.c:
9035         substr growth fixup
9037         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9039 2001-09-14 10:03  simon
9041         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9042         register.c, string.c, strnative.c, test_main.c:
9043         Coding standards conformance
9045         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9047 2001-09-14 09:46  simon
9049         * assemble.pl:
9050         Make the assembler grok transcendental maths again.  Courtesy of:
9051         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9053 2001-09-13 17:29  simon
9055         * assemble.pl:
9056         Better opcode guessing, from Brian Wheeler. (Again!)
9058 2001-09-13 17:20  dan
9060         * docs/parrot_assembly.pod:
9062         Took out duplicate entries for iton, ntoi, and tostring.
9064 2001-09-13 17:16  simon
9066         * assemble.pl, basic_opcodes.ops, opcode_table:
9067         From Brian Wheeler:
9069         This patch gives the assembler support of '\a','\n','\r','\t', and
9070         '\\' in string constants.
9072         In addition, it changes (for all registers) "I reg %li is ..." to
9073         just the value of the register.  Printing constants is also
9074         supported, but alas, you have to specify the type (print_sc,
9075         print_ic, print_nc).
9077 2001-09-13 15:38  simon
9079         * assemble.pl:
9080         Why don't I actually *test* this stuff before applying it, eh?
9082 2001-09-13 15:34  simon
9084         * TODO, t/euclid.pasm:
9085         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9086         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9087         inference
9089 2001-09-13 14:42  simon
9091         * assemble.pl:
9092         A new assembler, from Brian Wheeler.
9094 2001-09-13 09:44  simon
9096         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9097         test_main.c:
9098         Two more from Tom Hughes:     Patch to fix C++ style comments
9099         Patch to remove use of structure constant/cast
9101 2001-09-13 09:39  simon
9103         * TODO, docs/strings.pod:
9104         Update string docs.
9106 2001-09-13 09:36  simon
9108         * Makefile, basic_opcodes.ops:
9109         Tom Hughes      Patch to link with the maths library Tom Hughes
9110          Patch to fix += on rvalue
9112 2001-09-13 08:57  simon
9114         * MANIFEST:
9115         I guess nobody's been using the nightly builds...
9117 2001-09-13 08:27  simon
9119         * assemble.pl, basic_opcodes.ops, opcode_table:
9120         Bitwise ops, from Brian Wheeler.
9122 2001-09-13 08:23  simon
9124         * .cvsignore, t/.cvsignore:
9125         .cvsignore's, from Gregor Purdy.
9127 2001-09-13 08:22  simon
9129         * Makefile:
9130         Euclidean test and test output rearranging from Gregor Purdy.
9132 2001-09-13 08:21  simon
9134         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9135         Math ops from Gibbs Tanton.
9137 2001-09-13 08:14  simon
9139         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9140         t/test2.pasm:
9141         String substr op; also rearranged "encoding" to be a vtable
9142         pointer, not an array index. Haven't changed docs to reflect this,
9143         oops.
9145         Simon
9147 2001-09-12 19:48  dan
9149         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9150         Gregor Purdy
9152 2001-09-12 19:39  dan
9154         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9156 2001-09-12 19:23  dan
9158         * interpreter.h, parrot.h: Quick placeholder entry for string
9159         function tables
9161 2001-09-12 18:58  dan
9163         * memory.c: Added in a cast to make gcc happy.
9165 2001-09-12 16:44  dan
9167         * docs/parrot_assembly.pod:
9169         PDD describing parrot's assembly language and the opcodes in it
9171 2001-09-12 14:20  dan
9173         * memory.c:
9174         Fixed alignment issues with allocation
9176 2001-09-12 10:54  simon
9178         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9179         make_op_header.pl, opcode_table, process_opfunc.pl:
9180         Brian Wheeler's big patch:
9182         * Changes the opcode_table file to provide additional information
9183         about the operands.  Case shouldn't be a problem since that data
9184         never becomes a C symbol [this is pretty much as before]
9186         * Padding errors solved:  assemble.pl and bytecode.c were padding
9187         the constants incorrectly.  It should have been 4-(size % 4), not
9188         just (size % 4).  It is now fixed in both places.
9190         * assembler has less special cases, and should be easier to hang
9191         error checking on
9193         * disassembler dumps constant table and the format is a bit
9194         prettier, including register names, etc.
9196 2001-09-11 23:21  dan
9198         * build_interp_starter.pl, interpreter.c:
9200         Abstracted the runops function core into a macro for easy
9201         replacement later.
9203 2001-09-11 10:43  simon
9205         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9206         Configure system from Brent Dax <brentdax@cpan.org>
9208 2001-09-11 09:38  simon
9210         * assemble.pl, test.pbc:
9211         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9212         assembler deferred output
9214         Also got rid of the bytecode, since that's probably way out of
9215         date.
9217 2001-09-11 09:26  simon
9219         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9220         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9221         patch
9223 2001-09-10 23:20  simon
9225         * MANIFEST:
9226         And that move needs a MANIFEST change. So many things to remember!
9228 2001-09-10 23:18  simon
9230         * t/: test.pasm, test2.pasm, test3.pasm:
9231         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9233 2001-09-10 23:18  simon
9235         * test.pasm, test2.pasm, test3.pasm:
9236         Move tests to t/
9238 2001-09-10 23:04  dan
9240         * test3.pasm:
9242         Register push/pop test
9244 2001-09-10 22:47  simon
9246         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9247         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9248         (Modified to avoid conflict with Dan's changes.)
9250 2001-09-10 22:45  dan
9252         * disassemble.pl:
9254         Happier about blanks in opcode_table
9256 2001-09-10 22:40  dan
9258         * interpreter.c, register.c:
9260         Yanked out debugging code, since these work OK. The bug I want is
9261         elsewhere.
9263 2001-09-10 22:30  simon
9265         * MANIFEST:
9266         Uhm. We want make_op_header.pl. We really, really do.
9268 2001-09-10 22:26  simon
9270         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9271         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9272         opcode_table, process_opfunc.pl:
9273         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9274         This means we can add lots more opcodes without fiddling about with
9275         the numbers. Hooray!
9277         Don't forget that "end" needs to be op zero, else the interpreter
9278         falls off the end of the code. This is Bad, and I wonder if there's
9279         a way around it.
9281 2001-09-10 19:49  simon
9283         * MANIFEST, make_op_table_build.pl:
9284         Hey! This doesn't do anything...
9286 2001-09-10 19:46  simon
9288         * Makefile:
9289         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9291 2001-09-10 18:31  simon
9293         * MANIFEST:
9294         You know what this means...
9296 2001-09-10 18:30  simon
9298         * assemble.pl:
9299         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9300         wait for a release...? :)
9302 2001-09-10 18:13  simon
9304         * interpreter.c:
9305         Bad Dan! No cookie!
9307 2001-09-10 17:56  simon
9309         * README:
9310         A *real* README file, which doesn't claim it isn't for public
9311         consumption.
9313 2001-09-10 17:02  simon
9315         * TODO:
9316         More things to do.
9318 2001-09-10 16:56  dan
9320         * TODO: Added in assembler gripe. Also added a few blank lines for
9321         clarity
9323 2001-09-10 16:49  dan
9325         * register.h, register.c: Renamed the core functions so the opcodes
9326         can find 'em OK. (There were some conflicts)
9328 2001-09-10 16:48  dan
9330         * basic_opcodes.ops, opcode_table: Added register window ops
9332 2001-09-10 11:07  simon
9334         * TODO:
9335         Trivial TODO list.
9337 2001-09-10 11:05  simon
9339         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9340         note "-s" flag to test prog.
9342 2001-09-10 11:01  simon
9344         * docs/strings.pod:
9345         New string documentation.
9347 2001-09-10 11:01  simon
9349         * basic_opcodes.ops, opcode_table:
9350         String ops.
9352 2001-09-10 10:53  simon
9354         * global_setup.c:
9355         More string fu.
9357 2001-09-10 10:51  simon
9359         * memory.h:
9360         Just some more aliases for now. Used by string handling stuff.
9362 2001-09-10 10:50  simon
9364         * assemble.pl, bytecode.c, bytecode.h:
9365         Temporary hack to store string constants in bytecode and recreate
9366         them at runtime.
9368 2001-09-10 10:48  simon
9370         * op.h:
9371         op.h is now generated by the Makefile; remove it.
9373 2001-09-10 10:47  simon
9375         * Makefile:
9376         clean and op.h Makefile targets.
9378 2001-09-10 10:45  simon
9380         * string.c, string.h, strnative.c:
9381         More string vtable stuff.
9383 2001-09-07 21:07  dan
9385         * assemble.pl:
9387         Much less picky about whitespace in the opcode_table now. (Doesn't
9388         whine on blank lines)
9390 2001-09-07 16:23  dan
9392         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9393         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9394         this takes) Added global_setup.h to declare init_world function
9396         Moved variable declarations out of the interpreter loop for small
9397         speed boost.
9399         Changed end opcode to now be opcode #0. A function is provided for
9400         it, but isn't ever executed.
9402         When the interpreter sees an opcode 0 in the stream it means the
9403         end of stream. Things were coring on Cygwin otherwise. (I think I
9404         was dereferencing a zero, which is bad)
9406 2001-09-06 22:07  dan
9408         * basic_opcodes.ops, process_opfunc.pl:
9410         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9411         are minor changes now that things are in a fixed state.
9413 2001-09-06 16:13  dan
9415         * basic_opcodes.c, test_opcodes.c:
9416         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9418         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9419         should be nuked. So it is. :)
9421 2001-09-06 03:35  dan
9423         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9424         Scripts to build the header file that holds the function table
9425         creation code, as well as the script to turn an opcode file to C
9426         source. (And the basic opcode functions turned into an opcode
9427         source file)
9429 2001-09-06 03:31  dan
9431         * Makefile, interpreter.c:
9432         Changes to support the autogeneration of the opcode function
9433         pointer table in interpreter.c, along with the changes to the
9434         Makefile needed.
9436 2001-09-05 13:27  simon
9438         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9439         docs/parrotbyte.pod, docs/vtables.pod:
9440         Added stubs for the documents; working on them this week. (What's
9441         left of it.) config.h change is just to type VTABLE, and the
9442         bytecode thing you might want to revoke. It's apidoc for the
9443         functions in there.
9445 2001-09-03 18:26  simon
9447         * docs/strings.pod:
9448         A start on the string API documentation.
9450 2001-09-03 17:43  simon
9452         * opcode_table:
9453         Since we specify the opcode number, we can rearrange to a more
9454         human-friendly ordering.
9456 2001-09-03 17:42  simon
9458         * basic_opcodes.c:
9459         Coupl'a logic bugs. (I think)
9461 2001-09-03 17:41  simon
9463         * string.c, string.h, strnative.c:
9464         Tidying up the string vtables.
9466 2001-09-03 17:38  simon
9468         * make_op_header.pl:
9469         Spit out the whole of op.h, not just the bit in the middle.
9471 2001-08-29 13:16  ask
9473         * README: it seems like we indeed can commit. What about sending
9474         commit mails?
9476 2001-08-29 13:07  simon
9478         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9479         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9480         global_setup.c, interpreter.c, interpreter.h, io.h,
9481         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9482         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9483         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9484         test.pbc, test_main.c, test_opcodes.c:
9485         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9486          I'm still working on the string stuff, though.
9488 2001-08-29 12:44  ask
9490         * README: update README with list address
9492 2001-08-29 12:36  ask
9494         * README: first readme.