[t] Convert some exception tests
[parrot.git] / ChangeLog
blobeb718519285f1430c3dfc87b07d7dd6730d6b338
1 #1 $Id$
3 2009.9.15     particle
4     * Released 1.6.0
5     See NEWS for more.
7 2009.8.18     Whiteknight
8     * Released 1.5.0
9     See NEWS for more.
11 2009.7.21     cotto
12         * Released 1.4.0
13         See NEWS for more.
15 2009.06.16    Whiteknight
16         * Released 1.3.0
17         Ses NEWS for more.
19 2009.05.19    Infinoid
20         * Released 1.2.0
21         See NEWS for more.
23 2009.04.21    fperrad
24         * Released 1.1.0
25         See NEWS for more.
27 2009.03.17    allison
28         * Released 1.0.0
29         See NEWS for more.
31 2009.02.17    kjs
32         * Released 0.9.1
33         See NEWS for more.
35 2009.01.20    chromatic
36         * Released 0.9.0
37         See NEWS for more.
39 2008.12.16    Whiteknight
40         * Released 0.8.2
41         See NEWS for more.
43 2008.11.18    chromatic
44         * Released 0.8.1
45         See NEWS for more.
47 2008.10.21    particle
48         * Released 0.8.0
49         See NEWS for more.
51 2008.09.16    pmichaud
52         * Released 0.7.1
53         See NEWS for more.
55 2008.08.19    rgrjr
56         * Released 0.7.0
57         See NEWS for more.
59 2008.07.15    barney
60         * Released 0.6.4
61         See NEWS for more.
63 2008.06.17    smash
64         * Released 0.6.3
65         See NEWS for more.
67 2008.05.20    chromatic
68         * Released 0.6.2
69         See NEWS for more.
71 2008.04.15    particle
72         * Released 0.6.1
73         See NEWS for more.
75 2008.03.18    bernhard
76         * Released 0.6.0
77         See NEWS for more.
79 2008.02.20    pmichaud
80         * Released 0.5.3
81         See NEWS for more.
83 2008.01.15    rgrjr
84         * Released 0.5.2
85         See NEWS for more.
87 2007.12.18    jonathan
88         * Released 0.5.1
89         See NEWS for more.
91 2007.11.20    chromatic
92         * Released 0.5.0
93         See NEWS for more.
95 2007.10.17    coke
96         * Released 0.4.17
97         See NEWS for more.
99 2007.09.18    particle
100         * Released 0.4.16
101         See NEWS for more.
103 2007.08.22    pmichaud
104         * Released 0.4.15
105         See NEWS for more.
107 2007.07.17    particle
108         * Released 0.4.14
109         See NEWS for more.
111 2007.06.19    allison
112         * Released 0.4.13
113         See NEWS for more.
115 2007.05.15    chromatic
116         * Released 0.4.12
117         See NEWS for more.
119 2007.04.17    mdiep
120         * Released 0.4.11
121         See NEWS for more.
123 2007.03.20    coke
124         * Released 0.4.10
125         See NEWS for more.
127 2007.3.10     coke
128         * removed parakeet
130 2007.02.22    pmichaud
131         * Released 0.4.9
132         See NEWS for more.
134 2007.01.17    chromatic
135         * changed 'name' method on namespaces to 'get_name' per pdd21
137 2007.01.16    particle
138         * Released 0.4.8
139         See NEWS for more.
141 2006.12.12    particle
142         * added C<isnull> opcode
144 2006.11.14    chip
145         * Released 0.4.7
146         See NEWS for more.
148 2006.11.07      tewk
149         * added :init pragma functionality to subs
151 2006.10.28      jonathan
152         * added :vtable pragma functionality to subs
154 2006.09.18    chromatic
155         * added Parrot::Embed under ext/Parrot-Embed
157 2006.08.18    leo
158         * remove the None PMC - if needed it can trivially be reimplemented
159           in languages from r14189
161 2006.08.16    creiss
162         Merged Software Transactional Memory branch into trunk, adds:
163         * several new opcodes whose names start with stm_
164         * read-only PMC support
165         * several new PMC types (whose names start with STM*)
166         * support for threads (again)
168 2006.08.08    chip
169         * Released 0.4.6
170         See NEWS for more.
172 2006.08.02    chip
173         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
174         there are opcodes now that want the real "in PMC".
175         * namespace and global opcodes now accept name arrays again, as
176         well as keys; the corresponding namespace PMC methods are gone.
178 2006.07.21    leo
179         * Parrot_exit, Parrot_on_exit take now an Interp * argument
181 2006.07.25    chip
182         * add experimental op find_type_i_p
183         * fix longstanding bug that sometimes didn't encode pasm keys as
184         Key PMCs (specifically "[S0]" and "['stringliteral']").
186 2006.07.24    chip
187         further implementation of new pdd21:
188         * new opcodes {get,set}*global
189           (old {find,store}*global will be supported for a short while)
191 2006.07.20    audreyt
192         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
193           (or some such --leo)
194           (at the moment code is checking for 2.0 -- ambs)
196 2006.07.17    chip
197         partial implementation of new pdd21:
198         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
199         * get_namespace and find_global opcodes no longer accept arrays
200           of strings.  To use arrays, call namespace object methods.
202 2006.06.19    leo
203         * Released 0.4.5
204         See NEWS for more.
206 2006.06.03    leo
207         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
209 2006.05.14    leo
210         * Released 0.4.4
211         See NEWS for more.
213 2006.04.30    bernhard
214         * Make the Perl PMCs dynamic and move them to src/dynpmc
216 2006.04.02    leo
217         * Released 0.4.3
218         See NEWS for more.
220 2006.03.06    leo
221         * Shifted argument type bits left by 2 according to r11754
222           change of docs/pdds/pdd03_calling_conventions.pod
223         * if you are creating PASM then code needs adjustment
225 2006.02.22    leo
226         * Released 0.4.2
227         See NEWS for more.
229 2006.01.16    bernhard
230          * rename src/dynclasses to src/dynpmc
231          * rename src/classes to src/pmc
233 2006.01.15    leo
235          * find_global and friends returns a .Null PMC instead of .Undef on
236           lookup failure, iff lookup exceptions are off
238 2006.01.08    leo
239         * Released 0.4.1
240         See NEWS for more.
242 2005.12.28    particle
243         * renamed all .imc files to .pir
244         * modified all doc references to .pir as well
246 2005.12.13    particle
247         * moved jit/ directory to src/jit/
249 2005.12.12    particle
250         * moved io/ directory to src/io/
251         * moved classes/ directory to src/classes/
252         * moved dynclasses/ directory to src/dynclasses/
254 2005.12.08    particle
255         * moved types/ directory to src/types/
256         * moved pf/ directory to src/packfile/
257         * moved ops/ directory to src/ops/
259 2005.12.08    particle
260         * moved charset/ directory to src/charset/
261         * moved encodings/ directory to src/encodings/
263 2005.12.07    particle
264         * moved imcc/ directory to compilers/imcc/
266 2005.12.06    particle
267         * moved util/ directory to tools/util/
268         * removed imcc/examples/ directory
269         * moved ast/ directory to compilers/ast/
271 2005.12.05    particle
272         * moved imcc/docs/ directory to docs/imcc/
273         * moved build_tools/ directory to tools/build/
274         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
276 2005.12.04    leo
277         * Released 0.4.0
278         * See NEWS for changes
280 2005.11.06    leo
281         * Released 0.3.1
282         * See NEWS for changes
284 2005.10.01    leo
285         * Released 0.3.0
286         * See NEWS for changes
288 2005.08.05    leo
289         * Released 0.2.3
290         * See NEWS for changes
292 2005.07.03    leo
293         * Released 0.2.2
294         * See NEWS for changes
296 2005.06.04    leo
297         * Released 0.2.1
298         * allow short names for object attributes
299         * string encoding and charset can now be set independently
300         * experimental mmap IO layer for slurping files
301         * enable compile opcode support for compilers written in PASM/PIR
302         * improved HLL support with .HLL and n_operators pragmas
303         * simplified hash code
304         * more strength reduce optimizations
305         * distinct debug and trace flag settings
306         * glob support in PGE
307         * new character classification opcodes and interfaces
308         * numerous bug fixes and enhancements
310 2005-05-08    leo
311         * Released 0.2.0
312         * parrot repository is now under subversion
313         * MMD (Multi Method Dispatch) enhanced
314         * new unary and infix opcodes that return new result PMCs
315         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
316         * more unification of PMCs and ParrotObjects
317         * tailcalls for functions and methods
318         * PGE (Parrot Grammar Engine) reworked
319         * Pugs creates Parrot code and Pugs is a registered compiler now
320         * new languages/lisp
321         * the usual bug fixes and improvements
323 2005-03-06    leo
324         * Released 0.1.2
325         * big rewrite of string code, not yet finished but ...
326         * partial implementation of a generational garbage collector
327         * indirect register frame addressing
328         * .return(args) PIR syntax
329         * moved most of the Python code to dynclasses
330         * a lot more Python functionality
331         * precalculate opcodes with all constants
332         * PGE - Parrot Grammar Engine
333         * scalar classes refactoring
334         * much more tests and big test system cleanup
335         * improved documentation
336         * and as always a lot more
338 2004-10-09    leo
339         * Released 0.1.1
340         * Need Perl 5.6 now for building
341         * Basic AST support, PAST file parser, bits of code generation
342         * BigInt PMC using GMP
343         * Complex PMC
344         * Dynamic loading improved including bundles of PMC classes
345         * Experimental support for "make install"
346         * IA64 and hppa JIT support
347         * ICU unicode support
348         * IO layer handling code
349         * IO readline and buffered IO fixes
350         * Incremental GC
351         * Internal pythonic functions: filter, map, reduce, max, min ...
352         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
353         * Library updates, Stream and SDL library
354         * MMD - multi method dispatch for binary vtable methods
355         * Many new array PMCs
356         * Method call syntax in PIR obj."meth"(...)
357         * More OS stuff: stat, exec, system, gmtime, piped read and write
358         * New Python PMCs like Enumerate, None
359         * Non-branching compare opcodes
360         * PIR support for += and friends
361         * Python language subdir
362         * Python types mapped to existing PMCs
363         * Slices and range support
364         * Tons of bug fixes, documentation updates, new tests
365         * Win32 COFF exec support
366         * ... and a lot more
368 2004-02-29    leo
369         * Released 0.1.0
370         * "Ladies and gentlemen, I give you... objects!"
371         * Huge documentation overhaul
372         * More supported platforms, s. PLATFORMS
373         * Basic thread support for pthread based architectures
374         * Basic event handling for timers and signals including:
375         * PASM callbacks for NCI (native C) functions.
376         * Improved platform configuration
377         * COW stacks now working, stacks code redone
378         * Structure handling vastly improved
379         * Random PMC and rand primitives
380         * Better subroutine call syntax in PIR
381         * Make PIR subroutines compliant with pdd03
382         * Improved profiling (DOD, GC timings)
383         * Hash code improvements, incl. random key order support
384         * Experimental freeze/thaw code for some PMC types
385         * IO improvements for buffered layer and Win32
386         * String iterators
387         * String bitwise vtables
388         * Many new opcodes
389         * Support for JIT, where malloced memory isn't executable
390         * Priority DOD scheme for objects that need timely destruction
391         * Improved bytecode loading (e.g. onLoad functions)
392         * Language updates: forth, Perl6/P6C, m4
393         * Libraries: Getopt_Long, SDL, Dumper, Sort
394         * new JAPH examples
395         * Unified imcc and parrot test handling
396         * Many new tests (make test reports 1386 tests)
397         * Numerous bug fixes
400 2003-10-31    leo
401         * Released 0.0.13
402         * Yep thirteen - haunted by the ghost of 0.0.12
403         * Build imcc as parrot
404         * Objects more finished
405         * Delegate vtable methods to byte code
406         * Binary multi-method dispatching
407         * Isa and does methods for PMCs
408         * Call byte code from C
409         * Start of extension interface
410         * Experimental struct handling
411         * Catch access to NULL PMCs
412         * Experimental network socket interface code and opcodes
413         * IO fixes and improvements
414         * Dynamic opcode libraries
415         * Fix-assigned opcode numbers
416         * Argument flattening for function calls
417         * More native call interface (NCI) signatures
418         * Ncurses, postgres, and pcre interface libraries
419         * Forth language is vastly improved
420         * BSD and Win32 build improvements
421         * Many new tests and fixes
423 2003-10-22    melvin
424         * imcc moved from parrot/languages/ to parrot/
426 2003-09-20    sfink
428         * updated the native_pbc test files (from Leo)
429         * built 0.0.11.1 release tarball
431 2003-09-20    sfink
433         * CHANGES BUNDLED INTO 0.0.11:
434         * Executable output
435         * Dynamic PMC registration
436         * Trial exception system
437         * Beginnings of object system
438         * Iterators
439         * Ordered hashes
440         * I/O system improvements
441         * References
442         * Documentation for basic PMC types
443         * IMCC support of Parrot Calling Conventions
444         * Runtime loading of chartypes (and other string improvements)
445         * Conditional breakpoints
446         * Dramatically accelerated sweeps for finalizable objects
447         * Small PMCs (PMCs split into core and extensions)
448         * Loadable bytecode packfiles
449         * Constant PMCs
450         * Sub variants that deal with the stack correctly
451         * Switched runops core
452         * Line numbers in warnings
453         * Environment access
454         * Many documentation cleanups
455         * Conversion to CPS style!
456         * BASIC debugger and many other wacky features
457         * Filename, line number parsing support in IMCC
459 2003-07-21 17:31 chromatic
460         * applied copyright patch from Josh Wilmes
462 2003-06-14 13:50 dan
463         * Moved the registers out of the context structure, since they
464           really aren't context
465         * Changed the register stack frames to hold only 16 registers
466           rather than 32, added half-set push and pop ops, and reworked
467           the full set push/pops to do two half-set push/pops. Should
468           speed up saving register data on calls, since we usually only
469           care about the top half of the registers anyway.
470         * Started committing some of the new class/object framework
471         * Remembered to finally start updating the Changelog
473 2003-03-18 03:50  ask
475         * Various files
476           Update Yet Another copyright statements to reflect the (no longer
477           so) shiny new year.
479 2003-03-11 22:06  chip
481         * Configure.pl: print help on non-option command line args
483 2002-12-18 20:38  sfink: changes since 0.0.8
485         - Allow suppression of cgoto core to save memory during compile
486         * Native function calling interface
487         * Major rewrite of stack and list aggregates
488         - Scalar PMC added
489         * Scratchpads implemented
490         - Win32 libraries
491         - Internal memory subsystem documentation
492         * Preliminary DotGNU support
493         - Packfile fingerprinting
494         * Buffer/PMC unification (into PObjs)
495         * stabs debugging information support
496         * Major Jako overhaul, including:
497           - imcc integration
498           - native function calling
499         - Perl6 string interpolation
500         - languages/regex now targets IMCC
501         * Optional Lea memory allocator
502         * Full sprintf implementation
503         * Many, many new tests
504         * Miniparrot
505         - exchange ops
506         - runtime-controllable gc debugging
507         * PMC properties
508         - Crash info
509         * JIT: various improvements
510           - register usage tracking
511           - block register allocation
512           - optimizations
513           - more jitted ops
514           - restartable
515           - architecture abstraction layer
516           - debugging via GDB
517         * Beginning support for extensible packfiles
518         * Much better key support, generally
519         * splice()
520         * Restructured PMC hierarchy with better functionality inheritance
521         * IMCC: many, many improvements. See imcc/ChangeLog
522         * Perl6: index map grep join reverse defined
523         * Scheme with functions!
526 2002-03-19 22:54  nicholas
528         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
530          We can now get usage information for test_parrot without having to
531          grep the source.
533 2002-03-19 22:53  simon
535         * Configure.pl:
536         Parrot is called parrot.
538 2002-03-19 22:53  nicholas
540         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
542          1. There are tests in t/pmc as well as t/op now.
543          2. Adds a comment about Parrot::Test
545 2002-03-19 18:09  dan
547         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
548         messes up automated builds
550         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
552 2002-03-19 00:33  mrjoltcola
554         * core.ops: Doc cleanup from Simon Glover.
556 2002-03-18 23:52  mrjoltcola
558         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
560 2002-03-18 22:09  dan
562         * include/parrot/resources.h: Checked in old version
564 2002-03-18 20:17  dan
566         * include/parrot/resources.h: Forgot a prototype
568 2002-03-18 20:15  dan
570         * resources.c: D'oh! Thinko, fixed.
572         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
574 2002-03-18 17:33  josh
576         * Configure.pl: Lowering the bar a bit.
578 2002-03-18 17:33  sfink
580         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
581         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
582         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
583         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
584         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
585         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
586         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
587         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
588         t/example.t: Whoops, wrong time to check this in.
590 2002-03-18 16:42  dan
592         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
593         least we consider the PMC and Buffer free pools worth collecting,
594         and initialize the Buffer pool stuff.  Still not 100% correct,
595         though.
597 2002-03-18 15:35  simon
599         * packfile.c:
600         Fix format arg bug.
602 2002-03-18 07:45  brentdax
604         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
605         system.
607 2002-03-18 00:09  sfink
609         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
610         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
611         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
612         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
613         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
614         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
615         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
616         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
617         t/example.t: Buggy 1st version of regex compiler implementation.
618         Warning: the test code depends on features of the assembler that do
619         not yet exist.
621 2002-03-17 21:35  ajgough
623         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
624         through addition and subtraction.  Also added the ability to run
625         all the tests, including the ones which deal with overflow and
626         underflow.  These fail, but that's expected.  Soon they'll pass.
627         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
628         passsssssssings tesssstsssss.
630 2002-03-17 20:06  ajgough
632         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
633         check_(under|over)flow to test bignumbers, rather than values.
634         context now carries E_limit, from which max and min exp are found.
636         Added a default-context-creating function (although this isn't the
637         same as either of the default contexts defined in the eda).
639 2002-03-17 13:31  ajgough
641         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
642         exported version matches prototypes of other public functions.
644 2002-03-17 06:44  josh
646         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
647         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
648         last-minute re-indenting.
650 2002-03-17 05:07  mrjoltcola
652         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
654 2002-03-16 23:17  nicholas
656         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
657         remove warnings:
659          default.pmc: In function `Parrot_default_get_integer_keyed':
660          default.pmc:50: warning: control reaches end of non-void function
661          default.pmc: In function `Parrot_default_get_number_keyed':
662          default.pmc:58: warning: control reaches end of non-void function
663          default.pmc: In function `Parrot_default_get_string_keyed':
664          default.pmc:67: warning: control reaches end of non-void function
665          default.pmc: In function `Parrot_default_get_pmc_keyed':
666          default.pmc:87: warning: control reaches end of non-void function
668 2002-03-16 18:50  ajgough
670         * types/: bignum.c, bignum.h: Lots of prototypes changed in
671         readiness for nicely telling your caller about any oddness you've
672         caused in the persuit of flow.
674 2002-03-16 17:38  dan
676         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
677         include/parrot/interpreter.h, include/parrot/resources.h: Now we
678         can control the GC and DOD, to stop it when we don't really want
679         it.
681 2002-03-16 16:58  dan
683         * resources.c, vtable.tbl, classes/default.pmc,
684         include/parrot/resources.h: Added the last code to let PMCs control
685         their marking at DOD time
687 2002-03-16 16:57  ajgough
689         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
690         feel a little more virtuous now.  Really I do.  You might not
691         believe me, but you should.  perl -pne 's/\t/        /g', if you're
692         curious.
694 2002-03-16 16:57  josh
696         * packfile.c, packout.c: M-x untabify is my new friend.
698 2002-03-16 16:50  josh
700         * trace.c, resources.c: Minor whitespace tweak for the benefit of
701         check_source_standards.pl
703 2002-03-16 16:50  ajgough
705         * types/: bignum.c, bignum.h: More documentation, separate
706         functions into public and private sorts, some initial stuff to cope
707         with over and underflow correctly.
709 2002-03-16 16:49  josh
711         * resources.c: Re-indented (sorry bout the big diff)
713 2002-03-16 16:47  bdwheele
715         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
716         assemble again, both with Simon's new assembler and with the old
717         one.
719 2002-03-16 16:33  mrjoltcola
721         * io/TODO: Get the TODO up-to-date for 0.0.4.
723 2002-03-16 16:11  josh
725         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
726         silly people (such as me) running Configure with
727         /usr/local/bin/perl (which is 5.004_05) and not realising their
728         mistake until the pmc subdirectory, where the first qr// is
729         encountered.
731         Syntax error messages don't tell you what you did wrong. This does:
733         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
734         only version 5.00405, stopped at Configure.pl line 10.
736 2002-03-16 14:38  ajgough
738         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
739         with commenting.
741 2002-03-16 11:45  simon
743         * MANIFEST, examples/assembly/xml_parser.pasm:
744         Added Clint Pierce's XML parser.
746 2002-03-15 22:24  simon
748         * packout.c:
749         Don't need that function.
751 2002-03-15 21:56  simon
753         * Makefile.in, include/parrot/packfile.h:
754         Rebuild packout.o, since it'll be used for the Packfile XS module
756 2002-03-15 19:45  dan
758         * include/parrot/: memory.h, pmc.h: Another add-in for GC
760 2002-03-14 19:48  dan
762         * core.ops: No string to int for some reason
764 2002-03-14 18:45  dan
766         * string.c, t/op/string.t: Fix 0-length substr problem
768 2002-03-14 14:46  dan
770         * core.ops, interpreter.c, resources.c, classes/array.pmc,
771         classes/perlarray.pmc, examples/assembly/life.pasm,
772         include/parrot/interpreter.h, include/parrot/resources.h: Added in
773         a counter for copied memory, with a display in life.pasm
775 2002-03-14 03:16  mrjoltcola
777         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
779 2002-03-13 23:43  simon
781         * packfile.c:
782         Oops.
784 2002-03-13 23:43  simon
786         * packfile.c:
787         Hangs head in shame.
789 2002-03-13 21:31  simon
791         * MANIFEST:
792         FAQ moved.
794 2002-03-13 18:06  simon
796         * string.c:
798         Fix string_compare screw-up.
800 2002-03-13 18:02  brentdax
802         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
803         and add a new question/answer pair.
805 2002-03-12 22:53  mrjoltcola
807         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
809 2002-03-12 22:48  mrjoltcola
811         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
812         warranty provided.
814 2002-03-12 22:29  ajgough
816         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
818 2002-03-12 22:24  ajgough
820         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
821         version 1.1, Don't know if this is the correct number, but I don't
822         want this stuck on my harddrive where it will get lost, so 14 it is
823         :)
825 2002-03-12 11:35  simon
827         * MANIFEST, packdump.c, packout.c:
829         Just so the functionality doesn't disappear.
831 2002-03-12 11:33  simon
833         * Makefile.in, chartype.c, encoding.c, packfile.c,
834         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
835         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
836         include/parrot/chartype.h, include/parrot/encoding.h,
837         include/parrot/packfile.h:
839         Packfile axing.
841 2002-03-11 23:06  nicholas
843         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
845           Core.ops documentation nits
847 2002-03-11 23:05  nicholas
849         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
851           Most of the PerlUndef tests in pmc.t appear to have been added
852         twice.
853           Enclosed patch removes the duplicates.
855 2002-03-10 23:40  nicholas
857         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
859          More tests for the PerlString test-suite.
861 2002-03-10 23:40  nicholas
863         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
865         test for sleep with negative argument
867 2002-03-10 21:58  nicholas
869         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
871          Enclosed patch fixes up a few more holes in our test coverage.
873 2002-03-10 21:18  mrjoltcola
875         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
876         classes/parrotpointer.pmc, classes/perlarray.pmc,
877         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
878         classes/perlstring.pmc, classes/perlundef.pmc,
879         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
880         argument to the init() vtable method so PMCs have the option to
881         know how to size themselves at creation. size could be N elements
882         or a byte count, depending on the PMC or it may simply be ignored.
883         Overloaded 'new' opcode for optional arg.
885 2002-03-10 21:15  mrjoltcola
887         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
888         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
889         class).
891         Also added small hack for .sub directive (which simply translates
892         to a label, however we might eventually want to collect these to
893         validate bsr calls.
895 2002-03-10 15:09  ajgough
897         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
898         Added round_floor and round_ceiling.  3403 tests pass, none fail.
900 2002-03-10 03:56  ajgough
902         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
903         divide, divide integer and remainder.  All filled in functions now
904         have special values capability.
906         Much remains to be done though, and the pdd needs to catch up.
908 2002-03-10 01:36  ajgough
910         * types/bignum.c: Added extended stuff to _add, _subtract.
912 2002-03-10 00:14  nicholas
914         * t/op/: integer.t, number.t: Patch from Simon Glover
915         <scog@roe.ac.uk>:
917          The enclosed patch fixes a few of the holes in our test coverage
918          uncovered by Josh Wilmes
920 2002-03-09 23:03  ajgough
922         * types/: bignum.c, bignum.h: Modified compare to work with
923         extended values.  Made a couple of changes here and there to allow
924         BN_comp to take a context, so that an is_zero check doesn't clobber
925         negative zeros.
927 2002-03-09 22:19  ajgough
929         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
930         Unary plus now copes with special values.
932 2002-03-09 04:25  ajgough
934         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
935         traps and flags are now enabled and tested for all the standard
936         tests for all the functions which are currently implemented.  Test
937         harness faffed with to allow these to be tested.
939 2002-03-09 02:29  josh
941         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
942         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
943         Re-indented
945 2002-03-09 02:22  josh
947         * config_h.in: tab-blastin'
949 2002-03-09 02:21  josh
951         * check_source_standards.pl: Play nicer with M-x compile- don't
952         bother giving line numbers for things you don't want to look at.
954 2002-03-09 02:10  josh
956         * examples/mops/mops.c: re-indented
958 2002-03-09 02:07  josh
960         * classes/pmc2c.pl: Use the usual header so that we can detect the
961         autogeneratedness.
963 2002-03-09 02:05  josh
965         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
966         compiler warning
968 2002-03-09 01:59  josh
970         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
971         patch- re-indent io/*.c.
973 2002-03-09 01:52  ajgough
975         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
976         special values to the string conversion functions, some other
977         functions now need context (to let -0 pass through really_zero)
978         which have also been added.
980 2002-03-09 01:47  josh
982         * test_main.c: Re-indented.
984 2002-03-09 01:41  josh
986         * rx.c: killed a stray tab
988 2002-03-09 01:38  josh
990         * rx.c: Re-indented.
992 2002-03-09 01:36  josh
994         * misc.c: Oops, some tabs remained- cleaned up.
996 2002-03-09 01:31  josh
998         * misc.c: Re-indented (major patch, sorry)
1000 2002-03-09 00:59  josh
1002         * embed.c: Re-indented.
1004 2002-03-08 23:08  simon
1006         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1007         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1008         docs/pdds/pdd13_bytecode.pod:
1009         Placeholder PDDs.
1011 2002-03-08 21:12  ajgough
1013         * include/parrot/string.h: Added private flags to string.h, mostly
1014         so that other GCed stuff can also have its very own private flags.
1016 2002-03-08 19:53  simon
1018         * MANIFEST:
1019         Great PDD Renaming
1021 2002-03-08 19:41  robert
1023         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1024         pdd6.pod, pdd7.pod: Renamed...
1026 2002-03-08 18:51  simon
1028         * MANIFEST, docs/pdds/pdd08_keys.pod:
1029         Add keys PDD.
1031 2002-03-08 18:20  ajgough
1033         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1034         Introduced exception handlers and exception flags to context, will
1035         allow support of extended standard.  Unified exception checking
1036         mechanism (sort of) and made minimal changes to bulk of code to use
1037         this.  Tests pass, I'm happy, and further changes will happen more
1038         gradually.
1040 2002-03-08 04:38  josh
1042         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1043         tweaks.
1045 2002-03-08 04:37  josh
1047         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1049 2002-03-08 04:24  josh
1051         * embed.c: A bit more re-indenting
1053 2002-03-08 04:20  josh
1055         * embed.c: Indenting fixes
1057 2002-03-08 04:14  josh
1059         * jit.c: Re-indented (run_indent.pl)
1061 2002-03-08 03:36  josh
1063         * ops2c.pl: Fix the line numbers which get reported while compiling
1064         core_ops*.c
1066 2002-03-08 03:22  josh
1068         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1069         The variable "type" is set but never used.
1071               opcode_t type;
1073 2002-03-08 03:04  josh
1075         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1076         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1077         noticed by the sgi compiler.
1079 2002-03-08 03:02  josh
1081         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1082         misc.c, Line = 417   The indicated type qualifier is meaningless on
1083         cast type.
1086         (const char) 'f');
1087                                                                          ^
1089 2002-03-08 02:55  josh
1091         * Makefile.in: Clean up one of the object files it was missing
1093 2002-03-08 01:15  josh
1095         * include/parrot/interpreter.h: Fixes the following error (tcc):
1096         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1097         comma at end of list.
1099 2002-03-06 22:15  simon
1101         * stacks.c:
1102         Tidy up stack chunk allocation.
1104 2002-03-06 21:00  simon
1106         * interpreter.c:
1107         Create strings only once we've got string register heads set up.
1109 2002-03-06 20:31  simon
1111         * classes/perlarray.pmc:
1112         malloc(0) considered harmful.
1114 2002-03-06 20:24  simon
1116         * include/parrot/resources.h:
1117         I like it when Parrot compiles.
1119 2002-03-06 17:02  dan
1121         * classes/array.pmc: Changed over to data pointing to a Buffer.
1123 2002-03-06 15:45  dan
1125         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1126         packfile.c, pbc2c.pl, pdump.c, resources.c,
1127         include/parrot/interpreter.h, include/parrot/memory.h,
1128         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1129         and opcode_t > longs will now be even more suspect than what they
1130         were beforehand.  2) Feel free to bicker with names.  I don't think
1131         we've come to *any* sort of agreement with these, although we
1132         really, really, need to.  3) I forget the third thing.  4) But I
1133         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1134         ANSI C states that enums will fit within the smallest type (int or
1135         greater) that can hold the values. Is that actually correct, and
1136         does it state whether unsigned is preferred to signed for
1137         non-negative enums? 6) Since I'm no longer constrained by "three"
1138         or "quick", I'm going size_t happy for a lot of memory-related
1139         storage.  (That's good.  No sense wasting the size or performance
1140         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1141         a couple other internal things (like the GC stat counters, seen
1142         here).  Size and performance, again, and unpromotable to a bigint,
1143         so we know that we (theoretically) will wrap.  However, size_t
1144         isn't the best choice for the type.  (Not that there's anything
1145         wrong with size_t, just that it shouldn't be called size_t.)  Any
1146         thoughts?  I was thinking of just doing unsigned int, because,
1147         IIRC, int is usually the natural word size, and will be most
1148         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1149         of was while writing down the others.  Sorry.
1151         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1153 2002-03-06 15:26  dan
1155         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1156         include/parrot/resources.h: Now we allocate generic Buffers from
1157         arenas too
1159 2002-03-05 21:42  brentdax
1161         * Configure.pl: Minor cleanup and enhancements.
1163 2002-03-05 21:25  dan
1165         * resources.c: non-special GC now works with PMCs
1167 2002-03-05 19:48  brentdax
1169         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1170         Parrot now "knows" if it's a development version or a release
1171         version.  See the instructions in the DEVELOPING file.
1173 2002-03-05 18:05  brentdax
1175         * MANIFEST: pasm.vim wasn't in the manifest.
1177 2002-03-05 17:57  simon
1179         * Makefile.in:
1180         Now, through much evilness, make distclean and make cvsclean work
1181         again.
1183 2002-03-05 17:38  dan
1185         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1186         include/parrot/interpreter.h, include/parrot/pmc.h,
1187         include/parrot/resources.h: PMC tracing complete
1189 2002-03-05 16:28  gregor
1191         * languages/jako/Makefile.in:
1192         Changed -I ../../ to -I ../../lib when calling the assembler, since
1193         the perl modules have moved.
1195 2002-03-05 05:30  josh
1197         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1198         string.c: More re-indenting via run_indent.pl.
1200 2002-03-05 05:17  josh
1202         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1203         run_indent.pl)
1205 2002-03-05 04:26  josh
1207         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1208         using run_indent.pl and some minor tweaking.
1210 2002-03-05 04:21  josh
1212         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1213         interpreter.c: Re-indented using run_indent.pl and some minor
1214         tweaking.
1216 2002-03-05 03:30  josh
1218         * include/parrot/trace.h: These functions are no longer used (or
1219         even implemented)
1221 2002-03-04 18:21  josh
1223         * include/parrot/trace.h: Fix a typo in the argument type.
1225         Patch from <daniel.ritz@gmx.ch>
1227 2002-03-04 03:39  josh
1229         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1230         header to jit_struct.h so we don't try to check it for conformance.
1231          (no way will it conform)
1233 2002-03-04 03:38  josh
1235         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1236         unicode.h, warnings.h: Remove some remaining tabs and split some of
1237         the remaining long lines.
1239 2002-03-04 03:17  josh
1241         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1242         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1243         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1244         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1245         string_funcs.h, trace.h, warnings.h: This is the first batch of
1246         re-indenting.   This patch is the result of running run_indent.pl
1247         on the header files and manually tweaking the results where errors
1248         were noticed.   This should get us closed, but some refinement may
1249         follow.
1251 2002-03-04 03:06  josh
1253         * resources.c: Return without parens, as mentioned in PDD 7
1255 2002-03-04 03:01  josh
1257         * core.ops: POD fixes.
1259 2002-03-04 02:58  josh
1261         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1262         on autogenerated files- used by the check_source_standards.pl
1263         script (for now) to exempt autogenerated files from the checks.
1265 2002-03-04 02:51  josh
1267         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1268         warnings.c: Added the editor "boilerplate" footer to a few files
1269         which were missing it.
1271 2002-03-04 02:34  josh
1273         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1274         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1275         c preprocessor directive indentation to comply with pdd 7.
1277         (also fixes the check for this indentation in
1278         check_source_standards.pl)
1280 2002-03-04 02:32  josh
1282         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1283         irix.
1285         perl t/harness t/op/basic..........Use of uninitialized value at
1286         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1287         line 6) #          got: undef #     expected: ''
1289 2002-03-04 02:30  josh
1291         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1292         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1293         "indent" program to enforce some of the code style standards
1294         outlined in PDD 7.
1296         Usage: ./run_indent.pl <file>
1298 2002-03-03 19:04  simon
1300         * examples/mops/mops.c:
1301         Let's make it compile, huh?
1303 2002-03-03 19:04  simon
1305         * examples/mops/mops.cs:
1306         I R AN IDIOT
1308 2002-03-03 18:11  simon
1310         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1311         Added C# and MS-IL versions of mops tester.
1313 2002-03-03 14:52  simon
1315         * core.ops:
1316         Add a sub() op to make mops_p work.
1318 2002-03-02 18:12  nicholas
1320         * examples/mops/mops.c, include/parrot/embed.h,
1321         include/parrot/interp_guts.h, include/parrot/jit.h,
1322         include/parrot/misc.h, include/parrot/packfile.h,
1323         include/parrot/rx.h, include/parrot/warnings.h,
1324         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1325         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1326         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1327         indent variables correctly.
1329 2002-03-02 17:41  nicholas
1331         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1332         patch to fix a compiler warning.
1334 2002-03-01 22:35  dan
1336         * memory.c, resources.c, include/parrot/pmc.h,
1337         include/parrot/resources.h: PMCs now come out of arenas.
1339 2002-03-01 06:15  dan
1341         * string.c:
1342         A non-existing buffer + a non-existing buffer should be a
1343         non-existing buffer, not "", which is really '\0'.
1345         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1347 2002-03-01 06:02  dan
1349         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1351         TMTOWTDI, but strcmp is probably the worse.
1353         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1355 2002-03-01 02:32  brentdax
1357         * embed.c: Debug mode now prints out the GC data.
1359 2002-02-28 23:44  dan
1361         * core.ops, resources.c, include/parrot/resources.h: Added collect
1362         and sweep opcodes
1364 2002-02-28 22:58  dan
1366         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1367         opcode
1369 2002-02-28 22:50  dan
1371         * core.ops, interpreter.c, resources.c,
1372         examples/assembly/life.pasm, include/parrot/interpreter.h,
1373         include/parrot/resources.h: Add some stat gathering to the resource
1374         allocation code.
1376         Also add an interpreter info retrieval op, and teach it about the
1377         different things it can retrieve.
1379         Finally, add some stat info to life.pasm as an example
1381 2002-02-28 21:27  dan
1383         * editor/pasm.vim: VIM mode commands for parrot assembly files
1385         Courtesy of Scott Beck <scott@gossamer-threads.com>
1387 2002-02-28 19:20  dan
1389         * examples/assembly/life.pasm: Fix a creeping string length leak.
1391         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1393 2002-02-28 18:26  dan
1395         * string.c: When you clone a constant, it ain't constant no mo'.
1397         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1399 2002-02-28 00:51  dan
1401         * MANIFEST: Add missing files
1403         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1405 2002-02-28 00:49  dan
1407         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1408         CVS seems to have several chunks missing out of it, too.  This
1409         patch is simply an administrative patch, with the differences
1410         between my last version, and the one currently in there.  There
1411         will be a forthcoming patch for some minor tweaking to the PDD, but
1412         I wanted a common baseline before I make any (potential) semantic
1413         changes.
1415         There's only one semi-major change, which noone needs to worry
1416         about just yet.  That's a change from PDD Format 1 to PDD Format
1417         6.0 - rationale can be found under 'Standard (Version #)' of the
1418         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1419         should be 6.0.0, and we need to discuss Perl versus Parrot with
1420         PDDs.
1422         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1424 2002-02-28 00:27  dan
1426         * packfile.c, resources.c, examples/assembly/life.pasm,
1427         include/parrot/register.h, include/parrot/resources.h,
1428         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1429         no PMCs yet)
1431         This patch now implements a real copying collector. We trace from
1432         our root set and compact the contents of Buffer structs.
1434         Todo:
1436         *) It's very STRING-centric and doesn't handle memory stuffed in
1437         Buffers.  But, then, we don't have pool allocation for Buffers
1438         either, and we need to have that soonish for this to work.
1440         *) Doesn't trace PMCs, so if you trigger a collection and there's
1441         memory or STRING structs only accessible from PMCs, you'll fail
1442         horribly. That needs fixing too
1444         *) Better algorithms for when to trace or collect vs when to just
1445         go allocate more memory from the system. Should probably be more
1446         cache friendly too.
1448 2002-02-27 21:04  dan
1450         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1451         examples/assembly/life.pasm, include/parrot/resources.h,
1452         include/parrot/string.h, include/parrot/string_funcs.h,
1453         jit/i386/core.jit: Start of GC in
1455 2002-02-26 16:41  dan
1457         * jit/i386/string.jit: Fix a typo
1459         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1461 2002-02-26 16:37  dan
1463         * interpreter.c: Fix solaris test failures
1465         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1467 2002-02-26 16:36  dan
1469         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1470         unicode.h, warnings.h: Fixes various warts in header files, such
1471         as: * macros   -added parens to prevent problems with operator
1472         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1473         is no longer used * added some more INLINE definitions for MSVC and
1474         C99 compilers
1476         Courtesy of Brian Lee Ray <blray@ualr.edu>
1478 2002-02-26 16:20  dan
1480         * Configure.pl: Turns out we were using a warning flag which
1481         doesn't exist on 2.7.  Simple tweak though:
1483         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1485 2002-02-25 22:58  dan
1487         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1489 2002-02-25 17:36  dan
1491         * include/parrot/pmc.h: Fix the bits
1493 2002-02-23 21:57  dan
1495         * include/parrot/resources.h: Another 1.5% never hurts
1497 2002-02-23 21:44  dan
1499         * global_setup.c, memory.c, resources.c, string.c,
1500         include/parrot/resources.h: Allocate STRING headers from an arena
1501         with freelist rather than with the system malloc. First step in a
1502         good (or even a bad) GC system.
1504 2002-02-23 20:37  brentdax
1506         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1508 2002-02-22 14:59  ajgough
1510         * types/bignum.c: BN_multiply split into BN_multiply and
1511         BN_imultiply, the internal version to be used by idivide so that
1512         rounding isn't performed during intermediate stages of division.
1514         following test scripts now all pass: divide divideint add multiply
1515         subtract remainder compare rounding plus minus (these are all the
1516         operations currently implemented, rescale and power must still be
1517         written, so don't pass right now).
1519 2002-02-22 13:13  ajgough
1521         * types/bignum_atest.pl: Test harness modified to understand
1522         comments better, and be able to run unary (and rounding) tests.
1523         Currently a few rounding tests fail, which are being investigated.
1525 2002-02-22 01:41  dan
1527         * key.c: Although there's more work being done on the key stuff and
1528         this isn't the final fix, applying this patch does get parrot to
1529         build with two more compilers, so it's probably worthwhile.
1531         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1533 2002-02-22 00:53  dan
1535         * config_h.in, misc.c, include/parrot/embed.h,
1536         include/parrot/exceptions.h, include/parrot/interpreter.h,
1537         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1538         include/parrot/resources.h, include/parrot/rx.h,
1539         include/parrot/string.h, include/parrot/unicode.h,
1540         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1541         io/io_win32.c: Fixes the following (lcc) warnings:
1543           - interpreter.c:470: warning: expression with no effect elided
1544                (related to the way warnings flags were defined)
1546           - misc.c:352: warning: unreachable code
1547             misc.c:483: warning: unreachable code
1548                (i introduced these with some overzealous de-linting)
1550           - numerous warnings like this:
1551             io/io_unix.c:383: warning: conversion from pointer to void' to
1552         pointer to
1553             pointer to struct _ParrotIO function(pointer to struct
1554         Parrot_Interp,pointer
1555             to struct _ParrotIOLayer,pointer to const char,pointer to const
1556         char,pointer
1557             to pointer to void)' is compiler dependent
1559         Fixes the following nits:    - remove bad indenting (tabs) in the
1560         includes
1562         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1564 2002-02-21 21:12  ajgough
1566         * types/: bignum.c, bignum.h: These might look like massive
1567         changes, but really it's just he imposition of coding standards.
1568         The file still isn't entirely compliant, but is now much more so.
1570         Also changed:
1572          o a few more comments
1573          o BN_compare uses internal BN_comp to compare
1574          o lost_digits behaviour is now correct (test harness modified to
1575         test
1576            this).
1578         All binary functions now pass all the tests in the basic standard.
1579         Unary functions not yet tested, will be soon.
1581 2002-02-21 18:20  dan
1583         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1584         was no longer needed, and the ssize_t thing really shouldn't be
1585         needed either.
1587         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1589 2002-02-21 18:15  dan
1591         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1592         include/parrot/parrot.h: this patch adds support for the freely
1593         available borland c++ 5.5.1 compiler
1595         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1596         working borland compiler (compiler must know where to find headers
1597         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1598         cc='cl.exe' - a working make utility (borland make doesn't work,
1599         nmake does)
1601         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1602         hints/mswin32.pl - remove a space from Configure.pl (very very
1603         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1604         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1605         (win32 knows it, linux not)
1607         and the why: - parrot is MUCH faster when compiled with borland c
1608         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1609         seconds
1611         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1613 2002-02-21 18:09  dan
1615         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1616         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1617         cuddled elses, as required by PDD 7.
1619         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1621 2002-02-21 18:04  dan
1623         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1624         a new Makefile target called "check_source".  This target scans all
1625         the .c and .h files in the directory and checks for conformance to
1626         a number of the standards outlined in PDD 7.
1628         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1630 2002-02-21 16:38  ajgough
1632         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1633         allow arithmetic with numbers with a fixed fractional part, buffer
1634         structures now more ready to be integrated into the parrot memory
1635         allocation game, test harness modified to allow lost_digits
1636         condition to be checked.  Some more comments.
1638 2002-02-21 15:53  simon
1640         * io/io_unix.c:
1641         Fix typo
1643         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1645 2002-02-20 16:41  dan
1647         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1649 2002-02-18 18:25  dan
1651         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1653         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1655 2002-02-18 18:21  dan
1657         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1658         CPrederef.pm to make to generated code compile with the MS
1659         compiler.
1661         fixes: - ms compiler allows inline only for c++, for c there's
1662         __inline - ms header files knows nothing about ssize_t
1664         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1666 2002-02-18 17:49  dan
1668         * MANIFEST: Add the PDDs
1670 2002-02-18 17:47  dan
1672         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1673         coding standards PDD.
1675 2002-02-18 17:40  dan
1677         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1679 2002-02-18 12:41  gregor
1681         * test_main.c:
1682         Remove warning about exit() not being declared.
1684 2002-02-18 08:29  simon
1686         * misc.c, warnings.c, include/parrot/misc.h,
1687         include/parrot/warnings.h:
1688         This patch adds some missing const's to silence a number of gcc
1689         warnings.
1691         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1693 2002-02-18 08:26  simon
1695         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1696         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1697         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1698         include/parrot/parrot.h, include/parrot/rx.h,
1699         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1700         lib/Parrot/OpTrans/CPrederef.pm:
1701            - add makefile target and script to test for external libc
1702         dependencies
1703            - fix return values in hash and array PMCs (returning 0 in a
1704         void func)
1705            - remove unnecessary data pointer <=> function pointer
1706         conversions
1707              outside of the JIT code.
1708            - move the definition of the "INLINE" macro out of the rx header
1709         and make
1710              available for general use on C++ compilers and gcc.
1711            - remove a few unused variables
1713         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1715 2002-02-17 16:29  simon
1717         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1718         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1719         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1720         We're organised and responsible. Honest.
1722 2002-02-17 02:46  sfink
1724         * Makefile.in: Remove $^ for nmake compatibility.
1726 2002-02-16 09:20  brentdax
1728         * config_h.in, test_main.c, include/parrot/chartype.h,
1729         include/parrot/embed.h, include/parrot/encoding.h,
1730         include/parrot/string.h, include/parrot/string_funcs.h: Better
1731         embedding exposure and hiding, part 1.
1733 2002-02-16 04:38  dan
1735         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1736         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1737         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1738         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1739         typecasts in various places throughout the code. It probably won't
1740         work for Windows yet. The libparrot.a target might need to be
1741         modified to at least prevent it from confusing make on Windows; I
1742         don't know.
1744         Preliminary instructions for using pbc2c.pl are in
1745         docs/running.pod.  I'll try to do better later.
1747         Courtesy of Steve Fink <steve@fink.com>
1749 2002-02-16 04:15  dan
1751         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1753         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1755 2002-02-16 00:03  simon
1757         * classes/: perlarray.pmc, perlhash.pmc:
1759         pmc is already defined!
1761 2002-02-15 23:20  brentdax
1763         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1764         include/parrot/exceptions.h: Far more informative panic messages.
1766 2002-02-15 03:24  dan
1768         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1769         much more extensive patch that fixes it to work properly, and
1770         deletes a bazillion casts as well.  It also points to the question
1771         "can we make the byte_code be an opcode_t* already?"
1773         Oh, and it makes some of the formatting prettier, so it's gotta be
1774         good.
1776         Courtesy of * Steve Fink <steve@fink.com>
1778 2002-02-15 02:30  dan
1780         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1781         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1782         of the things it finds.  Attaching the patch as well as the current
1783         lint output.
1785         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1787 2002-02-15 01:59  dan
1789         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1790         moment.
1792 2002-02-15 01:48  dan
1794         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1796 2002-02-15 01:40  dan
1798         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1799         things
1801 2002-02-14 23:30  dan
1803         * resources.c: Added comment for buffer tag routine. D'oh!
1805 2002-02-14 23:28  dan
1807         * resources.c, include/parrot/resources.h: Added buffer mark
1808         routine for GC
1810 2002-02-14 23:17  dan
1812         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1813         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1814         Rejigged memory system a bit. Now should be ready for the horror
1815         that is garbage collection.
1817 2002-02-14 19:33  gregor
1819         * ops2c.pl, include/parrot/oplib.h:
1820         Added code to automatically generate a function within an oplib to
1821         lookup opinfos given the op name. This will come in handy in future
1822         when we want to twiddle opcode tables at run time and possibly at
1823         startup time.
1825 2002-02-14 19:25  gregor
1827         * examples/assembly/queens.pasm:
1828         Regenerated queens.pasm from queens.jako since the clone_* stuff
1829         went away.
1831 2002-02-14 17:12  dan
1833         * resources.c, include/parrot/resources.h: Finished up the
1834         interface for memory and tracked interpreter thingies.
1836 2002-02-14 16:53  dan
1838         * memory.c, include/parrot/memory.h: intercept free and realloc
1840 2002-02-14 05:53  dan
1842         * interpreter.c, runops_cores.c: The type changes in struct
1843         Packfile break the pointer math used in a few places to calculate
1844         the address of the end of the loaded byte code. This causes
1845         segfaults in build_asm in jit.c when using -j. It also breaks the
1846         bounds checking on opcode address in runops_slow_core.
1848         The patch adds the necessary cast to correct the code_end
1849         calculations.
1851         Courtesy of Jason Gloudon <perl@gloudon.com>
1853 2002-02-14 01:01  ajgough
1855         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1856         BigInt operations (I think), tests for normal operation continue to
1857         pass.  Also a shed load of comments.
1859 2002-02-13 01:34  ajgough
1861         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1862         is a (mostly) working bignumber library.  There remains much work
1863         to do though, some functions are not yet implemented and headers
1864         need to find their way to the correct place RSN.  Also support for
1865         bigints and a sensible error reporting mechanism are needed.
1867 2002-02-12 18:51  dan
1869         * misc.c: Fix some warnings
1871 2002-02-12 17:10  dan
1873         * misc.c: Run through indent -kr -nce so I can read it
1875 2002-02-12 16:49  dan
1877         * misc.c: Need standard header/footer comments
1879 2002-02-11 20:32  simon
1881         * classes/array.pmc:
1882         get and set pmc methods.
1884 2002-02-11 20:19  simon
1886         * classes/array.pmc:
1887         Maybe the keys aren't integer...
1889 2002-02-11 20:03  simon
1891         * core.ops, vtable.tbl, classes/default.pmc:
1892         {g,s}et_pmc_keyed
1894 2002-02-11 19:07  simon
1896         * vtable.tbl, classes/default.pmc:
1897         Add set_pmc. Usee with caution.
1899 2002-02-11 18:20  dan
1901         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1902         compile
1904 2002-02-11 17:59  simon
1906         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1907         classes/perlarray.pmc, classes/perlhash.pmc:
1908         Make it compile.
1910 2002-02-11 17:57  simon
1912         * packfile.c, include/parrot/packfile.h:
1913         Reduce warnings
1915         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1917 2002-02-11 17:55  dan
1919         * docs/parrot_assembly.pod: Document some key ops
1921 2002-02-11 09:20  brentdax
1923         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1924         disgustingly easy.
1926 2002-02-11 00:34  simon
1928         * core.ops, include/parrot/exceptions.h:
1929         This is what keyed set ops look like. Remember, however, that for
1930         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1931         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1932         obviously ambiguous that you ought to use the 4-arg version
1933         instead.
1935 2002-02-10 23:12  jgoff
1937         * classes/: array.pmc, perlarray.pmc: Properly allocate
1938         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1939         isn't tested yet, but should be fairly straightforward.  PerlHash
1940         needs to be finished before the system will compile again, and that
1941         should be done in the next few days.
1943 2002-02-09 04:46  jgoff
1945         * classes/: array.pmc, default.pmc, intqueue.pmc,
1946         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1947         Added basic _keyed member functions.  Unfortunately this still
1948         doesn't fix the problems that are causing the build to break. It's
1949         a start though. I'm not implementing the PMC add functions just
1950         yet.
1952 2002-02-08 15:59  simon
1954         * classes/array.pmc:
1955         Some more work on getting the array stuff up to date.
1957 2002-02-08 12:23  simon
1959         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1960         lib/Parrot/Vtable.pm:
1961         Got array->get_integer_keyed doing what I think it ought to. One
1962         down, all the rest to go.
1964 2002-02-08 11:47  simon
1966         * vtable.tbl:
1967         Although I didn't intend it to be quite that broken...
1969 2002-02-08 11:42  simon
1971         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1972         Completely break Parrot, but at least we get the key stuff right
1973         for now.
1975 2002-02-08 06:25  dan
1977         * hints/darwin.pl: Silences the warning about passing in
1978         -flat_namespace to the compile.  That's a link-only flag.
1980 2002-02-08 04:52  jgoff
1982         * classes/: array.pmc, default.pmc, intqueue.pmc,
1983         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1984         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1985         return values in *.pmc, added some missing casts to the repeat_foo
1986         members, and deleted the _index members from the perlscalar
1987         classes.  Basic cleanup, and getting ready for _keyed functions.
1989 2002-02-07 04:49  mrjoltcola
1991         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1992         added a nested subroutine call.
1994 2002-02-07 04:32  jgoff
1996         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1997         changes in order to give the whitespace rules a little workout, and
1998         do a little bit more testing. No actual structural changes were
1999         made.  lib/Parrot/Vtable.pm got an interface change, and more
2000         importantly should be ready to support the new '_keyed' attribute,
2001         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2002         src_value' followed by 'KEY* src_key'.  This will be how the new
2003         _keyed operators will function, and those should be written within
2004         a few days.
2006 2002-02-06 18:00  doughera
2008         * misc.c: Change C++-style comments to C comments (again).  Remove
2009         unused perl5 code that was in #if 0/#endif.
2011 2002-02-06 17:59  doughera
2013         * warnings.c: Add trailing newline.
2015 2002-02-06 04:14  mrjoltcola
2017         * include/parrot/io.h, io/io.c: Minor cleanup.
2019 2002-02-06 03:11  mrjoltcola
2021         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2022         couple of loose end in win32 IO stuff. Open behaves now but needs
2023         more work.
2025 2002-02-05 21:02  brentdax
2027         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2028         which showed up in Purify builds.
2030 2002-02-05 17:15  simon
2032         * misc.c:
2033         Warning fixes.
2035         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2037 2002-02-05 17:08  doughera
2039         * misc.c: Avoid C++-style comments.
2041 2002-02-05 17:07  doughera
2043         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2044         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2045         thanks to Jason Gloudon <perl@gloudon.com>.
2047 2002-02-05 14:04  simon
2049         * misc.c:
2050         Make the problem different, perhaps even better.
2052 2002-02-05 13:49  simon
2054         * misc.c:
2055         Possibly fix a `short int' is promoted to `int' when passed through
2056         `...' scary error, possibly make things absolutely worse.
2058 2002-02-05 13:15  simon
2060         * Configure.pl:
2061         Placate Tru64.
2063 2002-02-05 13:12  simon
2065         * warnings.c:
2066         Not going to get far without this one...
2068 2002-02-05 11:41  simon
2070         * string.c:
2071         Don't barf when handed null pointers.
2073 2002-02-05 10:04  simon
2075         * misc.c, include/parrot/misc.h:
2076         Fix some trivial bugs in warnings code.
2078 2002-02-05 09:27  simon
2080         * misc.c:
2081         Oops, forgot this one; also added %P support.
2083 2002-02-05 09:20  simon
2085         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2086         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2087         include/parrot/interpreter.h, include/parrot/misc.h,
2088         include/parrot/parrot.h, include/parrot/warnings.h:
2089         Warnings support.
2091         Courtesy of: Brent Dax <brentdax@cpan.org>
2093 2002-02-05 05:41  jgoff
2095         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2096         format of vtable.tbl to get rid of the tab-dependence.  The format
2097         now looks roughly like this:
2099         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2100         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2101         assumed here, but note the C-like prototyping.  Also had to disable
2102         one test that depended upon 'concat_p_p_s', which isn't necessary
2103         anyway.
2105         Vtable.pm will change again when the type '_keyed' is added,
2106         because that requires remapping parameters slightly differently
2107         again.  Also, note that it assumes 'value' is the first parameter
2108         in the list. This assumption will go away at the same time.
2110 2002-02-04 16:57  ajgough
2112         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2113         functions.  Thanks to Simon Glover.
2115 2002-02-04 02:47  ajgough
2117         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2118         needed.  I suspect that the entire hints file isn't really needed,
2119         but there's no one to actually tell us this.
2121 2002-02-02 15:45  ask
2123         * docs/ParrotFAQ.htm: fix internal links
2125 2002-02-02 04:06  jgoff
2127         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2128         Moving the internal KEY structure from the cache.struct_val member,
2129         where it doesn't really belong, to the internal SELF->data member.
2130         This frees up the cache/type members for other usage.
2132         This is the first step in moving PMCs to the point where we can do
2133         multidimensional PMC handles. The next step is to change the
2134         assembler to accept the syntax of 'set P0["foo"],7'.
2136 2002-02-02 00:13  nicholas
2138         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2139         prototype Parrot_Array_class_init
2141 2002-02-02 00:13  nicholas
2143         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2144         time to sum_time to avoid warning on FreeBSD about tracking a
2145         global [No, this warning does not appear on Linux. Yes, it is real
2146         :-)]
2148 2002-02-01 23:02  nicholas
2150         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2151         Glover
2153 2002-02-01 20:20  nicholas
2155         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2157 2002-02-01 18:20  nicholas
2159         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2160         you
2162 2002-02-01 13:22  nicholas
2164         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2166 2002-02-01 12:19  simon
2168         * core.ops, t/op/ifunless.t, t/op/integer.t:
2169         Added "unless" op.
2171 2002-02-01 12:11  simon
2173         * lib/Parrot/Test.pm:
2174         Remove a warning.
2176 2002-02-01 01:38  nicholas
2178         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2179         and a manitest target to Makefile.in that lets one test the
2180         manifest.
2182 2002-02-01 00:03  dan
2184         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2185         PMC dynaloading
2187 2002-01-31 21:46  gregor
2189         * Configure.pl, Makefile.in, hints/mswin32.pl:
2190         A few more things are now configable, so we are closer to win32
2191         shared library builds. Not there yet, but closer.
2193 2002-01-31 21:00  dan
2195         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2196         include/parrot/pmc.h: First step in dynamically loading PMC classes
2198 2002-01-31 19:38  dan
2200         * Makefile.in: Dependencies in the Makefile are currently too broad
2201         brush.  I don't enjoy waiting for everything to recompile every
2202         time I try to tweak the jit. The only file that #includes
2203         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2204         should reflect this, and not cause a gratuitous recompile of
2205         everything.  There are probably other auto-generated header files
2206         that world+dog should not depend on.
2208         Courtesy of  Nicholas Clark <nick@unfortu.net>
2210 2002-01-31 19:03  gregor
2212         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2213         Added two new make targets:
2215           * testp: Like 'make test', but passes -P to t/harness, so you get
2216         to
2217             see how broken predereferencing is.
2219           * testj: Like 'make test', but passes -j to t/harness, so you get
2220         to
2221             see how broken JIT is.
2223         Now, anyone who wants to see how good all three ways of running are
2224         can do so, at the cost of about 3x the time.
2226 2002-01-31 17:09  brentdax
2228         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2230 2002-01-31 03:41  grunblatt
2232         * docs/jit.pod: Update jit.pod
2234 2002-01-31 03:20  grunblatt
2236         * jit/i386/core.jit: Hold this until we get an assemble tool,
2237         because of the different objdump problems.
2239 2002-01-31 03:13  grunblatt
2241         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2242         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2243         of: Jason Gloudon <perl@gloudon.com>
2245 2002-01-31 02:22  grunblatt
2247         * jit/i386/core.jit: Continue if the register is null
2249 2002-01-30 23:50  grunblatt
2251         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2252         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2253         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2254         specific file.
2256 2002-01-30 23:35  mrjoltcola
2258         * io/io_win32.c: Change implementation of isatty on win32,
2259         suggested by Hong Zhang.
2261 2002-01-30 23:19  sfink
2263         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2264         Op::may_jump boolean method.
2266         Replaced jit2h's hardcoded pattern match to decide what ops might
2267         change the control flow.
2269 2002-01-30 22:13  dan
2271         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2272         parrot to mostly-build with tcc.  It allows one to skip compiling
2273         the JIT stuff (by specifying --define jitcapable=0), and it
2274         introduces a test program which gives a friendlier error in this
2275         case for compilers which are as picky as tcc is about function
2276         pointer conversion.
2278         If anyone figures out the proper way to cast these function
2279         pointers this may not be necessary.
2281         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2283 2002-01-30 20:54  dan
2285         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2286         Here's an update to docs/running.pod to better reflect the current
2287         state (both the test_parrot and assemble.pl improvements, plus
2288         documentation of a few more things.) And also a speling fiks
2289         s/POST_MORTERM/POST_MORTEM/.
2291         I could also replace some "perl foo" calls with "./foo" if someone
2292         wanted to set the executable flag in CVS on assemble.pl,
2293         optimize.pl, etc.
2295         Courtesy of Steve Fink <steve@fink.com>
2297 2002-01-30 20:43  dan
2299         * core.ops: find_global doesn't work, so stub out the wrong code
2301 2002-01-30 19:08  dan
2303         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2304         that perldoc
2305          can read it and just tidies it up generally. It also adds
2306         documentation
2307          for the constantize_integer and constantize_number functions.
2309         Courtesy of Simon Glover <scog@roe.ac.uk>
2311 2002-01-30 18:02  dan
2313         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2314         classes/genclass.pl, classes/pmc2c.pl,
2315         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2316         distribution (including assemble.pl !)
2317          can no longer find the Parrot::* modules. Enclosed patch fixes
2318         (although
2319          it would be nice if there were an easier way to do this).
2321         Courtesy of  Simon Glover <scog@roe.ac.uk>
2323 2002-01-30 16:00  mrjoltcola
2325         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2326         types.
2328 2002-01-30 15:50  mrjoltcola
2330         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2332 2002-01-30 15:42  grunblatt
2334         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2335         files around
2337 2002-01-30 15:38  grunblatt
2339         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2340         the manifest,  and also puts it back into alphabetical order.
2342         Courtesy of: Simon Glover <scog@roe.ac.uk>
2344 2002-01-30 14:41  nicholas
2346         * embed.c: Patch from Simon Glover to clean up warnings where
2347         prototype is () not (void)
2349 2002-01-30 13:54  nicholas
2351         * include/parrot/embed.h, test_main.c: Add void as an explicit
2352         parameter in test_main.c's usage(), version(void) and embed.h's
2353         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2354         warning: function declaration isn't a prototype
2356 2002-01-30 12:08  simon
2358         * lib/Parrot/.cvsignore:
2359         Ignore generated Perl modules.
2361 2002-01-30 12:07  simon
2363         * t/harness:
2364         Run the PMC tests as well.
2366 2002-01-30 12:04  simon
2368         * MANIFEST:
2369         Fix MANIFEST after recent t/pmc rejig.
2371 2002-01-30 11:42  simon
2373         * lib/Parrot/Test.pm:
2374         Report non-zero exit codes.
2376         Courtesy of: Michael G Schwern <schwern@pobox.com>
2378 2002-01-30 11:39  simon
2380         * t/op/rx.t:
2381         Skip final test, TODO doesn't work yet.
2383 2002-01-30 09:54  brentdax
2385         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2386         predereferencing works.
2388 2002-01-30 09:38  brentdax
2390         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2391         subsystem.
2393 2002-01-30 09:37  brentdax
2395         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2397 2002-01-30 09:37  brentdax
2399         * config_h.in: Expose another flag for embedders.
2401 2002-01-30 05:07  jgoff
2403         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2404         location for Parrot/, and t/harness wasn't able to run the new
2405         op/pmc tests. Both problems fixed, so I think I'm going to declare
2406         the build suitable for public consumption.
2408 2002-01-30 04:34  robert
2410         * docs/Makefile.in: update for CVS movement
2412 2002-01-30 04:32  robert
2414         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2415         .in file, not the real Makefile)
2417 2002-01-30 04:20  robert
2419         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2420         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2421         related to moving files around
2423 2002-01-30 04:10  robert
2425         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2427 2002-01-30 04:07  robert
2429         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2431 2002-01-30 03:56  robert
2433         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2434         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2435         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2436         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2437         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2438         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2439         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2440         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2441         lib/Parrot/
2443 2002-01-30 03:46  robert
2445         * languages/miniperl/miniperlc: renamed to mpc
2447 2002-01-30 03:45  robert
2449         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2450         pmc_perlstring.t: Moved to t/op/pmc/
2452 2002-01-30 03:40  robert
2454         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2456 2002-01-30 03:14  jgoff
2458         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2459         Fixed some problems with PerlArray and added tests.  Previously,
2460         only integers could be accessed by negative indices.  After this
2461         change, all basic types can be accessed by negative indices, and
2462         they can also be set at negative indices.
2464 2002-01-29 22:13  brentdax
2466         * TODO: Just look at the stupid diff.
2468 2002-01-29 21:53  simon
2470         * TODO, docs/vtables.pod:
2471         New TODO, and tiny addition to vtables.pod
2473 2002-01-29 21:47  mrjoltcola
2475         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2477 2002-01-29 21:38  mrjoltcola
2479         * Makefile.in: Makefile.in tweak for io depend.
2481 2002-01-29 21:15  brentdax
2483         * embed.c: Fix a segfault and some profiling formatting nits.
2485 2002-01-29 20:54  brentdax
2487         * pmc.c: Oops.
2489 2002-01-29 20:50  brentdax
2491         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2492         segfaults.
2494 2002-01-29 20:17  mrjoltcola
2496         * interpreter.c, core.ops, io.ops: CVS missed this.
2498 2002-01-29 20:17  mrjoltcola
2500         * io/io.c: These should have gone in Sunday with the rest. CVS is
2501         out to get me.
2503 2002-01-29 18:39  brentdax
2505         * platforms/win32.h: Fix Win32 whoops.
2507 2002-01-29 18:29  brentdax
2509         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2511 2002-01-29 17:51  simon
2513         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2514         include/parrot/embed.h, include/parrot/parrot.h:
2515         Embedding support. Cool.
2517         Courtesy of: <brentdax@cpan.org>
2519 2002-01-29 15:40  grunblatt
2521         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2522         Gloudon <perl@gloudon.com>
2524 2002-01-29 14:42  simon
2526         * include/parrot/parrot.h:
2527         Platform stuff has to be included *after* system headers.
2529 2002-01-29 14:05  grunblatt
2531         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2532         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2533         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2534         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2535         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2537 2002-01-29 10:56  simon
2539         * platforms/generic.h:
2540         If we don't have a S_ISREG, produce something close to it.
2542 2002-01-29 06:01  dan
2544         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2546 2002-01-29 04:38  jgoff
2548         * classes/array.pmc: Forgot to remove some C++-isms from the
2549         get_{foo}_index routines.
2551 2002-01-29 04:26  jgoff
2553         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2554         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2555         t/pmc/array.t: Added array class that languages other than perl can
2556         use for a basis.  It has no features like preextension, and the
2557         array index starts at 0.
2559         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2560         and classes/Makefile.in - Added array.pmc to the makefile.
2561         (Assuming rules like .pmc.o are portable (or even possible) I might
2562         alter classes/Makefile.in to autobuild the appropriate files.
2564 2002-01-29 02:32  dan
2566         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2567         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2568         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2569         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2570             Update to Test::More 0.41 which adds Test::Builder
2572             Delete the vestigal Test::Utils
2574             Change Parrot::Test so it uses Test::Builder instead of Evil
2575         Wrappers
2576             around Test::More
2578             output_* now returns whether the test passes or fails
2580             Parrot::Test no longer exports Test::More's functions.  Instead
2581         they
2582             can simply be used together.  The few tests which used
2583         Test::More
2584             features (ie. skip) have 'use Test::More' added.
2586             I ditched the export_to_level() crutch.  Do we expect parrot to
2587         work on
2588             5.004?  (literally 5.004, not 5.004_04)
2590         Courtesy of Michael G Schwern <schwern@pobox.com>
2592 2002-01-28 21:04  dan
2594         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2595         pointer should actually be to
2596          parrot_assembly.pod, as the canonical documentation.
2598         Courtesy of Simon Glover <scog@roe.ac.uk>
2600 2002-01-28 20:21  dan
2602         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2603         clone[inps]
2605 2002-01-28 19:18  dan
2607         * core.ops, register.c: clone[insp] is dead
2609 2002-01-28 17:46  grunblatt
2611         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2612         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2614 2002-01-28 16:45  dan
2616         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2617         the requirement for fink at the moment.
2619 2002-01-28 15:59  simon
2621         * test_main.c:
2622         People might try and run a directory file, with spectacular
2623         results.  We don't want that. No.
2625 2002-01-28 14:58  doughera
2627         * core.ops: Avoid C++-style comments.
2629 2002-01-28 14:16  grunblatt
2631         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2632         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2633         work again.
2635 2002-01-28 13:47  doughera
2637         * include/parrot/register.h: Avoid C++-style comment.
2639 2002-01-28 06:03  dan
2641         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2642         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2643         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2644         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2645         include/parrot/parrot.h, include/parrot/regfuncs.h,
2646         include/parrot/register.h, include/parrot/register_funcs.h,
2647         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2648         are now stored in the interpreter structure itself, rather than
2649         just a pointer to the top of the register structure. Pushes and
2650         pops now involve memcpys, but register access has one fewer
2651         dereference.
2653         Fails four of the register stack tests, though, so not perfect.
2654         Needs fixing, but this is a good place to start.
2656 2002-01-28 04:40  mrjoltcola
2658         * test_main.c: cvs commit missed this. ??
2660 2002-01-28 04:27  mrjoltcola
2662         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2663         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2664         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2665         interpreter now (at least in theory).  IO handle array added.  Misc
2666         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2667         we don't conflict         with system libraries.  Still have broken
2668         stuff in win32 and stdio layer.
2670 2002-01-28 04:01  mrjoltcola
2672         * include/parrot/chartype.h: Typo in chartype.h include guard.
2674 2002-01-28 03:41  mrjoltcola
2676         * t/op/interp.t: Fix flag for interp so we don't get "info"
2677         messages which break tests.
2679 2002-01-28 01:54  dan
2681         * include/parrot/string.h: A few more buffer/string flags
2683 2002-01-27 11:33  nicholas
2685         * chartypes/unicode.c: Cast unsigned argument to int in call to
2686         isdigit to silence gcc warning.
2688 2002-01-26 23:18  grunblatt
2690         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2691         off that flag.
2693 2002-01-26 23:17  grunblatt
2695         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2696         jit/i386/core.jit: [no log message]
2698 2002-01-26 22:18  simon
2700         * jit/i386/core.jit:
2701         Jumping to 0x0 is a recipe for segfaults.
2703 2002-01-26 18:35  simon
2705         * t/harness:
2706         Allow user to select which tests to harness
2708         Courtesy of: Nicholas Clark <nick@unfortu.net>
2710 2002-01-26 17:20  grunblatt
2712         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2713         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2714         to make the jit work in linux again.
2716 2002-01-26 16:52  dan
2718         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2719         headers can't cope with this. Darwin-only
2721 2002-01-26 16:04  dan
2723         * include/parrot/parrot.h: Quick note to remind folks that this
2724         isn't the file they're looking for if they're writing extensions or
2725         embedding parrot.
2727         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2729 2002-01-26 00:41  mrjoltcola
2731         * MANIFEST: Oopsy.
2733 2002-01-26 00:37  mrjoltcola
2735         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2736         Turoff
2738 2002-01-25 01:31  grunblatt
2740         * jit/alpha/core.jit: There is no neg or fneg.
2742 2002-01-25 01:27  grunblatt
2744         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2745         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2746         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2747         t/op/number.t: Added Parrot_neg.  Erase t.s
2749 2002-01-24 23:26  dan
2751         * interpreter.c: Best make sure unused elements are NULL
2753 2002-01-24 23:24  dan
2755         * interpreter.c: Fix stupid thinko
2757 2002-01-24 18:37  doughera
2759         * Makefile.in: Add a few missing dollar signs in the lifetest
2760         section so that ${exe} and the like get properly interpolated.
2762 2002-01-24 18:15  mrjoltcola
2764         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2765         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2766         Simon Glover <scog@roe.ac.uk>
2768 2002-01-24 06:43  mrjoltcola
2770         * io/io_stdio.c: Oops.
2772 2002-01-24 06:34  mrjoltcola
2774         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2775         of work on the buffering layer.  Decided to use shared read/write
2776         buffer (as do most implementations) for now since its the simplest
2777         way to keep everything synced, (flush on seeks, flush read on
2778         writes, etc.)
2780 2002-01-24 03:38  mrjoltcola
2782         * test_main.c: Cleaned up option handling code a bit for main().
2784 2002-01-23 23:22  dan
2786         * interpreter.c, include/parrot/interpreter.h,
2787         include/parrot/resources.h: Now each interpreter gets its own hash
2788         for globals.
2790 2002-01-23 20:45  dan
2792         * Configure.pl: Fix a warning when there's no - in an architecture
2794 2002-01-22 23:57  grunblatt
2796         * docs/running.pod: [no log message]
2798 2002-01-22 20:29  doughera
2800         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2801         appears to be a generic problem (if sizeof(long double) >
2802         sizeof(double)), not an x86-specific one.
2804 2002-01-22 16:57  doughera
2806         * runops_cores.c: Change variable name from time to starttime to
2807         avoid gcc warning about variable name shadowing.
2809 2002-01-22 16:55  doughera
2811         * classes/pmc2c.pl: Include class_init prototype too.
2813 2002-01-22 16:01  doughera
2815         * MANIFEST: [no log message]
2817 2002-01-22 01:04  ajgough
2819         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2820         classes/parrotpointer.pmc, classes/perlarray.pmc,
2821         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2822         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2823         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2824         warnings from pmc files.  Message-ID:
2825         <20020121224719.GE1726@Bagpuss.unfortu.net>
2827 2002-01-22 00:53  ajgough
2829         * test_main.c: Clears up a couple of warnings in test_main.c.
2830         Thanks to Nick Clark.  Message-ID:
2831         <20020121190457.GB1726@Bagpuss.unfortu.net>
2833 2002-01-22 00:47  ajgough
2835         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2836         include/parrot/chartype.h: Cause all codepoints to be treated as
2837         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2838         Nick Clark, see also: Message-ID:
2839         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2841 2002-01-22 00:24  dan
2843         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2845         Appended patch cures these warnings:
2847         key.c: In function `debug_key': key.c:29: warning: int format,
2848         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2849         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2850         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2851         format, INTVAL arg (arg 4)
2853         Courtesy of Nicholas Clark <nick@unfortu.net>
2855 2002-01-21 12:41  mrjoltcola
2857         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2858         be clock skew.
2860 2002-01-21 06:37  mrjoltcola
2862         * io/io.c: Cleanup a warning
2864 2002-01-21 06:28  mrjoltcola
2866         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2867         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2868         ops. Various other IO twiddlings.
2870 2002-01-21 03:25  grunblatt
2872         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2873         Melvin Smith for the catch up.
2875 2002-01-20 23:13  sfink
2877         * stacks.c: Fixed logic errors, need tests
2879 2002-01-20 22:17  brentdax
2881         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2882         prepare for /i to work.
2884 2002-01-20 20:52  grunblatt
2886         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2887         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2888         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2889         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2890         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2891         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2892         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2893         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2894         jit/alpha/string.jit:
2895         - Added support for ALPHA, by now linux and bsd.
2897         - Reduced jit2h.pl execution time by precompiling the call to the
2898         unimplemented op.
2900         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2901         Parrot/Jit/${cpuarch}Generic.pm
2903         - Changed the way to detect quads to what is written in "man
2904         perlfunc".
2906 2002-01-20 17:23  brentdax
2908         * rx.ops: There's no such thing as rx_allocateinfo.
2910 2002-01-19 08:26  brentdax
2912         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2914 2002-01-19 07:12  mrjoltcola
2916         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2917         into io.ops, leave the STDIO wrappers        in core.ops until they
2918         disappear.  Added debug op for switching on VM debug flag
2920 2002-01-19 01:55  mrjoltcola
2922         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2923         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2925 2002-01-19 00:55  brentdax
2927         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2928         include/parrot/rxstacks.h: Add regex-specific stacks for
2929         efficiency.
2931 2002-01-18 23:58  dan
2933         * Configure.pl: I think the optimal fix here is simply to remove
2934         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2935         man pages say "There is no reason to use this option [-pedantic];
2936         it exists only to satisfy pedants."
2938         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2940 2002-01-18 23:23  dan
2942         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2943         docs/running.pod, which lists the various executables Parrot
2944         currently includes, examples of running them, and mentions of where
2945         they fail to work. It's more of a cry for help than a useful
2946         reference. :-) I've been having trouble recently when making
2947         changes in figuring out whether I broke anything, because any
2948         non-default way of running the system seems to be already broken. I
2949         can't tell what brokenness is expected and what isn't.
2951         Courtesy of  Steve Fink <steve@fink.com>
2953 2002-01-15 22:13  brentdax
2955         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2956         substring use and enhance performance.
2958 2002-01-15 21:03  ajgough
2960         * string.c: Fix problem with string_transcode, &dest not being
2961         updated if src was already in desired encoding.
2963 2002-01-15 16:54  brentdax
2965         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2966         warnings.  Leaves only one warning, at rx.ops line 409, that I
2967         can't manage to get rid of.
2969 2002-01-15 16:50  dan
2971         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2972         code.  Also patches pbc2c.pl to work with rx.ops.
2974         Courtesy of Jason Gloudon <perl@gloudon.com>
2976 2002-01-15 16:15  dan
2978         * classes/Makefile.in: All the C files in classes/ weren't being
2979         compiled with an of the gcc warnings flags. With this patch they
2980         are, and there are an awful lot of warnings, more than I could hope
2981         to understand and clear up (within any sensible time period before
2982         submitting a rash of patches, by which time everyone else would
2983         have moved the code on)
2985         Courtesy of Nicholas Clark <nick@unfortu.net>
2987 2002-01-15 16:10  dan
2989         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2990         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2991         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2992         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2993         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2994         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2995         chartypes/usascii.c: This patch adds a few more macros for .ops
2996         files to use. In addition to the existing
2998          goto OFFSET(...)
2999          goto ADDRESS(...)
3000          goto POP()
3001          goto NEXT()
3003         it adds
3005          expr OFFSET(...)
3006          expr ADDRESS(...)
3007          expr POP()
3008          expr NEXT()
3010         This is intended mainly for use in helper functions in .ops files,
3011         but also for ops that need to eg push the address of the next
3012         opcode onto a stack. The only place this currently happens (outside
3013         of my private code) is in the bsr opcode, which previously
3014         hardcoded the computation.
3016         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3017         higher in the generated file so that it can be used by static
3018         functions in the preamble.
3020         Finally, I ran into a parentheses matching problem -- should goto
3021         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3022         \bgoto\s+OFFSET\((.*?)\)
3024         It was done inconsistently for the different calculations, and of
3025         course neither are correct because you really want matching
3026         parentheses. But that seems like too much bother. (Currently,
3027         there's only one place that uses anything other than $n in the
3028         parentheses, and that's the enternative() op.) So I made them all
3029         .*? but emulated recent POD by also allowing (( ... )) (that's two
3030         parenthesis with a space padding the body.)
3032         The generated core_ops.c and core_ops_prederef.c files after this
3033         patch are identical except for the CUR_OPCODE and REL_PC macros
3034         getting moved a little higher, and the bsr in the regular path (not
3035         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3037         In summary, this is a big wad of meaningless changes for the
3038         current code. But it will make adding some opcodes easier in the
3039         future, and cleans up a small nit in the current bsr.
3041         Courtesy of Steve Fink <steve@fink.com>
3043 2002-01-15 08:48  brentdax
3045         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3046         sort of).
3048 2002-01-15 08:45  brentdax
3050         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3052 2002-01-15 05:00  brentdax
3054         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3055         performance.
3057 2002-01-14 20:18  dan
3059         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3061         Courtesy of Nicholas Clark <nick@unfortu.net>
3063 2002-01-14 20:03  dan
3065         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3066         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3067         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3068         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3069         classes/parrotpointer.pmc, classes/perlarray.pmc,
3070         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3071         classes/perlstring.pmc, classes/perlundef.pmc,
3072         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3073         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3074         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3075         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3076         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3077         patch cleans up most of the MSVC-warnings when using warning level
3078         4 (the highest, one above the default level 3). It turns off two
3079         level-4 warnings for 'unreferenced formal parameter' and 'named
3080         type definition in parentheses', the latter of which was turning up
3081         warnings in MS VC headers.  Level 4 warnings also helped me find a
3082         couple of other lurking bugs in the parrot code.
3084         Replaces the various fprintf/exit combos with calls to
3085         internal_exception, which uses var_args to emulate printf. Various
3086         exception types were added as well. These are probably temporary
3087         until a real exception system arrives.
3089         Fixed some places in the IO code where wrong functions were being
3090         called, or put into the vtable.
3092         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3094 2002-01-14 19:00  dan
3096         * MANIFEST: D'oh! Forgot a file.
3098         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3100 2002-01-14 18:44  brentdax
3102         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3103         sense (and a few other enhancements to regexes).
3105 2002-01-14 07:07  brentdax
3107         * interpreter.c, runops_cores.c, test_main.c,
3108         include/parrot/interpreter.h: Make profiling a little more useful.
3110 2002-01-13 19:44  dan
3112         * Configure.pl: Turn off unsed things warnings for now
3114 2002-01-13 19:39  dan
3116         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3118         classes/perlarray.c:  * get_string: is casting
3119         SELF->cache.struct_val to a STRING*,    while all other methods are
3120         using it as a KEY*; don't know    what a perlarray stringifies to,
3121         so replacing with NULL  * get_bool: the default behaviour does not
3122         look right to me
3124         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3126 2002-01-13 19:37  dan
3128         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3129         flags to LDFLAGS, so that Configure.pl --debugging   works with
3130         MSVC
3132         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3133         pmc2c calls
3135         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3137 2002-01-13 19:36  dan
3139         * io/io_win32.c:   according to my MSVC docs, you should use
3140         _tcslen only after
3141           #including tchar.h
3143         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3145 2002-01-13 19:35  dan
3147         * docs/intro.pod: Doc tweak.
3149         Courtesy of Simon Glover <scog@roe.ac.uk>
3151 2002-01-13 19:34  dan
3153         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3154         that
3156           if Px, ...
3158          works with PerlString PMCs; these should be false if they are "",
3159         0, or
3160          are undefined, and true in every other case.
3162         Courtesy of Simon Glover <scog@roe.ac.uk>
3164 2002-01-13 19:23  dan
3166         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3167         NUMVAL_FMT to FLOATVAL_FMT.
3169         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3171 2002-01-13 17:45  jgoff
3173         * Makefile.in, global_setup.c, classes/Makefile.in,
3174         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3175         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3176         designing your own classes.
3178 2002-01-13 08:47  simon
3180         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3181         lib/Parrot/OpTrans/CPrederef.pm:
3182         Fix bsr in prederef mode.
3184         Courtesy of: Jason Gloudon <perl@gloudon.com>
3186 2002-01-12 15:33  dan
3188         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3189         string.c, encodings/singlebyte.c, encodings/utf32.c,
3190         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3191         Silence most of the unused variable warnings.
3193         Courtesy of Nicholas Clark <nick@unfortu.net>
3195 2002-01-12 15:18  dan
3197         * rx.ops: This patch fixes a warning and also changes an 'int' to
3198         an 'INTVAL'.  All tests should pass on Solaris.
3200         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3202 2002-01-12 15:13  dan
3204         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3205         examples/assembly/life.pasm, include/parrot/interpreter.h,
3206         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3207         io/io_win32.c: More IO work. (Plus some misc twiddles)
3209         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3211 2002-01-12 01:14  dan
3213         * include/parrot/string.h: fix a missing name
3215 2002-01-12 00:39  grunblatt
3217         * include/parrot/string.h: Few typos.
3219 2002-01-12 00:16  grunblatt
3221         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3222         that change the program control flow.
3224 2002-01-11 23:53  brentdax
3226         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3227         ParrotPointer's guts.
3229 2002-01-11 23:03  dan
3231         * include/parrot/string.h: flags for the buffers, for GC
3233 2002-01-11 22:31  dan
3235         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3237 2002-01-11 22:21  dan
3239         * include/parrot/pmc.h: Started with PMC flags
3241 2002-01-11 19:33  dan
3243         * config_h.in, memory.c, resources.c, string.c,
3244         include/parrot/resources.h: Beginnings of a memory allocation/gc
3245         system. Without the GC part.
3247 2002-01-11 18:05  dan
3249         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3250         systems
3252         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3254 2002-01-11 17:50  dan
3256         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3257         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3258         a patch that makes pbc2c generated code work with the bsr opcode.
3259         It creates a new opcode 'enternative', and uses this to support a
3260         mixed model of interpretation and execution of compiled C code.
3262         Courtesy of Jason Gloudon <perl@gloudon.com>
3264 2002-01-11 17:48  dan
3266         * Makefile.in: Add life as a potential .exe target
3268 2002-01-11 17:30  dan
3270         * include/parrot/resources.h: Start of arena stuff for GC
3272 2002-01-11 05:34  brentdax
3274         * rx.ops: Docs modifications.
3276 2002-01-11 04:19  brentdax
3278         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3279         regular expressions.
3281 2002-01-11 03:44  grunblatt
3283         * jit/i386/core.jit: off by one.
3285 2002-01-11 02:25  dan
3287         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3289         Courtesy of Steve Fink <steve@fink.com>
3291 2002-01-11 00:32  brentdax
3293         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3295 2002-01-10 23:22  ajgough
3297         * string.c, docs/strings.pod: Removed all the nul termination code,
3298         as this is in general a bad idea.  Note added to docs/strings.pod
3299         to warn people away from assuming termination.
3301 2002-01-10 23:14  dan
3303         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3304         testparrotsizes_c.in, include/parrot/interpreter.h,
3305         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3306         implementation
3308         Courtesy of Steve Fink <steve@fink.com>
3310 2002-01-10 22:48  dan
3312         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3313         sizeof(INTVAL)
3315         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3317 2002-01-10 22:46  dan
3319         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3320         t/pmc/perlhash.t:  Well, actually two bugs.
3322          The first is an off-by-one error in key.c than can cause parrot
3323          to segfault if hash % NUM_BUCKETS happens to be zero.
3325          The other is a bug in the PerlHash init() code that causes new
3326         PerlHash
3327          PMCs to start with the wrong size.
3329          Both fixed below; also tests to prevent them recurring.
3331         Courtesy of Simon Glover <scog@roe.ac.uk>
3333 2002-01-10 22:30  dan
3335         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3336         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3337         with a PerlArray,
3339         Courtesy of Simon Glover <scog@roe.ac.uk>
3341 2002-01-10 21:31  dan
3343         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3345 2002-01-10 20:30  grunblatt
3347         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3348         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3349         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3350         All the op codes that doesn't change the program control flow now
3351         work in the JIT by calling the code generated by the compiler when
3352         the op is not in core.jit TODO:     * Make all the ops that change
3353         the program control flow (and are not on core.jit) work.      *
3354         Remove the dispatch payload.
3356 2002-01-10 17:13  dan
3358         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3359         which tries to return 0 from a void function.
3361         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3363 2002-01-10 17:12  dan
3365         * t/op/macro.t: Skip tests, don't comment them out.
3367         Courtesy of Simon Glover <scog@roe.ac.uk>
3369 2002-01-10 17:10  dan
3371         * rx.c: This fixes a couple of nits in rx.c:
3373            1. There's no newline at the end, which makes gcc unhappy.
3374            2. We should use NULL, not 0 or "", for creating null pointers.
3376         Courtesy of Simon Glover <scog@roe.ac.uk>
3378 2002-01-10 17:09  dan
3380         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3381         back in
3382          alphabetical order.
3384         Courtesy of Simon Glover <scog@roe.ac.uk>
3386 2002-01-10 16:54  ajgough
3388         * resources.c: Made free_string check that there was a string to
3389         free.  In reponse to a bug spotted by Joshua Nye.
3391 2002-01-09 22:44  dan
3393         * global_setup.c: Forgot the setup
3395 2002-01-09 22:35  dan
3397         * rx.ops: Forgot this one
3399 2002-01-09 22:35  dan
3401         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3402         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3403         Tests don't work, though.
3405         Courtesy of "Brent Dax" <brentdax@cpan.org>
3407 2002-01-09 21:48  dan
3409         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3411 2002-01-09 21:22  dan
3413         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3414         Generic pointer holder class
3416         Courtesy of "Brent Dax" <brentdax@cpan.org>
3418 2002-01-09 21:19  dan
3420         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3421         patches.
3423 2002-01-09 19:54  dan
3425         * io/io_unix.c: Whoops. Forgot one
3427 2002-01-09 19:43  dan
3429         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3430         t/pmc/perlhash.t: Fix hash crash bugs
3432         Courtesy of Simon Glover <scog@roe.ac.uk>
3434 2002-01-09 19:13  dan
3436         * memory.c: Signedness whoops.
3438         Courtesy of Simon Glover <scog@roe.ac.uk>
3440 2002-01-09 18:23  dan
3442         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3443         io/io_stdio.c, io/io_win32.c: Changes:
3445         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3446         will be using the   Win32 API and company rather than the unix-ish
3447         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3448         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3449         stuff is   there. Soon we should be able to start using these
3450         rather than   fprintf(stderr, ...) and remove stdio linkage.
3452         Courtesy of <mrjoltcola@mindspring.com>
3454 2002-01-09 17:26  dan
3456         * test_main.c: Fixes bad code gen on x86.
3458         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3460 2002-01-09 17:24  dan
3462         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3463         classes/perlnum.pmc: This patch adds macros to the config.h file
3464         for INTVAL and NUMVAL printf formats.
3466         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3468 2002-01-08 22:55  ajgough
3470         * docs/vtables.pod: Clarify what get_string should do.
3472 2002-01-08 20:05  dan
3474         * key.c: Keep comments in sync.
3476         Courtesy of Simon Glover <scog@roe.ac.uk>
3478 2002-01-08 19:50  dan
3480         * memory.c, include/parrot/memory.h: Need a realloc
3482 2002-01-08 17:24  gregor
3484         * .cvsignore, Configure.pl, Makefile.in:
3485         Added 'reconfig' make target and corresponding --reconfig option to
3486         Configure.pl, so its very easy to re-run Configure.pl with the last
3487         (command-line) options you passed it.
3489 2002-01-08 16:33  dan
3491         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3492         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3493         in core.ops. Potential help for optimizers and JITters.
3495         Courtesy of gregor@linux1.kennedytech.com
3497 2002-01-08 16:32  dan
3499         * key.c: Grab key length from the right spot
3501         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3503 2002-01-08 13:27  ajgough
3505         * test_main.c: Fix slight thinko in realloc usage for reading from
3506         stdin.
3508 2002-01-08 11:34  ajgough
3510         * test_main.c: Allow test_parrot to read bytecode stream from
3511         stdin, adds -f command line option, with "-f -" doing the stdin
3512         stuff.
3514 2002-01-08 06:34  jgoff
3516         * key.c, include/parrot/key.h: key.c - Added simple implementation
3517         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3519 2002-01-08 03:21  jgoff
3521         * include/parrot/key.h: Added an undef type to the key structure,
3522         so we can delete keys without confusion.
3524 2002-01-07 22:09  dan
3526         * key.c, packfile.c, string.c, include/parrot/key.h,
3527         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3528         about index being redefined
3530         Courtesy of Nick Clark
3532 2002-01-07 21:15  dan
3534         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3536         Courtesy of Steve Fink <steve@fink.com>
3538 2002-01-07 20:48  dan
3540         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3541         failures
3543         Courtesy of "Brent Dax" <brentdax@cpan.org>
3545 2002-01-07 20:43  dan
3547         * docs/intro.pod: Missing a comma
3549         Courtesy of "coral" <coral@eekeek.org>
3551 2002-01-07 20:41  dan
3553         * global_setup.c: Quiet a warning
3555         Courtesy of Simon Glover <scog@roe.ac.uk>
3557 2002-01-07 18:58  gregor
3559         * t/op/.cvsignore:
3560         Ignore intermediate test files.
3562 2002-01-07 17:01  gregor
3564         * ops2c.pl:
3565         Print a warning if an .ops file is mentioned more than once on the
3566         command line.
3568 2002-01-07 16:12  ajgough
3570         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3571         these shouldn't fail.
3573 2002-01-07 15:15  simon
3575         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3576         Stop segfaults.
3578 2002-01-07 15:11  simon
3580         * key.c:
3581         Fix zero-termination bug in hash function.
3583 2002-01-07 13:37  ajgough
3585         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3586         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3588 2002-01-07 11:53  brentdax
3590         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3591         (:add{foo}) and a new deleting thing (:rem{foo})
3593 2002-01-07 11:43  simon
3595         * Configure.pl:
3596         Gobble the + before concatenating.
3598 2002-01-07 03:53  dan
3600         * Makefile.in: Dependency fix for new ops setup.
3602 2002-01-07 03:33  jgoff
3604         * classes/perlarray.pmc: Add negative indices, and fix a small
3605         allocation problem.
3607 2002-01-06 23:54  ajgough
3609         * hints/os2.pl: Makes the hints file take account of ldflags and
3610         ccflags being split.  This hints file is still very specific to
3611         builds with gnu tools, but a proper solution can wait.   Thanks to
3612         Nick Burch.
3614 2002-01-06 22:12  dan
3616         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3617             -changes Parrot::OpLib::core's dependencies to reflect the new
3618         selectable ops files    -allows some of the special forms of 'goto'
3619         inside the PREAMBLE of an opcode file
3621         Courtesy of "Brent Dax" <brentdax@cpan.org>
3623 2002-01-06 19:59  simon
3625         * Makefile.in:
3626         *cough*
3628 2002-01-06 18:19  dan
3630         * classes/perlhash.pmc: Fix some type issues.
3632         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3634 2002-01-06 18:03  dan
3636         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3637         for a list of opcode files to use.  The default is everything
3638         available except for obscure.ops.
3640         In addition, it makes it so that if your answer to a question
3641         starts with '+', it will concatenate it to the default.  For
3642         example:
3644         What C compiler do you want to use? [cl] +HAHAHA!!!
3646         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3647         is not terribly useful, it is quite useful with things like
3648         command-line flags and the like.
3650         Finally, it contains a couple tweaks so that my syntax-highlighting
3651         editor recognizes some heredocs correctly.  :^)
3653         Courtesy of "Brent Dax" <brentdax@cpan.org>
3655 2002-01-06 17:59  dan
3657         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3659         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3661 2002-01-06 17:58  dan
3663         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3665         Courtesy of Simon Glover <scog@roe.ac.uk>
3667 2002-01-06 17:57  dan
3669         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3670         Compiler directives, etc. in files other than core.ops will now
3671         work.   2.  Compiler warnings will now display the file and line
3672         number of the  opcode file.
3674         Courtesy of "Brent Dax" <brentdax@cpan.org>
3676 2002-01-06 17:52  dan
3678         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3680         Courtesy of Simon Glover <scog@roe.ac.uk>
3682 2002-01-06 17:36  dan
3684         * docs/intro.pod: Lots of updates
3686         Courtesy of Simon Glover <scog@roe.ac.uk>
3688 2002-01-06 02:34  gregor
3690         * interpreter.c:
3691         Add some internal documentation on the theory of operation of the
3692         prederef code.
3694 2002-01-06 02:17  gregor
3696         * interpreter.c:
3697         Removed unnecessary include.
3699 2002-01-05 12:37  simon
3701         * classes/.cvsignore:
3702         Ignore generated .h files.
3704         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3706 2002-01-05 12:37  simon
3708         * Configure.pl:
3709         Make lcc happier by adding a dummy structure.
3711         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3713 2002-01-05 12:35  simon
3715         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3716         Make perlundef work. (And coincidentally stop segfaults in the
3717         tests :)
3719         Courtesy of: Jason Gloudon <perl@gloudon.com>
3721 2002-01-05 04:59  dan
3723         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3725 2002-01-05 04:55  jgoff
3727         * classes/perlhash.pmc: Added perlhash class definition
3729 2002-01-05 04:48  dan
3731         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3733         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3735 2002-01-05 03:57  jgoff
3737         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3738         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3739         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3740         t/pmc/pmc.t: Initial hash commit.
3742         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3743          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3744         set_{integer,number,string}_index_s
3746         This does not yet do collision resolution, but will soon.
3748 2002-01-05 02:54  dan
3750         * interpreter.c: More unsigned fixes
3752         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3754 2002-01-04 22:13  dan
3756         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3757         test programs happier.
3759         Courtesy of "Jason Diamond" <jason@injektilo.org>
3761 2002-01-04 19:00  dan
3763         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3764         separate things
3766 2002-01-04 18:27  dan
3768         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3769         Fixes to get things configuring and building on Win32 Native.
3771         Courtesy of "Jason Diamond" <jason@injektilo.org>
3773 2002-01-04 17:39  dan
3775         * hints/vms.pl: debug cleanup
3777 2002-01-04 16:53  dan
3779         * docs/parrot.pod:  The enclosed patch brings the list of
3780         documentation in parrot.pod
3781          up to date.
3783         Courtesy of Simon Glover <scog@roe.ac.uk>
3785 2002-01-04 16:47  dan
3787         * test_main.c, Parrot/Jit/i386-linux.pm,
3788         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3789         off warnings..
3791         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3793 2002-01-04 16:44  dan
3795         * Configure.pl, Makefile.in: Fixed linking to use linker.
3797         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3799 2002-01-04 16:39  dan
3801         * io/io_stdio.c: Added CVS tag info
3803 2002-01-04 16:35  dan
3805         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3806         isn't it
3808 2002-01-04 16:26  dan
3810         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3811         Tokenizer test
3813         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3815 2002-01-04 16:17  dan
3817         * chartypes/unicode.c: Silence some warnings.
3819         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3821 2002-01-04 16:09  dan
3823         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3824         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3825         into generated files
3826            but the $Id$ string gets mangled when it's committed.
3827            This patch fixes the existing .pmc files and fixes genclass.pl.
3829          - Makes capitalization in .pmc header match actual filenames
3831          - The command for calling genclass.pl in vtables.pod is incorrect,
3832            since it assumes you're running in classes/ but genclass.pl
3833         assumes
3834            it's being run from the main directory. I changed genclass.pl to
3835         not
3836            care.
3838         Courtesy of Steve Fink <steve@fink.com>
3840 2002-01-04 03:57  dan
3842         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3843         me--I *had* the files:wq!
3845 2002-01-04 03:40  dan
3847         * MANIFEST: Whoops--remove files not really there
3849 2002-01-04 03:37  dan
3851         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3852         my sig adds a new_stack() function to take care of the allocation
3853         and setup of "generic" stacks.
3855         Courtesy of "Brent Dax" <brentdax@cpan.org>
3857 2002-01-04 02:36  dan
3859         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3860         and so
3861          writes a load of junk in core_ops.pod. Applied patch fixes.
3863         Courtesy of Simon Glover <scog@roe.ac.uk>
3865 2002-01-04 02:35  dan
3867         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3868         logical-or is using get_integer instead of get_bool for logical
3869         operations. This patch corrects that.
3871         Perlnum and perlstring have working get_bool's, so the default
3872         logical_or and logical_and should be sufficient. The empty methods
3873         are pointed to the default logical_or.
3875         Courtesy of Jason Gloudon <perl@gloudon.com>
3877 2002-01-04 02:31  dan
3879         * Makefile.in: docs/Makefile should be removed by realclean, but
3880         isn't
3882         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3884 2002-01-04 02:29  dan
3886         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3888         Courtesy of Steve Fink <steve@fink.com>
3890 2002-01-04 00:51  dan
3892         * docs/vtables.pod: More docs
3894         Courtesy of Steve Fink <steve@fink.com>
3896 2002-01-04 00:47  dan
3898         * Configure.pl: Updated 64-bit patch
3900         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3902 2002-01-04 00:43  dan
3904         * Configure.pl: 64-bit Fix.
3906         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3908 2002-01-03 22:37  dan
3910         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3911         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3912         some buffering work.       Additional work on other layers.
3914         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3916 2002-01-03 19:41  gregor
3918         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3919         Updated copyright messages on top-level files.
3921 2002-01-03 04:23  robert
3923         * make.pl: Add author information.  Bonsai test.
3925 2002-01-03 04:02  dan
3927         * io/io_os.c: Twig Bonsai
3929 2002-01-03 03:45  dan
3931         * io/: io_os.c, io_os.c: Twig Bonsai
3933 2002-01-03 03:41  dan
3935         * io/io_os.c: Twig Bonsai
3937 2002-01-02 21:42  gregor
3939         * packfile.c, include/parrot/packfile.h:
3940         Get rid of warnings in packfile.[hc]
3942 2002-01-02 20:39  gregor
3944         * manicheck.pl:
3945         Bracketed translated patterns with ^ and $.
3947 2002-01-02 20:11  dan
3949         * io/io_os.c: silence a warning
3951 2002-01-02 19:52  grunblatt
3953         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3954         op_assembly to jit_struct.h, so that we get the real number of ops.
3955          Removed some warnings.
3957 2002-01-02 19:31  tom
3959         * string.c: Fix string transcoding so that it actually works.
3961         Patch from Peter Gibbs <peter@emkel.co.za>
3963 2002-01-02 19:20  gregor
3965         * manicheck.pl:
3966         A program to check the MANIFEST file, accounting for .cvsignore
3967         files.
3969 2002-01-02 19:19  dan
3971         * t/harness: twig bonsai
3973 2002-01-02 19:13  dan
3975         * t/harness: twig bonsai
3977 2002-01-02 18:54  dan
3979         * t/harness: Tweak to test Bonsai
3981 2002-01-02 16:27  dan
3983         * Configure.pl: Allow 64-bit build of parrot on systems with a
3984         mixed 32/64 bit perl
3986         Courtesy of David M. Lloyd <dmlloyd@tds.net>
3988 2002-01-02 15:33  simon
3990         * MANIFEST, docs/Makefile:
3991         Fixed up MANIFEST. (And I removed the Makefile in docs/)
3993         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3995 2002-01-02 13:51  simon
3997         * Configure.pl:
3998         Die on broken manifest.
4000 2002-01-02 13:48  simon
4002         * jit2h.pl, examples/assembly/mops.pasm:
4003         Clear up JIT warnings.
4005         Courtesy of: Nick Clark <nick@unfortu.net>
4007 2002-01-02 04:10  dan
4009         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4010         only once, so new interp creation works again
4012         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4014 2002-01-02 03:32  dan
4016         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4017         moment.
4019 2002-01-02 00:55  dan
4021         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4022         io/io_os.c: Initial IO system patches
4024         Courtesy of <mrjoltcola@mindspring.com>
4026 2002-01-01 22:55  ajgough
4028         * classes/default.pmc: On second thoughts, and some prodding, the
4029         set_* methods now only set the appropriate part of the cache, and
4030         do nothing else.
4032 2002-01-01 22:29  ajgough
4034         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4036          set_* create appropriate Perl* result.
4037          get_* simply grabs needed bit of cache.*_val
4039          Other methods do the rightest thing I can think of, at the moment.
4041          None yet cope with overflow, the modulus operation needs to be
4042         checked as
4043         I don't know quite which semantics we really want.
4045         Not tested yet.
4047 2002-01-01 20:23  dan
4049         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4050         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4051         rid of unneeded tmp var and eliminated const from encode prototype
4052         since it does make changes to the string.
4054         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4056 2002-01-01 20:11  dan
4058         * Makefile.in: Make clean now tosses pdump.o
4060         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4062 2002-01-01 19:49  dan
4064         * pdump.c, test_main.c: Warnings cleanup
4066         Courtesy of Josh Wilmes <josh@sky.net>
4068 2002-01-01 19:45  dan
4070         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4071         hints/mswin32.pl, languages/jako/Makefile.in,
4072         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4073         platforms
4075         Courtesy of "Jason Diamond" <jason@injektilo.org>
4077 2002-01-01 19:41  dan
4079         * include/parrot/register.h: Clean up some warnings
4081         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4083 2002-01-01 19:10  simon
4085         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4086         Hack-around to enable compilation of code using vtable ops.
4088 2002-01-01 18:43  dan
4090         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4091         checks on unsigned things
4093         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4095 2002-01-01 18:26  dan
4097         * runops_cores.c: More warning silences.
4099         Courtesy of Nicholas Clark <nick@unfortu.net>
4101 2002-01-01 18:25  dan
4103         * trace.c: Shuts up a warning.
4105         Courtesy of Nicholas Clark <nick@unfortu.net>
4107 2002-01-01 18:24  dan
4109         * encodings/singlebyte.c: Clean up some warnings.
4111         Courtesy of Nicholas Clark <nick@unfortu.net>
4113 2002-01-01 18:20  dan
4115         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4116         thunk it?
4118         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4120 2002-01-01 18:17  dan
4122         * packfile.c: Warning cleanup
4124         Courtesy of Nicholas Clark <nick@unfortu.net>
4126 2002-01-01 17:53  dan
4128         * string.c: New string size should be based on output encoding's
4129         size, not input encoding's size.
4131         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4133 2002-01-01 17:22  dan
4135         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4136         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4137         include/parrot/interpreter.h, include/parrot/memory.h,
4138         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4139         Warnings fixups.
4141         Courtesy of Chip Turner <cturner@redhat.com>
4143 2002-01-01 17:09  dan
4145         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4146         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4147         now unsigned, as is proper.
4149         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4150         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4152 2002-01-01 16:59  dan
4154         * include/parrot/trace.h: Useless debugging prototype removed
4156         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4158 2002-01-01 16:58  dan
4160         * MANIFEST: We forgot a file.
4162         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4164 2002-01-01 03:53  dan
4166         * Configure.pl: Okay, I give. Removed some warnings because the
4167         darned system headers were triggering them. Sloppy, sloppy
4168         coding...
4170 2002-01-01 03:48  dan
4172         * config_h.in: Add in an unsigned INTVAL.
4174         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4176 2002-01-01 03:46  dan
4178         * global_setup.c: Clean up some compiler warnings.
4180         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4182 2002-01-01 03:43  dan
4184         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4185         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4186         include/parrot/op.h: Cleaned up some things to make the compiler
4187         happier.
4189         Courtesy of Nicholas Clark <nick@unfortu.net>
4191 2002-01-01 03:14  dan
4193         * Configure.pl: Quad updates.
4195         Courtesy of Nicholas Clark <nick@unfortu.net>
4197 2001-12-31 22:53  dan
4199         * include/parrot/op.h: Typedef had parameters backwards. Threw
4200         core.ops for a big whiny warnings loop.
4202 2001-12-31 22:37  dan
4204         * Makefile.in, resources.c: Tweaks to try and get things to build
4205         in the right order.
4207 2001-12-31 21:58  dan
4209         * Configure.pl: Stupid thinko fix
4211 2001-12-31 21:34  dan
4213         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4215         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4217 2001-12-31 21:32  dan
4219         * Configure.pl: Fix for non-gcc systems
4221 2001-12-31 20:22  dan
4223         * interpreter.c: Tweak so we can build on non-JIT platforms
4225 2001-12-31 20:11  dan
4227         * Configure.pl: Force the time on some copied files to be 'now' to
4228         make the Win builds much less annoying.
4230         Courtesy of "Jason Diamond" <jason@injektilo.org>
4232 2001-12-31 20:07  dan
4234         * Configure.pl: Nuke all object files in the parrot tree that
4235         matter when configuring.  Shouldn't be necessary with good
4236         dependencies in the makefile, but we don't have those yet.
4238 2001-12-31 20:00  gregor
4240         * chartypes/unicode.c:
4241         Silence unused variable warnings.
4243 2001-12-31 19:40  dan
4245         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4247 2001-12-31 19:37  gregor
4249         * interpreter.c, jit.c, include/parrot/jit.h:
4250         Created a prototype for JIT functions and used it in interpreter.c.
4252 2001-12-31 19:31  dan
4254         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4255         detection) with really cranky warnings if we find we're using it.
4257         Courtesy of: Nicholas Clark <nick@unfortu.net>
4259 2001-12-31 18:01  gregor
4261         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4263         Fixed a few warnings wrt prototypes, etc.
4265 2001-12-31 17:23  dan
4267         * string.c: Silenced most of the compiler whines
4269 2001-12-31 17:15  gregor
4271         * Configure.pl:
4272         Get the ccname from either ccname or just cc config var.
4274 2001-12-31 17:14  gregor
4276         * Parrot/Op.pm, lib/Parrot/Op.pm:
4277         Another intermediate opbody notation. Could come in handy. Explicit
4278         types.
4280 2001-12-31 17:05  dan
4282         * string.c: Minor warnings update
4284 2001-12-31 17:00  dan
4286         * include/parrot/string.h: Warnings cleanup
4288 2001-12-31 16:00  simon
4290         * encodings/utf8.c, include/parrot/encoding.h:
4291         Remove a couple more.
4293 2001-12-31 15:58  simon
4295         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4296         include/parrot/op.h:
4297         Rid ourselves of a few warnings.
4299 2001-12-31 15:32  dan
4301         * Configure.pl: Made GCC ever so much pickier.
4303         Switch list courtesy of Jarkko.
4305 2001-12-31 15:22  dan
4307         * string.c: Tightened up initial allocation.
4309         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4311 2001-12-31 06:48  dan
4313         * Configure.pl: Minor Windows tweak
4315 2001-12-31 05:32  dan
4317         * core.ops: Unused temp variable tossed.
4319         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4321 2001-12-31 05:09  grunblatt
4323         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4324         supported plataforms
4326 2001-12-31 03:05  dan
4328         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4329         platform-independent quote substitution for the makefiles.
4330         Hopefully this'll make the Win32 builds happier.
4332 2001-12-30 21:08  dan
4334         * string.c, include/parrot/string.h: More string system tweaks.
4336         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4338 2001-12-30 20:45  dan
4340         * core.ops: Some pod cleanup
4342         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4344 2001-12-30 20:22  ajgough
4346         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4347         we aren't using them right now.  Clarified the workings of set Px,
4348         Py and clone Px, Py.
4350 2001-12-30 20:15  grunblatt
4352         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4353         Added readjit() to read *.jit files Updated core.jit to the new
4354         set_n_i
4356 2001-12-30 20:14  ajgough
4358         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4360 2001-12-30 19:52  dan
4362         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4363         include/parrot/trace.h, platforms/generic.c: Compiler whine
4364         cleanups
4366         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4368 2001-12-30 19:13  dan
4370         * Configure.pl, Makefile.in: Make GCC pickier by default.
4372         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4374 2001-12-30 18:41  dan
4376         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4377         ntoi opcodes to sets.
4379         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4381 2001-12-30 17:58  gregor
4383         * Makefile.in:
4384         'make' no longer builds the mops test. Use 'make mops' for that. To
4385         run the test, you can do 'make mopstest'.
4387 2001-12-30 17:30  gregor
4389         * Makefile.in:
4390         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4391         Gregor.
4393 2001-12-30 17:26  gregor
4395         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4396         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4397         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4398         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4399         Build enhancements. Originally to support building shared
4400         libraries, but now of broader impact.
4402           * .cvsignore: Ignore the blib/ directory, about which more later.
4404           * Configure.pl:
4406               * Got rid of TAB formatting and lined a few things up.
4408               * Added header comment with CVS Id variable, and a few other
4409                 block header comments.
4411               * Uses new Parrot::BuildUtil module to determine the Parrot
4412                 version.
4414               * Reworded a few messages, added a couple, and wrapped
4415         messages
4416                 to 79 columns.
4418               * Added 2002 to the Copyright statement.
4420               * Added new configure variables: VERSION, MAJOR, MINOR and
4421         PATCH
4423               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4424         greater
4425               than 5.6.0, but the comment implies it isn't.
4427           * Makefile.in:
4429               * Added $(SO), $(A) and $(AR_CRS) defines for library
4430         building.
4432               * Added $(RM_RF) define for removing directory trees
4434               * Grouped generated files into two classes: "sticky" (made by
4435         configure,
4436                 persisting across 'make clean') and 'fluid' (made during
4437         the build
4438                 process, deleted by 'make clean').
4440               * Added header comments.
4442               * Added target for test_prog linked with shared library.
4444               * Added rules to build shared libraries in blib/lib. The
4445         libraries are
4446                 built with trailing version numbers in their file names,
4447         and then
4448                 symbolic links are created for shorter and no version tag
4449         variants.
4451               * Added some missing dependencies
4453               * Added some missing 'make clean' targets.
4455               * Added 'make realclean' target that deletes files created by
4456                 Configure.pl (including Makefile), forcing a re-configure.
4458               * Added a 'status' CVS target.
4460           * VERSION: New file, contains only the version. This version
4461         number is
4462             propagated to a few places, such as the core oplib version
4463         number. This
4464             reduces the amount of coordination that has to happen to get
4465         version
4466             number stuff throughout the tree in sync and updated prior to
4467         cutting
4468             a new release. Feel free to grep for '0.0.3' to see the other
4469         files
4470             that contain the version number (but, do that in a fresh CVS
4471         copy, or
4472             after doing 'make realclean').
4474           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4475         PARROT_*_VERSION,
4476             since the oplib and Parrot itself share a version number now.
4477         Added
4478             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4479         (a
4480             string).
4482           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4483         of
4484             specifying the version by hand. Non-core oplibs will set this
4485         to
4486             a quoted dot-string with three natural number components
4487         without
4488             leading zeros.
4490           * interpreter.c: Make use of PARROT_VERSION to simplify some
4491         sprintf()s, and
4492             to get the complete version number in the resulting strings
4493         (including the
4494             new PATCH portion).
4496           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4497         the
4498             generated file.
4500           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4502           * ops2c.pl: Account for the PATCH version, too. This affects the
4503         name of the
4504             oplib init function, and the oplib info struct initializer.
4506           * Parrot/BuildUtil.pm: New file for reading in and validating the
4507         contents of
4508             the new VERSION file. Other build utilities could go here in
4509         futuer.
4511           * Parrot/OpsFile.pm:
4513               * Allow three components in version number, and require that
4514         the value
4515                 be in double quotes.
4517               * Allow "VERSION = PARROT_VERSION", substituting the shared
4518         Parrot
4519                 VERSION in that case.
4521           * include/parrot/oplib.h: Add the patch_version member.
4523 2001-12-30 12:16  simon
4525         * MANIFEST, Makefile.in:
4526         More stuff forgotten from MANIFEST.
4528 2001-12-30 12:13  simon
4530         * MANIFEST:
4531         Missing JIT file.
4533 2001-12-30 12:12  simon
4535         * jit2h.pl:
4536         Safety first.
4538 2001-12-30 12:12  simon
4540         * Makefile.in:
4541         Gragh.
4543 2001-12-30 12:04  simon
4545         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4546         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4547         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4548         include/parrot/string.h, t/op/string.t:
4549         * Expand the strings test suite to be more complete * Make string
4550         commands more consistent (i.e, now the only string command that
4551         actually changes the original is chopn) * Significantly reduce the
4552         number of memory allocations and eliminate reallocations.
4554         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4556 2001-12-29 22:12  dan
4558         * interpreter.c, key.c, register.c, stacks.c, string.c,
4559         test_main.c, trace.c: Updates to match the coding standards.
4561         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4563 2001-12-29 20:42  grunblatt
4565         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4566         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4567         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4568         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4569         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4570         Kitover <caelum@debian.org>
4572 2001-12-28 21:20  dan
4574         * core.ops: Okay, now print takes a preceding file handle.
4576         I feel so dirty now.
4578 2001-12-28 20:46  dan
4580         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4581         changing the open op to use fopen under the hood.
4583         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4585 2001-12-28 18:20  ajgough
4587         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4588         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4589         include/parrot/exceptions.h, include/parrot/string.h,
4590         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4591         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4592         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4593         to hold tests specific to PerlStrings, as the pmc.t file is taking
4594         too long to run and slowing down my thought processes.
4596         Changes to strings.c etc to take string functions.
4598         Some changes to the strings docs, but not yet complete.
4600         Also, PerlString was copying pointers to strings, rather than
4601         strings themselves, so some action-at-a-distance bugs were creeping
4602         in, I think I've fixed this so everything works nicely.
4604 2001-12-28 04:56  gregor
4606         * examples/assembly/pmcmops.pasm:
4607         PMC-using version of mops.pasm.
4609         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4611 2001-12-28 04:56  gregor
4613         * examples/assembly/.cvsignore:
4614         Small tinkering. Removed old stuff, etc.
4616 2001-12-28 01:26  gregor
4618         * examples/mops/mops.scheme:
4619         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4620         to the very un-scheme-like implementation.
4622 2001-12-28 01:19  gregor
4624         * examples/mops/mops.c:
4625         Some people's picky compilers don't like us redefineing time(), so
4626         we call it time_n().  :)
4628 2001-12-28 00:28  gregor
4630         * examples/mops/: README, mops.ps:
4631         Added a PostScript example and a README.
4633 2001-12-27 23:57  gregor
4635         * Makefile.in:
4636         Build the C mops translation in examples/mops/mops.c
4638 2001-12-27 23:56  gregor
4640         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4641         Some translations of mops.pasm into other languages, for inner loop
4642         performance comparisons.
4644 2001-12-27 22:40  gregor
4646         * examples/assembly/mops.pasm:
4647         Fixed erroneous file name in header comment.
4649 2001-12-27 21:18  gregor
4651         * pbc2c.pl:
4652         One-liner to avoid no-op gotos to the next op.
4654 2001-12-27 21:06  gregor
4656         * runops_cores.c:
4657         Fixed -p (profiling). Slow runops core was doing unconditional
4658         tracing, when it should have been checking the flags.
4660 2001-12-27 18:50  ajgough
4662         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4663         classes/perlstring.pmc, include/parrot/chartype.h,
4664         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4665         dded get_digit() to chartypes  * Added string_bool() to strings  *
4666         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4667         to perlstring.pmc  * Tests for above, also a for couple of other
4668         ops without tests
4670         The unicode chartype has only had placeholders added for get_digit,
4671         string_to_num has been updated to use type->get_digit rather than
4672         the previous ascii-isms.  Some remain, but we need to carefully
4673         define what we mean by a number before we let thousands of code
4674         points act as a minus sign.
4676 2001-12-27 18:32  dan
4678         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4679         compiler warnings.
4681         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4683 2001-12-27 18:23  dan
4685         * t/op/bitwise.t: More tests.
4687         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4689 2001-12-27 17:08  gregor
4691         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4692         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4693         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4694         include/parrot/interpreter.h, include/parrot/oplib.h,
4695         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4696         platforms/win32.c, platforms/win32.h:
4697         Initial code for dynamic loading of oplibs, applied for now to the
4698         loading of the core_prederef oplib when the -P flag is passed to
4699         test_parrot.
4701           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4703           * Makefile.in:
4705               * Added libcore_prederef_0_3.so to the shared target.
4706               * Added build rule for libcore_prederef_0_3.so.
4707               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4708                 to Parrot/OpLib/core.pm, core_ops.c and
4709                 core_ops_prederef.c.
4711           * config_h.in: Added defines for constants used to locate the
4712             core oplib's init function, and the core_prederef oplib for
4713             dynaloading.
4715           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4716             required by Parrot/OpsFile.pm.
4718           * interpreter.c:
4720               * Added init_prederef() and stop_prederef() functions to load
4721                 and unload the core_prederef oplib when we are in prederef
4722                 mode.
4724                 NOTE: In all likelihood, the prederef stuff has a rapidly
4725                 dwindling time-to-live. The JIT should provide vastly
4726         superior
4727                 performance, and loading an alternate set of core_ops isn't
4728                 the real direction for the dynaloading stuff. Loading
4729                 *additional* ops is. It does provide a handy test case for
4730         the
4731                 general idea for now, though.
4733               * Gets the core copcode table, etc. via the core oplibs oplib
4734                 info pointer, as returned by the core oplib's init
4735         function.
4737           * ops2c.pl
4739               * Make use of the version, major version and minor version
4740                 stuff parsed by Parrot/OpsFile.pm
4742               * The only exported symbol in the generated files is the init
4743                 function now, since that returns an oplib info struct
4744                 pointer, and all the important stuff can be found there.
4746           * ops2pm.pl: Put the oplib version in the generated .pm file.
4748           * test_main.c: Small changes necessitated by changes in the names
4749             of some members of the interpreter struct.
4751           * trace.c: Small changes necessitated by changes in the names
4752             of some members of the interpreter struct.
4754           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4755             ops are found.
4757           * include/parrot/interp_guts.h: Small changes necessitated by
4758             changes in the names of some members of the interpreter struct.
4760           * include/parrot/interpreter.h: Include the new
4761             include/parrot/oplib.h header. Small changes to the oplib-
4762             related members.
4764           * include/parrot/oplib.h: Define the type of the oplib init
4765             function, and the struct type for the oplib info.
4767           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4768             since not all platforms have it. For those that do, a default
4769             second argument is provided.
4771 2001-12-26 05:12  gregor
4773         * Configure.pl:
4774         Make jitarch calculation not get tripped up by extra components to
4775         archname.
4777 2001-12-24 21:23  gregor
4779         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4780         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4781         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4782         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4783         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4784         Some more JIT work from Daniel Grunblatt.
4786           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4787         to C
4788             functions.
4790           * Added JUMP(END) to place the number of bytes to the end of the
4791         current
4792             op.
4794           * The *.jit files syntax changed.
4796           * Added jit/i386/lib.jit to place handly functions as jump that
4797         take as
4798             argument the address where is the opcode number to jump to.
4800           * There is a bug at some point, but I will start writing
4801             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4802         have use
4803             calls, which make the jit as slow as the interpreter.
4805         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4807 2001-12-24 03:46  dan
4809         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4810         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4811         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4812         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4813         Perls before 5.6.0 don't like it.
4815 2001-12-22 16:02  ajgough
4817         * t/op/stacks.t: stopped skipping tests we can run now.  added
4818         clonep tests.
4820 2001-12-21 21:13  gregor
4822         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4823         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4824         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4825         Fixed some package name goofs.
4827         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4829 2001-12-21 19:32  gregor
4831         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4832         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4833         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4834         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4835         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4836         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4837         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4838         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4839         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4840         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4841         pbc2c.pl.
4843           * Removed ops2c-prederef.pl
4845           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4847           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4848             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4849             for old functionality of ops2c-prederef.pl), and
4850             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4852             "OpTrans" == "Op Transformation"
4854           * Makefile.in modifications to call "ops2c.pl C" where it used
4855             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4856             to be "ops2c-prederef.pl".
4858           * core.ops and obscure.ops changes to syntax. Semantics are
4859             identical with previous version:
4861               return HALT         -->  HALT()
4862               return AUTO         -->  goto NEXT()
4863               return RETREL(...)  -->  goto OFFSET(...)
4864               return RESTART(*)   -->  restart NEXT()
4866             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4867             for dest-less branch ops replaced with new notation "goto
4868         POP()",
4869             which uses the new pop_dest() function in stacks.c. This also
4870             allowed these ops to become 'inline' ops, since they no longer
4871             have local variables.
4873             The 'ret' op also became simplified to just "goto POP()", and
4874             also became an inline op.
4876           * interpreter.c reflects the change in type name:
4878               prederef_op_func_t   -->  op_func_prederef_t
4880             that occurred in include/parrot/op.h
4882           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4883             "return AUTO".
4885           * ops2c.pl is now generic. Its first argument is the last
4886             package name component of a subclass of Parrot::OpTrans. These
4887             subclasses all have full names of the form Parrot::OpTrans::*.
4888             An instance of the class is created and later consulted for
4889             various bits of information needed to generate the C code.
4891           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4892             contain its transformation rules.
4894           * stacks.c has a new function pop_dest() that pops a destination
4895             off the control stack. include/parrot/stacks.h has the
4896         prototype.
4898           * Parrot/Op.pm now supports the syntax generated by
4899         Parrot::OpsFile
4900             for the "goto POP" case.
4902             Also, the source() method now expects its second argument to be
4903             an object that ISA Parrot::OpTrans. Methods of this object are
4904             called to perform the substitutions.
4906           * Parrot/OpsFile.pm supports the change in notation mentioned
4907             above.
4909           * docs/intro.pod reflects these changes.
4911           * include/parrot/op.h: Renamed type prederef_op_func_t to
4912             op_func_prederef_t because it made the implementation of the
4913             shared ops2c.pl easier.
4915 2001-12-21 13:47  gregor
4917         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4918         Both test_parrot (via test_main.c) and the intepreter itself (via
4919         interpreter.c) use the JIT_CAPABLE config to decide whether to
4920         actually attempt JIT operation, or to complain.
4922 2001-12-20 23:25  gregor
4924         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4925         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4926         Changes to the format of *.ops files. An attempt to provide hints
4927         for future opfunc processing logic that wants to know if an opfunc
4928         is simple enough to JIT (e.g.) inline, or not.
4930         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4931         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4932         info.
4934 2001-12-20 21:28  gregor
4936         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4937         jit/i386/core.jit:
4938         More JIT stuff:
4940           * A fix to Gregor's last Configure.pl update.
4942           * Remove the need for hardcoded "\n" at the end of the "%f"
4943             format for printing floating-point numbers.
4945           * New, improved *.jit syntax for references to registers,
4946             e.g. INT_REG[n].
4948           * Support for C() improved.
4950         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4952 2001-12-20 16:55  dan
4954         * MANIFEST: Added jit.c to the manifest.
4956 2001-12-20 15:24  simon
4958         * jit2h.pl:
4959         Off-by-one error fixed.
4961 2001-12-20 14:18  simon
4963         * jit/i386/core.jit:
4964         Just a noop. It's the only machine code I know.
4966 2001-12-20 13:10  gregor
4968         * Configure.pl, Makefile.in, jit2h.pl:
4969         Attempt to fix Win32 builds.
4971           * No more empty braces in include/parrot/jit_struct.h
4973         Also:
4975           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4976         ${archname}
4977             does not.
4979 2001-12-20 11:56  simon
4981         * Makefile.in:
4982         De-cp
4984 2001-12-20 01:57  gregor
4986         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4987         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4988         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4989         include/parrot/.cvsignore, include/parrot/interpreter.h,
4990         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4991         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4992         lib/Parrot/Jit/i386-nojit.pm:
4993         Initial JIT implementation.
4995           * Enabled with test_parrot -j. 20x speed boosts seen.
4997           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4999           * More to come.
5001         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5003 2001-12-20 01:53  jgoff
5005         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5006         core.ops - Removed key operators, they should be hidden from the
5007         assembler.  t/op/key.t - No need to test the nonexistent key
5008         operators.
5010 2001-12-20 00:13  ajgough
5012         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5013         that asking for type of entry at depth causes segfault as stack is
5014         zero based, fixed cmp in core.ops to reflect this.  Last test is
5015         skipped as we don't do exceptions right yet.
5017 2001-12-19 19:11  ajgough
5019         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5020         non-being was causing Irix "issues".
5022 2001-12-19 03:37  jgoff
5024         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5025         004_combined.t: Changed tests to make sure they pass with the
5026         addition of the clone operator.
5028 2001-12-18 20:06  gregor
5030         * interpreter.c, include/parrot/interp_guts.h:
5031         Performance improvements to the predereferencing code path
5032         suggested to me over lunch yesterday by my friend John Kennedy.
5033         The goal is to remove the additional test in the inner loop that
5034         was checking for NULL to decide whether or not to call the
5035         prederef() function. Also moved pc & pc_prederef syncing outside
5036         the inner loop.
5038           * Changed the prototype of the prederef() function in
5039             interpreter.c to match that of an opfunc.
5041           * Instead of initializing the prederef void * array with NULL,
5042             we initialize it with pointers to prederef().
5044           * prederef() now returns the prederef_pc passed in, so that
5045             after predereferencing, the same location is executed, but now
5046             with the real code being called.
5048         Thanks to: John Kennedy
5050 2001-12-18 19:59  ajgough
5052         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5053         (including some more in the skipped string -> int tests).
5055 2001-12-18 07:06  jgoff
5057         * MANIFEST: Forgot to add classes/perlarray.pmc
5059 2001-12-18 07:05  jgoff
5061         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5062         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5063         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5064         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5065         t/pmc/pmc.t: Big update...  Makefile.in - Added
5066         classes/perlarray.pmc core.ops - Added new series of set() ops for
5067         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5068         Added perlarray.pmc classes/*.pmc - Added
5069         set_{integer,number,string}_index and
5070         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5071         type t/op/pmc.t - Added basic array test
5073         classes/perlarray.pmc - Added
5075 2001-12-17 05:29  jgoff
5077         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5078         generator to use clone operator instead of set Px,Py
5080 2001-12-17 05:25  jgoff
5082         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5083         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5084         PMC,PMC operator. Uses the clone() vtable entries.
5086 2001-12-17 04:51  jgoff
5088         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5089         entry
5091 2001-12-17 04:41  jgoff
5093         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5094         directory...
5096 2001-12-17 04:41  jgoff
5098         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5100 2001-12-17 04:39  jgoff
5102         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5103         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5104         t/
5106 2001-12-17 04:27  jgoff
5108         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5109         Admittedly it's a little thin on true OO, but the algorithms are
5110         the key.
5112 2001-12-17 04:24  jgoff
5114         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5115         003_generator.t, 004_combined.t: Much more comprehensive test suite
5116         for the codegen et al
5118 2001-12-17 04:22  jgoff
5120         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5121         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5122         key handling
5124 2001-12-17 04:20  jgoff
5126         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5127         more comprehensive.
5129 2001-12-17 04:17  jgoff
5131         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5132         changes to the new compiler
5134 2001-12-17 04:11  jgoff
5136         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5137         files to Miniperl/
5139 2001-12-16 14:11  simon
5141         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5142         t/pmc/pmc.t:
5143         Fix bogus assumption that multiplying an integer by an integer
5144         yields an integer.
5146 2001-12-16 12:48  simon
5148         * make_vtable_ops.pl:
5149         Fixed op exploder.
5151 2001-12-16 12:45  simon
5153         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5154         Expand multimethod vtable ops.
5156 2001-12-16 12:04  simon
5158         * Makefile.in:
5159         Added 'cvsclean' which doesn't zap CVS/* directories.
5161 2001-12-15 01:50  dan
5163         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5164         indeed!
5166         Thanks to grunblatt fom #parrot for the catch
5168 2001-12-15 01:39  dan
5170         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5171         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5172         languages/miniperl/Makefile.in,
5173         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5174         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5175         tweaks.
5177         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5179 2001-12-14 17:39  dan
5181         * t/op/trans.t: More trans tests.
5183         Courtesy of: Simon Glover <scog@roe.ac.uk>
5185 2001-12-14 07:41  robert
5187         * make.pl: - define MAKE macro - topological sort and subgraph
5188         order - start of timestamp stuff   (still badly broken)
5190 2001-12-14 06:06  jgoff
5192         * optimizer.pl: Hopefully this should do the trick..
5194 2001-12-14 06:04  jgoff
5196         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5198           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5200           The optimizer performs its work on a file post-macro expansion.
5201           Run it on a .pasm file, preferably with some trivially reducible
5202         operations
5203           like 'add I0,5,-6' or 'mul I0,I1,0'
5205 2001-12-14 05:48  robert
5207         * Makefile.in: case error EXE -> exe
5209 2001-12-14 05:42  robert
5211         * Makefile.in: remove legacy PDISASM macro
5213 2001-12-14 04:01  dan
5215         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5216         better Win building
5218         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5220 2001-12-13 22:03  dan
5222         * Configure.pl, Makefile.in, Parrot/Test.pm,
5223         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5224         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5225         can change it without having to change the world.
5227 2001-12-13 21:57  dan
5229         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5230         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5231         file/line/package to interp structure, with ops to get and set
5232         them. Now we can know where we are!
5234 2001-12-13 19:43  dan
5236         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5237         WinXP builds work out of the box
5239 2001-12-13 17:05  dan
5241         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5242         name again--makes case-insensitive systems much happier.
5244 2001-12-13 16:21  dan
5246         * core.ops, key.c, string.c, test_main.c, trace.c,
5247         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5248         compiler warnings
5250         Courtesy of: Josh Wilmes <josh@sky.net>
5252 2001-12-13 13:33  gregor
5254         * languages/jako/Makefile.in:
5255         Improved the method of calling the assembler.
5257 2001-12-13 13:30  gregor
5259         * languages/jako/Makefile.in:
5260         Improve the build process. It now works from the main parrot dir,
5261         and from the languages/jako directory. Now uses the .SUFFIXES
5262         target and generic build rules to reduce clutter in the
5263         Makefile.in.
5265 2001-12-13 13:29  gregor
5267         * languages/jako/.cvsignore:
5268         Ignore the (now generated Makefile), and don't ignore .list files
5269         anymore, since we aren't generating them.
5271 2001-12-13 13:11  gregor
5273         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5274         languages/Makefile.in, languages/jako/Makefile,
5275         languages/jako/Makefile.in:
5276         Added a 'languages' target to the top-level Makefile.in, and
5277         modified the jako build procedure to involve Makefile.in -->
5278         Makefile too (done by Configure.pl).
5280         NOTE: languages/jako and language/scheme are built.
5281         languages/miniperl wasn't building right, so it was left off for
5282         now.
5284 2001-12-13 12:15  gregor
5286         * MANIFEST:
5287         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5288         the MANIFEST.
5290 2001-12-13 12:12  gregor
5292         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5293         ops2c-prederef.pl, ops2c.pl, test_main.c,
5294         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5295         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5296         Welcome to the Just-in-Time Predereferencing Patch!
5298         This patch implements a "predereferencing" mode for parrot. That
5299         means that a lot of the dereferencing you see in DO_OP and in the
5300         opfuncs is done up front (really, JIT) rather than as and each time
5301         we execute each op in the byte code stream.
5303         This works by creating an array of void pointers with the same
5304         number of elements as the byte code array. This array starts out
5305         life zero-initialized.  Each time we go to execute an op, we check
5306         first to see if we have a NULL pointer at *cur_opcode. If so, we
5307         know we haven't done our predereferencing yet (this is the JIT
5308         part), so we call the prederef() function with sufficient args that
5309         it can go look up opfunc pointers and op arg types and put the
5310         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5311         where N is the number of args (counting the op itself as one arg).
5313         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5314         to have inline INTVAL constants.
5316         I've been getting about a 22% speed increase over vanilla code path
5317         when I compile with -O0. Advantage decreases at -O9 here. I tested
5318         with mops.pbc, and also by temporarily putting the -P flag in
5319         Parrot/Test.pm and running all the tests. So, this code is as
5320         correct as the test suite can detect.
5322         Here's how it plays out in the code:
5324           * New script ops2c-prederef.pl
5326             Copy-paste code reuse from ops2c.pl. Modified to expect the
5327         args to give
5328             a void ** cur_opcode and to return a void **.
5330           * Modified ops2c.pl
5332               * opfuncs are now static. Who needs to call them by name from
5333         outside,
5334                 anyway? They are accessed via the opfunc table.
5336               * Some MACRO stuff to make things work whether we prederef or
5337         not. It
5338                 may be possible to get rid of these some day if other folks
5339         agree
5340                 that we should be using CODE object pointers + offsets as
5341         our PC
5342                 rather than raw pointers to either opcode_t's or (void *)'s
5343                 (depending on prederef mode or no).
5345           * core.ops modified to be usable to build both kinds of opfuncs.
5346         For now,
5347             this means:
5349               * calls to push_generic_entry(... cur_opcode ...) were
5350         changed to
5351                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5352         a
5353                 macro that does the right thing in both kinds of ops.c
5354         files.
5356                 This is applicable to the bsr op. If we treated
5357         destinations as
5358                 (Code PMC + local offset) rather than as
5359         pointer-to-memory-somewhere,
5360                 this wouldn't be a big deal. We may need to do that at some
5361         point
5362                 anyway, so that when you jump around and return not only do
5363         you have
5364                 the right PC (pointer, today), but you also have the
5365         thread/interpreter
5366                 knowing what chunk of bytecode it is in at all times
5367         (assuming we'll
5368                 allow reflection, as in ops that query or affect the
5369         current CODE PMC).
5371               * runinterp was modified. Instead of copying the top-level
5372         PackFile struct
5373                 and blasting its byte_code pointer, we simply call runops
5374         on the new
5375                 interp, passing in the pointer to the current interp's code
5376         and the
5377                 offset into that code at which to start (this last arg used
5378         to be a
5379                 pointer PC, now its an offset PC).
5381           * include/parrot/op.h
5383               * new typedef for prederef opfuncs (they return void **)
5385           * include/parrot/interp_guts.h
5387               * New DO_OP_PREDEREF() macro described above.
5389           * include/parrot/interpreter.h
5391               * New prototype of runops() -- see below.
5393               * resume_addr field changed to resume_flag and resume_offset
5394         pair of fields.
5395                 We might be resuming from interp using prederef to one not
5396         or vice-versa,
5397                 so pointers between the two don't play nice together.
5398         Offsets are beautiful.
5400               * New PARROT_PREDEREF_FLAG constant
5402           * interpreter.c
5404               * include "parrot/oplib/core_ops_prederef.h"
5406               * prederef() function described above.
5408               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5409         macro as its core.
5411               * runops() modified to take size_t CODE-relative offset PC
5412         rather than
5413                 pointer PC. This made other things workable and doesn't
5414         seem to have lost
5415                 anything important (IMO).
5417           * test_main.c
5419               * New flag '-P' to enable predereferencing.
5421           * Makefile modified to build core_ops_prederef.c from core.ops
5422         via
5423             ops2c-prederef.pl.
5425             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5427             Added core_ops_prederef$(O) to O_FILES
5429 2001-12-13 12:12  gregor
5431         * languages/jako/MAINTAINER:
5432         Thought it would be nice to put this right in the code...
5434 2001-12-13 04:36  jgoff
5436         * languages/miniperl/Miniperl/Generator.pm: Commented out
5437         debugging, fixed register spillover algorithm
5439 2001-12-13 04:23  jgoff
5441         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5442         line) Restructured a bit of the dependency generator to fix a
5443         different obob bug.
5445 2001-12-13 03:43  robert
5447         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5449 2001-12-13 03:03  jgoff
5451         * make.pl: Added make.pl
5453 2001-12-13 02:44  jgoff
5455         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5456         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5457         special flags...                     - Dies on undefined macros
5458         such as $(PDISASM) in current make                     - Dies on
5459         recursive macro expansions                       (Doesn't test for
5460         mutual or multipart loops)                     - In general it
5461         seems to be a little less lenient...  Missing bits - File
5462         mod/creation times aren't being looked at              - Actions
5463         aren't being taken              - The few funky variables ($@, $<)
5464         aren't being dealt with Bugs - Line numbers are slipping a bit.
5466 2001-12-13 02:29  jgoff
5468         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5469         Reconstructing files to make the parser flow a little better.
5471 2001-12-13 00:51  dan
5473         * resources.c: Be a bit less wasteful with resources that don't
5474         need to be aligned
5476 2001-12-12 18:22  dan
5478         * Makefile.in: D'oh! Fixed looping makefile bug.
5480         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5482 2001-12-12 16:23  jgoff
5484         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5486 2001-12-12 16:22  jgoff
5488         * MANIFEST: Manifest additions for languages/miniperl
5490 2001-12-12 16:19  jgoff
5492         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5493         tests. These are left over from the Scheme suite and shouldn't be
5494         used yet.
5496 2001-12-12 16:18  jgoff
5498         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5499         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5500         modules. Miniperl/ is where the real work gets done.  t/ is largely
5501         vacant because it isn't ready to survive real tests yet.
5503 2001-12-12 16:17  jgoff
5505         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5506         mpc: Final go-round, hopefully.
5508         languages/miniperl/Makefile - Used basically to run tests, as there
5509         is nothing                               here that needs to be
5510         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5511         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5512         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5513         compiler stub
5515 2001-12-12 16:09  dan
5517         * Configure.pl: Setting a variable with the make command name is
5518         useful.
5520 2001-12-12 15:07  simon
5522         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5523         Recursive make considered "ow, don't do that".
5525 2001-12-12 14:45  dan
5527         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5528         non-portable code) Killing builds on Win32 native. Small patch
5529         applied which hopefully fixes it.
5531 2001-12-12 06:12  ajgough
5533         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5535 2001-12-12 06:08  ajgough
5537         * Makefile.in: perl is $(PERL).
5539 2001-12-12 06:00  ajgough
5541         * t/op/integer.t: Added tests to integer.t so that all permutations
5542         of arguments are actually called at some point.
5544 2001-12-12 05:18  ajgough
5546         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5547          Tests for sleep i|ic
5549 2001-12-12 05:09  ajgough
5551         * t/op/stacks.t: Added pushp and popp register stack tests.
5553 2001-12-12 04:51  ajgough
5555         * t/op/stacks.t: Added tests for save and restore, for all register
5556         types.  Let there be Haiku.
5558 2001-12-12 04:27  ajgough
5560         * t/op/basic.t: bsr_i test.  You know you want it.
5562 2001-12-12 02:55  ajgough
5564         * MANIFEST: Added hints/os2.pl to MANIFEST.
5566 2001-12-12 02:52  jgoff
5568         * core.ops, key.c: Final checkin... These are actually the correct
5569         copies.
5571 2001-12-12 02:12  jgoff
5573         * include/parrot/key.h: key.c - Removed a few functions,
5574         generalized set_element_value and element_value         to accept
5575         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5576         core.ops - Modified to accept the new return style.
5578         This is a prelude to adding virtual-table methods to allow hashing
5579         &c. Expect at least one or two more redesigns before this settles
5580         down. However, it still passes the original tests.
5582 2001-12-11 13:35  gregor
5584         * runops_cores.c:
5585         Fixed a typo.
5587 2001-12-11 12:03  gregor
5589         * .cvsignore:
5590         Don't ignore test_prog, but do ignore parrot.
5592 2001-12-11 12:03  gregor
5594         * classes/.cvsignore:
5595         Ignore the generated file default.h
5597 2001-12-11 04:07  jgoff
5599         * key.c: Key source
5601 2001-12-11 04:05  jgoff
5603         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5605 2001-12-11 04:00  jgoff
5607         * core.ops: Added new key aggregate operations to core ops.
5609 2001-12-11 04:00  jgoff
5611         * include/parrot/parrot.h: Added key.h to header list
5613 2001-12-11 03:59  jgoff
5615         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5617 2001-12-11 03:58  jgoff
5619         * Makefile.in: Added implementation of key aggregates.
5621 2001-12-08 23:07  simon
5623         * README:
5624         README good to go.
5626 2001-12-08 23:05  simon
5628         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5629         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5630         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5631         test_prog? What is test_prog?
5633 2001-12-08 22:57  simon
5635         * ChangeLog:
5637         Oops, the changelog commit was on *this* machine.
5639 2001-12-08 22:56  simon
5641         * NEWS:
5642         Updates to NEWS and ChangeLog pre-release.
5644 2001-12-08 22:07  simon
5646         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5647         classes/perlnum.pmc, classes/pmc2c.pl:
5648         Add "default" PMC vtable so you can inherit implied stuff.
5650 2001-12-08 21:24  simon
5652         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5653         docs/vtables.pod, lib/Parrot/PackFile.pm:
5654         Getting the documentation up to scratch.
5656 2001-12-08 21:21  simon
5658         * classes/pmc2c.pl:
5659         Allow inheriting from default class.
5661 2001-12-07 20:43  gregor
5663         * examples/assembly/queens.pasm:
5664         Regenerated the file with the latest jakoc.
5666 2001-12-07 20:29  simon
5668         * core.ops, t/op/stacks.t:
5669         Rename "rotate" to "rotate_up".
5671 2001-12-07 20:15  simon
5673         * t/op/stacks.t:
5674         Some tests for rotate.
5676 2001-12-07 00:55  gregor
5678         * core.ops:
5679         Cast the result of the pointer arithmetic, since without the cast
5680         there are warnings with some compilers, and without the parens
5681         around the pointer arithmetic, precedence breaks the meaning and
5682         causes crashes.
5684 2001-12-06 23:37  simon
5686         * core.ops:
5687         Temporary. I prefer compiler warnings to segfaults, thanks.
5689 2001-12-06 23:34  simon
5691         * runops_cores.c:
5692         Make "trace" work again.
5694 2001-12-06 21:23  dan
5696         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5698 2001-12-06 21:22  dan
5700         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5701         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5703 2001-12-06 19:22  simon
5705         * core.ops:
5706         Yet another "How the *%$! did that compile?" moment.
5708 2001-12-06 18:28  dan
5710         * hints/vms.pl: Fix to build, with a HERE logical required
5712 2001-12-06 17:48  dan
5714         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5715         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5716         changes to the interpreter--flags are now part of the interp
5717         structure.
5719         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5721 2001-12-06 14:02  gregor
5723         * docs/intro.pod:
5724         s/little_languages/languages/ in Jako section.
5726 2001-12-06 13:15  simon
5728         * Makefile.in:
5729         Ensure the documentation gets made.
5731 2001-12-06 13:12  simon
5733         * MANIFEST, docs/intro.pod:
5734         Documentation! Added the "Some Assembly Required" article with
5735         minor updates.
5737 2001-12-06 00:39  simon
5739         * core.ops:
5740         More "eq" support.
5742         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5744 2001-12-06 00:37  simon
5746         * test_main.c:
5747         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5749         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5751 2001-12-06 00:11  tom
5753         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5754         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5755         include/parrot/chartype.h, include/parrot/encoding.h,
5756         include/parrot/parrot.h: Moved string to number conversion code out
5757         of the encoding layer and into the main string layer as neither the
5758         encoding layer nor the character type layer knows enough on it's
5759         own to do the conversion correctly.
5761 2001-12-05 23:12  tom
5763         * Makefile.in: Rebuild the classes directory if any of the object
5764         files for the classes are missing rather than only when perlint.o
5765         is missing.
5767 2001-12-05 19:43  gregor
5769         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5770           * Reworked the constantize_string() stuff a little bit because it
5771         was
5772             puking on things like "\033[H\033[2J\0" (which occurs in the
5773             languages/jako/mandelzoom.jako example).
5775 2001-12-05 19:39  gregor
5777         * languages/jako/: Makefile, mandelzoom.jako:
5778         Added 'mandelzoom' example.
5780 2001-12-05 19:38  gregor
5782         * languages/jako/jakoc:
5783           * Added sleep()
5785           * Changed some instances of die() to confess()
5787 2001-12-05 18:34  gregor
5789         * t/: op/pmc.t, pmc/pmc.t:
5790         s/sting->int/string->int/
5792 2001-12-05 18:08  gregor
5794         * Parrot/.cvsignore:
5795         Ignore PMC.pm
5797 2001-12-05 18:05  gregor
5799         * classes/.cvsignore:
5800         Ignore the generated files.
5802 2001-12-05 17:19  gregor
5804         * pbc2c.pl:
5805           * Reverted recent changes, since they broke the script. Real fix
5806         coming
5807             later.
5809 2001-12-05 17:03  simon
5811         * classes/Makefile.in:
5812         Remember: change Makefile.in, not Makefile. D'oh.
5814 2001-12-05 17:02  simon
5816         * Makefile.in:
5817         Ensure PMC.pm gets remade.
5819 2001-12-05 16:58  simon
5821         * MANIFEST, Makefile.in, classes/Makefile.in,
5822         classes/perlundef.pmc, include/parrot/pmc.h:
5823         Add perlundef class.
5825 2001-12-05 16:45  simon
5827         * core.ops:
5828         Document "new P0, foo"
5830 2001-12-05 16:43  simon
5832         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5833         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5834         Allow assembler to know about PMC class names.
5836 2001-12-04 13:39  ajgough
5838         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5840 2001-12-04 05:02  ajgough
5842         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5843         in perlnum.c
5845 2001-12-04 04:24  ajgough
5847         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5848         broken form of strtod and appropriate tests.  Does not yet check
5849         for overflow.
5851 2001-12-04 01:31  ajgough
5853         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5854         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5855         to extract_num and extract_int string vtables, without this it
5856         would be impossible to have strings with nulls in while still
5857         knowing where they ended.
5859 2001-12-03 18:40  ajgough
5861         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5862         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5863         include/parrot/string.h: Moved pmc string to number conversion into
5864         the string encoding tables.
5866 2001-12-03 00:21  ajgough
5868         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5869         for p-> integer.
5871 2001-12-02 23:09  jgoff
5873         * classes/Makefile.in: Removed some redundant targets.
5875 2001-12-02 19:02  ajgough
5877         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5878         equality macro rather than using perl to generate expected output,
5879         all tests now have <<OUTPUT.
5881 2001-12-02 17:44  ajgough
5883         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5884         for pmc.t as well.  Will probably move macros into another file at
5885         some point, although this might be best left until the tests are
5886         unperled.
5888 2001-12-02 06:16  jgoff
5890         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5891         within Parrot_Perl{Class}_init.
5893 2001-12-02 06:09  jgoff
5895         * classes/Makefile.in: I seem to have removed *$(O) twice..
5897 2001-12-02 05:06  jgoff
5899         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5900         Configure.pl - Removed '-I./include', added classes/Makefile
5901         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5902         Removed old classes/* make stuff                Added target for
5903         classes/Makefile
5905 2001-12-02 04:48  jgoff
5907         * classes/Makefile.in: Going to be used shortly...
5909 2001-12-02 04:40  jgoff
5911         * docs/Makefile: Configure.pl - Added automatic makefile creation
5912         for docs/ and classes/                Removed '-I./include' because
5913         it was getting incorrectly                passed to classes/
5914         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5915         - Removed classes/ build stuff, replaced with classes/Makefile.in
5916                     Added '-I./include' locally docs/Makefile - Should no
5917         longer be used, but I'm not brave enough to do a
5918         cvs delete.
5920 2001-12-02 01:21  ajgough
5922         * t/op/trans.t: Refactored trans math tests to have hard coded
5923         expected return values and be more ready to be unperled at some
5924         point in the future.  Added $fp_equality_macro which is a
5925         "nearly-equal-to" function.
5927 2001-12-02 01:18  ajgough
5929         * Makefile.in: Humph.  People really ought to use Makefile
5930         variables, s/perl/$(PERL)/ throughout.
5932 2001-12-01 18:15  jgoff
5934         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5935         figure out what to do vis-a-vis the lack of snprintf.
5937 2001-11-30 13:14  ajgough
5939         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5940         and integer.t
5942 2001-11-30 13:14  ajgough
5944         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5945         -, else ... form.
5947 2001-11-30 10:36  simon
5949         * core.ops:
5950         Rewrite print_p to do the right thing.
5952 2001-11-30 06:21  jgoff
5954         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5955         concat,               integer/number/string math
5957 2001-11-30 06:20  jgoff
5959         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5960         classes/perlint.pmc - Fixes and expanding for concat and math with
5961         strings classes/perlnum.pmc - Fixes and expanding for concat and
5962         math with strings classes/perlstring.pmc - Fixes and expanding for
5963         concat and math with strings
5965 2001-11-29 15:21  ajgough
5967         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5968         $^X lies, which confused bash which make uses to run things when
5969         doing its stuff.
5971 2001-11-29 04:58  jgoff
5973         * classes/perlstring.pmc: Removed C++-style comments for good
5974         measure
5976 2001-11-29 04:51  jgoff
5978         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5980 2001-11-29 04:28  jgoff
5982         * global_setup.c: Initialize PMC strings
5984 2001-11-29 04:25  jgoff
5986         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5987         string PMCs.
5989 2001-11-29 04:24  jgoff
5991         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5992         files to properly upgrade int to num, do calculations.  Also added
5993         basic string operations. Currently errors out on anything but set
5994         operations, but this will be fixed soon.
5996 2001-11-29 04:22  jgoff
5998         * Makefile.in: PMC .c files weren't getting cleaned out.
6000 2001-11-28 17:00  simon
6002         * t/harness:
6004         Make csh-glob happy.
6006         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6008 2001-11-28 16:40  simon
6010         * classes/perlnum.pmc:
6012         De-C++
6014 2001-11-28 15:22  simon
6016         * string.c:
6018         Fixes Alex's string concat worry.
6020 2001-11-28 14:27  ajgough
6022         * t/op/string.t: test "null onto null" incorrectly passing as it
6023         produced no output.  Output provided.
6025 2001-11-28 11:14  simon
6027         * include/parrot/pmc.h:
6029         Placate AIX.
6031 2001-11-26 21:03  dan
6033         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6035 2001-11-26 17:29  simon
6037         * classes/perlint.pmc:
6039         Various subtle but non-showstopper bugs.
6041 2001-11-26 11:23  simon
6043         * classes/pmc2c.pl:
6045         Replace dependency on Text::Balanced
6047         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6049 2001-11-26 05:22  jgoff
6051         * global_setup.c: Last file that should need to be committed. I
6052         swear.
6054 2001-11-26 05:09  jgoff
6056         * core.ops: Let's try this again... Changes to core.ops required
6058 2001-11-26 04:58  jgoff
6060         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6061         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6062         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6063         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6064         functions classes/perlnum.pmc - Set up basic number functions
6065         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6066         tests against numbers and numbers+integers
6068 2001-11-25 13:18  simon
6070         * Makefile.in:
6071         Windows XP make doesn't like $<
6073 2001-11-25 12:56  simon
6075         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6076         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6077         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6078         examples/assembly/mops_p.pasm:
6079         PMC preprocessor.
6081         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6083         I (Simon) also added a couple more integer methods, but no tests
6084         since I'm a Bad Person.
6086 2001-11-25 08:40  brentdax
6088         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6089         lib/Parrot/OpsFile.pm: Allow _ in op names
6091 2001-11-25 05:54  jgoff
6093         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6094         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6096 2001-11-23 18:27  simon
6098         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6099         Add everything you need to make MOPS use PMCs.
6101 2001-11-23 18:06  simon
6103         * core.ops:
6104         Eh, you'll need this for rewriting mops.pasm.
6106 2001-11-23 17:55  simon
6108         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6109         t/pmc/pmc.t:
6110         More work on integer PMCs.
6112 2001-11-23 17:29  simon
6114         * Makefile.in:
6115         Surprise! Whitespace! HLAGHLAGHLAGH
6117 2001-11-23 17:28  simon
6119         * Makefile.in, ops2c.pl, ops2pm.pl:
6120         Add vtables.ops to the core
6122         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6124 2001-11-22 18:39  simon
6126         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6127         t/pmc/pmc.t:
6128         We can now create PMCs.
6130 2001-11-21 05:49  jgoff
6132         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6134 2001-11-20 16:00  simon
6136         * docs/vtables.pod, include/parrot/pmc.h:
6137         Reorder PMC flags so there's a fixed number of user-defined flags.
6139         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6141 2001-11-19 03:39  jgoff
6143         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6144         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6145         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6146         escaped quotes, and proper                handling of newlines.
6148 2001-11-16 22:03  simon
6150         * classes/perlint.c:
6151         More work on the Perl Integer class. More needed, though.
6153 2001-11-16 21:57  simon
6155         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6156         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6158 2001-11-16 20:49  simon
6160         * interpreter.c, runops_cores.c, trace.c,
6161         include/parrot/runops_cores.h:
6162         Kill superfluous runops cores.
6164 2001-11-16 17:50  simon
6166         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6167         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6168         include/parrot/parrot.h, include/parrot/pmc.h:
6169         Skeleton for Perl scalar types, done right.
6171 2001-11-16 16:15  simon
6173         * classes/genclass.pl:
6174         This tidies up genclass to deal with the new-style multimethods.
6176 2001-11-16 15:29  simon
6178         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6179         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6180         Rework multimethods to be *true* multimethods - that is, have
6181         different types.
6183 2001-11-15 22:29  simon
6185         * MANIFEST, Makefile.in, pmc.c:
6186         pmc.c linkage and support. Oh, and making it compile.
6188 2001-11-15 22:26  dan
6190         * t/op/interp.t: Forgot to tell CVS about the test...
6192 2001-11-15 22:10  dan
6194         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6195         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6196         for PMC registers for the interpreter.
6198         Added in the docs for the runinterp opcode.
6200         Added in code for both the newinterp and runinterp opcodes, so we
6201         can now create new interpreters from within parrot and have them do
6202         things. (Though we can't pass data back and forth. Yet)
6204 2001-11-15 21:24  simon
6206         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6207         More documentation, and other changes as discussed with Dan.
6209 2001-11-15 19:51  simon
6211         * classes/scalarclass.c:
6212         De-cut-and-pasto.
6214 2001-11-15 19:50  simon
6216         * classes/scalarclass.c:
6217         A little code tidiness.
6219 2001-11-15 19:33  simon
6221         * include/parrot/pmc.h:
6222         Missed this in the previous commit - un-constantize the base for
6223         user-defined PMC flags.
6225 2001-11-15 19:28  simon
6227         * classes/scalarclass.c:
6228         Hey look, sanity.
6230 2001-11-15 17:09  simon
6232         * classes/scalarclass.c:
6233         It seems I have completely forgotten how to write C.
6235 2001-11-15 16:53  simon
6237         * docs/vtables.pod:
6238         Start of the PMC classes documentation.
6240 2001-11-15 14:46  simon
6242         * classes/scalarclass.c:
6243         Changing to use a Perl-style struct instead of the union cache.
6245 2001-11-13 23:56  tom
6247         * string.c: Removed leading _ from string_index as function names
6248         starting with _ are reserved to implementors by the C standard.
6250         Also fixed string_index to use the encoding routines instead of
6251         assuming a single byte encoding.
6253 2001-11-13 12:59  jgoff
6255         * string.c: Patched string_concat to accept null strings.  That
6256         test was failing. Nothing to do with ord().
6258 2001-11-13 12:43  jgoff
6260         * string.c: string_ord function, string_concat fixes
6262 2001-11-13 04:52  jgoff
6264         * core.ops: Added ord to core.ops
6266 2001-11-13 04:35  jgoff
6268         * docs/strings.pod, include/parrot/exceptions.h,
6269         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6270         operator, documentation string.c - Added string_ord, _string_index
6271         (_string_index is a static helper)              Patched
6272         string_concat to handle null strings properly.  docs/strings.pod -
6273         Description of string_ord include/parrot/exceptions.h - Added
6274         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6275         string_ord() t/op/string.t - Added full set of test for
6276         ord_i_(s|sc)(_(i|ic))?
6278         string.c contains a bit of documentation explaining the logic
6279         behind _string_index, primarily having to do with multiple encoding
6280         formats.
6282 2001-11-12 22:30  simon
6284         * t/op/macro.t:
6285         Count 'em.
6287 2001-11-12 22:28  simon
6289         * Makefile.in:
6290         Add a rule to compile "platform"
6292 2001-11-12 22:26  simon
6294         * Makefile.in:
6295         Tidy up distclean target.
6297 2001-11-12 16:54  dan
6299         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6300         t/op/macro.t: Fixes to the assembler's macro facility and a test
6302         Courtesy of: Jeff <jgoff@speakeasy.net>
6304 2001-11-12 16:50  dan
6306         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6307         stdin
6309         Courtesy of: Jeff <jgoff@speakeasy.net>
6311 2001-11-12 16:36  dan
6313         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6314         CygWin
6316         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6318 2001-11-12 11:22  simon
6320         * examples/assembly/mops.pasm:
6322         Trivial tightening of mops loop.
6324 2001-11-07 23:57  ajgough
6326         * docs/tests.pod: This is a basic quide to writing tests with
6327         assembler.
6329 2001-11-07 22:29  dan
6331         * stacks.c: Added a little documentation on the cleanup parameter
6332         for an entry
6334 2001-11-07 14:43  dan
6336         * MANIFEST, platforms/generic.c, platforms/linux.c,
6337         platforms/linux.h: Portability patches.
6339         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6341 2001-11-06 19:51  tom
6343         * Makefile.in: Clean up object files in the subdirectories as well
6344         as those in the top level directory.
6346         Enhanced version of patch from Daniel Grunblatt
6347         <daniel@grunblatt.com.ar>
6349 2001-11-06 16:14  dan
6351         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6352         platforms/generic.c, platforms/generic.h: Made things a bit more
6353         platform-independent. Makefile still needs work to pick up changes
6354         to the platform-specific files.
6356 2001-11-05 21:32  dan
6358         * docs/parrot_assembly.pod: Added docs for the GC control ops
6360 2001-11-04 02:52  gregor
6362         * platforms/: win32.c, win32.h:
6363           * win32 dynamic loading functions.
6365         Courtesy of Jason Diamond <jason@injektilo.org>
6367 2001-11-04 00:04  brentdax
6369         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6370         allows an absolute path to be used and gives a useful error message
6371         if the original source file can't be found
6373 2001-11-02 12:37  gregor
6375         * platforms/: linux.c, linux.h:
6376           * Beginning of dynamic loading support. Linux only for now.
6378 2001-11-02 12:13  gregor
6380         * MANIFEST, time.c, include/parrot/time.h:
6381           * Removed time.[hc], since they have been superseded by the new
6382         platform
6383             stuff.
6385 2001-11-02 12:11  gregor
6387         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6388         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6389         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6390         platforms/win32.c, platforms/win32.h:
6391         Patch from Jason Diamond to make win32 platform stuff work:
6393         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6394         platform specific files in the platforms directory gets copied to
6395         the correct directories. The Makefile will re-copy the platform.h
6396         and .c files if the original is modified.
6398         * #include platform.h in parrot.h instead of time.h.
6400         * Removed time.h and time.obj from the Makefile. time.h and time.c
6401         aren't being used anymore since that code was moved to linux.c and
6402         win32.c.
6404         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6405         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6406         windows.h. This required updating several files besides parrot.h.
6408         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6409         instead of the missing identifiers (on Windows) in core.ops in the
6410         calls to open.
6412         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6413         platform files and called those from core.ops. The Linux code for
6414         these functions came from core.ops so they should hopefully work.
6416         Courtesy of Jason Diamond <jason@injektilo.org>
6418 2001-11-02 06:43  brentdax
6420         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6421         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6423 2001-11-02 02:26  gregor
6425         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6426         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6427         platforms/win32.h:
6428           * Beginnings of platform support files in platform/*.[hc]
6430 2001-11-01 23:37  tom
6432         * classes/intclass.c: Added missing *'s to STRING arguments and
6433         return values to avoid compiler warnings.
6435 2001-11-01 22:21  gregor
6437         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6438         include/parrot/parrot.h, include/parrot/time.h:
6439         Initial "fix" of time(n) op for Win32:
6441           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6443           * time.c and include/parrot/time.h
6445             First attempt at getting this working across platforms. The
6446             macro WIN32 being tested might not be right.
6448           * New functions Parrot_intval_time() and Parrot_floatval_time()
6449             wrap the appropriate functionality depending upon platform.
6450             Changed core.ops to call these.
6452         Added obscure.ops with obscure transcendental ops.
6454         Added simple file I/O ops (close, open, read, write):
6456           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6458           * I changed some arg ordering stuff.
6460           * I added read/write of INTVALs and FLOATVALs.
6462         Added environment variable ops (getenv, setenv)
6464         Added system error ops (err(i) and err(s) for accessing errno and
6465         strerr().
6467         Moved print ops in with other "temporary" developer ops, since
6468         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6470 2001-10-31 22:51  tom
6472         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6473         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6474         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6475         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6476         encodings/utf8.c, include/parrot/chartype.h,
6477         include/parrot/encoding.h, include/parrot/exceptions.h,
6478         include/parrot/parrot.h, include/parrot/string.h,
6479         include/parrot/strnative.h, include/parrot/strutf16.h,
6480         include/parrot/strutf32.h, include/parrot/strutf8.h,
6481         include/parrot/transcode.h: Reworked the string code in line with
6482         Dan's latest design that separates character sets from encodings.
6484 2001-10-31 19:53  dan
6486         * docs/parrot_assembly.pod: Finished I/O section of docs
6488 2001-10-31 16:51  dan
6490         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6491         Moved includes out of core.ops and into parrot.h where they belong
6492         (suitably guarded with #ifdefs). Also some updates to
6493         parrot_assembly.pod
6495 2001-10-30 21:43  dan
6497         * core.ops, stacks.c, docs/parrot_assembly.pod,
6498         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6499         of the entry on the stack
6501 2001-10-29 18:30  dan
6503         * stacks.c: You can turn off stack entry type validation on pop by
6504         passing in a type of 0 now. (For those cases where you just want to
6505         throw the darned thing away)
6507 2001-10-29 14:37  gregor
6509         * core.ops, languages/jako/jakoc:
6510           * New variants of the save ops to save constants on the stack.
6511         This is
6512             useful for saving zero arg and result counts on the stack, for
6513         example.
6515           * Modified jakoc to to adapt to the newly announced calling
6516         conventions.
6517             Even though Jako source code appears to show subroutines with
6518         fixed
6519             numbers of arguments and results, they are implemented with the
6520             variable count calling convention. Future modifications will be
6521         needed
6522             to ensure that an exception is raised if the stack frame is of
6523         the
6524             wrong size (or, at least that we pop the complete frame off).
6525         We'll
6526             also have to make more changes to support the true
6527         fixed-arg-count
6528             and fixed-result-count parts of the calling convention spec.
6530 2001-10-28 16:53  simon
6532         * MANIFEST, stacks.c, classes/scalarclass.c,
6533         include/parrot/stacks.h:
6534         Unbelievably bad errors of mine, plus a type incompatibility of
6535         Dan's.
6537 2001-10-28 08:30  simon
6539         * classes/scalarclass.c:
6540         Beginning of a scalar class.
6542 2001-10-28 08:29  simon
6544         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6545         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6546         include/parrot/pmc.h:
6547         This fixes the problem with vtables and pointer arithmetic.
6549 2001-10-26 19:58  dan
6551         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6552         include/parrot/stacks.h: Split the generic stack into a user push
6553         stack and a control stack
6555 2001-10-26 02:59  bdwheele
6557         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6559 2001-10-24 20:27  dan
6561         * languages/scheme/: Makefile, Scheme.pm, schemec,
6562         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6563         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6564         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6565         Scheme compiler
6567 2001-10-24 20:23  dan
6569         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6570         interpreter needs in pdump.c. Added scheme bits to manifest
6572 2001-10-24 16:43  gregor
6574         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6575           * Make the assembler handle octal character code escapes in
6576         string
6577             constants.
6579 2001-10-24 15:56  dan
6581         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6582         play the game of life
6584 2001-10-24 15:54  dan
6586         * core.ops: Added sleep. We'll need to override this to do events
6587         properly anyway, so...
6589 2001-10-24 14:03  gregor
6591         * Makefile.in, pbc2c.pl, pdump.c:
6592           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6593         interpreter
6594             pointer into string functions.
6596         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6598 2001-10-23 20:09  gregor
6600         * languages/jako/jakoc:
6601           * Terminological refinement in regexp capture comment.
6603 2001-10-23 15:23  simon
6605         * classes/genclass.pl:
6606         Use a saner ANSI C construct to make MIPSPro happy.
6608         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6610 2001-10-23 00:34  tom
6612         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6613         strutf8.c, include/parrot/string.h: Make sure the interpreter
6614         structure is passed to the transcoder as necessary, including
6615         passing it to string_compare().
6617 2001-10-23 00:32  tom
6619         * Makefile.in: Make pdump build again by including resources.o in
6620         the link.
6622 2001-10-22 22:43  dan
6624         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6625         strutf32.c, strutf8.c, test_main.c, transcode.c,
6626         include/parrot/packfile.h, include/parrot/parrot.h,
6627         include/parrot/resources.h, include/parrot/string.h,
6628         include/parrot/transcode.h: Everything now uses the allocators and
6629         deallocators in resources.c.
6631         Unfortunately we lost standalone string-test mode, but I can cope
6632         with that.
6634         Please note that until we have a real allocation/deallocation/GC
6635         system, this'll leak. A *lot*.
6637 2001-10-22 20:27  dan
6639         * MANIFEST, Makefile.in, pmc.c, resources.c,
6640         include/parrot/resources.h: First cut to handle arena allocation of
6641         PMC headers. (Amongst other things)
6643 2001-10-22 19:02  dan
6645         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6646         Now each register type has its own mask macro, which is the right
6647         thing to do.
6649         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6651 2001-10-21 23:40  tom
6653         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6654         stack chunk and add a test to test this rollover in future.
6656         Courtesy of Jason Gloudon <perl@gloudon.com>.
6658 2001-10-21 19:14  dan
6660         * include/parrot/string.h: Changed string 'unused' field to the
6661         language field.
6663 2001-10-21 18:18  gregor
6665         * languages/jako/: Makefile, mops.jako:
6666           * Makefile: 'clean' target removes .list files, too. And, it does
6667         rm -f
6668             with wildcards rather than listing things explicitly.
6670           * mops.jako actually prints out the
6671         millions-of-operations-per-second
6672             (mops) value instead of just the operations-per-second value.
6674 2001-10-21 18:03  simon
6676         * classes/intclass.o:
6677         *smack*! WRONG!
6679 2001-10-21 17:47  simon
6681         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6682         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6683         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6684         lib/Parrot/Vtable.pm:
6685         Initial work on PMCs. Explanation to follow
6687 2001-10-21 15:20  gregor
6689         * examples/assembly/queens.pasm:
6690           * Modernize the calling conventions in queens.pasm. It was using
6691         swap,
6692             which now must be rotate. Also, changed to use return values on
6693         the
6694             stack instead of in I0.
6696 2001-10-19 18:14  gregor
6698         * core.ops, stacks.c, include/parrot/stacks.h,
6699         languages/jako/jakoc:
6700         Per Dan's request, replacing 'swap' op by 'rotate'.
6702           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6704           * stacks.c and stacks.h: Removed swap-related functions from my
6705             prior commit, replacing them with stack_depth(), stack_entry()
6706             and rotate_entries().
6708             NOTE: The stack_depth() and rotate_entries() routines could
6709             be made more efficient through the caching of the sum of chunk
6710             'used' members from lower chunks in a field in the upper
6711             chunks. Also, if the interpreter's stack_base was changed to
6712             hold the pointer to the *top* chunk (since we usually come
6713             at the stack from the top down) instead of the *bottom*
6714             chunk. The code here at least works, and we can decide about
6715             bigger changes separately.
6717             For now, rotate only handles rotates in one direction and
6718             of magnituded one. A fully general rotate would do handle
6719             rotates in both directions and of arbitrary amounts. Again,
6720             this implementation is sufficient for current applications,
6721             and a feature-complete version can be developed if this turns
6722             out to be otherwise the right type of implementation.
6724             This change includes a new exception for ERROR_STACK_SHALLOW,
6725             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6727           * jakoc: Changed the calling convention to use rotate instead
6728             of swap (of course). Also changed the convention for return
6729             value passing to use the stack as well.
6731 2001-10-19 13:36  gregor
6733         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6734         examples/assembly/queens.pasm, include/parrot/stacks.h,
6735         languages/jako/.cvsignore, languages/jako/Makefile,
6736         languages/jako/bench.jako, languages/jako/euclid.jako,
6737         languages/jako/fact.jako, languages/jako/jakoc,
6738         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6739         languages/jako/primes.jako, languages/jako/queens.jako,
6740         languages/jako/sub.jako:
6741           * New stack functions push_entry(), pop_entry() and swap_entry().
6742             The first two exist for the support of the last one. These
6743             functions don't care what is in the stack entries. These exist
6744             to support the new 'swap' op (see next bullet).
6746           * New op 'swap' for swapping the top two elements on the stack.
6747             This is necessary for passing arguments to functions, since
6748             the return address will be on top of any arguments that have
6749             been pushed on the stack. This way, you can use a (swap, pop)
6750             pair to retrieve each argument (for subroutine linkage).
6752           * Disassembler now prints numbers in decimal by default, with
6753             a new '-x' flag to turn on hexadecimal display. Since other
6754             members of the Parrot Tool Set use decimal by default, this
6755             makes it easier to compare output from the various tools.
6757           * Jako compiler has more explanatory comments and the following
6758             new features:
6760               * Lexically scoped variables.
6762               * Subroutines that take arguments and return values:
6764                   sub int foo(int bar) {
6765                     if (bar == 1) {
6766                       return 42;
6767                     } else {
6768                       return 13;
6769                     }
6770                   }
6771               * ... if (...) and ... unless (...) statement modifiers
6772                 can be used on next, last and redo.
6774               * Bitwise and (&, &=) and or (|, |=) ops.
6776               * Type names are just 'int', 'num', 'str', and 'poly' now.
6777                 The old long names 'integer', 'number', 'string', and
6778                 'polytype' are no longer valid.
6780               * Integer variable assignments can now use 0b (binary),
6781                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6783           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6784             solving the eight-queens problem. The assembly example is a
6785             hand-modified version of the assembly code produced by the
6786             Jako compiler from queens.jako. A few unnecessary ops have
6787             been removed, lots of unnecessary labels have been removed,
6788             and all the Jako source code comments have been removed.
6790           * Makefile and .cvsignore in languages/jako modified so that
6791             the assembler produces listings when assembling the programs,
6792             yet the *.list files are ignored by CVS.
6794           * Made the default target in languages/jako/Makefile 'all'.
6796           * Modified some of the Jako examples to use some of the new
6797             features of Jako, such as subroutines and lexical variable
6798             scoping.
6800 2001-10-19 02:43  gregor
6802         * runops_cores.c, include/parrot/runops_cores.h:
6803         Bug fix (gcc doesn't complain, but MIPSpro does):
6805           * Added missing extern to runops_cores array declaration in
6806             include/parrot/runops_cores.h
6808           * Also added 'const' there and in runops_cores.c
6810 2001-10-18 15:18  gregor
6812         * .cvsignore, include/parrot/oplib/.cvsignore:
6813           * Ignore the vtable-related generated files.
6815 2001-10-18 15:14  gregor
6817         * core.ops:
6818           * left and right shifts now allow the 2nd argument to be a
6819         constant.
6821 2001-10-18 14:55  simon
6823         * make_vtable_ops.pl:
6824         This is C, not Perl. How on earth did that even compile?
6826 2001-10-18 14:54  simon
6828         * make_vtable_ops.pl:
6829         More vtable ops.
6831 2001-10-18 12:33  simon
6833         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6834         Initial stab at vtable opcode creation stuff.
6836 2001-10-18 02:15  gregor
6838         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6839         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6840         include/parrot/trace.h: Preparation for autogenerated runops cores:
6842           * Split tracing and runops core stuff out of interpreter.c into
6843             trace.c and runops_cores.c
6845           * Similar split of stuff from include/parrot/interpreter.h
6847           * Manifest and Makefile.in updates to make things still compile.
6849 2001-10-18 01:21  gregor
6851         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6853           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6855           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6857           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6859           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6861           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6862         with
6863             copy of $ops->preamble.
6865 2001-10-17 22:32  bdwheele
6867         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6868         request.
6870 2001-10-17 22:08  gregor
6872         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6873           * Now handles label-and-comment-only lines.
6875 2001-10-17 22:04  bdwheele
6877         * interpreter.c: added more comprehensive trace output
6879 2001-10-17 16:50  tom
6881         * Makefile.in: Removed the explicit rule for building mops.o from
6882         mops.c so that the implicit rule for compiling C files is used
6883         instead. This means that the chosen C flags are used, including any
6884         optimisation options.
6886 2001-10-17 15:24  tom
6888         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6889         op explosion logic to be able to handle exploding this:
6891           sub(i, i|ic, i|ic)
6893         into these:
6895           sub(i, i, i)
6896           sub(i, i, ic)
6897           sub(i, ic, i)
6899         without also generating this unwanted version:
6901           sub(i, ic, ic)
6903         The enhanced version rejects any expansion where there is more than
6904         one expanded argument and all the expanded arguments are constants.
6906 2001-10-17 14:20  simon
6908         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6909         Build fixes to use correct Perl version and ensure that things are
6910         running in the right directory.
6912         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6914 2001-10-17 13:16  simon
6916         * Makefile.in:
6917         core.pm is more critical than that.
6919 2001-10-17 13:05  simon
6921         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6922         "Explode" ops into multiple versions for different parameters.
6924         Courtesy of: Tom Hughes <tom@compton.nu>
6926 2001-10-17 12:54  simon
6928         * Makefile.in:
6929         Fix dependencies and cleaning.
6931 2001-10-17 12:45  simon
6933         * Configure.pl, Makefile.in:
6934         Fixes to make Parrot compile without the temporary build hack
6936         Courtesy of: Jason Gloudon <perl@gloudon.com>
6938 2001-10-16 20:43  gregor
6940         * Makefile.in:
6941           * Fixed dependencies for building Parrot/OpLib/core.pm
6943 2001-10-16 19:35  bdwheele
6945         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6946         added test, thanks to Alex Gough
6948 2001-10-16 16:49  bdwheele
6950         * core.ops: added opcode variants for constants and 3 arg concat
6952 2001-10-16 15:12  bdwheele
6954         * core.ops: added "set Sx,Sy" as a string copy to match the other
6955         register-to-register copies available
6957 2001-10-16 13:09  gregor
6959         * core.ops:
6960           * Added #include <sys/time.h> in the preamble for gettimeofday().
6962 2001-10-16 13:09  gregor
6964         * Makefile.in:
6965           * Removed cd t; make, which no longer applies
6967 2001-10-16 03:18  bdwheele
6969         * core.ops: fix save & restore operations to push correct type onto
6970         stack. [good eye to Jason Gloudon for noticing this]
6972 2001-10-16 01:38  bdwheele
6974         * core.ops, register.c, examples/assembly/fact.pasm,
6975         include/parrot/register.h: send in the clones:  clone routines for
6976         parrot + example program
6978 2001-10-15 22:37  gregor
6980         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6981         examples/assembly/Makefile, examples/assembly/bsr.pasm,
6982         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6983         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6984         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6985         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6986         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6987         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6988         t/test4.pasm, t/test5.pasm, t/trace.pasm:
6989           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6990         some
6991             renames so the names match what they demonstrate.
6993 2001-10-15 22:18  gregor
6995         * core.ops, t/test.pasm:
6996           * time_n uses gettimeofday() to get sub-second times.
6998           * t/test.pasm uses time_n directly rather than doing int stuff
6999         and
7000             converting to num later.
7002 2001-10-15 12:28  gregor
7004         * t/: test.pasm, test2.pasm, trace.pasm:
7005           * t/test.pasm prints using string constants instead of string
7006         regs.
7008           * t/test2.pasm assembles (using implicit op modes)
7010           * t/trace.pasm updated for new behavior of trace_ic, which does
7011         not
7012             require an 'end' after 'trace'.
7014 2001-10-15 00:47  gregor
7016         * core.ops, interpreter.c, test_main.c,
7017         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7018         PARROT_PROFILE_FLAG
7020           * New runops cores to handle profiling
7022           * Support for -p flag in test_prog to enable profiling
7024           * New profile_ic op to control profiling at run-time
7026 2001-10-14 21:54  gregor
7028         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7029         lib/Parrot/OpsFile.pm: Integrated op documentation.
7031           * core.ops now contains POD documentation of ops, interspersed
7032         with the
7033             ops themselves
7035           * Ops are organized into POD =head2 sections
7037           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7038         anything
7039             up to the first POD directive OR op definition.
7041           * docs/Makefile now generates core_ops.pod from core.ops vi
7042         perldoc -u.
7044 2001-10-14 11:58  simon
7046         * Makefile.in:
7047         Unbreak Digital Un^W^WTru64
7049 2001-10-14 11:00  simon
7051         * Configure.pl:
7052         Remove weird typo.
7054 2001-10-14 10:56  tom
7056         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7057         op_info.c no longer exists and op.h is no longer a generated file.
7059 2001-10-14 10:54  tom
7061         * Makefile.in: Added vtable.h to the list of things removed by the
7062         clean target.
7064 2001-10-14 01:43  gregor
7066         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7067         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7068         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7069         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7070         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7071         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7072         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7073         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7074         include/parrot/interpreter.h, include/parrot/op.h,
7075         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7076         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7077         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7078         Moby Patch:
7080           * basic_opcodes.ops and opcode_table replaced by core.ops
7082           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7083             and ops2c.pl. These convert *.ops to *_ops.c and
7084             include/parrot/oplib/*_ops.h
7086           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7088           * disassemble.pl modified to use
7090           * interpreter.c modified to use structures in core_ops.c instead
7091             of the old op_info and op_func stuff. We're not yet to the
7092             point of handling multiple oplibs at a time, but we are getting
7093             there...
7095             Fingerprinting stuff disabled for now. We used to go off
7096             opcode_table. We need to rethink this. I have some ideas to
7097             make it unnecessary, but it remains to be seen whether others
7098             will like the direction they take us.
7100             Termination condition for while(){} loop in runops is now
7101             (pc) instead of (*pc). Any op can cause a HALT by returning
7102             a NULL pointer. Ops end, bounds and trace all do this. So, now
7103             the 'end' op body is actually executed, although all it does
7104             is HALT.
7106           * Makefile.in modified to perform a test build using pbc2c.pl,
7107             which is the bytecode --> C compiler I've posted to the
7108             list before.
7110           * Op full names are now autogenerated. Op root names must not
7111             contain underscores, so some op renamings have happened.
7112             Such as clear_i becoming cleari.
7114 2001-10-13 11:49  simon
7116         * Configure.pl, MANIFEST:
7117         Make parrot actually build again.
7119 2001-10-12 21:34  dan
7121         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7122         opcodes
7124 2001-10-12 20:56  dan
7126         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7127         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7128         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7129         generic stack now in. We also have subroutines, of a simple sort!
7131 2001-10-12 19:15  tom
7133         * t/op/string.t: Improved string comparison tests try all string
7134         combinations with each of the comparison ops.
7136 2001-10-12 19:09  dan
7138         * interpreter.c: Properly sets up generic stack now
7140 2001-10-12 19:09  dan
7142         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7143         interpreter structure
7145 2001-10-12 18:59  dan
7147         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7148         changes to get the generic stack working
7150 2001-10-12 18:59  dan
7152         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7153         hints/vms.pl: Made the changes to figure out mask bits for various
7154         register and stack chunks
7156 2001-10-11 22:09  dan
7158         * docs/parrot_assembly.pod: Tossed the parameter for return
7160 2001-10-11 19:28  tom
7162         * strnative.c: Assignment, not comparison.  (Plus formatted for
7163         coding standards)
7165         Courtesy of Bryan C. Warnock
7167 2001-10-10 19:21  tom
7169         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7170         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7171         include/parrot/string.h, t/op/string.t: Added support for string
7172         comparisons and extended the comparison ops to include comparison
7173         of strings.
7175 2001-10-10 17:58  dan
7177         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7179 2001-10-10 17:54  dan
7181         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7182         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7183         vtable type entries properly
7185 2001-10-10 15:37  dan
7187         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7188         parse new vtable.tbl file now that I've actually checked *in* the
7189         new format vtable.tbl file...
7191 2001-10-10 15:32  dan
7193         * vtable.tbl: New Column to indicate the type of the vtabel entry
7194         so we can know how many slots it takes
7196 2001-10-10 05:26  thgibbs
7198         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7199         allow parrot to compile.  PACKAGE is not defined, therefore, I
7200         added a struct before it to have it not complain until we define
7201         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7202         semicolon at the end of the struct declaration.
7204 2001-10-10 05:09  thgibbs
7206         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7207         string constants of the form U"string" become unicode encoded
7208         parrot strings and the form N"string" become native encoded parrot
7209         strings.
7211         Courtesy of: Tom Hughes <tom@compton.nu>
7213 2001-10-10 04:55  dan
7215         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7216         support for generating the vtable function table offset macros
7218 2001-10-10 01:05  simon
7220         * t/op/integer.t:
7221         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7222         compiles into the mod op, not the cmod_i op, hence wasn't testing
7223         what it thought it was.
7225         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7227 2001-10-09 03:45  thgibbs
7229         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7230         assembler to generate unicode strings.
7232         Courtesy of: Tom Hughes <tom@compton.nu>
7234 2001-10-08 19:30  brentdax
7236         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7237         info for Parrot::Config to remember, more flexible test.c stuff
7239 2001-10-08 15:04  gregor
7241         * basic_opcodes.ops:
7242           * Removed trash from early mod_i experiments (pardon our dust)
7244 2001-10-08 14:56  gregor
7246         * basic_opcodes.ops:
7247           * Fixed a couple of typos.
7249 2001-10-08 14:45  gregor
7251         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7252         Arithmetic enhancements:
7254           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7256             NOTE: This "uncorrected mod" algorithm uses the C language's
7257         built-in
7258             mod operator (x % y), which is
7260                 ... the remainder when x is divided by y, and thus is zero
7261         when y
7262                 divides x exactly.
7263                 ...
7264                 The direction of truncation for / and teh sign of the
7265         result for %
7266                 are machine-dependent for negative operands, as is the
7267         action taken
7268                 on overflow or underflow.
7269                                                                      --
7270         [1], page 41
7272             Also:
7274                 ... if the second operand is 0, the result is undefined.
7275         Otherwise, it
7276                 is always true that (a/b)*b + a%b is equal to z. I both
7277         operands are
7278                 non-negative, then teh remainder is non-negative and
7279         smaller than the
7280                 divisor; if not, it is guaranteed only that the absolute
7281         value of the
7282                 remainder is smaller than the absolute value of the
7283         divisor.
7284                                                                      --
7285         [1], page 205
7287             This op is provided for those who need it (such as
7288         speed-sensitive
7289             applications with heavy use of mod, but using it only with
7290         positive
7291             arguments), but a more mathematically useful numeric mod based
7292         on
7293             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7295               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7296         Programming
7297                   Language*, Second Edition. Prentice Hall, 1988.
7299           * Added "corrected" mod_i:
7301             NOTE: This "corrected mod" algorithm is based on the C code on
7302         page 70
7303             of [1]. Assuming correct behavior of C's built-in mod operator
7304         (%) with
7305             positive arguments, this algorithm implements a mathematically
7306         convenient
7307             version of mod, defined thus:
7309               x mod y = x - y * floor(x / y)
7311             For more information on this definition of mod, see section 3.4
7312         of [2],
7313             pages 81-85.
7315             References:
7317               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7318                   Millennium* Springer, 1999.
7320               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7321         *Concrete
7322                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7324           * Added mod_n, using the same formula as above, but with FLOATVAL
7325             arguments.
7327           * Added cmod_n, using the C math library's fmod() function:
7329             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7330         library's
7331             fmod() function, which computes
7333                 ... the remainder of dividing x by y. The return value is x
7334         - n * y,
7335                 where n is the quotient of x / y, rounded towards zero to
7336         an
7337                 integer.
7338                                                 -- fmod() manpage on RedHat
7339         Linux 7.0
7341             In addition, fmod() returns
7343                 the remainder, unless y is zero, when the function fails
7344         and errno
7345                 is set.
7347             According to page 251 of [1], the result when y is zero is
7348         implementation-
7349             defined.
7351             This op is provided for those who need it, but a more
7352         mathematically
7353             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7354         and
7355             defined with y == 0 is provided by the mod_n op.
7357               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7358         Programming
7359                   Language*, Second Edition. Prentice Hall, 1988.
7361           * Added and modified tests as appropriate for the above.
7363 2001-10-08 08:49  thgibbs
7365         * include/parrot/exceptions.h, include/parrot/parrot.h,
7366         include/parrot/string.h, include/parrot/strutf16.h,
7367         include/parrot/strutf32.h, include/parrot/strutf8.h,
7368         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7369         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7370         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7371         strings for utf8, utf16, and utf32.
7373         Courtesy of: Tom Hughes <tom@compton.nu>
7375 2001-10-08 08:10  thgibbs
7377         * memory.c: Fixed uninitialized variables.
7379         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7381 2001-10-08 01:21  gregor
7383         * packfile.c:   * Casting a return value
7385           * Potential uninitialized variable fix
7387         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7389 2001-10-08 01:15  gregor
7391         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7392         a few tweaks of my own):
7394           * Line wrapping
7396           * Printf format fixes
7398         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7400 2001-10-07 22:39  thgibbs
7402         * build_interp_starter.pl: No longer adds (void*) casts to
7403         interp_guts.c function table as they are not necessary in ANSI C.
7405 2001-10-07 16:27  gregor
7407         * basic_opcodes.ops, interpreter.c, opcode_table,
7408         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7409         t/trace.pasm:
7410           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7411             interpreter->flags and set interpreter->resume_addr.
7413           * Two new runops core variants, so now we cover the relevant
7414             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7416           * Runops core selection that converts the flags into an index
7417         into
7418             a core table (runops_cores) to get the core function pointer.
7420           * A new trace_op variant that doesn't do bounds checking (used by
7421             the non-bounds-checking-but-tracing runops core).
7423           * PC is passed into the cores so that they can be used when
7424             resuming (they used to assume starting at the beginning of the
7425             code, which would thwart resumption).
7427           * runops() itself is changed to have a while() loop in it so that
7428             any time we drop out of the core, we'll resume if we have an
7429             interpreter->resume_addr set (after reselecting the core,
7430         though).
7432           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7433             interpreter->resume_addr. This is used by the new ops. The new
7434             ops still return the new PC as the next op (which MUST be an
7435             'end' op to force the core loop to terminate -- *pc being false
7436             is the only termination condition we can count on for all
7437         cores).
7439           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7440             bounds checking core selection.
7442           * test_prog now has a '-b' flag in addition to the '-t' flag.
7443         Now,
7444             bounds checking is off by default (I saw a performance boost:
7445             6.3 Mop/s with -b, 7.0 Mop/s without).
7447           * A new sample/test program: t/trace.pasm that twiddles the trace
7448             flag while it is running.
7450 2001-10-07 15:41  gregor
7452         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7453         include/parrot/.cvsignore, include/parrot/interpreter.h:
7454         Now that 0.0.2 is released, I can clear out the backlog of approved
7455         but uncommitted patches. Here's one Dan approved on 2001-09-21
7456         (Simplified DO_OP):
7458           * test_prog and pdump are linked with only the files the need,
7459         not
7460             al the files.
7462           * build_interp_starter.pl writes out op_info.[hc], too. These
7463         files
7464             contain op name, arg count and arg type information. This will
7465         be
7466             useful for multiple things in the future, including better
7467         trace
7468             output and the crystalizing loader.
7470           * The DO_OP macro is now simpler and doesn't require explicit
7471             temporaries.
7473           * interpreter.c is modified to use the new op info in tracing
7474         output.
7476           * The interpreter just points its opcode_funcs and opcode_info
7477             members at the default tables rather than allocating memory on
7478             the fly.
7480 2001-10-07 03:58  thgibbs
7482         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7483         comment and adding vtable.h to .cvsignore as it is produced by
7484         vtable_h.in
7486 2001-10-06 20:58  thgibbs
7488         * vtable.tbl: Added * to REGEX type.
7490         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7492 2001-10-06 13:41  simon
7494         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7495         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7496         Framework for vtable functions.
7498 2001-10-06 06:52  thgibbs
7500         * make_op_header.pl: Removed confusing and unused typedef.
7502 2001-10-06 06:31  thgibbs
7504         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7505         are no longer used.
7507 2001-10-06 06:26  thgibbs
7509         * disassemble.pl: Changed intval to op in disassembler.
7511 2001-10-06 06:21  thgibbs
7513         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7514         Assembler, local labels, and integer constants.
7516 2001-10-06 03:11  ask
7518         * Makefile.in: make `make test` actually run the tests on
7519         darwin/macosx
7521 2001-10-06 02:04  thgibbs
7523         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7524         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7525         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7526         include/parrot/register.h, lib/Parrot/Assembler.pm,
7527         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7528         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7529         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7530         type make. :)
7532 2001-10-06 02:02  thgibbs
7534         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7535         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7536         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7537         include/parrot/register.h, lib/Parrot/Assembler.pm,
7538         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7539         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7540         t/op/integer.t: oops...this messed something up.  I must have
7541         missed something in the patch...I have reverted.
7543 2001-10-06 01:57  thgibbs
7545         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7546         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7547         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7548         include/parrot/register.h, lib/Parrot/Assembler.pm,
7549         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7550         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7551         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7552         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7553         This patch ensures that all bytecode is of type opcode_t except for
7554         the constant table constants.  That means that almost all of the
7555         INTVALs in the code were replaced with opcode_t and the i pack type
7556         was replaced with the op pack type in calls to pack_arg and such.
7557         Also, since it has been declared that ALL integer constants are to
7558         be 32 bits, some test cases were changed to ensure that an integer
7559         constant was no bigger than 2 ** 31.
7561         process_opfunc.pl was also cleaned up to no longer look at either
7562         opcode_table or interp_guts.h but gather all of its information
7563         from Opcode.pm.
7565         The Assembler.pm module was changed to do late binding of arguments
7566         so that 0 could be treated like 0.0 without having to be so
7567         declared.  Also, only strings now use the [sc:N] intermediate form
7568         as it was unnecessary for integer and float types.
7570 2001-10-05 21:59  gregor
7572         * MANIFEST, languages/jako/Makefile:
7573         Fixed things due to the movement of little_languages/* to
7574         languages/jako.
7576 2001-10-05 18:31  gregor
7578         * MANIFEST:
7579         Updated MANIFEST to reflect recent additions for Jako.
7581 2001-10-05 17:54  gregor
7583         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7584         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7585         mops.jako, primes.jako, sub.jako:
7586           * Compiler:
7588               * User-defined subroutines.
7589               * Generates assembly code with the Jako code in comments.
7590               * "end;" no longer required at the end of programs.
7591               * Better handling of const-reg and reg-const.
7592               * Optimizes const-const operations to compile-time
7593         evaluations.
7594               * Constants in addition to variables.
7595               * Arithmetic fixes.
7596               * Allow leading minus signs in integer and number constants
7597         (ahem).
7598               * goto's.
7600           * New sample programs:
7602               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7603         example)
7604               * mandelbrot.jako (based on Leon Brocard's translation of
7605         Glenn Rhodes' C code)
7606               * mops.jako (based on t/test.pasm)
7607               * primes.jako (based on Leon Brocard's primes.pasm example)
7608               * sub.jako (demonstrates a simple user-defined subroutine)
7610 2001-10-05 12:54  gregor
7612         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7613           * Removed mysterious extra copy of code after POD.
7615 2001-10-05 12:46  gregor
7617         * basic_opcodes.ops, t/op/string.t:
7618           * Enabled the previously SKIPped test of printing string regs
7619         after
7620             clear_s
7622           * Made print_s do nothing if the STRING pointer in the register
7623         file
7624             is NULL.
7626 2001-10-04 21:19  dan
7628         * Configure.pl: VMS tweaks
7630 2001-10-04 21:17  dan
7632         * hints/vms.pl: Hints file for VMS
7634 2001-10-04 00:58  bdwheele
7636         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7637         Assembler which stopped equates from working.
7639 2001-10-03 21:50  gregor
7641         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7643           * More documentation updates for the packfile stuff.
7645 2001-10-03 21:37  gregor
7647         * docs/parrotbyte.pod:
7648           * Pointed the reader at Parrot::PackFile.
7650 2001-10-03 21:34  gregor
7652         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7653           * Updated documentation to match current implementation.
7655 2001-10-03 18:30  gregor
7657         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7658         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7659         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7660         t/op/basic.t:
7661           * Added new syntax to the assembler to allow square-bracket
7662             arithmetic expressions involving (global) labels, the current
7663             instructions base address ('@'), numeric constants (not
7664         equates)
7665             and basic arithmetic operators (+, -, *, / -- although + and -
7666             are likely to be the only ones used in practice).
7668           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7669         to
7670             fail (argument passing wasn't working).
7672           * Enabled t/op/basic.t's last test, which is actually a copy of
7673         the
7674             code from t/call.pasm. Now all tests there are enabled and
7675         working.
7677           * Added new example/test program t/call.pasm to demonstrate
7678         working
7679             macros and poor-man's subroutine calls
7681           * Added header comments to t/*.pasm
7683 2001-10-03 18:00  simon
7685         * ChangeLog:
7686         Needed, since it's in the MANIFEST.
7688 2001-10-03 17:56  simon
7690         * t/op/: string.t, time.t:
7691         Small fixes to help Win32 on its way.
7693 2001-10-03 17:41  simon
7695         * MANIFEST, README:
7696         Oops. Tiny bugs.
7698 2001-10-03 17:39  simon
7700         * MANIFEST, NEWS, README:
7701         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7702         think so!
7704 2001-10-03 17:21  simon
7706         * basic_opcodes.ops, interpreter.c, packfile.c:
7707         Evil printf bandaid (which allows Sparc64 to pass tests)
7709         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7711 2001-10-03 16:58  simon
7713         * string.c, t/op/string.t:
7714         chop fixes for n < 0 and tests
7716         Courtesy of: Alex Gough <alex@rcon.org>
7718 2001-10-03 15:51  thgibbs
7720         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7722         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7724 2001-10-02 17:48  dan
7726         * include/parrot/stacks.h: Fix typo in function name
7728 2001-10-02 17:35  dan
7730         * include/parrot/stacks.h: changed to support new stack stuff
7731         coming after 0.02
7733 2001-10-02 15:01  simon
7735         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7736         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7737         process_opfunc.pl, register.c, string.c, strnative.c,
7738         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7739         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7740         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7741         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7742         include/parrot/memory.h, include/parrot/packfile.h,
7743         include/parrot/parrot.h, include/parrot/register.h,
7744         include/parrot/stacks.h, include/parrot/string.h,
7745         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7747         The Great Renaming.
7749 2001-10-02 12:49  gregor
7751         * process_opfunc.pl:
7752           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7754 2001-10-02 12:40  simon
7756         * basic_opcodes.ops, process_opfunc.pl, register.c,
7757         include/parrot/register.h:
7758         Move preprocessing of register accessors to process_opfunc.pl
7760         Courtesy of: Jason Gloudon <perl@gloudon.com>
7762 2001-10-02 01:20  ask
7764         * README: add a few lines about lists.
7766 2001-10-01 23:00  brentdax
7768         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7769         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7771 2001-10-01 22:50  brentdax
7773         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7775 2001-10-01 21:51  simon
7777         * process_opfunc.pl:
7778         Michael Fischer's patch broke conditionals.
7780 2001-10-01 15:38  simon
7782         * process_opfunc.pl:
7783         Small hack to keep process_opfunc.pl from generating extra return()
7784         statements.
7786         Courtesy of: Michael Fischer <michael@visv.net>
7788 2001-10-01 15:32  simon
7790         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7791         Documentation fix.
7793         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7795 2001-10-01 01:49  simon
7797         * packfile.c:
7798         Simon is an idiot. Don't trust him with your code.
7800         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7802 2001-10-01 00:59  simon
7804         * Parrot/String.pm, lib/Parrot/String.pm:
7805         Was in manifest, but not in CVS.
7807 2001-09-30 21:25  simon
7809         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7810         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7811         Parrot/Assembler.pm, Parrot/PackFile.pm,
7812         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7813         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7814         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7815         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7816         include/parrot/packfile.h, include/parrot/string.h:
7817         Move NVs to the constant table.    * Changes to Types_pm.in to make
7818         life easier for some of the      packing/etc. I'm doing elsewhere.
7819         Also, we now pack 'n' as      'i'.
7821           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7822             eventually we can use all these tools together inside scripts
7823             rather than call out to the shell to run the programs.
7825           * As I was tracking down problems, I converted the internal
7826             documentation of the assembler to POD from comments.
7828           * Changed the numeric regexp in the assembler to detect leading
7829             signs and trailing exponents.
7831           * Updated basic_opcodes.ops to fetch numeric constants from the
7832             constant table.
7834           * Enhanced the disassembler in a number of ways to make my life
7835             easier while tracking down bugs (try it out). It now puts in
7836             labels for ops that are the destinations of flow control ops.
7838           * packfile.c now has a TRACE_PACKFILE switch that can be set
7839             to get it to print info as it processes. I needed this while
7840             debugging, but I can remove it or change it before committing
7841             if its a problem.
7843           * Updated pdump.c because it was missing a call to init_world().
7845           * Updated process_opfunc.pl to deal with numeric constants
7846             being stored in the constant table instead of inline.
7848           * Added multiple type support to Parrot/PackFile/Constant.pm
7850           * Added Parrot/String.pm, to be used for constants.
7852           * Added packfile.[hc] functions for allocating new constants
7853             of various types.
7855           * Made string_copy visible to the world in parrot/string.h.
7857         Wow.
7859         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7861 2001-09-29 15:56  gregor
7863         * languages/jako/Makefile:
7864         Removed assumption that '.' is on the path.
7866 2001-09-29 15:55  gregor
7868         * languages/jako/Makefile:
7869         Removed references to leibnitz test program.
7871 2001-09-29 15:21  thgibbs
7873         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7874         math ops args to work on Solaris.
7876 2001-09-27 15:15  thgibbs
7878         * assemble.pl: Added case insensitive matches to hex and binary
7879         characters
7881         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7883 2001-09-27 04:46  thgibbs
7885         * assemble.pl: This patch makes integer constants of the form
7886         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7887         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7888         returning 0.  To fix this, I added a from_binary function that
7889         would take a binary string and return its decimal representation.
7890         Now, instead of blindly calilng oct, it makes a distinction between
7891         0/0x numbers and 0b numbers.
7893 2001-09-26 19:30  thgibbs
7895         * assemble.pl: Error now returns a non-zero status
7897         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7899 2001-09-26 19:13  gregor
7901         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7902         interpreter.c, packfile.c, pdump.c, test_main.c,
7903         include/parrot/bytecode.h, include/parrot/interpreter.h,
7904         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7905         t/op/stacks.t:
7906           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7907             packfile/bytecode file from C. May be renamed in the future.
7909           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7910             of 'PackFile *', just like the interpreter, etc.
7912           * Constants are accessed via the interpreter's 'code' member
7913             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7914             provided to access constants by index and the number of
7915             constants, respectively (assumes a variable 'interpreter' of
7916             the appropriate type is in scope).
7918           * Byte Code is accessed via the interpreter's 'code' member.
7920           * Changed PackFile_Constant to point to a STRING instead of
7921         having
7922             members for the string_make() arguments. Also has a 'type' IV
7923             in preparation for allowing multiple types of constants in
7924             const_table.
7926           * Removed hardcoded example program from test_main.c. We have
7927             plenty of test programs elsewhere.
7929           * test_prog now uses a PackFile to deal with the program before
7930             sending it on to the interpreter.
7932           * Added missing 'end' ops to some tests in t/op/integer.t and
7933             t/op/stacks.t.
7935 2001-09-26 18:38  thgibbs
7937         * assemble.pl: Separated code into functions and added comments.
7939 2001-09-26 18:29  simon
7941         * config_h.in:
7942         Fix 64-bit chunk-base issue.
7944 2001-09-26 06:55  thgibbs
7946         * t/op/bitwise.t: Added end to bitwise tests.
7948 2001-09-26 00:54  dan
7950         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7951         and interpreter creation. Skeleton only, but it's something to peer
7952         at.
7954 2001-09-25 21:44  thgibbs
7956         * t/op/trans.t: Removed loops in transcendtal op test.
7958 2001-09-25 10:12  simon
7960         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7961         t/op/string.t, t/op/time.t:
7962         More tests
7964         Courtesy of: Alex Gough <alex@rcon.org>
7966 2001-09-24 19:08  gregor
7968         * t/op/number.t:
7969           * Enabled the clear_n test.
7971 2001-09-24 18:56  gregor
7973         * Parrot/.cvsignore:
7974           * Ignore the generated Types.pm file.
7976 2001-09-24 18:52  gregor
7978         * languages/jako/Makefile, t/op/number.t:
7979           * No need to skip the inc and dec numeric tests anymore. I fixed
7980         the
7981             assembler earlier today.
7983 2001-09-24 18:21  simon
7985         * MANIFEST, t/op/stacks.t:
7986         Oops.
7988 2001-09-24 18:19  simon
7990         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7991         include/parrot/exceptions.h, include/parrot/interpreter.h,
7992         lib/Parrot/Test.pm, t/op/string.t:
7993         1) captured error output, so can test errors, this might be bad,
7994         not sure.  2) basic tests for register stack frames, including some
7995         errors 3) I think we can stop skipping one of the string tests 4) I
7996         added some more substr tests, but substr was broken, so 5) changed
7997         substr to work with out of range values, or 6) throw an error if
7998         they're far too silly
8000         Courtesy of: Alex Gough <alex@rcon.org>
8002 2001-09-24 17:27  gregor
8004         * basic_opcodes.ops, opcode_table, t/op/number.t:
8005           * Op set_n was missing. Added it and a test for it. We now have
8006         the
8007             same int and num ops, except mod is int-only.
8009 2001-09-24 17:01  gregor
8011         * assemble.pl:
8012           * Fixed a typo: s/Line/line/
8014 2001-09-24 16:02  gregor
8016         * basic_opcodes.ops:
8017           * Fixed dec_n_nc opcode, which had += where it should have had
8018         -=.
8020 2001-09-24 15:34  gregor
8022         * assemble.pl:
8023           * Fixed handling of constants starting with '0' that should not
8024         be
8025             sent through oct(). For example 'set N2 0.1' was being
8026         interpreted
8027             as 'set N2 0' (naughty).
8029             As reported by Leon Brocard <acme@astray.com> in the comments
8030         of
8031             his mandelbrot.pasm example.
8033 2001-09-24 02:21  bdwheele
8035         * assemble.pl: fixed dumb code when --include was not specified.
8037 2001-09-24 02:17  simon
8039         * assemble.pl:
8040         Shit-sweeping.
8042 2001-09-24 01:56  bdwheele
8044         * assemble.pl: * Added --include=dir option to assembler to provide
8045         a path to look for included files.  * Error message of a macro is
8046         defined inside of a macro
8048 2001-09-23 21:29  bdwheele
8050         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8052 2001-09-23 15:50  simon
8054         * Configure.pl:
8055         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8057 2001-09-23 02:03  ask
8059         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8060         Courtesy of: acme@astray.com (Leon Brocard)
8062         rename 'test' executable used in Configure process to test_siz.
8064 2001-09-23 01:03  simon
8066         * process_opfunc.pl:
8067         iPaq fix. No, really.
8069 2001-09-23 00:47  simon
8071         * MANIFEST:
8072         Missed several, in fact.
8074 2001-09-23 00:46  simon
8076         * MANIFEST:
8077         Missed one.
8079 2001-09-22 21:13  simon
8081         * assemble.pl:
8082         Assembler register numbering rigour.
8084         Courtesy of: Leon Brocard <acme@astray.com>
8086 2001-09-22 18:20  simon
8088         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8089         lib/Test/Utils.pm:
8090         I'm sick of having to install Test::More everywhere. Temporary
8091         measure until we remove this silly dependency.
8093         Also a typo in Makefile.in which suggests some things were only
8094         happening correctly by sheer chance. :)
8096 2001-09-22 18:06  simon
8098         * README:
8099         test.pasm is dead, long like make test.
8101 2001-09-22 17:47  simon
8103         * t/op/number.t:
8104         De-fang overzealous floating point test.
8106 2001-09-22 17:39  simon
8108         * process_opfunc.pl:
8109         Remove hard-coded NV size assumption. Tru64 is nearly there!
8111 2001-09-22 17:18  simon
8113         * assemble.pl, disassemble.pl:
8114         More portability fixups.
8116 2001-09-22 16:44  simon
8118         * assemble.pl, Parrot/PackFile/Constant.pm,
8119         lib/Parrot/PackFile/Constant.pm:
8120         And I *think* this fixes Tru64.
8122 2001-09-22 16:37  simon
8124         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8126         Oops.
8128 2001-09-22 16:36  simon
8130         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8131         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8132         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8134         More removal of hard-coded pack formats.
8136 2001-09-22 15:21  simon
8138         * assemble.pl:
8140         Grrr. Why isn't this working?
8142 2001-09-22 15:18  simon
8144         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8145         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8147         Make assemble use the PackFile modules; also fixed some bugs in
8148         them.
8150 2001-09-22 14:38  simon
8152         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8154         Abstract the argument and opcode packing types and functions out
8155         into a separate module. This *should* help us maintain consistency
8156         when we change the various types.
8158 2001-09-22 00:46  brentdax
8160         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8161         test program finishes.
8163 2001-09-21 21:24  brentdax
8165         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8166         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8168 2001-09-21 21:09  gregor
8170         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8171         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8173           * Fixed pad calculation (similar to recent bug fix on C library)
8175 2001-09-21 20:23  simon
8177         * disassemble.pl:
8178         Pack types and sizes have gone askew.
8180 2001-09-21 20:18  brentdax
8182         * Configure.pl: Fix typo in setting stuff from the C test program
8184 2001-09-21 10:25  simon
8186         * basic_opcodes.ops, process_opfunc.pl:
8187         Document patches.
8189         Courtesy of: Leon Brocard <acme@astray.com>
8191 2001-09-21 06:06  ask
8193         * Config_pm.in, assemble.pl: fix 5.005_03.
8195 2001-09-21 06:03  ask
8197         * Configure.pl: make the ivsize detection work for us normal people
8198         without . in our PATH.  :-)
8200 2001-09-21 05:56  brentdax
8202         * test_main.c: Change _read to read for portability to Tru64
8203         (Damien Neil <neild@misago.org> and likely many others)
8205 2001-09-21 05:46  ask
8207         * Makefile.in: "update" target to update from cvs.
8209 2001-09-21 05:44  brentdax
8211         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8213 2001-09-21 02:43  brentdax
8215         * Configure.pl: Fix a typo that forced the -g flag on
8217 2001-09-20 22:41  dan
8219         * packfile.c: Had some no-value returns. Naughty
8221 2001-09-20 22:40  dan
8223         * t/test.pasm: Added labels to output
8225 2001-09-20 15:39  simon
8227         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8228         lib/Parrot/Test.pm:
8229         This patch does two only somewhat related things.
8231         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8232         = 2*sizeof(iv) to a PConfig-type computed value.
8234         Parrot/Test.pm:  Change it to run with the perl that was used to
8235         generate this version of Parrot.  This is useful if, for example,
8236         you want to use bleadperl to build and test parrot (e.g. to try out
8237         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8238         installed as the default 'perl' on your system.  Since perl-5.7.x
8239         is installed 'version-only', a plain 'perl' is quite likely to pick
8240         up the older perl in such cases. Such an older perl might well not
8241         understand pack('q') used in the assembler.
8243         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8245 2001-09-20 15:14  gregor
8247         * packfile.c:
8248           * Fixed a typo in pad calculation that throwing off unpack and
8249         pack.
8251 2001-09-20 15:03  thgibbs
8253         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8254         tests now cover all registers.
8256         Courtesy of: Damien Neil neild@misago.org
8258 2001-09-20 14:48  thgibbs
8260         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8261         machines.
8263 2001-09-20 14:35  simon
8265         * Configure.pl, assemble.pl:
8266         Pack IVs correctly.
8268         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8270 2001-09-20 14:06  gregor
8272         * languages/jako/jakoc:
8273           * Fixed a tyop in the string interpolation regex.
8275         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8277 2001-09-20 13:56  gregor
8279         * languages/jako/jakoc:
8280           * Updated jakoc to work with the single-destination comp ops.
8282 2001-09-20 05:08  bdwheele
8284         * assemble.pl: macro expansion.  Here's the test macro I was using:
8286         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8287         label.  testi       macro   num,got,want    print   "Test #"
8288         print   num     print   "..."   set     I32,want        set
8289         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8290         $end $ok:       print   "OK\n" $end:    endm
8292         It is invoked as:
8294         Test1:  testi   1,I3,I2
8296 2001-09-20 03:52  dan
8298         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8299         generic stack support
8301 2001-09-20 02:49  bdwheele
8303         * assemble.pl: Added include processing to assemble.pl  the syntax
8304         is: include 'file.to.include'
8306 2001-09-19 23:57  thgibbs
8308         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8309         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8310         function to only use 2 args, but the opcode_table still had three
8311         listed.  Fixed integer.t and number.t to use the new comparison
8312         operators.  Improved assemble.pl ability to grok operators by
8313         constructing a function set and comparing operator types.
8315 2001-09-19 22:42  dan
8317         * assemble.pl: Binmodes the output filehandles now. (No more
8318         bytecode munching...)
8320 2001-09-19 22:32  dan
8322         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8323         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8324         conditional branches take a single argument, and fall through
8325         otherwise.
8327 2001-09-19 21:19  thgibbs
8329         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8330         Sugalski
8332         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8334 2001-09-19 21:04  thgibbs
8336         * include/parrot/interpreter.h, Configure.pl,
8337         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8338         process_opfunc.pl: Changed opcode_t from a union to a configurable
8339         type.
8341 2001-09-19 20:54  thgibbs
8343         * assemble.pl: Missed a couple of changes for 64 bit portability.
8345 2001-09-19 20:37  gregor
8347         * packfile.c, include/parrot/packfile.h:
8348           * Added "methods" for setting and getting all the various
8349         attributes,
8350             probably sufficient for an assembler to use the library.
8352 2001-09-19 20:04  thgibbs
8354         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8355         a 64 bit platform manually change the  setting for 'i' from 'l' to
8356         'q'.  This should be automatically done by a Configure setting in
8357         the near future.
8359 2001-09-19 19:10  thgibbs
8361         * config_h.in: changed c++ comment to c comment.
8363         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8365 2001-09-19 17:48  gregor
8367         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8368         include/parrot/packfile.h:
8369           * C code for dealing with PackFiles as if they were objects.
8370         Mostly
8371             read-only interface for now, but it would not be hard to make
8372         it
8373             read-write. [packfile.c, include/parrot/packfile.h]
8375           * PackFile Dumping program that falls short of disassembling, but
8376             tests the above code and provides a hex listing of the byte
8377         code
8378             contents of the PackFile. [pdump.c]
8380           * New Makefile target 'pdump' for the above program, and related
8381             Makefile.in changes.
8383           * Updated MANIFEST to reflect the added files
8385           * Update .cvsignore to ignore pdump.
8387 2001-09-19 14:55  thgibbs
8389         * MANIFEST: Added number.t and trans.t to MANIFEST
8391 2001-09-19 05:40  thgibbs
8393         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8394         of union opcode_t.  I hope this will be more portable for set_n_nc.
8396 2001-09-19 05:39  thgibbs
8398         * t/op/integer.t: Added end to test 1.
8400 2001-09-19 00:09  thgibbs
8402         * t/op/number.t: Added end to each test
8404 2001-09-19 00:00  simon
8406         * t/op/number.t:
8407         Number tests! Wooo!
8409         Courtesy of: Damien Neil <neild@misago.org>
8411 2001-09-18 23:52  thgibbs
8413         * interpreter.c: Added casts to appropriate types to make -Wall not
8414         complain on certain printf formats
8416 2001-09-18 23:31  thgibbs
8418         * t/op/integer.t: Added end to each test.
8420 2001-09-18 22:54  thgibbs
8422         * t/op/trans.t: Added trans.t for transcendental math function
8423         tests.
8425 2001-09-18 22:28  simon
8427         * MANIFEST:
8428         MANIFEST updates. (And notice how I carefully snuck in the
8429         t/op/integer.t there...)
8431         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8433 2001-09-18 22:26  simon
8435         * t/: integer.t, op/integer.t:
8436         Except it doesn't go there. Duh.
8438 2001-09-18 22:25  simon
8440         * t/integer.t:
8441         Tests for integer ops.
8443         Courtesy of: Damien Neil <neild@misago.org>
8445 2001-09-18 22:03  thgibbs
8447         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8448         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8449         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8450         opcode_t union for operators.  This required a few perl script
8451         changes to output the correct type.  There were also some changes
8452         to allow -pedantic in gcc
8454 2001-09-18 21:07  gregor
8456         * disassemble.pl, Parrot/PackFile.pm,
8457         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8458         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8459         lib/Parrot/PackFile/Constant.pm:
8460         Converted the disassembler to use the Parrot::PackFile Perl classes
8461         to do its job.
8463 2001-09-18 19:18  brentdax
8465         * Makefile.in: Fix missing functions for real this time.  (I
8466         swear!)
8468 2001-09-18 18:49  brentdax
8470         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8471         <doughera@lafayette.edu>}
8473 2001-09-18 18:47  brentdax
8475         * Makefile.in: Fix bugs with missing math, etc. functions
8477 2001-09-18 14:42  thgibbs
8479         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8480         char*.
8482 2001-09-18 13:59  thgibbs
8484         * strnative.c: Removed unnecessary IV cast in concat.
8486 2001-09-18 13:58  thgibbs
8488         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8489         to concat test in string.t
8491 2001-09-18 12:07  gregor
8493         * languages/jako/jakoc:
8494           * var num ... no longer requires assignment
8495           * automatic casting between int and num
8496           * Fixed an error message
8498         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8500 2001-09-18 11:57  simon
8502         * TODO:
8503         Gonna have to start thinking of more things to do, soon.
8505 2001-09-18 10:42  simon
8507         * opcode_table:
8508         Introduce a little more tidiness into the opcode table.
8510 2001-09-18 03:06  gregor
8512         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8513         Resurrected register-const ops per Dan's request.
8515 2001-09-18 02:20  gregor
8517         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8518         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8519         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8520         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8521         Committed some files that were missed in the last *.h moving
8522         commit.
8524 2001-09-18 02:17  gregor
8526         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8528 2001-09-18 02:16  gregor
8530         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8531         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8532         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8533         missed in last commit for the move of *.h to include/parrot.
8535 2001-09-18 01:32  simon
8537         * t/Makefile:
8538         Trivial "clean" target to t/Makefile.
8540 2001-09-18 01:32  simon
8542         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8543         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8544         Change icky Digest::MD5 for nice simple unpack()
8546         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8548 2001-09-18 00:35  simon
8550         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8551         t/op/string.t:
8552         New concat op. Hey, if I'm going to talk about it in an article,
8553         better implement it...
8555 2001-09-17 22:54  gregor
8557         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8558         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8559         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8560         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8562         Functions for reading, writing and manipulating Parrot Pack Files.
8563         NOTE: This is a proposed term based on the fact that the file
8564         contains more than just byte code, and another language (Java)
8565         calls its binary files by a broader notion of what's in them (Class
8566         Files). Since Perl has packages, and since we use pack() to write
8567         them, we'll call them PackFiles (at least for now).
8569         That does, however, beg the question of file extension. Should we
8570         name the files "foo.pack" instead of "foo.pbc"?
8572 2001-09-17 20:23  thgibbs
8574         * interpreter.c, test_main.c: Uncuddled else statements for coding
8575         standard.
8577 2001-09-17 19:57  gregor
8579         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8580         Added a $revision variable, parsing of the CVS Id line in
8581         opcode_table and a &revision() subroutine.
8583 2001-09-17 19:53  gregor
8585         * opcode_table:
8586         Added a CVS Id tag to it.
8588 2001-09-17 18:58  thgibbs
8590         * interpreter.c: Cleared interpreter flags on creation.
8592 2001-09-17 18:38  gregor
8594         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8595         interpreter.h, test_main.c:
8596           * Provides macros in interp_guts.h for setting up arrays with
8597             op names and op arg counts (done via build_interp_starter.pl).
8599             These are used in the op tracing
8601           * The functions in bytecode.[hc] pass around a pointer to the
8602         length
8603             of the bytecode so that later when we get to runops, we know
8604             how much bytecode we've got and we can detect out-of-bounds
8605             jumping. The documentation is updated, too.
8607           * runops in interpreter.c now looks at interpreter->flags to
8608             decide if the core of runops should be runops_trace_core or
8609             runops_notrace_core. These new functions contain just the
8610             while-loop portion of runops. A new function runops_generic
8611             does any other setup (such as checking the bytecode
8612             fingerprint) or wrapup (such as complaining if we ended up
8613             out-of-bounds). NOTE: I didn't know what we should do for
8614             functions in here that are not part of the api, so I gave
8615             them docs with 'TODO' marks mentioning they really aren't
8616             part of the api. Guidance appreciated.
8618           * test_main.c now checks for '-t' arg and sets the tracing flag
8619             on its interpreter instance as appropriate.
8621 2001-09-17 17:47  bdwheele
8623         * assemble.pl: added some default equates, and if they're sub
8624         references, they are computed each time it is referenced.
8626 2001-09-17 16:15  dan
8628         * interpreter.h:
8630         Added flags to the interpreter structure and defined a few.
8632 2001-09-17 15:51  simon
8634         * bytecode.h, string.h:
8635         VAR_SCOPE on globals.
8637 2001-09-17 15:20  simon
8639         * MANIFEST:
8640         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8642 2001-09-17 15:05  gregor
8644         * t/jump.pasm, MANIFEST:
8645         Added a test program to demonstrate jump_i.
8647 2001-09-17 14:44  thgibbs
8649         * register.c: Fixed register pop not using correct offset (off by
8650         one).
8652         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8654 2001-09-17 13:56  thgibbs
8656         * interpreter.c, register.c: Added code to call Parrot_clear_s
8657         during initialization and Parrot_clear_s and Parrot_clear_p when a
8658         new stack frame is pushed.
8660 2001-09-17 13:51  gregor
8662         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8663         fib.jako, hello.jako: Added bench.pasm to "clean"
8665 2001-09-17 13:49  gregor
8667         * languages/jako/: jakoc, Makefile:
8668         Added CVS Id tag.
8670 2001-09-17 13:49  gregor
8672         * languages/jako/jakoc:
8673         Code streamlining.
8675         Courtesy of: Buggs <buggs-perl6@splashground.de>
8677 2001-09-17 13:29  gregor
8679         * MANIFEST, opcheck.pl:
8680         Added an opcode_table checker to make sure that all opcodes listed
8681         there conform to a simple set of naming rules (rules themselves, of
8682         course, are subject to change).
8684 2001-09-17 13:23  thgibbs
8686         * string.c: Modified string.c to correctly use the return value of
8687         realloc.
8689 2001-09-17 05:26  brentdax
8691         * Makefile.in: Making the Makefile smarter
8693 2001-09-16 23:06  brentdax
8695         * hints/mswin32.pl: Finishing the Configure hints
8697 2001-09-16 23:05  brentdax
8699         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8700         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8701         Configure hints, 5.005 compatibility, MANIFEST checking
8703 2001-09-16 19:25  bdwheele
8705         * assemble.pl: parrot assembly equates
8707 2001-09-16 18:03  gregor
8709         * Makefile.in:
8710         Added 'test' target to run new test suite.
8712 2001-09-16 17:33  simon
8714         * basic_opcodes.ops:
8715         'not' was being !, rather than ~. Too many Perl programmers here, I
8716         suspect.
8718         Courtesy of: Tom Hughes <tom@compton.nu>
8720 2001-09-16 17:21  simon
8722         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8723         t/op/string.t:
8724         A *real* test suite!
8726         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8728 2001-09-16 16:49  gregor
8730         * basic_opcodes.ops, opcode_table:
8731         At Dan's request, my new register-constant comparison ops have been
8732         removed.
8734 2001-09-16 16:40  gregor
8736         * languages/jako/jakoc:
8737         Fixed a copy-paste error in one of jakoc's error messages.
8739         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8741 2001-09-16 16:37  gregor
8743         * languages/jako/jakoc:
8744         Modified comparison implementation to use temporary registers in
8745         the case of register-constant and constant-register comparisons.
8746         This will allow the compiler to emit code that works when the
8747         constant-comparison ops are backed out of Parrot. If the ops ever
8748         make their way back in, then jakoc can emit more efficient code
8749         again.
8751 2001-09-16 16:19  bdwheele
8753         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8754         ... though not subroutine based like the documentation wants, they
8755         are local to the last non-local label defined.
8757 2001-09-16 14:02  simon
8759         * MANIFEST:
8760         And remember, when you add stuff, keep the manifest up to date.
8762 2001-09-16 02:55  ask
8764         * Makefile.in: a "shared" target for building libparrot.so
8766 2001-09-16 02:45  thgibbs
8768         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8769         global_setup.h, interpreter.c, interpreter.h, io.h,
8770         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8771         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8772         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8773         use the coding standard PDD.  Also changed Perl_Interp to
8774         Parrot_Interp.
8776 2001-09-16 02:21  ask
8778         * README: emphasise the bits about the license not being worked out
8779         yet.
8781 2001-09-15 22:21  simon
8783         * process_opfunc.pl:
8784         basic_opcodes.c should *scream* that it's autogenerated.
8786 2001-09-15 21:58  gregor
8788         * languages/jako/Makefile:
8789         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8790         compile.
8792 2001-09-15 21:58  gregor
8794         * languages/jako/: jako_compiler.pl, jakoc:
8795         Renamed the Jako compiler to jakoc from jako_compiler.pl
8797 2001-09-15 21:51  gregor
8799         * languages/jako/: Makefile, bench.jako, euclid.jako,
8800         jako_compiler.pl:
8801         Added a new bench.jako example based on Leon Brocard's Bench.java.
8803         Jako Compiler:   * fix a bug in assignment handling   * add some
8804         more conditionals to while and if   * revert to using implicit
8805         opcodes in a few cases that were broken     before the assembler
8806         patch went in recently.
8808 2001-09-15 21:46  gregor
8810         * assemble.pl, basic_opcodes.ops, opcode_table:
8811         New ops for register-constant INTEGER comparisons:
8813           {eq,ne,lt,le,gt,ge}_ic_ic
8815         New ops for register-register and register-constant NUMERIC
8816         comparisons:
8818           eq_nc_ic
8819           {ne,lt,le,gt,ge}_{n,nc}_ic
8821         Assembler:
8823           Allow uppercase and underscores in labels.
8825           Tweaks to the op infer code to make it work with the examples
8826         I've been
8827           creating.
8829 2001-09-15 19:16  thgibbs
8831         * README: Updated README to include Configure.pl
8833 2001-09-15 17:05  simon
8835         * build_interp_starter.pl:
8836         Casting happiness
8838         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8840 2001-09-15 16:45  simon
8842         * assemble.pl:
8843         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8845 2001-09-15 16:40  simon
8847         * t/Makefile:
8848         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8849         test Makefile
8851 2001-09-15 12:26  simon
8853         * memory.c:
8854         Fixed to match the coding standards.
8856         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8858 2001-09-15 01:57  ask
8860         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8861         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8862         to run Configure.pl
8864 2001-09-15 01:48  ask
8866         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8867         say so. :-)
8869 2001-09-15 01:42  gregor
8871         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8872         jako_compiler.pl:
8873         Compiler: Added variable interpolation in double-quoted strings.
8874         Examples: Made use of variable interpolation.
8876 2001-09-15 01:28  gregor
8878         * Parrot/.cvsignore:
8879         Ignore the Config.pm generated file.
8881 2001-09-15 01:22  gregor
8883         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8884         fib.jako, hello.jako, jako_compiler.pl:
8885         gnp: Added some more sample Jako files and added many more
8886         operators to the compiler. Preparations for supporting all the Math
8887         and bitwise ops.
8889 2001-09-14 19:06  simon
8891         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8892         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8893         lib/Parrot/Opcode.pm:
8894         Move common table reading stuff to a module.
8896         Courtesy of: Damien Neil <neild@misago.org>
8898 2001-09-14 17:42  simon
8900         * .cvsignore:
8901         More .cvsignore foo.
8903 2001-09-14 17:40  simon
8905         * assemble.pl, config_h.in:
8906         De-coredump
8908         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8910 2001-09-14 17:38  simon
8912         * assemble.pl, t/Makefile:
8913         Make assemble.pl look in its parent directory if the data files it
8914         needs aren't in the current one. Plus a Makefile that lets "make
8915         foo.pbc" work in t/
8917         Courtesy of: Rocco Caputo <troc@netrus.net>
8919 2001-09-14 16:29  simon
8921         * make_op_header.pl:
8922         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8923         probably segfault everywhere else.)
8925 2001-09-14 15:58  dan
8927         * languages/jako/: euclid.jako, jako_compiler.pl:
8929         Added in the first mini-language that targets Parrot.
8931         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8933 2001-09-14 15:20  dan
8935         * memory.c: Was misaligning returned memory. Fixed.
8937 2001-09-14 15:08  simon
8939         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8940         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8941         register.c, register.h, string.c, string.h, strnative.c,
8942         test_main.c:
8943         Fixes to include <parrot/foo.h>
8945         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8947 2001-09-14 12:05  simon
8949         * strnative.c:
8950         Appease Tru64.
8952 2001-09-14 12:01  simon
8954         * memory.c:
8955         Appease Tru64.
8957 2001-09-14 11:54  simon
8959         * interpreter.c:
8960         Remove lvalue cast.
8962 2001-09-14 11:45  simon
8964         * Configure.pl:
8965         Be 5.005 friendly.
8967 2001-09-14 11:39  simon
8969         * Configure.pl:
8970         Tru64 cc doesn't like -Wall
8972 2001-09-14 10:57  simon
8974         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8975         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8976         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8977         Configure now generates Makefile
8979         Courtesy of: Brent Dax <brentdax@cpan.org>
8981 2001-09-14 10:08  simon
8983         * t/test3.pasm:
8984         Add "end"
8986         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8988 2001-09-14 10:07  simon
8990         * assemble.pl:
8991                 * uses Getopt::Long for options.  -c is now --checksyntax.
8992         I wasn't
8993         sure how to keep compatible (patches welcome!)         * options
8994         include:                 --help                 --version
8995               --verbose                 --output=file
8996         --listing=file                 --checksyntax         * produces
8997         verbose listing of what the assembler saw :)  Only one nitpick with
8998         it:  unknown symbols are given as 0xffffffff, unfortunately, this
8999         includes symbols which may be defined later in the file (i.e.
9000         forward jumps).
9002         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9004 2001-09-14 10:06  simon
9006         * strnative.c:
9007         substr growth fixup
9009         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9011 2001-09-14 10:03  simon
9013         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9014         register.c, string.c, strnative.c, test_main.c:
9015         Coding standards conformance
9017         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9019 2001-09-14 09:46  simon
9021         * assemble.pl:
9022         Make the assembler grok transcendental maths again.  Courtesy of:
9023         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9025 2001-09-13 17:29  simon
9027         * assemble.pl:
9028         Better opcode guessing, from Brian Wheeler. (Again!)
9030 2001-09-13 17:20  dan
9032         * docs/parrot_assembly.pod:
9034         Took out duplicate entries for iton, ntoi, and tostring.
9036 2001-09-13 17:16  simon
9038         * assemble.pl, basic_opcodes.ops, opcode_table:
9039         From Brian Wheeler:
9041         This patch gives the assembler support of '\a','\n','\r','\t', and
9042         '\\' in string constants.
9044         In addition, it changes (for all registers) "I reg %li is ..." to
9045         just the value of the register.  Printing constants is also
9046         supported, but alas, you have to specify the type (print_sc,
9047         print_ic, print_nc).
9049 2001-09-13 15:38  simon
9051         * assemble.pl:
9052         Why don't I actually *test* this stuff before applying it, eh?
9054 2001-09-13 15:34  simon
9056         * TODO, t/euclid.pasm:
9057         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9058         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9059         inference
9061 2001-09-13 14:42  simon
9063         * assemble.pl:
9064         A new assembler, from Brian Wheeler.
9066 2001-09-13 09:44  simon
9068         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9069         test_main.c:
9070         Two more from Tom Hughes:     Patch to fix C++ style comments
9071         Patch to remove use of structure constant/cast
9073 2001-09-13 09:39  simon
9075         * TODO, docs/strings.pod:
9076         Update string docs.
9078 2001-09-13 09:36  simon
9080         * Makefile, basic_opcodes.ops:
9081         Tom Hughes      Patch to link with the maths library Tom Hughes
9082          Patch to fix += on rvalue
9084 2001-09-13 08:57  simon
9086         * MANIFEST:
9087         I guess nobody's been using the nightly builds...
9089 2001-09-13 08:27  simon
9091         * assemble.pl, basic_opcodes.ops, opcode_table:
9092         Bitwise ops, from Brian Wheeler.
9094 2001-09-13 08:23  simon
9096         * .cvsignore, t/.cvsignore:
9097         .cvsignore's, from Gregor Purdy.
9099 2001-09-13 08:22  simon
9101         * Makefile:
9102         Euclidean test and test output rearranging from Gregor Purdy.
9104 2001-09-13 08:21  simon
9106         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9107         Math ops from Gibbs Tanton.
9109 2001-09-13 08:14  simon
9111         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9112         t/test2.pasm:
9113         String substr op; also rearranged "encoding" to be a vtable
9114         pointer, not an array index. Haven't changed docs to reflect this,
9115         oops.
9117         Simon
9119 2001-09-12 19:48  dan
9121         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9122         Gregor Purdy
9124 2001-09-12 19:39  dan
9126         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9128 2001-09-12 19:23  dan
9130         * interpreter.h, parrot.h: Quick placeholder entry for string
9131         function tables
9133 2001-09-12 18:58  dan
9135         * memory.c: Added in a cast to make gcc happy.
9137 2001-09-12 16:44  dan
9139         * docs/parrot_assembly.pod:
9141         PDD describing parrot's assembly language and the opcodes in it
9143 2001-09-12 14:20  dan
9145         * memory.c:
9146         Fixed alignment issues with allocation
9148 2001-09-12 10:54  simon
9150         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9151         make_op_header.pl, opcode_table, process_opfunc.pl:
9152         Brian Wheeler's big patch:
9154         * Changes the opcode_table file to provide additional information
9155         about the operands.  Case shouldn't be a problem since that data
9156         never becomes a C symbol [this is pretty much as before]
9158         * Padding errors solved:  assemble.pl and bytecode.c were padding
9159         the constants incorrectly.  It should have been 4-(size % 4), not
9160         just (size % 4).  It is now fixed in both places.
9162         * assembler has less special cases, and should be easier to hang
9163         error checking on
9165         * disassembler dumps constant table and the format is a bit
9166         prettier, including register names, etc.
9168 2001-09-11 23:21  dan
9170         * build_interp_starter.pl, interpreter.c:
9172         Abstracted the runops function core into a macro for easy
9173         replacement later.
9175 2001-09-11 10:43  simon
9177         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9178         Configure system from Brent Dax <brentdax@cpan.org>
9180 2001-09-11 09:38  simon
9182         * assemble.pl, test.pbc:
9183         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9184         assembler deferred output
9186         Also got rid of the bytecode, since that's probably way out of
9187         date.
9189 2001-09-11 09:26  simon
9191         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9192         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9193         patch
9195 2001-09-10 23:20  simon
9197         * MANIFEST:
9198         And that move needs a MANIFEST change. So many things to remember!
9200 2001-09-10 23:18  simon
9202         * t/: test.pasm, test2.pasm, test3.pasm:
9203         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9205 2001-09-10 23:18  simon
9207         * test.pasm, test2.pasm, test3.pasm:
9208         Move tests to t/
9210 2001-09-10 23:04  dan
9212         * test3.pasm:
9214         Register push/pop test
9216 2001-09-10 22:47  simon
9218         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9219         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9220         (Modified to avoid conflict with Dan's changes.)
9222 2001-09-10 22:45  dan
9224         * disassemble.pl:
9226         Happier about blanks in opcode_table
9228 2001-09-10 22:40  dan
9230         * interpreter.c, register.c:
9232         Yanked out debugging code, since these work OK. The bug I want is
9233         elsewhere.
9235 2001-09-10 22:30  simon
9237         * MANIFEST:
9238         Uhm. We want make_op_header.pl. We really, really do.
9240 2001-09-10 22:26  simon
9242         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9243         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9244         opcode_table, process_opfunc.pl:
9245         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9246         This means we can add lots more opcodes without fiddling about with
9247         the numbers. Hooray!
9249         Don't forget that "end" needs to be op zero, else the interpreter
9250         falls off the end of the code. This is Bad, and I wonder if there's
9251         a way around it.
9253 2001-09-10 19:49  simon
9255         * MANIFEST, make_op_table_build.pl:
9256         Hey! This doesn't do anything...
9258 2001-09-10 19:46  simon
9260         * Makefile:
9261         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9263 2001-09-10 18:31  simon
9265         * MANIFEST:
9266         You know what this means...
9268 2001-09-10 18:30  simon
9270         * assemble.pl:
9271         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9272         wait for a release...? :)
9274 2001-09-10 18:13  simon
9276         * interpreter.c:
9277         Bad Dan! No cookie!
9279 2001-09-10 17:56  simon
9281         * README:
9282         A *real* README file, which doesn't claim it isn't for public
9283         consumption.
9285 2001-09-10 17:02  simon
9287         * TODO:
9288         More things to do.
9290 2001-09-10 16:56  dan
9292         * TODO: Added in assembler gripe. Also added a few blank lines for
9293         clarity
9295 2001-09-10 16:49  dan
9297         * register.h, register.c: Renamed the core functions so the opcodes
9298         can find 'em OK. (There were some conflicts)
9300 2001-09-10 16:48  dan
9302         * basic_opcodes.ops, opcode_table: Added register window ops
9304 2001-09-10 11:07  simon
9306         * TODO:
9307         Trivial TODO list.
9309 2001-09-10 11:05  simon
9311         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9312         note "-s" flag to test prog.
9314 2001-09-10 11:01  simon
9316         * docs/strings.pod:
9317         New string documentation.
9319 2001-09-10 11:01  simon
9321         * basic_opcodes.ops, opcode_table:
9322         String ops.
9324 2001-09-10 10:53  simon
9326         * global_setup.c:
9327         More string fu.
9329 2001-09-10 10:51  simon
9331         * memory.h:
9332         Just some more aliases for now. Used by string handling stuff.
9334 2001-09-10 10:50  simon
9336         * assemble.pl, bytecode.c, bytecode.h:
9337         Temporary hack to store string constants in bytecode and recreate
9338         them at runtime.
9340 2001-09-10 10:48  simon
9342         * op.h:
9343         op.h is now generated by the Makefile; remove it.
9345 2001-09-10 10:47  simon
9347         * Makefile:
9348         clean and op.h Makefile targets.
9350 2001-09-10 10:45  simon
9352         * string.c, string.h, strnative.c:
9353         More string vtable stuff.
9355 2001-09-07 21:07  dan
9357         * assemble.pl:
9359         Much less picky about whitespace in the opcode_table now. (Doesn't
9360         whine on blank lines)
9362 2001-09-07 16:23  dan
9364         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9365         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9366         this takes) Added global_setup.h to declare init_world function
9368         Moved variable declarations out of the interpreter loop for small
9369         speed boost.
9371         Changed end opcode to now be opcode #0. A function is provided for
9372         it, but isn't ever executed.
9374         When the interpreter sees an opcode 0 in the stream it means the
9375         end of stream. Things were coring on Cygwin otherwise. (I think I
9376         was dereferencing a zero, which is bad)
9378 2001-09-06 22:07  dan
9380         * basic_opcodes.ops, process_opfunc.pl:
9382         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9383         are minor changes now that things are in a fixed state.
9385 2001-09-06 16:13  dan
9387         * basic_opcodes.c, test_opcodes.c:
9388         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9390         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9391         should be nuked. So it is. :)
9393 2001-09-06 03:35  dan
9395         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9396         Scripts to build the header file that holds the function table
9397         creation code, as well as the script to turn an opcode file to C
9398         source. (And the basic opcode functions turned into an opcode
9399         source file)
9401 2001-09-06 03:31  dan
9403         * Makefile, interpreter.c:
9404         Changes to support the autogeneration of the opcode function
9405         pointer table in interpreter.c, along with the changes to the
9406         Makefile needed.
9408 2001-09-05 13:27  simon
9410         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9411         docs/parrotbyte.pod, docs/vtables.pod:
9412         Added stubs for the documents; working on them this week. (What's
9413         left of it.) config.h change is just to type VTABLE, and the
9414         bytecode thing you might want to revoke. It's apidoc for the
9415         functions in there.
9417 2001-09-03 18:26  simon
9419         * docs/strings.pod:
9420         A start on the string API documentation.
9422 2001-09-03 17:43  simon
9424         * opcode_table:
9425         Since we specify the opcode number, we can rearrange to a more
9426         human-friendly ordering.
9428 2001-09-03 17:42  simon
9430         * basic_opcodes.c:
9431         Coupl'a logic bugs. (I think)
9433 2001-09-03 17:41  simon
9435         * string.c, string.h, strnative.c:
9436         Tidying up the string vtables.
9438 2001-09-03 17:38  simon
9440         * make_op_header.pl:
9441         Spit out the whole of op.h, not just the bit in the middle.
9443 2001-08-29 13:16  ask
9445         * README: it seems like we indeed can commit. What about sending
9446         commit mails?
9448 2001-08-29 13:07  simon
9450         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9451         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9452         global_setup.c, interpreter.c, interpreter.h, io.h,
9453         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9454         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9455         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9456         test.pbc, test_main.c, test_opcodes.c:
9457         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9458          I'm still working on the string stuff, though.
9460 2001-08-29 12:44  ask
9462         * README: update README with list address
9464 2001-08-29 12:36  ask
9466         * README: first readme.