Pass latest tools/dev/checkdepend.pl
[parrot.git] / ChangeLog
blobc8de71c32c2c3b77f56549391fca0f4361c91f1b
1 #1 $Id$
3 2009.12.15     Gerd
4         * Released 1.9.0
5         See NEWS for more.
7 2009.11.17     barney
8         * Released 1.8.0
9         See NEWS for more.
11 2009.10.20     dukeleto
12         * Released 1.7.0
13         See NEWS for more.
15 2009.9.15     particle
16         * Released 1.6.0
17         See NEWS for more.
19 2009.8.18     Whiteknight
20         * Released 1.5.0
21         See NEWS for more.
23 2009.7.21     cotto
24         * Released 1.4.0
25         See NEWS for more.
27 2009.06.16    Whiteknight
28         * Released 1.3.0
29         See NEWS for more.
31 2009.05.19    Infinoid
32         * Released 1.2.0
33         See NEWS for more.
35 2009.04.21    fperrad
36         * Released 1.1.0
37         See NEWS for more.
39 2009.03.17    allison
40         * Released 1.0.0
41         See NEWS for more.
43 2009.02.17    kjs
44         * Released 0.9.1
45         See NEWS for more.
47 2009.01.20    chromatic
48         * Released 0.9.0
49         See NEWS for more.
51 2008.12.16    Whiteknight
52         * Released 0.8.2
53         See NEWS for more.
55 2008.11.18    chromatic
56         * Released 0.8.1
57         See NEWS for more.
59 2008.10.21    particle
60         * Released 0.8.0
61         See NEWS for more.
63 2008.09.16    pmichaud
64         * Released 0.7.1
65         See NEWS for more.
67 2008.08.19    rgrjr
68         * Released 0.7.0
69         See NEWS for more.
71 2008.07.15    barney
72         * Released 0.6.4
73         See NEWS for more.
75 2008.06.17    smash
76         * Released 0.6.3
77         See NEWS for more.
79 2008.05.20    chromatic
80         * Released 0.6.2
81         See NEWS for more.
83 2008.04.15    particle
84         * Released 0.6.1
85         See NEWS for more.
87 2008.03.18    bernhard
88         * Released 0.6.0
89         See NEWS for more.
91 2008.02.20    pmichaud
92         * Released 0.5.3
93         See NEWS for more.
95 2008.01.15    rgrjr
96         * Released 0.5.2
97         See NEWS for more.
99 2007.12.18    jonathan
100         * Released 0.5.1
101         See NEWS for more.
103 2007.11.20    chromatic
104         * Released 0.5.0
105         See NEWS for more.
107 2007.10.17    coke
108         * Released 0.4.17
109         See NEWS for more.
111 2007.09.18    particle
112         * Released 0.4.16
113         See NEWS for more.
115 2007.08.22    pmichaud
116         * Released 0.4.15
117         See NEWS for more.
119 2007.07.17    particle
120         * Released 0.4.14
121         See NEWS for more.
123 2007.06.19    allison
124         * Released 0.4.13
125         See NEWS for more.
127 2007.05.15    chromatic
128         * Released 0.4.12
129         See NEWS for more.
131 2007.04.17    mdiep
132         * Released 0.4.11
133         See NEWS for more.
135 2007.03.20    coke
136         * Released 0.4.10
137         See NEWS for more.
139 2007.3.10     coke
140         * removed parakeet
142 2007.02.22    pmichaud
143         * Released 0.4.9
144         See NEWS for more.
146 2007.01.17    chromatic
147         * changed 'name' method on namespaces to 'get_name' per pdd21
149 2007.01.16    particle
150         * Released 0.4.8
151         See NEWS for more.
153 2006.12.12    particle
154         * added C<isnull> opcode
156 2006.11.14    chip
157         * Released 0.4.7
158         See NEWS for more.
160 2006.11.07      tewk
161         * added :init pragma functionality to subs
163 2006.10.28      jonathan
164         * added :vtable pragma functionality to subs
166 2006.09.18    chromatic
167         * added Parrot::Embed under ext/Parrot-Embed
169 2006.08.18    leo
170         * remove the None PMC - if needed it can trivially be reimplemented
171           in languages from r14189
173 2006.08.16    creiss
174         Merged Software Transactional Memory branch into trunk, adds:
175         * several new opcodes whose names start with stm_
176         * read-only PMC support
177         * several new PMC types (whose names start with STM*)
178         * support for threads (again)
180 2006.08.08    chip
181         * Released 0.4.6
182         See NEWS for more.
184 2006.08.02    chip
185         * opcodes: "in PMC" is no longer a synonym for "invar PMC";
186         there are opcodes now that want the real "in PMC".
187         * namespace and global opcodes now accept name arrays again, as
188         well as keys; the corresponding namespace PMC methods are gone.
190 2006.07.21    leo
191         * Parrot_exit, Parrot_on_exit take now an Interp * argument
193 2006.07.25    chip
194         * add experimental op find_type_i_p
195         * fix longstanding bug that sometimes didn't encode pasm keys as
196         Key PMCs (specifically "[S0]" and "['stringliteral']").
198 2006.07.24    chip
199         further implementation of new pdd21:
200         * new opcodes {get,set}*global
201           (old {find,store}*global will be supported for a short while)
203 2006.07.20    audreyt
204         * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
205           (or some such --leo)
206           (at the moment code is checking for 2.0 -- ambs)
208 2006.07.17    chip
209         partial implementation of new pdd21:
210         * old: "get_namespace KEY".  new: "get_hll_namespace KEY"
211         * get_namespace and find_global opcodes no longer accept arrays
212           of strings.  To use arrays, call namespace object methods.
214 2006.06.19    leo
215         * Released 0.4.5
216         See NEWS for more.
218 2006.06.03    leo
219         * I and N registers are never cleared to 0 / 0.0 on subroutine entry
221 2006.05.14    leo
222         * Released 0.4.4
223         See NEWS for more.
225 2006.04.30    bernhard
226         * Make the Perl PMCs dynamic and move them to src/dynpmc
228 2006.04.02    leo
229         * Released 0.4.3
230         See NEWS for more.
232 2006.03.06    leo
233         * Shifted argument type bits left by 2 according to r11754
234           change of docs/pdds/pdd03_calling_conventions.pod
235         * if you are creating PASM then code needs adjustment
237 2006.02.22    leo
238         * Released 0.4.2
239         See NEWS for more.
241 2006.01.16    bernhard
242          * rename src/dynclasses to src/dynpmc
243          * rename src/classes to src/pmc
245 2006.01.15    leo
247          * find_global and friends returns a .Null PMC instead of .Undef on
248           lookup failure, iff lookup exceptions are off
250 2006.01.08    leo
251         * Released 0.4.1
252         See NEWS for more.
254 2005.12.28    particle
255         * renamed all .imc files to .pir
256         * modified all doc references to .pir as well
258 2005.12.13    particle
259         * moved jit/ directory to src/jit/
261 2005.12.12    particle
262         * moved io/ directory to src/io/
263         * moved classes/ directory to src/classes/
264         * moved dynclasses/ directory to src/dynclasses/
266 2005.12.08    particle
267         * moved types/ directory to src/types/
268         * moved pf/ directory to src/packfile/
269         * moved ops/ directory to src/ops/
271 2005.12.08    particle
272         * moved charset/ directory to src/charset/
273         * moved encodings/ directory to src/encodings/
275 2005.12.07    particle
276         * moved imcc/ directory to compilers/imcc/
278 2005.12.06    particle
279         * moved util/ directory to tools/util/
280         * removed imcc/examples/ directory
281         * moved ast/ directory to compilers/ast/
283 2005.12.05    particle
284         * moved imcc/docs/ directory to docs/imcc/
285         * moved build_tools/ directory to tools/build/
286         * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
288 2005.12.04    leo
289         * Released 0.4.0
290         * See NEWS for changes
292 2005.11.06    leo
293         * Released 0.3.1
294         * See NEWS for changes
296 2005.10.01    leo
297         * Released 0.3.0
298         * See NEWS for changes
300 2005.08.05    leo
301         * Released 0.2.3
302         * See NEWS for changes
304 2005.07.03    leo
305         * Released 0.2.2
306         * See NEWS for changes
308 2005.06.04    leo
309         * Released 0.2.1
310         * allow short names for object attributes
311         * string encoding and charset can now be set independently
312         * experimental mmap IO layer for slurping files
313         * enable compile opcode support for compilers written in PASM/PIR
314         * improved HLL support with .HLL and n_operators pragmas
315         * simplified hash code
316         * more strength reduce optimizations
317         * distinct debug and trace flag settings
318         * glob support in PGE
319         * new character classification opcodes and interfaces
320         * numerous bug fixes and enhancements
322 2005-05-08    leo
323         * Released 0.2.0
324         * parrot repository is now under subversion
325         * MMD (Multi Method Dispatch) enhanced
326         * new unary and infix opcodes that return new result PMCs
327         * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
328         * more unification of PMCs and ParrotObjects
329         * tailcalls for functions and methods
330         * PGE (Parrot Grammar Engine) reworked
331         * Pugs creates Parrot code and Pugs is a registered compiler now
332         * new languages/lisp
333         * the usual bug fixes and improvements
335 2005-03-06    leo
336         * Released 0.1.2
337         * big rewrite of string code, not yet finished but ...
338         * partial implementation of a generational garbage collector
339         * indirect register frame addressing
340         * .return(args) PIR syntax
341         * moved most of the Python code to dynclasses
342         * a lot more Python functionality
343         * precalculate opcodes with all constants
344         * PGE - Parrot Grammar Engine
345         * scalar classes refactoring
346         * much more tests and big test system cleanup
347         * improved documentation
348         * and as always a lot more
350 2004-10-09    leo
351         * Released 0.1.1
352         * Need Perl 5.6 now for building
353         * Basic AST support, PAST file parser, bits of code generation
354         * BigInt PMC using GMP
355         * Complex PMC
356         * Dynamic loading improved including bundles of PMC classes
357         * Experimental support for "make install"
358         * IA64 and hppa JIT support
359         * ICU unicode support
360         * IO layer handling code
361         * IO readline and buffered IO fixes
362         * Incremental GC
363         * Internal pythonic functions: filter, map, reduce, max, min ...
364         * Languages updates for m4, tcl, perl6, regex. New parakeet language.
365         * Library updates, Stream and SDL library
366         * MMD - multi method dispatch for binary vtable methods
367         * Many new array PMCs
368         * Method call syntax in PIR obj."meth"(...)
369         * More OS stuff: stat, exec, system, gmtime, piped read and write
370         * New Python PMCs like Enumerate, None
371         * Non-branching compare opcodes
372         * PIR support for += and friends
373         * Python language subdir
374         * Python types mapped to existing PMCs
375         * Slices and range support
376         * Tons of bug fixes, documentation updates, new tests
377         * Win32 COFF exec support
378         * ... and a lot more
380 2004-02-29    leo
381         * Released 0.1.0
382         * "Ladies and gentlemen, I give you... objects!"
383         * Huge documentation overhaul
384         * More supported platforms, s. PLATFORMS
385         * Basic thread support for pthread based architectures
386         * Basic event handling for timers and signals including:
387         * PASM callbacks for NCI (native C) functions.
388         * Improved platform configuration
389         * COW stacks now working, stacks code redone
390         * Structure handling vastly improved
391         * Random PMC and rand primitives
392         * Better subroutine call syntax in PIR
393         * Make PIR subroutines compliant with pdd03
394         * Improved profiling (DOD, GC timings)
395         * Hash code improvements, incl. random key order support
396         * Experimental freeze/thaw code for some PMC types
397         * IO improvements for buffered layer and Win32
398         * String iterators
399         * String bitwise vtables
400         * Many new opcodes
401         * Support for JIT, where malloced memory isn't executable
402         * Priority DOD scheme for objects that need timely destruction
403         * Improved bytecode loading (e.g. onLoad functions)
404         * Language updates: forth, Perl6/P6C, m4
405         * Libraries: Getopt_Long, SDL, Dumper, Sort
406         * new JAPH examples
407         * Unified imcc and parrot test handling
408         * Many new tests (make test reports 1386 tests)
409         * Numerous bug fixes
412 2003-10-31    leo
413         * Released 0.0.13
414         * Yep thirteen - haunted by the ghost of 0.0.12
415         * Build imcc as parrot
416         * Objects more finished
417         * Delegate vtable methods to byte code
418         * Binary multi-method dispatching
419         * Isa and does methods for PMCs
420         * Call byte code from C
421         * Start of extension interface
422         * Experimental struct handling
423         * Catch access to NULL PMCs
424         * Experimental network socket interface code and opcodes
425         * IO fixes and improvements
426         * Dynamic opcode libraries
427         * Fix-assigned opcode numbers
428         * Argument flattening for function calls
429         * More native call interface (NCI) signatures
430         * Ncurses, postgres, and pcre interface libraries
431         * Forth language is vastly improved
432         * BSD and Win32 build improvements
433         * Many new tests and fixes
435 2003-10-22    melvin
436         * imcc moved from parrot/languages/ to parrot/
438 2003-09-20    sfink
440         * updated the native_pbc test files (from Leo)
441         * built 0.0.11.1 release tarball
443 2003-09-20    sfink
445         * CHANGES BUNDLED INTO 0.0.11:
446         * Executable output
447         * Dynamic PMC registration
448         * Trial exception system
449         * Beginnings of object system
450         * Iterators
451         * Ordered hashes
452         * I/O system improvements
453         * References
454         * Documentation for basic PMC types
455         * IMCC support of Parrot Calling Conventions
456         * Runtime loading of chartypes (and other string improvements)
457         * Conditional breakpoints
458         * Dramatically accelerated sweeps for finalizable objects
459         * Small PMCs (PMCs split into core and extensions)
460         * Loadable bytecode packfiles
461         * Constant PMCs
462         * Sub variants that deal with the stack correctly
463         * Switched runops core
464         * Line numbers in warnings
465         * Environment access
466         * Many documentation cleanups
467         * Conversion to CPS style!
468         * BASIC debugger and many other wacky features
469         * Filename, line number parsing support in IMCC
471 2003-07-21 17:31 chromatic
472         * applied copyright patch from Josh Wilmes
474 2003-06-14 13:50 dan
475         * Moved the registers out of the context structure, since they
476           really aren't context
477         * Changed the register stack frames to hold only 16 registers
478           rather than 32, added half-set push and pop ops, and reworked
479           the full set push/pops to do two half-set push/pops. Should
480           speed up saving register data on calls, since we usually only
481           care about the top half of the registers anyway.
482         * Started committing some of the new class/object framework
483         * Remembered to finally start updating the Changelog
485 2003-03-18 03:50  ask
487         * Various files
488           Update Yet Another copyright statements to reflect the (no longer
489           so) shiny new year.
491 2003-03-11 22:06  chip
493         * Configure.pl: print help on non-option command line args
495 2002-12-18 20:38  sfink: changes since 0.0.8
497         - Allow suppression of cgoto core to save memory during compile
498         * Native function calling interface
499         * Major rewrite of stack and list aggregates
500         - Scalar PMC added
501         * Scratchpads implemented
502         - Win32 libraries
503         - Internal memory subsystem documentation
504         * Preliminary DotGNU support
505         - Packfile fingerprinting
506         * Buffer/PMC unification (into PObjs)
507         * stabs debugging information support
508         * Major Jako overhaul, including:
509           - imcc integration
510           - native function calling
511         - Perl6 string interpolation
512         - languages/regex now targets IMCC
513         * Optional Lea memory allocator
514         * Full sprintf implementation
515         * Many, many new tests
516         * Miniparrot
517         - exchange ops
518         - runtime-controllable gc debugging
519         * PMC properties
520         - Crash info
521         * JIT: various improvements
522           - register usage tracking
523           - block register allocation
524           - optimizations
525           - more jitted ops
526           - restartable
527           - architecture abstraction layer
528           - debugging via GDB
529         * Beginning support for extensible packfiles
530         * Much better key support, generally
531         * splice()
532         * Restructured PMC hierarchy with better functionality inheritance
533         * IMCC: many, many improvements. See imcc/ChangeLog
534         * Perl6: index map grep join reverse defined
535         * Scheme with functions!
538 2002-03-19 22:54  nicholas
540         * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
542          We can now get usage information for test_parrot without having to
543          grep the source.
545 2002-03-19 22:53  simon
547         * Configure.pl:
548         Parrot is called parrot.
550 2002-03-19 22:53  nicholas
552         * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
554          1. There are tests in t/pmc as well as t/op now.
555          2. Adds a comment about Parrot::Test
557 2002-03-19 18:09  dan
559         * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
560         messes up automated builds
562         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
564 2002-03-19 00:33  mrjoltcola
566         * core.ops: Doc cleanup from Simon Glover.
568 2002-03-18 23:52  mrjoltcola
570         * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
572 2002-03-18 22:09  dan
574         * include/parrot/resources.h: Checked in old version
576 2002-03-18 20:17  dan
578         * include/parrot/resources.h: Forgot a prototype
580 2002-03-18 20:15  dan
582         * resources.c: D'oh! Thinko, fixed.
584         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
586 2002-03-18 17:33  josh
588         * Configure.pl: Lowering the bar a bit.
590 2002-03-18 17:33  sfink
592         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
593         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
594         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
595         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
596         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
597         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
598         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
599         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
600         t/example.t: Whoops, wrong time to check this in.
602 2002-03-18 16:42  dan
604         * memory.c, resources.c: Partial fix for GC's memory trouncing. At
605         least we consider the PMC and Buffer free pools worth collecting,
606         and initialize the Buffer pool stuff.  Still not 100% correct,
607         though.
609 2002-03-18 15:35  simon
611         * packfile.c:
612         Fix format arg bug.
614 2002-03-18 07:45  brentdax
616         * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
617         system.
619 2002-03-18 00:09  sfink
621         * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
622         test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
623         lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
624         lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
625         lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
626         lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
627         lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
628         lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
629         t/example.t: Buggy 1st version of regex compiler implementation.
630         Warning: the test code depends on features of the assembler that do
631         not yet exist.
633 2002-03-17 21:35  ajgough
635         * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
636         through addition and subtraction.  Also added the ability to run
637         all the tests, including the ones which deal with overflow and
638         underflow.  These fail, but that's expected.  Soon they'll pass.
639         Then I'll show them.  Yesssssss.  Tessssssssts my precioussssss,
640         passsssssssings tesssstsssss.
642 2002-03-17 20:06  ajgough
644         * types/: bignum.c, bignum.h, bignum_test.pl: Modified
645         check_(under|over)flow to test bignumbers, rather than values.
646         context now carries E_limit, from which max and min exp are found.
648         Added a default-context-creating function (although this isn't the
649         same as either of the default contexts defined in the eda).
651 2002-03-17 13:31  ajgough
653         * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
654         exported version matches prototypes of other public functions.
656 2002-03-17 06:44  josh
658         * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
659         packout.c, resources.c, string.c, include/parrot/encoding.h: Some
660         last-minute re-indenting.
662 2002-03-17 05:07  mrjoltcola
664         * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
666 2002-03-16 23:17  nicholas
668         * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
669         remove warnings:
671          default.pmc: In function `Parrot_default_get_integer_keyed':
672          default.pmc:50: warning: control reaches end of non-void function
673          default.pmc: In function `Parrot_default_get_number_keyed':
674          default.pmc:58: warning: control reaches end of non-void function
675          default.pmc: In function `Parrot_default_get_string_keyed':
676          default.pmc:67: warning: control reaches end of non-void function
677          default.pmc: In function `Parrot_default_get_pmc_keyed':
678          default.pmc:87: warning: control reaches end of non-void function
680 2002-03-16 18:50  ajgough
682         * types/: bignum.c, bignum.h: Lots of prototypes changed in
683         readiness for nicely telling your caller about any oddness you've
684         caused in the persuit of flow.
686 2002-03-16 17:38  dan
688         * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
689         include/parrot/interpreter.h, include/parrot/resources.h: Now we
690         can control the GC and DOD, to stop it when we don't really want
691         it.
693 2002-03-16 16:58  dan
695         * resources.c, vtable.tbl, classes/default.pmc,
696         include/parrot/resources.h: Added the last code to let PMCs control
697         their marking at DOD time
699 2002-03-16 16:57  ajgough
701         * types/bignum.c: Ok, I worked out how to not have lots of tabs.  I
702         feel a little more virtuous now.  Really I do.  You might not
703         believe me, but you should.  perl -pne 's/\t/        /g', if you're
704         curious.
706 2002-03-16 16:57  josh
708         * packfile.c, packout.c: M-x untabify is my new friend.
710 2002-03-16 16:50  josh
712         * trace.c, resources.c: Minor whitespace tweak for the benefit of
713         check_source_standards.pl
715 2002-03-16 16:50  ajgough
717         * types/: bignum.c, bignum.h: More documentation, separate
718         functions into public and private sorts, some initial stuff to cope
719         with over and underflow correctly.
721 2002-03-16 16:49  josh
723         * resources.c: Re-indented (sorry bout the big diff)
725 2002-03-16 16:47  bdwheele
727         * examples/assembly/fact.pasm: This fixes fact.pasm so it will
728         assemble again, both with Simon's new assembler and with the old
729         one.
731 2002-03-16 16:33  mrjoltcola
733         * io/TODO: Get the TODO up-to-date for 0.0.4.
735 2002-03-16 16:11  josh
737         * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
738         silly people (such as me) running Configure with
739         /usr/local/bin/perl (which is 5.004_05) and not realising their
740         mistake until the pmc subdirectory, where the first qr// is
741         encountered.
743         Syntax error messages don't tell you what you did wrong. This does:
745         /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
746         only version 5.00405, stopped at Configure.pl line 10.
748 2002-03-16 14:38  ajgough
750         * Makefile.in: Small fix to Makefile.in to keep Irix make happy
751         with commenting.
753 2002-03-16 11:45  simon
755         * MANIFEST, examples/assembly/xml_parser.pasm:
756         Added Clint Pierce's XML parser.
758 2002-03-15 22:24  simon
760         * packout.c:
761         Don't need that function.
763 2002-03-15 21:56  simon
765         * Makefile.in, include/parrot/packfile.h:
766         Rebuild packout.o, since it'll be used for the Packfile XS module
768 2002-03-15 19:45  dan
770         * include/parrot/: memory.h, pmc.h: Another add-in for GC
772 2002-03-14 19:48  dan
774         * core.ops: No string to int for some reason
776 2002-03-14 18:45  dan
778         * string.c, t/op/string.t: Fix 0-length substr problem
780 2002-03-14 14:46  dan
782         * core.ops, interpreter.c, resources.c, classes/array.pmc,
783         classes/perlarray.pmc, examples/assembly/life.pasm,
784         include/parrot/interpreter.h, include/parrot/resources.h: Added in
785         a counter for copied memory, with a display in life.pasm
787 2002-03-14 03:16  mrjoltcola
789         * MANIFEST: Update MANIFEST courtesy of Simon Glover.
791 2002-03-13 23:43  simon
793         * packfile.c:
794         Oops.
796 2002-03-13 23:43  simon
798         * packfile.c:
799         Hangs head in shame.
801 2002-03-13 21:31  simon
803         * MANIFEST:
804         FAQ moved.
806 2002-03-13 18:06  simon
808         * string.c:
810         Fix string_compare screw-up.
812 2002-03-13 18:02  brentdax
814         * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
815         and add a new question/answer pair.
817 2002-03-12 22:53  mrjoltcola
819         * io.ops: Quick and dirty read ops for PIO. No warranty provided.
821 2002-03-12 22:48  mrjoltcola
823         * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
824         warranty provided.
826 2002-03-12 22:29  ajgough
828         * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
830 2002-03-12 22:24  ajgough
832         * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
833         version 1.1, Don't know if this is the correct number, but I don't
834         want this stuck on my harddrive where it will get lost, so 14 it is
835         :)
837 2002-03-12 11:35  simon
839         * MANIFEST, packdump.c, packout.c:
841         Just so the functionality doesn't disappear.
843 2002-03-12 11:33  simon
845         * Makefile.in, chartype.c, encoding.c, packfile.c,
846         chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
847         encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
848         include/parrot/chartype.h, include/parrot/encoding.h,
849         include/parrot/packfile.h:
851         Packfile axing.
853 2002-03-11 23:06  nicholas
855         * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
857           Core.ops documentation nits
859 2002-03-11 23:05  nicholas
861         * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
863           Most of the PerlUndef tests in pmc.t appear to have been added
864         twice.
865           Enclosed patch removes the duplicates.
867 2002-03-10 23:40  nicholas
869         * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
871          More tests for the PerlString test-suite.
873 2002-03-10 23:40  nicholas
875         * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
877         test for sleep with negative argument
879 2002-03-10 21:58  nicholas
881         * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
883          Enclosed patch fixes up a few more holes in our test coverage.
885 2002-03-10 21:18  mrjoltcola
887         * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
888         classes/parrotpointer.pmc, classes/perlarray.pmc,
889         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
890         classes/perlstring.pmc, classes/perlundef.pmc,
891         include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
892         argument to the init() vtable method so PMCs have the option to
893         know how to size themselves at creation. size could be N elements
894         or a byte count, depending on the PMC or it may simply be ignored.
895         Overloaded 'new' opcode for optional arg.
897 2002-03-10 21:15  mrjoltcola
899         * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
900         new_p_ic_ic opcode to work same as new_p_ic (looks up a named
901         class).
903         Also added small hack for .sub directive (which simply translates
904         to a label, however we might eventually want to collect these to
905         validate bsr calls.
907 2002-03-10 15:09  ajgough
909         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
910         Added round_floor and round_ceiling.  3403 tests pass, none fail.
912 2002-03-10 03:56  ajgough
914         * types/: bignum.c, bignum_atest.pl: Added extended stuff to
915         divide, divide integer and remainder.  All filled in functions now
916         have special values capability.
918         Much remains to be done though, and the pdd needs to catch up.
920 2002-03-10 01:36  ajgough
922         * types/bignum.c: Added extended stuff to _add, _subtract.
924 2002-03-10 00:14  nicholas
926         * t/op/: integer.t, number.t: Patch from Simon Glover
927         <scog@roe.ac.uk>:
929          The enclosed patch fixes a few of the holes in our test coverage
930          uncovered by Josh Wilmes
932 2002-03-09 23:03  ajgough
934         * types/: bignum.c, bignum.h: Modified compare to work with
935         extended values.  Made a couple of changes here and there to allow
936         BN_comp to take a context, so that an is_zero check doesn't clobber
937         negative zeros.
939 2002-03-09 22:19  ajgough
941         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
942         Unary plus now copes with special values.
944 2002-03-09 04:25  ajgough
946         * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
947         traps and flags are now enabled and tested for all the standard
948         tests for all the functions which are currently implemented.  Test
949         harness faffed with to allow these to be tested.
951 2002-03-09 02:29  josh
953         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
954         encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
955         Re-indented
957 2002-03-09 02:22  josh
959         * config_h.in: tab-blastin'
961 2002-03-09 02:21  josh
963         * check_source_standards.pl: Play nicer with M-x compile- don't
964         bother giving line numbers for things you don't want to look at.
966 2002-03-09 02:10  josh
968         * examples/mops/mops.c: re-indented
970 2002-03-09 02:07  josh
972         * classes/pmc2c.pl: Use the usual header so that we can detect the
973         autogeneratedness.
975 2002-03-09 02:05  josh
977         * jit2h.pl: Avoid accidental /* inside a comment, which generates a
978         compiler warning
980 2002-03-09 01:59  josh
982         * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
983         patch- re-indent io/*.c.
985 2002-03-09 01:52  ajgough
987         * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
988         special values to the string conversion functions, some other
989         functions now need context (to let -0 pass through really_zero)
990         which have also been added.
992 2002-03-09 01:47  josh
994         * test_main.c: Re-indented.
996 2002-03-09 01:41  josh
998         * rx.c: killed a stray tab
1000 2002-03-09 01:38  josh
1002         * rx.c: Re-indented.
1004 2002-03-09 01:36  josh
1006         * misc.c: Oops, some tabs remained- cleaned up.
1008 2002-03-09 01:31  josh
1010         * misc.c: Re-indented (major patch, sorry)
1012 2002-03-09 00:59  josh
1014         * embed.c: Re-indented.
1016 2002-03-08 23:08  simon
1018         * MANIFEST, docs/pdds/pdd10_embedding.pod,
1019         docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1020         docs/pdds/pdd13_bytecode.pod:
1021         Placeholder PDDs.
1023 2002-03-08 21:12  ajgough
1025         * include/parrot/string.h: Added private flags to string.h, mostly
1026         so that other GCed stuff can also have its very own private flags.
1028 2002-03-08 19:53  simon
1030         * MANIFEST:
1031         Great PDD Renaming
1033 2002-03-08 19:41  robert
1035         * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1036         pdd6.pod, pdd7.pod: Renamed...
1038 2002-03-08 18:51  simon
1040         * MANIFEST, docs/pdds/pdd08_keys.pod:
1041         Add keys PDD.
1043 2002-03-08 18:20  ajgough
1045         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1046         Introduced exception handlers and exception flags to context, will
1047         allow support of extended standard.  Unified exception checking
1048         mechanism (sort of) and made minimal changes to bulk of code to use
1049         this.  Tests pass, I'm happy, and further changes will happen more
1050         gradually.
1052 2002-03-08 04:38  josh
1054         * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1055         tweaks.
1057 2002-03-08 04:37  josh
1059         * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1061 2002-03-08 04:24  josh
1063         * embed.c: A bit more re-indenting
1065 2002-03-08 04:20  josh
1067         * embed.c: Indenting fixes
1069 2002-03-08 04:14  josh
1071         * jit.c: Re-indented (run_indent.pl)
1073 2002-03-08 03:36  josh
1075         * ops2c.pl: Fix the line numbers which get reported while compiling
1076         core_ops*.c
1078 2002-03-08 03:22  josh
1080         * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1081         The variable "type" is set but never used.
1083               opcode_t type;
1085 2002-03-08 03:04  josh
1087         * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1088         io/io_unix.c: Clean up unused and set-but-not-referenced variables
1089         noticed by the sgi compiler.
1091 2002-03-08 03:02  josh
1093         * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1094         misc.c, Line = 417   The indicated type qualifier is meaningless on
1095         cast type.
1098         (const char) 'f');
1099                                                                          ^
1101 2002-03-08 02:55  josh
1103         * Makefile.in: Clean up one of the object files it was missing
1105 2002-03-08 01:15  josh
1107         * include/parrot/interpreter.h: Fixes the following error (tcc):
1108         "./include/parrot/interpreter.h", line 27: Error:   [Syntax]: Extra
1109         comma at end of list.
1111 2002-03-06 22:15  simon
1113         * stacks.c:
1114         Tidy up stack chunk allocation.
1116 2002-03-06 21:00  simon
1118         * interpreter.c:
1119         Create strings only once we've got string register heads set up.
1121 2002-03-06 20:31  simon
1123         * classes/perlarray.pmc:
1124         malloc(0) considered harmful.
1126 2002-03-06 20:24  simon
1128         * include/parrot/resources.h:
1129         I like it when Parrot compiles.
1131 2002-03-06 17:02  dan
1133         * classes/array.pmc: Changed over to data pointing to a Buffer.
1135 2002-03-06 15:45  dan
1137         * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1138         packfile.c, pbc2c.pl, pdump.c, resources.c,
1139         include/parrot/interpreter.h, include/parrot/memory.h,
1140         include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1141         and opcode_t > longs will now be even more suspect than what they
1142         were beforehand.  2) Feel free to bicker with names.  I don't think
1143         we've come to *any* sort of agreement with these, although we
1144         really, really, need to.  3) I forget the third thing.  4) But I
1145         thought of a fourth.  5) I've now remembered the third thing: IIRC,
1146         ANSI C states that enums will fit within the smallest type (int or
1147         greater) that can hold the values. Is that actually correct, and
1148         does it state whether unsigned is preferred to signed for
1149         non-negative enums? 6) Since I'm no longer constrained by "three"
1150         or "quick", I'm going size_t happy for a lot of memory-related
1151         storage.  (That's good.  No sense wasting the size or performance
1152         of an UINTVAL for strange values of UINTVAL.)  I'm also using it in
1153         a couple other internal things (like the GC stat counters, seen
1154         here).  Size and performance, again, and unpromotable to a bigint,
1155         so we know that we (theoretically) will wrap.  However, size_t
1156         isn't the best choice for the type.  (Not that there's anything
1157         wrong with size_t, just that it shouldn't be called size_t.)  Any
1158         thoughts?  I was thinking of just doing unsigned int, because,
1159         IIRC, int is usually the natural word size, and will be most
1160         efficient.  Thoughts? 7) I forgot what the fourth thing I thought
1161         of was while writing down the others.  Sorry.
1163         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1165 2002-03-06 15:26  dan
1167         * memory.c, resources.c, string.c, classes/perlarray.pmc,
1168         include/parrot/resources.h: Now we allocate generic Buffers from
1169         arenas too
1171 2002-03-05 21:42  brentdax
1173         * Configure.pl: Minor cleanup and enhancements.
1175 2002-03-05 21:25  dan
1177         * resources.c: non-special GC now works with PMCs
1179 2002-03-05 19:48  brentdax
1181         * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1182         Parrot now "knows" if it's a development version or a release
1183         version.  See the instructions in the DEVELOPING file.
1185 2002-03-05 18:05  brentdax
1187         * MANIFEST: pasm.vim wasn't in the manifest.
1189 2002-03-05 17:57  simon
1191         * Makefile.in:
1192         Now, through much evilness, make distclean and make cvsclean work
1193         again.
1195 2002-03-05 17:38  dan
1197         * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1198         include/parrot/interpreter.h, include/parrot/pmc.h,
1199         include/parrot/resources.h: PMC tracing complete
1201 2002-03-05 16:28  gregor
1203         * languages/jako/Makefile.in:
1204         Changed -I ../../ to -I ../../lib when calling the assembler, since
1205         the perl modules have moved.
1207 2002-03-05 05:30  josh
1209         * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1210         string.c: More re-indenting via run_indent.pl.
1212 2002-03-05 05:17  josh
1214         * runops_cores.c, trace.c, warnings.c: Re-indented (via
1215         run_indent.pl)
1217 2002-03-05 04:26  josh
1219         * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1220         using run_indent.pl and some minor tweaking.
1222 2002-03-05 04:21  josh
1224         * chartype.c, encoding.c, exceptions.c, global_setup.c,
1225         interpreter.c: Re-indented using run_indent.pl and some minor
1226         tweaking.
1228 2002-03-05 03:30  josh
1230         * include/parrot/trace.h: These functions are no longer used (or
1231         even implemented)
1233 2002-03-04 18:21  josh
1235         * include/parrot/trace.h: Fix a typo in the argument type.
1237         Patch from <daniel.ritz@gmx.ch>
1239 2002-03-04 03:39  josh
1241         * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1242         header to jit_struct.h so we don't try to check it for conformance.
1243          (no way will it conform)
1245 2002-03-04 03:38  josh
1247         * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1248         unicode.h, warnings.h: Remove some remaining tabs and split some of
1249         the remaining long lines.
1251 2002-03-04 03:17  josh
1253         * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1254         global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1255         misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1256         resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1257         string_funcs.h, trace.h, warnings.h: This is the first batch of
1258         re-indenting.   This patch is the result of running run_indent.pl
1259         on the header files and manually tweaking the results where errors
1260         were noticed.   This should get us closed, but some refinement may
1261         follow.
1263 2002-03-04 03:06  josh
1265         * resources.c: Return without parens, as mentioned in PDD 7
1267 2002-03-04 03:01  josh
1269         * core.ops: POD fixes.
1271 2002-03-04 02:58  josh
1273         * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1274         on autogenerated files- used by the check_source_standards.pl
1275         script (for now) to exempt autogenerated files from the checks.
1277 2002-03-04 02:51  josh
1279         * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1280         warnings.c: Added the editor "boilerplate" footer to a few files
1281         which were missing it.
1283 2002-03-04 02:34  josh
1285         * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1286         include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1287         c preprocessor directive indentation to comply with pdd 7.
1289         (also fixes the check for this indentation in
1290         check_source_standards.pl)
1292 2002-03-04 02:32  josh
1294         * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1295         irix.
1297         perl t/harness t/op/basic..........Use of uninitialized value at
1298         lib/Parrot/Test.pm line 81.  #     Failed test (t/op/basic.t at
1299         line 6) #          got: undef #     expected: ''
1301 2002-03-04 02:30  josh
1303         * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1304         docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1305         "indent" program to enforce some of the code style standards
1306         outlined in PDD 7.
1308         Usage: ./run_indent.pl <file>
1310 2002-03-03 19:04  simon
1312         * examples/mops/mops.c:
1313         Let's make it compile, huh?
1315 2002-03-03 19:04  simon
1317         * examples/mops/mops.cs:
1318         I R AN IDIOT
1320 2002-03-03 18:11  simon
1322         * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1323         Added C# and MS-IL versions of mops tester.
1325 2002-03-03 14:52  simon
1327         * core.ops:
1328         Add a sub() op to make mops_p work.
1330 2002-03-02 18:12  nicholas
1332         * examples/mops/mops.c, include/parrot/embed.h,
1333         include/parrot/interp_guts.h, include/parrot/jit.h,
1334         include/parrot/misc.h, include/parrot/packfile.h,
1335         include/parrot/rx.h, include/parrot/warnings.h,
1336         platforms/generic.c, platforms/generic.h, platforms/win32.c,
1337         platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1338         Wilmes to add the emacs and vim "ending boilerplate" that sets the
1339         indent variables correctly.
1341 2002-03-02 17:41  nicholas
1343         * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1344         patch to fix a compiler warning.
1346 2002-03-01 22:35  dan
1348         * memory.c, resources.c, include/parrot/pmc.h,
1349         include/parrot/resources.h: PMCs now come out of arenas.
1351 2002-03-01 06:15  dan
1353         * string.c:
1354         A non-existing buffer + a non-existing buffer should be a
1355         non-existing buffer, not "", which is really '\0'.
1357         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1359 2002-03-01 06:02  dan
1361         * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1363         TMTOWTDI, but strcmp is probably the worse.
1365         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1367 2002-03-01 02:32  brentdax
1369         * embed.c: Debug mode now prints out the GC data.
1371 2002-02-28 23:44  dan
1373         * core.ops, resources.c, include/parrot/resources.h: Added collect
1374         and sweep opcodes
1376 2002-02-28 22:58  dan
1378         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1379         opcode
1381 2002-02-28 22:50  dan
1383         * core.ops, interpreter.c, resources.c,
1384         examples/assembly/life.pasm, include/parrot/interpreter.h,
1385         include/parrot/resources.h: Add some stat gathering to the resource
1386         allocation code.
1388         Also add an interpreter info retrieval op, and teach it about the
1389         different things it can retrieve.
1391         Finally, add some stat info to life.pasm as an example
1393 2002-02-28 21:27  dan
1395         * editor/pasm.vim: VIM mode commands for parrot assembly files
1397         Courtesy of Scott Beck <scott@gossamer-threads.com>
1399 2002-02-28 19:20  dan
1401         * examples/assembly/life.pasm: Fix a creeping string length leak.
1403         Courtesy of  "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1405 2002-02-28 18:26  dan
1407         * string.c: When you clone a constant, it ain't constant no mo'.
1409         Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1411 2002-02-28 00:51  dan
1413         * MANIFEST: Add missing files
1415         Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1417 2002-02-28 00:49  dan
1419         * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1420         CVS seems to have several chunks missing out of it, too.  This
1421         patch is simply an administrative patch, with the differences
1422         between my last version, and the one currently in there.  There
1423         will be a forthcoming patch for some minor tweaking to the PDD, but
1424         I wanted a common baseline before I make any (potential) semantic
1425         changes.
1427         There's only one semi-major change, which noone needs to worry
1428         about just yet.  That's a change from PDD Format 1 to PDD Format
1429         6.0 - rationale can be found under 'Standard (Version #)' of the
1430         STANDARDS TRACK infomation.  Don't worry about this yet, because it
1431         should be 6.0.0, and we need to discuss Perl versus Parrot with
1432         PDDs.
1434         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1436 2002-02-28 00:27  dan
1438         * packfile.c, resources.c, examples/assembly/life.pasm,
1439         include/parrot/register.h, include/parrot/resources.h,
1440         include/parrot/string.h: First pass of semi-full GC. (Strings only,
1441         no PMCs yet)
1443         This patch now implements a real copying collector. We trace from
1444         our root set and compact the contents of Buffer structs.
1446         Todo:
1448         *) It's very STRING-centric and doesn't handle memory stuffed in
1449         Buffers.  But, then, we don't have pool allocation for Buffers
1450         either, and we need to have that soonish for this to work.
1452         *) Doesn't trace PMCs, so if you trigger a collection and there's
1453         memory or STRING structs only accessible from PMCs, you'll fail
1454         horribly. That needs fixing too
1456         *) Better algorithms for when to trace or collect vs when to just
1457         go allocate more memory from the system. Should probably be more
1458         cache friendly too.
1460 2002-02-27 21:04  dan
1462         * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1463         examples/assembly/life.pasm, include/parrot/resources.h,
1464         include/parrot/string.h, include/parrot/string_funcs.h,
1465         jit/i386/core.jit: Start of GC in
1467 2002-02-26 16:41  dan
1469         * jit/i386/string.jit: Fix a typo
1471         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1473 2002-02-26 16:37  dan
1475         * interpreter.c: Fix solaris test failures
1477         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1479 2002-02-26 16:36  dan
1481         * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1482         unicode.h, warnings.h: Fixes various warts in header files, such
1483         as: * macros   -added parens to prevent problems with operator
1484         precedence   -removed ; at end * removed SSIZE_MAX, since ssize_t
1485         is no longer used * added some more INLINE definitions for MSVC and
1486         C99 compilers
1488         Courtesy of Brian Lee Ray <blray@ualr.edu>
1490 2002-02-26 16:20  dan
1492         * Configure.pl: Turns out we were using a warning flag which
1493         doesn't exist on 2.7.  Simple tweak though:
1495         Courtesy of  Josh Wilmes <josh@hitchhiker.org>
1497 2002-02-25 22:58  dan
1499         * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1501 2002-02-25 17:36  dan
1503         * include/parrot/pmc.h: Fix the bits
1505 2002-02-23 21:57  dan
1507         * include/parrot/resources.h: Another 1.5% never hurts
1509 2002-02-23 21:44  dan
1511         * global_setup.c, memory.c, resources.c, string.c,
1512         include/parrot/resources.h: Allocate STRING headers from an arena
1513         with freelist rather than with the system malloc. First step in a
1514         good (or even a bad) GC system.
1516 2002-02-23 20:37  brentdax
1518         * misc.c: lint has been doing Evil and Wrong things to misc.c.
1520 2002-02-22 14:59  ajgough
1522         * types/bignum.c: BN_multiply split into BN_multiply and
1523         BN_imultiply, the internal version to be used by idivide so that
1524         rounding isn't performed during intermediate stages of division.
1526         following test scripts now all pass: divide divideint add multiply
1527         subtract remainder compare rounding plus minus (these are all the
1528         operations currently implemented, rescale and power must still be
1529         written, so don't pass right now).
1531 2002-02-22 13:13  ajgough
1533         * types/bignum_atest.pl: Test harness modified to understand
1534         comments better, and be able to run unary (and rounding) tests.
1535         Currently a few rounding tests fail, which are being investigated.
1537 2002-02-22 01:41  dan
1539         * key.c: Although there's more work being done on the key stuff and
1540         this isn't the final fix, applying this patch does get parrot to
1541         build with two more compilers, so it's probably worthwhile.
1543         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1545 2002-02-22 00:53  dan
1547         * config_h.in, misc.c, include/parrot/embed.h,
1548         include/parrot/exceptions.h, include/parrot/interpreter.h,
1549         include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1550         include/parrot/resources.h, include/parrot/rx.h,
1551         include/parrot/string.h, include/parrot/unicode.h,
1552         include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1553         io/io_win32.c: Fixes the following (lcc) warnings:
1555           - interpreter.c:470: warning: expression with no effect elided
1556                (related to the way warnings flags were defined)
1558           - misc.c:352: warning: unreachable code
1559             misc.c:483: warning: unreachable code
1560                (i introduced these with some overzealous de-linting)
1562           - numerous warnings like this:
1563             io/io_unix.c:383: warning: conversion from pointer to void' to
1564         pointer to
1565             pointer to struct _ParrotIO function(pointer to struct
1566         Parrot_Interp,pointer
1567             to struct _ParrotIOLayer,pointer to const char,pointer to const
1568         char,pointer
1569             to pointer to void)' is compiler dependent
1571         Fixes the following nits:    - remove bad indenting (tabs) in the
1572         includes
1574         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1576 2002-02-21 21:12  ajgough
1578         * types/: bignum.c, bignum.h: These might look like massive
1579         changes, but really it's just he imposition of coding standards.
1580         The file still isn't entirely compliant, but is now much more so.
1582         Also changed:
1584          o a few more comments
1585          o BN_compare uses internal BN_comp to compare
1586          o lost_digits behaviour is now correct (test harness modified to
1587         test
1588            this).
1590         All binary functions now pass all the tests in the basic standard.
1591         Unary functions not yet tested, will be soon.
1593 2002-02-21 18:20  dan
1595         * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1596         was no longer needed, and the ssize_t thing really shouldn't be
1597         needed either.
1599         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1601 2002-02-21 18:15  dan
1603         * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1604         include/parrot/parrot.h: this patch adds support for the freely
1605         available borland c++ 5.5.1 compiler
1607         depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1608         working borland compiler (compiler must know where to find headers
1609         and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1610         cc='cl.exe' - a working make utility (borland make doesn't work,
1611         nmake does)
1613         changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1614         hints/mswin32.pl - remove a space from Configure.pl (very very
1615         important for bcc) - add a O_BINARY flag to open() in pdump.c,
1616         embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1617         (win32 knows it, linux not)
1619         and the why: - parrot is MUCH faster when compiled with borland c
1620         (make test on p2-450, 320MB):   * msvc++: 313 seconds   * bcc: 251
1621         seconds
1623         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1625 2002-02-21 18:09  dan
1627         * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1628         io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1629         cuddled elses, as required by PDD 7.
1631         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1633 2002-02-21 18:04  dan
1635         * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1636         a new Makefile target called "check_source".  This target scans all
1637         the .c and .h files in the directory and checks for conformance to
1638         a number of the standards outlined in PDD 7.
1640         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1642 2002-02-21 16:38  ajgough
1644         * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1645         allow arithmetic with numbers with a fixed fractional part, buffer
1646         structures now more ready to be integrated into the parrot memory
1647         allocation game, test harness modified to allow lost_digits
1648         condition to be checked.  Some more comments.
1650 2002-02-21 15:53  simon
1652         * io/io_unix.c:
1653         Fix typo
1655         Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1657 2002-02-20 16:41  dan
1659         * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1661 2002-02-18 18:25  dan
1663         * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1665         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1667 2002-02-18 18:21  dan
1669         * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1670         CPrederef.pm to make to generated code compile with the MS
1671         compiler.
1673         fixes: - ms compiler allows inline only for c++, for c there's
1674         __inline - ms header files knows nothing about ssize_t
1676         Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1678 2002-02-18 17:49  dan
1680         * MANIFEST: Add the PDDs
1682 2002-02-18 17:47  dan
1684         * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1685         coding standards PDD.
1687 2002-02-18 17:40  dan
1689         * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1691 2002-02-18 12:41  gregor
1693         * test_main.c:
1694         Remove warning about exit() not being declared.
1696 2002-02-18 08:29  simon
1698         * misc.c, warnings.c, include/parrot/misc.h,
1699         include/parrot/warnings.h:
1700         This patch adds some missing const's to silence a number of gcc
1701         warnings.
1703         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1705 2002-02-18 08:26  simon
1707         * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1708         ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1709         classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1710         include/parrot/parrot.h, include/parrot/rx.h,
1711         include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1712         lib/Parrot/OpTrans/CPrederef.pm:
1713            - add makefile target and script to test for external libc
1714         dependencies
1715            - fix return values in hash and array PMCs (returning 0 in a
1716         void func)
1717            - remove unnecessary data pointer <=> function pointer
1718         conversions
1719              outside of the JIT code.
1720            - move the definition of the "INLINE" macro out of the rx header
1721         and make
1722              available for general use on C++ compilers and gcc.
1723            - remove a few unused variables
1725         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1727 2002-02-17 16:29  simon
1729         * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1730         pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1731         pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1732         We're organised and responsible. Honest.
1734 2002-02-17 02:46  sfink
1736         * Makefile.in: Remove $^ for nmake compatibility.
1738 2002-02-16 09:20  brentdax
1740         * config_h.in, test_main.c, include/parrot/chartype.h,
1741         include/parrot/embed.h, include/parrot/encoding.h,
1742         include/parrot/string.h, include/parrot/string_funcs.h: Better
1743         embedding exposure and hiding, part 1.
1745 2002-02-16 04:38  dan
1747         * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1748         runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1749         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1750         Anyway, here's a patch to repair pbc2c.pl, combined with removing
1751         typecasts in various places throughout the code. It probably won't
1752         work for Windows yet. The libparrot.a target might need to be
1753         modified to at least prevent it from confusing make on Windows; I
1754         don't know.
1756         Preliminary instructions for using pbc2c.pl are in
1757         docs/running.pod.  I'll try to do better later.
1759         Courtesy of Steve Fink <steve@fink.com>
1761 2002-02-16 04:15  dan
1763         * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1765         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1767 2002-02-16 00:03  simon
1769         * classes/: perlarray.pmc, perlhash.pmc:
1771         pmc is already defined!
1773 2002-02-15 23:20  brentdax
1775         * Configure.pl, config_h.in, exceptions.c, pmc.c,
1776         include/parrot/exceptions.h: Far more informative panic messages.
1778 2002-02-15 03:24  dan
1780         * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1781         much more extensive patch that fixes it to work properly, and
1782         deletes a bazillion casts as well.  It also points to the question
1783         "can we make the byte_code be an opcode_t* already?"
1785         Oh, and it makes some of the formatting prettier, so it's gotta be
1786         good.
1788         Courtesy of * Steve Fink <steve@fink.com>
1790 2002-02-15 02:30  dan
1792         * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1793         stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1794         of the things it finds.  Attaching the patch as well as the current
1795         lint output.
1797         Courtesy of Josh Wilmes <josh@hitchhiker.org>
1799 2002-02-15 01:59  dan
1801         * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1802         moment.
1804 2002-02-15 01:48  dan
1806         * t/pmc/perlarray.t: Skip tests for features that need twiddling
1808 2002-02-15 01:40  dan
1810         * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1811         things
1813 2002-02-14 23:30  dan
1815         * resources.c: Added comment for buffer tag routine. D'oh!
1817 2002-02-14 23:28  dan
1819         * resources.c, include/parrot/resources.h: Added buffer mark
1820         routine for GC
1822 2002-02-14 23:17  dan
1824         * memory.c, classes/array.pmc, classes/perlarray.pmc,
1825         include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1826         Rejigged memory system a bit. Now should be ready for the horror
1827         that is garbage collection.
1829 2002-02-14 19:33  gregor
1831         * ops2c.pl, include/parrot/oplib.h:
1832         Added code to automatically generate a function within an oplib to
1833         lookup opinfos given the op name. This will come in handy in future
1834         when we want to twiddle opcode tables at run time and possibly at
1835         startup time.
1837 2002-02-14 19:25  gregor
1839         * examples/assembly/queens.pasm:
1840         Regenerated queens.pasm from queens.jako since the clone_* stuff
1841         went away.
1843 2002-02-14 17:12  dan
1845         * resources.c, include/parrot/resources.h: Finished up the
1846         interface for memory and tracked interpreter thingies.
1848 2002-02-14 16:53  dan
1850         * memory.c, include/parrot/memory.h: intercept free and realloc
1852 2002-02-14 05:53  dan
1854         * interpreter.c, runops_cores.c: The type changes in struct
1855         Packfile break the pointer math used in a few places to calculate
1856         the address of the end of the loaded byte code. This causes
1857         segfaults in build_asm in jit.c when using -j. It also breaks the
1858         bounds checking on opcode address in runops_slow_core.
1860         The patch adds the necessary cast to correct the code_end
1861         calculations.
1863         Courtesy of Jason Gloudon <perl@gloudon.com>
1865 2002-02-14 01:01  ajgough
1867         * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1868         BigInt operations (I think), tests for normal operation continue to
1869         pass.  Also a shed load of comments.
1871 2002-02-13 01:34  ajgough
1873         * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1874         is a (mostly) working bignumber library.  There remains much work
1875         to do though, some functions are not yet implemented and headers
1876         need to find their way to the correct place RSN.  Also support for
1877         bigints and a sensible error reporting mechanism are needed.
1879 2002-02-12 18:51  dan
1881         * misc.c: Fix some warnings
1883 2002-02-12 17:10  dan
1885         * misc.c: Run through indent -kr -nce so I can read it
1887 2002-02-12 16:49  dan
1889         * misc.c: Need standard header/footer comments
1891 2002-02-11 20:32  simon
1893         * classes/array.pmc:
1894         get and set pmc methods.
1896 2002-02-11 20:19  simon
1898         * classes/array.pmc:
1899         Maybe the keys aren't integer...
1901 2002-02-11 20:03  simon
1903         * core.ops, vtable.tbl, classes/default.pmc:
1904         {g,s}et_pmc_keyed
1906 2002-02-11 19:07  simon
1908         * vtable.tbl, classes/default.pmc:
1909         Add set_pmc. Usee with caution.
1911 2002-02-11 18:20  dan
1913         * classes/: array.pmc, perlarray.pmc: Patch array classes to
1914         compile
1916 2002-02-11 17:59  simon
1918         * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1919         classes/perlarray.pmc, classes/perlhash.pmc:
1920         Make it compile.
1922 2002-02-11 17:57  simon
1924         * packfile.c, include/parrot/packfile.h:
1925         Reduce warnings
1927         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1929 2002-02-11 17:55  dan
1931         * docs/parrot_assembly.pod: Document some key ops
1933 2002-02-11 09:20  brentdax
1935         * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1936         disgustingly easy.
1938 2002-02-11 00:34  simon
1940         * core.ops, include/parrot/exceptions.h:
1941         This is what keyed set ops look like. Remember, however, that for
1942         keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1943         means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1944         obviously ambiguous that you ought to use the 4-arg version
1945         instead.
1947 2002-02-10 23:12  jgoff
1949         * classes/: array.pmc, perlarray.pmc: Properly allocate
1950         SELF->data's array of PMC* data in array and perlarray.pmc.  This
1951         isn't tested yet, but should be fairly straightforward.  PerlHash
1952         needs to be finished before the system will compile again, and that
1953         should be done in the next few days.
1955 2002-02-09 04:46  jgoff
1957         * classes/: array.pmc, default.pmc, intqueue.pmc,
1958         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1959         Added basic _keyed member functions.  Unfortunately this still
1960         doesn't fix the problems that are causing the build to break. It's
1961         a start though. I'm not implementing the PMC add functions just
1962         yet.
1964 2002-02-08 15:59  simon
1966         * classes/array.pmc:
1967         Some more work on getting the array stuff up to date.
1969 2002-02-08 12:23  simon
1971         * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1972         lib/Parrot/Vtable.pm:
1973         Got array->get_integer_keyed doing what I think it ought to. One
1974         down, all the rest to go.
1976 2002-02-08 11:47  simon
1978         * vtable.tbl:
1979         Although I didn't intend it to be quite that broken...
1981 2002-02-08 11:42  simon
1983         * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1984         Completely break Parrot, but at least we get the key stuff right
1985         for now.
1987 2002-02-08 06:25  dan
1989         * hints/darwin.pl: Silences the warning about passing in
1990         -flat_namespace to the compile.  That's a link-only flag.
1992 2002-02-08 04:52  jgoff
1994         * classes/: array.pmc, default.pmc, intqueue.pmc,
1995         parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1996         perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1997         return values in *.pmc, added some missing casts to the repeat_foo
1998         members, and deleted the _index members from the perlscalar
1999         classes.  Basic cleanup, and getting ready for _keyed functions.
2001 2002-02-07 04:49  mrjoltcola
2003         * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2004         added a nested subroutine call.
2006 2002-02-07 04:32  jgoff
2008         * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2009         changes in order to give the whitespace rules a little workout, and
2010         do a little bit more testing. No actual structural changes were
2011         made.  lib/Parrot/Vtable.pm got an interface change, and more
2012         importantly should be ready to support the new '_keyed' attribute,
2013         which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2014         src_value' followed by 'KEY* src_key'.  This will be how the new
2015         _keyed operators will function, and those should be written within
2016         a few days.
2018 2002-02-06 18:00  doughera
2020         * misc.c: Change C++-style comments to C comments (again).  Remove
2021         unused perl5 code that was in #if 0/#endif.
2023 2002-02-06 17:59  doughera
2025         * warnings.c: Add trailing newline.
2027 2002-02-06 04:14  mrjoltcola
2029         * include/parrot/io.h, io/io.c: Minor cleanup.
2031 2002-02-06 03:11  mrjoltcola
2033         * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2034         couple of loose end in win32 IO stuff. Open behaves now but needs
2035         more work.
2037 2002-02-05 21:02  brentdax
2039         * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2040         which showed up in Purify builds.
2042 2002-02-05 17:15  simon
2044         * misc.c:
2045         Warning fixes.
2047         Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2049 2002-02-05 17:08  doughera
2051         * misc.c: Avoid C++-style comments.
2053 2002-02-05 17:07  doughera
2055         * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2056         not valid assembler for Sun's /usr/ccs/bin/as.  Now they are,
2057         thanks to Jason Gloudon <perl@gloudon.com>.
2059 2002-02-05 14:04  simon
2061         * misc.c:
2062         Make the problem different, perhaps even better.
2064 2002-02-05 13:49  simon
2066         * misc.c:
2067         Possibly fix a `short int' is promoted to `int' when passed through
2068         `...' scary error, possibly make things absolutely worse.
2070 2002-02-05 13:15  simon
2072         * Configure.pl:
2073         Placate Tru64.
2075 2002-02-05 13:12  simon
2077         * warnings.c:
2078         Not going to get far without this one...
2080 2002-02-05 11:41  simon
2082         * string.c:
2083         Don't barf when handed null pointers.
2085 2002-02-05 10:04  simon
2087         * misc.c, include/parrot/misc.h:
2088         Fix some trivial bugs in warnings code.
2090 2002-02-05 09:27  simon
2092         * misc.c:
2093         Oops, forgot this one; also added %P support.
2095 2002-02-05 09:20  simon
2097         * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2098         test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2099         include/parrot/interpreter.h, include/parrot/misc.h,
2100         include/parrot/parrot.h, include/parrot/warnings.h:
2101         Warnings support.
2103         Courtesy of: Brent Dax <brentdax@cpan.org>
2105 2002-02-05 05:41  jgoff
2107         * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2108         format of vtable.tbl to get rid of the tab-dependence.  The format
2109         now looks roughly like this:
2111         init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2112         is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2113         assumed here, but note the C-like prototyping.  Also had to disable
2114         one test that depended upon 'concat_p_p_s', which isn't necessary
2115         anyway.
2117         Vtable.pm will change again when the type '_keyed' is added,
2118         because that requires remapping parameters slightly differently
2119         again.  Also, note that it assumes 'value' is the first parameter
2120         in the list. This assumption will go away at the same time.
2122 2002-02-04 16:57  ajgough
2124         * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2125         functions.  Thanks to Simon Glover.
2127 2002-02-04 02:47  ajgough
2129         * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2130         needed.  I suspect that the entire hints file isn't really needed,
2131         but there's no one to actually tell us this.
2133 2002-02-02 15:45  ask
2135         * docs/ParrotFAQ.htm: fix internal links
2137 2002-02-02 04:06  jgoff
2139         * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2140         Moving the internal KEY structure from the cache.struct_val member,
2141         where it doesn't really belong, to the internal SELF->data member.
2142         This frees up the cache/type members for other usage.
2144         This is the first step in moving PMCs to the point where we can do
2145         multidimensional PMC handles. The next step is to change the
2146         assembler to accept the syntax of 'set P0["foo"],7'.
2148 2002-02-02 00:13  nicholas
2150         * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2151         prototype Parrot_Array_class_init
2153 2002-02-02 00:13  nicholas
2155         * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2156         time to sum_time to avoid warning on FreeBSD about tracking a
2157         global [No, this warning does not appear on Linux. Yes, it is real
2158         :-)]
2160 2002-02-01 23:02  nicholas
2162         * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2163         Glover
2165 2002-02-01 20:20  nicholas
2167         * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2169 2002-02-01 18:20  nicholas
2171         * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2172         you
2174 2002-02-01 13:22  nicholas
2176         * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2178 2002-02-01 12:19  simon
2180         * core.ops, t/op/ifunless.t, t/op/integer.t:
2181         Added "unless" op.
2183 2002-02-01 12:11  simon
2185         * lib/Parrot/Test.pm:
2186         Remove a warning.
2188 2002-02-01 01:38  nicholas
2190         * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2191         and a manitest target to Makefile.in that lets one test the
2192         manifest.
2194 2002-02-01 00:03  dan
2196         * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2197         PMC dynaloading
2199 2002-01-31 21:46  gregor
2201         * Configure.pl, Makefile.in, hints/mswin32.pl:
2202         A few more things are now configable, so we are closer to win32
2203         shared library builds. Not there yet, but closer.
2205 2002-01-31 21:00  dan
2207         * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2208         include/parrot/pmc.h: First step in dynamically loading PMC classes
2210 2002-01-31 19:38  dan
2212         * Makefile.in: Dependencies in the Makefile are currently too broad
2213         brush.  I don't enjoy waiting for everything to recompile every
2214         time I try to tweak the jit. The only file that #includes
2215         jit_struct.h is jit.c, so I feel that the Makefile dependencies
2216         should reflect this, and not cause a gratuitous recompile of
2217         everything.  There are probably other auto-generated header files
2218         that world+dog should not depend on.
2220         Courtesy of  Nicholas Clark <nick@unfortu.net>
2222 2002-01-31 19:03  gregor
2224         * Makefile.in, lib/Parrot/Test.pm, t/harness:
2225         Added two new make targets:
2227           * testp: Like 'make test', but passes -P to t/harness, so you get
2228         to
2229             see how broken predereferencing is.
2231           * testj: Like 'make test', but passes -j to t/harness, so you get
2232         to
2233             see how broken JIT is.
2235         Now, anyone who wants to see how good all three ways of running are
2236         can do so, at the cost of about 3x the time.
2238 2002-01-31 17:09  brentdax
2240         * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2242 2002-01-31 03:41  grunblatt
2244         * docs/jit.pod: Update jit.pod
2246 2002-01-31 03:20  grunblatt
2248         * jit/i386/core.jit: Hold this until we get an assemble tool,
2249         because of the different objdump problems.
2251 2002-01-31 03:13  grunblatt
2253         * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2254         lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump.  Courtesy
2255         of: Jason Gloudon <perl@gloudon.com>
2257 2002-01-31 02:22  grunblatt
2259         * jit/i386/core.jit: Continue if the register is null
2261 2002-01-30 23:50  grunblatt
2263         * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2264         i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2265         sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2266         specific file.
2268 2002-01-30 23:35  mrjoltcola
2270         * io/io_win32.c: Change implementation of isatty on win32,
2271         suggested by Hong Zhang.
2273 2002-01-30 23:19  sfink
2275         * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2276         Op::may_jump boolean method.
2278         Replaced jit2h's hardcoded pattern match to decide what ops might
2279         change the control flow.
2281 2002-01-30 22:13  dan
2283         * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2284         parrot to mostly-build with tcc.  It allows one to skip compiling
2285         the JIT stuff (by specifying --define jitcapable=0), and it
2286         introduces a test program which gives a friendlier error in this
2287         case for compilers which are as picky as tcc is about function
2288         pointer conversion.
2290         If anyone figures out the proper way to cast these function
2291         pointers this may not be necessary.
2293         Courtesy of Josh Wilmes <josh@hitchhiker.org>
2295 2002-01-30 20:54  dan
2297         * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2298         Here's an update to docs/running.pod to better reflect the current
2299         state (both the test_parrot and assemble.pl improvements, plus
2300         documentation of a few more things.) And also a speling fiks
2301         s/POST_MORTERM/POST_MORTEM/.
2303         I could also replace some "perl foo" calls with "./foo" if someone
2304         wanted to set the executable flag in CVS on assemble.pl,
2305         optimize.pl, etc.
2307         Courtesy of Steve Fink <steve@fink.com>
2309 2002-01-30 20:43  dan
2311         * core.ops: find_global doesn't work, so stub out the wrong code
2313 2002-01-30 19:08  dan
2315         * lib/Parrot/Assembler.pm:  fixes the POD in Parrot::Assember so
2316         that perldoc
2317          can read it and just tidies it up generally. It also adds
2318         documentation
2319          for the constantize_integer and constantize_number functions.
2321         Courtesy of Simon Glover <scog@roe.ac.uk>
2323 2002-01-30 18:02  dan
2325         * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2326         classes/genclass.pl, classes/pmc2c.pl,
2327         languages/scheme/Scheme/Test.pm:  Many of the Perl scripts in the
2328         distribution (including assemble.pl !)
2329          can no longer find the Parrot::* modules. Enclosed patch fixes
2330         (although
2331          it would be nice if there were an easier way to do this).
2333         Courtesy of  Simon Glover <scog@roe.ac.uk>
2335 2002-01-30 16:00  mrjoltcola
2337         * io/io_win32.c: Correct function calls for win32_fdopen and arg
2338         types.
2340 2002-01-30 15:50  mrjoltcola
2342         * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2344 2002-01-30 15:42  grunblatt
2346         * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2347         files around
2349 2002-01-30 15:38  grunblatt
2351         * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2352         the manifest,  and also puts it back into alphabetical order.
2354         Courtesy of: Simon Glover <scog@roe.ac.uk>
2356 2002-01-30 14:41  nicholas
2358         * embed.c: Patch from Simon Glover to clean up warnings where
2359         prototype is () not (void)
2361 2002-01-30 13:54  nicholas
2363         * include/parrot/embed.h, test_main.c: Add void as an explicit
2364         parameter in test_main.c's usage(), version(void) and embed.h's
2365         Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2366         warning: function declaration isn't a prototype
2368 2002-01-30 12:08  simon
2370         * lib/Parrot/.cvsignore:
2371         Ignore generated Perl modules.
2373 2002-01-30 12:07  simon
2375         * t/harness:
2376         Run the PMC tests as well.
2378 2002-01-30 12:04  simon
2380         * MANIFEST:
2381         Fix MANIFEST after recent t/pmc rejig.
2383 2002-01-30 11:42  simon
2385         * lib/Parrot/Test.pm:
2386         Report non-zero exit codes.
2388         Courtesy of: Michael G Schwern <schwern@pobox.com>
2390 2002-01-30 11:39  simon
2392         * t/op/rx.t:
2393         Skip final test, TODO doesn't work yet.
2395 2002-01-30 09:54  brentdax
2397         * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2398         predereferencing works.
2400 2002-01-30 09:38  brentdax
2402         * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2403         subsystem.
2405 2002-01-30 09:37  brentdax
2407         * include/parrot/embed.h: Fix a mistake, clear up a warning.
2409 2002-01-30 09:37  brentdax
2411         * config_h.in: Expose another flag for embedders.
2413 2002-01-30 05:07  jgoff
2415         * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2416         location for Parrot/, and t/harness wasn't able to run the new
2417         op/pmc tests. Both problems fixed, so I think I'm going to declare
2418         the build suitable for public consumption.
2420 2002-01-30 04:34  robert
2422         * docs/Makefile.in: update for CVS movement
2424 2002-01-30 04:32  robert
2426         * Makefile.in: Adjust for CVS reorganization.  (This time, edit the
2427         .in file, not the real Makefile)
2429 2002-01-30 04:20  robert
2431         * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2432         vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2433         related to moving files around
2435 2002-01-30 04:10  robert
2437         * MANIFEST: Update MANIFEST to reflect CVS reorg.
2439 2002-01-30 04:07  robert
2441         * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2443 2002-01-30 03:56  robert
2445         * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2446         OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2447         Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2448         Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2449         Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2450         Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2451         OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2452         PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2453         lib/Parrot/
2455 2002-01-30 03:46  robert
2457         * languages/miniperl/miniperlc: renamed to mpc
2459 2002-01-30 03:45  robert
2461         * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2462         pmc_perlstring.t: Moved to t/op/pmc/
2464 2002-01-30 03:40  robert
2466         * include/parrot/register_funcs.h: Renamed to regfuncs.h
2468 2002-01-30 03:14  jgoff
2470         * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2471         Fixed some problems with PerlArray and added tests.  Previously,
2472         only integers could be accessed by negative indices.  After this
2473         change, all basic types can be accessed by negative indices, and
2474         they can also be set at negative indices.
2476 2002-01-29 22:13  brentdax
2478         * TODO: Just look at the stupid diff.
2480 2002-01-29 21:53  simon
2482         * TODO, docs/vtables.pod:
2483         New TODO, and tiny addition to vtables.pod
2485 2002-01-29 21:47  mrjoltcola
2487         * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2489 2002-01-29 21:38  mrjoltcola
2491         * Makefile.in: Makefile.in tweak for io depend.
2493 2002-01-29 21:15  brentdax
2495         * embed.c: Fix a segfault and some profiling formatting nits.
2497 2002-01-29 20:54  brentdax
2499         * pmc.c: Oops.
2501 2002-01-29 20:50  brentdax
2503         * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2504         segfaults.
2506 2002-01-29 20:17  mrjoltcola
2508         * interpreter.c, core.ops, io.ops: CVS missed this.
2510 2002-01-29 20:17  mrjoltcola
2512         * io/io.c: These should have gone in Sunday with the rest. CVS is
2513         out to get me.
2515 2002-01-29 18:39  brentdax
2517         * platforms/win32.h: Fix Win32 whoops.
2519 2002-01-29 18:29  brentdax
2521         * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2523 2002-01-29 17:51  simon
2525         * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2526         include/parrot/embed.h, include/parrot/parrot.h:
2527         Embedding support. Cool.
2529         Courtesy of: <brentdax@cpan.org>
2531 2002-01-29 15:40  grunblatt
2533         * Configure.pl: Detect if we can use "objdump".  Courtesy of: Jason
2534         Gloudon <perl@gloudon.com>
2536 2002-01-29 14:42  simon
2538         * include/parrot/parrot.h:
2539         Platform stuff has to be included *after* system headers.
2541 2002-01-29 14:05  grunblatt
2543         * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2544         Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2545         lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2546         jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2547         support for SPARC.  Courtesy of: Jason Gloudon <perl@gloudon.com>
2549 2002-01-29 10:56  simon
2551         * platforms/generic.h:
2552         If we don't have a S_ISREG, produce something close to it.
2554 2002-01-29 06:01  dan
2556         * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2558 2002-01-29 04:38  jgoff
2560         * classes/array.pmc: Forgot to remove some C++-isms from the
2561         get_{foo}_index routines.
2563 2002-01-29 04:26  jgoff
2565         * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2566         classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2567         t/pmc/array.t: Added array class that languages other than perl can
2568         use for a basis.  It has no features like preextension, and the
2569         array index starts at 0.
2571         MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2572         and classes/Makefile.in - Added array.pmc to the makefile.
2573         (Assuming rules like .pmc.o are portable (or even possible) I might
2574         alter classes/Makefile.in to autobuild the appropriate files.
2576 2002-01-29 02:32  dan
2578         * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2579         lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2580         lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2581         t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2582             Update to Test::More 0.41 which adds Test::Builder
2584             Delete the vestigal Test::Utils
2586             Change Parrot::Test so it uses Test::Builder instead of Evil
2587         Wrappers
2588             around Test::More
2590             output_* now returns whether the test passes or fails
2592             Parrot::Test no longer exports Test::More's functions.  Instead
2593         they
2594             can simply be used together.  The few tests which used
2595         Test::More
2596             features (ie. skip) have 'use Test::More' added.
2598             I ditched the export_to_level() crutch.  Do we expect parrot to
2599         work on
2600             5.004?  (literally 5.004, not 5.004_04)
2602         Courtesy of Michael G Schwern <schwern@pobox.com>
2604 2002-01-28 21:04  dan
2606         * docs/overview.pod:  There is no opcodes.pod; I'm assuming the
2607         pointer should actually be to
2608          parrot_assembly.pod, as the canonical documentation.
2610         Courtesy of Simon Glover <scog@roe.ac.uk>
2612 2002-01-28 20:21  dan
2614         * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2615         clone[inps]
2617 2002-01-28 19:18  dan
2619         * core.ops, register.c: clone[insp] is dead
2621 2002-01-28 17:46  grunblatt
2623         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2624         jit/i386/core.jit: Fix to make the jit work in linux yet again.
2626 2002-01-28 16:45  dan
2628         * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2629         the requirement for fink at the moment.
2631 2002-01-28 15:59  simon
2633         * test_main.c:
2634         People might try and run a directory file, with spectacular
2635         results.  We don't want that. No.
2637 2002-01-28 14:58  doughera
2639         * core.ops: Avoid C++-style comments.
2641 2002-01-28 14:16  grunblatt
2643         * jit.c, io/io.c: Changed jit.c to fit the way registers are
2644         accessed.  Readded the pio_(stdin|stdout|stderr) to make builds
2645         work again.
2647 2002-01-28 13:47  doughera
2649         * include/parrot/register.h: Avoid C++-style comment.
2651 2002-01-28 06:03  dan
2653         * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2654         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2655         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2656         docs/parrot_assembly.pod, include/parrot/interpreter.h,
2657         include/parrot/parrot.h, include/parrot/regfuncs.h,
2658         include/parrot/register.h, include/parrot/register_funcs.h,
2659         include/parrot/string.h, include/parrot/string_funcs.h: Registers
2660         are now stored in the interpreter structure itself, rather than
2661         just a pointer to the top of the register structure. Pushes and
2662         pops now involve memcpys, but register access has one fewer
2663         dereference.
2665         Fails four of the register stack tests, though, so not perfect.
2666         Needs fixing, but this is a good place to start.
2668 2002-01-28 04:40  mrjoltcola
2670         * test_main.c: cvs commit missed this. ??
2672 2002-01-28 04:27  mrjoltcola
2674         * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2675         include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2676         io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2677         interpreter now (at least in theory).  IO handle array added.  Misc
2678         bug fixes in layer handling.  Changed any IO_ constants to PIO_ so
2679         we don't conflict         with system libraries.  Still have broken
2680         stuff in win32 and stdio layer.
2682 2002-01-28 04:01  mrjoltcola
2684         * include/parrot/chartype.h: Typo in chartype.h include guard.
2686 2002-01-28 03:41  mrjoltcola
2688         * t/op/interp.t: Fix flag for interp so we don't get "info"
2689         messages which break tests.
2691 2002-01-28 01:54  dan
2693         * include/parrot/string.h: A few more buffer/string flags
2695 2002-01-27 11:33  nicholas
2697         * chartypes/unicode.c: Cast unsigned argument to int in call to
2698         isdigit to silence gcc warning.
2700 2002-01-26 23:18  grunblatt
2702         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2703         off that flag.
2705 2002-01-26 23:17  grunblatt
2707         * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2708         jit/i386/core.jit: [no log message]
2710 2002-01-26 22:18  simon
2712         * jit/i386/core.jit:
2713         Jumping to 0x0 is a recipe for segfaults.
2715 2002-01-26 18:35  simon
2717         * t/harness:
2718         Allow user to select which tests to harness
2720         Courtesy of: Nicholas Clark <nick@unfortu.net>
2722 2002-01-26 17:20  grunblatt
2724         * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2725         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2726         to make the jit work in linux again.
2728 2002-01-26 16:52  dan
2730         * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2731         headers can't cope with this. Darwin-only
2733 2002-01-26 16:04  dan
2735         * include/parrot/parrot.h: Quick note to remind folks that this
2736         isn't the file they're looking for if they're writing extensions or
2737         embedding parrot.
2739         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2741 2002-01-26 00:41  mrjoltcola
2743         * MANIFEST: Oopsy.
2745 2002-01-26 00:37  mrjoltcola
2747         * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2748         Turoff
2750 2002-01-25 01:31  grunblatt
2752         * jit/alpha/core.jit: There is no neg or fneg.
2754 2002-01-25 01:27  grunblatt
2756         * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2757         lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2758         jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2759         t/op/number.t: Added Parrot_neg.  Erase t.s
2761 2002-01-24 23:26  dan
2763         * interpreter.c: Best make sure unused elements are NULL
2765 2002-01-24 23:24  dan
2767         * interpreter.c: Fix stupid thinko
2769 2002-01-24 18:37  doughera
2771         * Makefile.in: Add a few missing dollar signs in the lifetest
2772         section so that ${exe} and the like get properly interpolated.
2774 2002-01-24 18:15  mrjoltcola
2776         * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2777         for io.ops file. Add reference to it in parrot.pod.  Courtesy of
2778         Simon Glover <scog@roe.ac.uk>
2780 2002-01-24 06:43  mrjoltcola
2782         * io/io_stdio.c: Oops.
2784 2002-01-24 06:34  mrjoltcola
2786         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2787         of work on the buffering layer.  Decided to use shared read/write
2788         buffer (as do most implementations) for now since its the simplest
2789         way to keep everything synced, (flush on seeks, flush read on
2790         writes, etc.)
2792 2002-01-24 03:38  mrjoltcola
2794         * test_main.c: Cleaned up option handling code a bit for main().
2796 2002-01-23 23:22  dan
2798         * interpreter.c, include/parrot/interpreter.h,
2799         include/parrot/resources.h: Now each interpreter gets its own hash
2800         for globals.
2802 2002-01-23 20:45  dan
2804         * Configure.pl: Fix a warning when there's no - in an architecture
2806 2002-01-22 23:57  grunblatt
2808         * docs/running.pod: [no log message]
2810 2002-01-22 20:29  doughera
2812         * KNOWN_ISSUES: long doubles don't work on SPARC either.  It
2813         appears to be a generic problem (if sizeof(long double) >
2814         sizeof(double)), not an x86-specific one.
2816 2002-01-22 16:57  doughera
2818         * runops_cores.c: Change variable name from time to starttime to
2819         avoid gcc warning about variable name shadowing.
2821 2002-01-22 16:55  doughera
2823         * classes/pmc2c.pl: Include class_init prototype too.
2825 2002-01-22 16:01  doughera
2827         * MANIFEST: [no log message]
2829 2002-01-22 01:04  ajgough
2831         * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2832         classes/parrotpointer.pmc, classes/perlarray.pmc,
2833         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2834         classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2835         include/parrot/global_setup.h: Patch from Nick Clark to quieten
2836         warnings from pmc files.  Message-ID:
2837         <20020121224719.GE1726@Bagpuss.unfortu.net>
2839 2002-01-22 00:53  ajgough
2841         * test_main.c: Clears up a couple of warnings in test_main.c.
2842         Thanks to Nick Clark.  Message-ID:
2843         <20020121190457.GB1726@Bagpuss.unfortu.net>
2845 2002-01-22 00:47  ajgough
2847         * string.c, chartypes/unicode.c, chartypes/usascii.c,
2848         include/parrot/chartype.h: Cause all codepoints to be treated as
2849         UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2850         Nick Clark, see also: Message-ID:
2851         <20020121214137.GC2371@Bagpuss.unfortu.net> )
2853 2002-01-22 00:24  dan
2855         * key.c: We do mandate an ANSI conformant C compiler, don't we?
2857         Appended patch cures these warnings:
2859         key.c: In function `debug_key': key.c:29: warning: int format,
2860         INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2861         3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2862         warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2863         format, INTVAL arg (arg 4)
2865         Courtesy of Nicholas Clark <nick@unfortu.net>
2867 2002-01-21 12:41  mrjoltcola
2869         * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2870         be clock skew.
2872 2002-01-21 06:37  mrjoltcola
2874         * io/io.c: Cleanup a warning
2876 2002-01-21 06:28  mrjoltcola
2878         * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2879         io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2880         ops. Various other IO twiddlings.
2882 2002-01-21 03:25  grunblatt
2884         * Makefile.in: Use $jitcpuarch instead of $cpuarch.  Thanks to
2885         Melvin Smith for the catch up.
2887 2002-01-20 23:13  sfink
2889         * stacks.c: Fixed logic errors, need tests
2891 2002-01-20 22:17  brentdax
2893         * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2894         prepare for /i to work.
2896 2002-01-20 20:52  grunblatt
2898         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2899         jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2900         Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2901         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2902         lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2903         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2904         Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2905         include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2906         jit/alpha/string.jit:
2907         - Added support for ALPHA, by now linux and bsd.
2909         - Reduced jit2h.pl execution time by precompiling the call to the
2910         unimplemented op.
2912         - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2913         Parrot/Jit/${cpuarch}Generic.pm
2915         - Changed the way to detect quads to what is written in "man
2916         perlfunc".
2918 2002-01-20 17:23  brentdax
2920         * rx.ops: There's no such thing as rx_allocateinfo.
2922 2002-01-19 08:26  brentdax
2924         * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2926 2002-01-19 07:12  mrjoltcola
2928         * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2929         into io.ops, leave the STDIO wrappers        in core.ops until they
2930         disappear.  Added debug op for switching on VM debug flag
2932 2002-01-19 01:55  mrjoltcola
2934         * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2935         io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2937 2002-01-19 00:55  brentdax
2939         * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2940         include/parrot/rxstacks.h: Add regex-specific stacks for
2941         efficiency.
2943 2002-01-18 23:58  dan
2945         * Configure.pl: I think the optimal fix here is simply to remove
2946         -ansi -pedantic.  -ansi may well have some uses, but even the gcc
2947         man pages say "There is no reason to use this option [-pedantic];
2948         it exists only to satisfy pedants."
2950         Courtesy of Andy Dougherty <doughera@lafayette.edu>
2952 2002-01-18 23:23  dan
2954         * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2955         docs/running.pod, which lists the various executables Parrot
2956         currently includes, examples of running them, and mentions of where
2957         they fail to work. It's more of a cry for help than a useful
2958         reference. :-) I've been having trouble recently when making
2959         changes in figuring out whether I broke anything, because any
2960         non-default way of running the system seems to be already broken. I
2961         can't tell what brokenness is expected and what isn't.
2963         Courtesy of  Steve Fink <steve@fink.com>
2965 2002-01-15 22:13  brentdax
2967         * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2968         substring use and enhance performance.
2970 2002-01-15 21:03  ajgough
2972         * string.c: Fix problem with string_transcode, &dest not being
2973         updated if src was already in desired encoding.
2975 2002-01-15 16:54  brentdax
2977         * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2978         warnings.  Leaves only one warning, at rx.ops line 409, that I
2979         can't manage to get rid of.
2981 2002-01-15 16:50  dan
2983         * pbc2c.pl: Pointer arithmetic not quite right in the generated
2984         code.  Also patches pbc2c.pl to work with rx.ops.
2986         Courtesy of Jason Gloudon <perl@gloudon.com>
2988 2002-01-15 16:15  dan
2990         * classes/Makefile.in: All the C files in classes/ weren't being
2991         compiled with an of the gcc warnings flags. With this patch they
2992         are, and there are an awful lot of warnings, more than I could hope
2993         to understand and clear up (within any sensible time period before
2994         submitting a rash of patches, by which time everyone else would
2995         have moved the code on)
2997         Courtesy of Nicholas Clark <nick@unfortu.net>
2999 2002-01-15 16:10  dan
3001         * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
3002         Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
3003         lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3004         Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3005         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3006         lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3007         chartypes/usascii.c: This patch adds a few more macros for .ops
3008         files to use. In addition to the existing
3010          goto OFFSET(...)
3011          goto ADDRESS(...)
3012          goto POP()
3013          goto NEXT()
3015         it adds
3017          expr OFFSET(...)
3018          expr ADDRESS(...)
3019          expr POP()
3020          expr NEXT()
3022         This is intended mainly for use in helper functions in .ops files,
3023         but also for ops that need to eg push the address of the next
3024         opcode onto a stack. The only place this currently happens (outside
3025         of my private code) is in the bsr opcode, which previously
3026         hardcoded the computation.
3028         This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3029         higher in the generated file so that it can be used by static
3030         functions in the preamble.
3032         Finally, I ran into a parentheses matching problem -- should goto
3033         OFFSET(...) rewrite    \bgoto\s+OFFSET\((.*)\) or
3034         \bgoto\s+OFFSET\((.*?)\)
3036         It was done inconsistently for the different calculations, and of
3037         course neither are correct because you really want matching
3038         parentheses. But that seems like too much bother. (Currently,
3039         there's only one place that uses anything other than $n in the
3040         parentheses, and that's the enternative() op.) So I made them all
3041         .*? but emulated recent POD by also allowing (( ... )) (that's two
3042         parenthesis with a space padding the body.)
3044         The generated core_ops.c and core_ops_prederef.c files after this
3045         patch are identical except for the CUR_OPCODE and REL_PC macros
3046         getting moved a little higher, and the bsr in the regular path (not
3047         prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3049         In summary, this is a big wad of meaningless changes for the
3050         current code. But it will make adding some opcodes easier in the
3051         future, and cleans up a small nit in the current bsr.
3053         Courtesy of Steve Fink <steve@fink.com>
3055 2002-01-15 08:48  brentdax
3057         * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3058         sort of).
3060 2002-01-15 08:45  brentdax
3062         * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3064 2002-01-15 05:00  brentdax
3066         * rx.ops: Speed up rx_literal--roughly doubles benchmark
3067         performance.
3069 2002-01-14 20:18  dan
3071         * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3073         Courtesy of Nicholas Clark <nick@unfortu.net>
3075 2002-01-14 20:03  dan
3077         * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3078         global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3079         runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3080         chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3081         classes/parrotpointer.pmc, classes/perlarray.pmc,
3082         classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3083         classes/perlstring.pmc, classes/perlundef.pmc,
3084         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3085         encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3086         include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3087         io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3088         t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3089         patch cleans up most of the MSVC-warnings when using warning level
3090         4 (the highest, one above the default level 3). It turns off two
3091         level-4 warnings for 'unreferenced formal parameter' and 'named
3092         type definition in parentheses', the latter of which was turning up
3093         warnings in MS VC headers.  Level 4 warnings also helped me find a
3094         couple of other lurking bugs in the parrot code.
3096         Replaces the various fprintf/exit combos with calls to
3097         internal_exception, which uses var_args to emulate printf. Various
3098         exception types were added as well. These are probably temporary
3099         until a real exception system arrives.
3101         Fixed some places in the IO code where wrong functions were being
3102         called, or put into the vtable.
3104         Courtesy of "Michel Lambert" <mlambert@legendent.com>
3106 2002-01-14 19:00  dan
3108         * MANIFEST: D'oh! Forgot a file.
3110         Courtesy of Andy Dougherty <doughera@lafayette.edu>
3112 2002-01-14 18:44  brentdax
3114         * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3115         sense (and a few other enhancements to regexes).
3117 2002-01-14 07:07  brentdax
3119         * interpreter.c, runops_cores.c, test_main.c,
3120         include/parrot/interpreter.h: Make profiling a little more useful.
3122 2002-01-13 19:44  dan
3124         * Configure.pl: Turn off unsed things warnings for now
3126 2002-01-13 19:39  dan
3128         * key.c, classes/perlarray.pmc: key.c:   intialize KEY.keys
3130         classes/perlarray.c:  * get_string: is casting
3131         SELF->cache.struct_val to a STRING*,    while all other methods are
3132         using it as a KEY*; don't know    what a perlarray stringifies to,
3133         so replacing with NULL  * get_bool: the default behaviour does not
3134         look right to me
3136         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3138 2002-01-13 19:37  dan
3140         * Makefile.in, classes/Makefile.in: Makefile.in:   (Re)add ld_debug
3141         flags to LDFLAGS, so that Configure.pl --debugging   works with
3142         MSVC
3144         classes/Makefile.in   make easier to add pmb2c.pl flags to all
3145         pmc2c calls
3147         Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3149 2002-01-13 19:36  dan
3151         * io/io_win32.c:   according to my MSVC docs, you should use
3152         _tcslen only after
3153           #including tchar.h
3155         Courtesy of  "Mattia Barbon" <mbarbon@dsi.unive.it>
3157 2002-01-13 19:35  dan
3159         * docs/intro.pod: Doc tweak.
3161         Courtesy of Simon Glover <scog@roe.ac.uk>
3163 2002-01-13 19:34  dan
3165         * t/: op/pmc_perlstring.t, pmc/perlstring.t:  Enclosed test checks
3166         that
3168           if Px, ...
3170          works with PerlString PMCs; these should be false if they are "",
3171         0, or
3172          are undefined, and true in every other case.
3174         Courtesy of Simon Glover <scog@roe.ac.uk>
3176 2002-01-13 19:23  dan
3178         * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3179         NUMVAL_FMT to FLOATVAL_FMT.
3181         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3183 2002-01-13 17:45  jgoff
3185         * Makefile.in, global_setup.c, classes/Makefile.in,
3186         classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3187         t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3188         designing your own classes.
3190 2002-01-13 08:47  simon
3192         * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3193         lib/Parrot/OpTrans/CPrederef.pm:
3194         Fix bsr in prederef mode.
3196         Courtesy of: Jason Gloudon <perl@gloudon.com>
3198 2002-01-12 15:33  dan
3200         * interpreter.c, key.c, packfile.c, register.c, resources.c,
3201         string.c, encodings/singlebyte.c, encodings/utf32.c,
3202         include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3203         Silence most of the unused variable warnings.
3205         Courtesy of Nicholas Clark <nick@unfortu.net>
3207 2002-01-12 15:18  dan
3209         * rx.ops: This patch fixes a warning and also changes an 'int' to
3210         an 'INTVAL'.  All tests should pass on Solaris.
3212         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3214 2002-01-12 15:13  dan
3216         * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3217         examples/assembly/life.pasm, include/parrot/interpreter.h,
3218         include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3219         io/io_win32.c: More IO work. (Plus some misc twiddles)
3221         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3223 2002-01-12 01:14  dan
3225         * include/parrot/string.h: fix a missing name
3227 2002-01-12 00:39  grunblatt
3229         * include/parrot/string.h: Few typos.
3231 2002-01-12 00:16  grunblatt
3233         * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3234         that change the program control flow.
3236 2002-01-11 23:53  brentdax
3238         * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3239         ParrotPointer's guts.
3241 2002-01-11 23:03  dan
3243         * include/parrot/string.h: flags for the buffers, for GC
3245 2002-01-11 22:31  dan
3247         * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3249 2002-01-11 22:21  dan
3251         * include/parrot/pmc.h: Started with PMC flags
3253 2002-01-11 19:33  dan
3255         * config_h.in, memory.c, resources.c, string.c,
3256         include/parrot/resources.h: Beginnings of a memory allocation/gc
3257         system. Without the GC part.
3259 2002-01-11 18:05  dan
3261         * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3262         systems
3264         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3266 2002-01-11 17:50  dan
3268         * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3269         lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3270         a patch that makes pbc2c generated code work with the bsr opcode.
3271         It creates a new opcode 'enternative', and uses this to support a
3272         mixed model of interpretation and execution of compiled C code.
3274         Courtesy of Jason Gloudon <perl@gloudon.com>
3276 2002-01-11 17:48  dan
3278         * Makefile.in: Add life as a potential .exe target
3280 2002-01-11 17:30  dan
3282         * include/parrot/resources.h: Start of arena stuff for GC
3284 2002-01-11 05:34  brentdax
3286         * rx.ops: Docs modifications.
3288 2002-01-11 04:19  brentdax
3290         * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3291         regular expressions.
3293 2002-01-11 03:44  grunblatt
3295         * jit/i386/core.jit: off by one.
3297 2002-01-11 02:25  dan
3299         * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3301         Courtesy of Steve Fink <steve@fink.com>
3303 2002-01-11 00:32  brentdax
3305         * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3307 2002-01-10 23:22  ajgough
3309         * string.c, docs/strings.pod: Removed all the nul termination code,
3310         as this is in general a bad idea.  Note added to docs/strings.pod
3311         to warn people away from assuming termination.
3313 2002-01-10 23:14  dan
3315         * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3316         testparrotsizes_c.in, include/parrot/interpreter.h,
3317         include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3318         implementation
3320         Courtesy of Steve Fink <steve@fink.com>
3322 2002-01-10 22:48  dan
3324         * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3325         sizeof(INTVAL)
3327         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3329 2002-01-10 22:46  dan
3331         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3332         t/pmc/perlhash.t:  Well, actually two bugs.
3334          The first is an off-by-one error in key.c than can cause parrot
3335          to segfault if hash % NUM_BUCKETS happens to be zero.
3337          The other is a bug in the PerlHash init() code that causes new
3338         PerlHash
3339          PMCs to start with the wrong size.
3341          Both fixed below; also tests to prevent them recurring.
3343         Courtesy of Simon Glover <scog@roe.ac.uk>
3345 2002-01-10 22:30  dan
3347         * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3348         t/pmc/perlarray.t:  The enclosed patch allows one to use the if op
3349         with a PerlArray,
3351         Courtesy of Simon Glover <scog@roe.ac.uk>
3353 2002-01-10 21:31  dan
3355         * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3357 2002-01-10 20:30  grunblatt
3359         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3360         Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3361         lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3362         All the op codes that doesn't change the program control flow now
3363         work in the JIT by calling the code generated by the compiler when
3364         the op is not in core.jit TODO:     * Make all the ops that change
3365         the program control flow (and are not on core.jit) work.      *
3366         Remove the dispatch payload.
3368 2002-01-10 17:13  dan
3370         * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3371         which tries to return 0 from a void function.
3373         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3375 2002-01-10 17:12  dan
3377         * t/op/macro.t: Skip tests, don't comment them out.
3379         Courtesy of Simon Glover <scog@roe.ac.uk>
3381 2002-01-10 17:10  dan
3383         * rx.c: This fixes a couple of nits in rx.c:
3385            1. There's no newline at the end, which makes gcc unhappy.
3386            2. We should use NULL, not 0 or "", for creating null pointers.
3388         Courtesy of Simon Glover <scog@roe.ac.uk>
3390 2002-01-10 17:09  dan
3392         * MANIFEST:  Adds rx.t, removes duplicated rx.c and puts everything
3393         back in
3394          alphabetical order.
3396         Courtesy of Simon Glover <scog@roe.ac.uk>
3398 2002-01-10 16:54  ajgough
3400         * resources.c: Made free_string check that there was a string to
3401         free.  In reponse to a bug spotted by Joshua Nye.
3403 2002-01-09 22:44  dan
3405         * global_setup.c: Forgot the setup
3407 2002-01-09 22:35  dan
3409         * rx.ops: Forgot this one
3411 2002-01-09 22:35  dan
3413         * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3414         include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3415         Tests don't work, though.
3417         Courtesy of "Brent Dax" <brentdax@cpan.org>
3419 2002-01-09 21:48  dan
3421         * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3423 2002-01-09 21:22  dan
3425         * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3426         Generic pointer holder class
3428         Courtesy of "Brent Dax" <brentdax@cpan.org>
3430 2002-01-09 21:19  dan
3432         * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3433         patches.
3435 2002-01-09 19:54  dan
3437         * io/io_unix.c: Whoops. Forgot one
3439 2002-01-09 19:43  dan
3441         * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3442         t/pmc/perlhash.t: Fix hash crash bugs
3444         Courtesy of Simon Glover <scog@roe.ac.uk>
3446 2002-01-09 19:13  dan
3448         * memory.c: Signedness whoops.
3450         Courtesy of Simon Glover <scog@roe.ac.uk>
3452 2002-01-09 18:23  dan
3454         * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3455         io/io_stdio.c, io/io_win32.c: Changes:
3457         -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3458         will be using the   Win32 API and company rather than the unix-ish
3459         fake ones.  -stdin/stdout/stderr Win32 specific code added. Rather
3460         than use   0,1,2, Microsoft says use GetStdHandle(), etc. so that
3461         stuff is   there. Soon we should be able to start using these
3462         rather than   fprintf(stderr, ...) and remove stdio linkage.
3464         Courtesy of <mrjoltcola@mindspring.com>
3466 2002-01-09 17:26  dan
3468         * test_main.c: Fixes bad code gen on x86.
3470         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3472 2002-01-09 17:24  dan
3474         * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3475         classes/perlnum.pmc: This patch adds macros to the config.h file
3476         for INTVAL and NUMVAL printf formats.
3478         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3480 2002-01-08 22:55  ajgough
3482         * docs/vtables.pod: Clarify what get_string should do.
3484 2002-01-08 20:05  dan
3486         * key.c: Keep comments in sync.
3488         Courtesy of Simon Glover <scog@roe.ac.uk>
3490 2002-01-08 19:50  dan
3492         * memory.c, include/parrot/memory.h: Need a realloc
3494 2002-01-08 17:24  gregor
3496         * .cvsignore, Configure.pl, Makefile.in:
3497         Added 'reconfig' make target and corresponding --reconfig option to
3498         Configure.pl, so its very easy to re-run Configure.pl with the last
3499         (command-line) options you passed it.
3501 2002-01-08 16:33  dan
3503         * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3504         lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3505         in core.ops. Potential help for optimizers and JITters.
3507         Courtesy of gregor@linux1.kennedytech.com
3509 2002-01-08 16:32  dan
3511         * key.c: Grab key length from the right spot
3513         Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3515 2002-01-08 13:27  ajgough
3517         * test_main.c: Fix slight thinko in realloc usage for reading from
3518         stdin.
3520 2002-01-08 11:34  ajgough
3522         * test_main.c: Allow test_parrot to read bytecode stream from
3523         stdin, adds -f command line option, with "-f -" doing the stdin
3524         stuff.
3526 2002-01-08 06:34  jgoff
3528         * key.c, include/parrot/key.h: key.c - Added simple implementation
3529         of buckets.  include/parrot/key.h - Added enum_key_bucket type
3531 2002-01-08 03:21  jgoff
3533         * include/parrot/key.h: Added an undef type to the key structure,
3534         so we can delete keys without confusion.
3536 2002-01-07 22:09  dan
3538         * key.c, packfile.c, string.c, include/parrot/key.h,
3539         include/parrot/packfile.h, include/parrot/string.h: Fix whines
3540         about index being redefined
3542         Courtesy of Nick Clark
3544 2002-01-07 21:15  dan
3546         * ops2pm.pl: Don't allow the same ops lib to be included twice.
3548         Courtesy of Steve Fink <steve@fink.com>
3550 2002-01-07 20:48  dan
3552         * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3553         failures
3555         Courtesy of "Brent Dax" <brentdax@cpan.org>
3557 2002-01-07 20:43  dan
3559         * docs/intro.pod: Missing a comma
3561         Courtesy of "coral" <coral@eekeek.org>
3563 2002-01-07 20:41  dan
3565         * global_setup.c: Quiet a warning
3567         Courtesy of Simon Glover <scog@roe.ac.uk>
3569 2002-01-07 18:58  gregor
3571         * t/op/.cvsignore:
3572         Ignore intermediate test files.
3574 2002-01-07 17:01  gregor
3576         * ops2c.pl:
3577         Print a warning if an .ops file is mentioned more than once on the
3578         command line.
3580 2002-01-07 16:12  ajgough
3582         * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3583         these shouldn't fail.
3585 2002-01-07 15:15  simon
3587         * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3588         Stop segfaults.
3590 2002-01-07 15:11  simon
3592         * key.c:
3593         Fix zero-termination bug in hash function.
3595 2002-01-07 13:37  ajgough
3597         * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3598         pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3600 2002-01-07 11:53  brentdax
3602         * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3603         (:add{foo}) and a new deleting thing (:rem{foo})
3605 2002-01-07 11:43  simon
3607         * Configure.pl:
3608         Gobble the + before concatenating.
3610 2002-01-07 03:53  dan
3612         * Makefile.in: Dependency fix for new ops setup.
3614 2002-01-07 03:33  jgoff
3616         * classes/perlarray.pmc: Add negative indices, and fix a small
3617         allocation problem.
3619 2002-01-06 23:54  ajgough
3621         * hints/os2.pl: Makes the hints file take account of ldflags and
3622         ccflags being split.  This hints file is still very specific to
3623         builds with gnu tools, but a proper solution can wait.   Thanks to
3624         Nick Burch.
3626 2002-01-06 22:12  dan
3628         * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3629             -changes Parrot::OpLib::core's dependencies to reflect the new
3630         selectable ops files    -allows some of the special forms of 'goto'
3631         inside the PREAMBLE of an opcode file
3633         Courtesy of "Brent Dax" <brentdax@cpan.org>
3635 2002-01-06 19:59  simon
3637         * Makefile.in:
3638         *cough*
3640 2002-01-06 18:19  dan
3642         * classes/perlhash.pmc: Fix some type issues.
3644         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3646 2002-01-06 18:03  dan
3648         * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3649         for a list of opcode files to use.  The default is everything
3650         available except for obscure.ops.
3652         In addition, it makes it so that if your answer to a question
3653         starts with '+', it will concatenate it to the default.  For
3654         example:
3656         What C compiler do you want to use? [cl] +HAHAHA!!!
3658         will result in $PConfig{cc} eq "cl HAHAHA!!!".  While that example
3659         is not terribly useful, it is quite useful with things like
3660         command-line flags and the like.
3662         Finally, it contains a couple tweaks so that my syntax-highlighting
3663         editor recognizes some heredocs correctly.  :^)
3665         Courtesy of "Brent Dax" <brentdax@cpan.org>
3667 2002-01-06 17:59  dan
3669         * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3671         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3673 2002-01-06 17:58  dan
3675         * MANIFEST:  We're missing a couple of files from the MANIFEST.
3677         Courtesy of Simon Glover <scog@roe.ac.uk>
3679 2002-01-06 17:57  dan
3681         * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:   1.
3682         Compiler directives, etc. in files other than core.ops will now
3683         work.   2.  Compiler warnings will now display the file and line
3684         number of the  opcode file.
3686         Courtesy of "Brent Dax" <brentdax@cpan.org>
3688 2002-01-06 17:52  dan
3690         * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3692         Courtesy of Simon Glover <scog@roe.ac.uk>
3694 2002-01-06 17:36  dan
3696         * docs/intro.pod: Lots of updates
3698         Courtesy of Simon Glover <scog@roe.ac.uk>
3700 2002-01-06 02:34  gregor
3702         * interpreter.c:
3703         Add some internal documentation on the theory of operation of the
3704         prederef code.
3706 2002-01-06 02:17  gregor
3708         * interpreter.c:
3709         Removed unnecessary include.
3711 2002-01-05 12:37  simon
3713         * classes/.cvsignore:
3714         Ignore generated .h files.
3716         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3718 2002-01-05 12:37  simon
3720         * Configure.pl:
3721         Make lcc happier by adding a dummy structure.
3723         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3725 2002-01-05 12:35  simon
3727         * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3728         Make perlundef work. (And coincidentally stop segfaults in the
3729         tests :)
3731         Courtesy of: Jason Gloudon <perl@gloudon.com>
3733 2002-01-05 04:59  dan
3735         * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3737 2002-01-05 04:55  jgoff
3739         * classes/perlhash.pmc: Added perlhash class definition
3741 2002-01-05 04:48  dan
3743         * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3745         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3747 2002-01-05 03:57  jgoff
3749         * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3750         vtable.tbl, classes/Makefile.in, classes/default.pmc,
3751         include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3752         t/pmc/pmc.t: Initial hash commit.
3754         core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3755          key.h  - Adding NUM_BUCKETS classes/default.pmc - Adding
3756         set_{integer,number,string}_index_s
3758         This does not yet do collision resolution, but will soon.
3760 2002-01-05 02:54  dan
3762         * interpreter.c: More unsigned fixes
3764         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3766 2002-01-04 22:13  dan
3768         * Configure.pl, hints/mswin32.pl: Makes config's building of the
3769         test programs happier.
3771         Courtesy of "Jason Diamond" <jason@injektilo.org>
3773 2002-01-04 19:00  dan
3775         * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3776         separate things
3778 2002-01-04 18:27  dan
3780         * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3781         Fixes to get things configuring and building on Win32 Native.
3783         Courtesy of "Jason Diamond" <jason@injektilo.org>
3785 2002-01-04 17:39  dan
3787         * hints/vms.pl: debug cleanup
3789 2002-01-04 16:53  dan
3791         * docs/parrot.pod:  The enclosed patch brings the list of
3792         documentation in parrot.pod
3793          up to date.
3795         Courtesy of Simon Glover <scog@roe.ac.uk>
3797 2002-01-04 16:47  dan
3799         * test_main.c, Parrot/Jit/i386-linux.pm,
3800         lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3801         off warnings..
3803         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3805 2002-01-04 16:44  dan
3807         * Configure.pl, Makefile.in: Fixed linking to use linker.
3809         Courtesy of Josh Wilmes <josh@hitchhiker.org>
3811 2002-01-04 16:39  dan
3813         * io/io_stdio.c: Added CVS tag info
3815 2002-01-04 16:35  dan
3817         * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3818         isn't it
3820 2002-01-04 16:26  dan
3822         * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3823         Tokenizer test
3825         Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3827 2002-01-04 16:17  dan
3829         * chartypes/unicode.c: Silence some warnings.
3831         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3833 2002-01-04 16:09  dan
3835         * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3836         perlstring.pmc, perlundef.pmc:  - genclass.pl attempts to put $Id$
3837         into generated files
3838            but the $Id$ string gets mangled when it's committed.
3839            This patch fixes the existing .pmc files and fixes genclass.pl.
3841          - Makes capitalization in .pmc header match actual filenames
3843          - The command for calling genclass.pl in vtables.pod is incorrect,
3844            since it assumes you're running in classes/ but genclass.pl
3845         assumes
3846            it's being run from the main directory. I changed genclass.pl to
3847         not
3848            care.
3850         Courtesy of Steve Fink <steve@fink.com>
3852 2002-01-04 03:57  dan
3854         * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3855         me--I *had* the files:wq!
3857 2002-01-04 03:40  dan
3859         * MANIFEST: Whoops--remove files not really there
3861 2002-01-04 03:37  dan
3863         * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3864         my sig adds a new_stack() function to take care of the allocation
3865         and setup of "generic" stacks.
3867         Courtesy of "Brent Dax" <brentdax@cpan.org>
3869 2002-01-04 02:36  dan
3871         * core.ops:  The entry in core.ops for puts(s|sc) is missing a =cut
3872         and so
3873          writes a load of junk in core_ops.pod. Applied patch fixes.
3875         Courtesy of Simon Glover <scog@roe.ac.uk>
3877 2002-01-04 02:35  dan
3879         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3880         logical-or is using get_integer instead of get_bool for logical
3881         operations. This patch corrects that.
3883         Perlnum and perlstring have working get_bool's, so the default
3884         logical_or and logical_and should be sufficient. The empty methods
3885         are pointed to the default logical_or.
3887         Courtesy of Jason Gloudon <perl@gloudon.com>
3889 2002-01-04 02:31  dan
3891         * Makefile.in: docs/Makefile should be removed by realclean, but
3892         isn't
3894         Courtesy of Kevin Falcone <kevin@jibsheet.com>
3896 2002-01-04 02:29  dan
3898         * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3900         Courtesy of Steve Fink <steve@fink.com>
3902 2002-01-04 00:51  dan
3904         * docs/vtables.pod: More docs
3906         Courtesy of Steve Fink <steve@fink.com>
3908 2002-01-04 00:47  dan
3910         * Configure.pl: Updated 64-bit patch
3912         Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3914 2002-01-04 00:43  dan
3916         * Configure.pl: 64-bit Fix.
3918         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3920 2002-01-03 22:37  dan
3922         * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3923         io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3924         some buffering work.       Additional work on other layers.
3926         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3928 2002-01-03 19:41  gregor
3930         * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3931         Updated copyright messages on top-level files.
3933 2002-01-03 04:23  robert
3935         * make.pl: Add author information.  Bonsai test.
3937 2002-01-03 04:02  dan
3939         * io/io_os.c: Twig Bonsai
3941 2002-01-03 03:45  dan
3943         * io/: io_os.c, io_os.c: Twig Bonsai
3945 2002-01-03 03:41  dan
3947         * io/io_os.c: Twig Bonsai
3949 2002-01-02 21:42  gregor
3951         * packfile.c, include/parrot/packfile.h:
3952         Get rid of warnings in packfile.[hc]
3954 2002-01-02 20:39  gregor
3956         * manicheck.pl:
3957         Bracketed translated patterns with ^ and $.
3959 2002-01-02 20:11  dan
3961         * io/io_os.c: silence a warning
3963 2002-01-02 19:52  grunblatt
3965         * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3966         op_assembly to jit_struct.h, so that we get the real number of ops.
3967          Removed some warnings.
3969 2002-01-02 19:31  tom
3971         * string.c: Fix string transcoding so that it actually works.
3973         Patch from Peter Gibbs <peter@emkel.co.za>
3975 2002-01-02 19:20  gregor
3977         * manicheck.pl:
3978         A program to check the MANIFEST file, accounting for .cvsignore
3979         files.
3981 2002-01-02 19:19  dan
3983         * t/harness: twig bonsai
3985 2002-01-02 19:13  dan
3987         * t/harness: twig bonsai
3989 2002-01-02 18:54  dan
3991         * t/harness: Tweak to test Bonsai
3993 2002-01-02 16:27  dan
3995         * Configure.pl: Allow 64-bit build of parrot on systems with a
3996         mixed 32/64 bit perl
3998         Courtesy of David M. Lloyd <dmlloyd@tds.net>
4000 2002-01-02 15:33  simon
4002         * MANIFEST, docs/Makefile:
4003         Fixed up MANIFEST. (And I removed the Makefile in docs/)
4005         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4007 2002-01-02 13:51  simon
4009         * Configure.pl:
4010         Die on broken manifest.
4012 2002-01-02 13:48  simon
4014         * jit2h.pl, examples/assembly/mops.pasm:
4015         Clear up JIT warnings.
4017         Courtesy of: Nick Clark <nick@unfortu.net>
4019 2002-01-02 04:10  dan
4021         * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4022         only once, so new interp creation works again
4024         Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4026 2002-01-02 03:32  dan
4028         * t/op/interp.t: Stubbed the test out, since it's hanging at the
4029         moment.
4031 2002-01-02 00:55  dan
4033         * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4034         io/io_os.c: Initial IO system patches
4036         Courtesy of <mrjoltcola@mindspring.com>
4038 2002-01-01 22:55  ajgough
4040         * classes/default.pmc: On second thoughts, and some prodding, the
4041         set_* methods now only set the appropriate part of the cache, and
4042         do nothing else.
4044 2002-01-01 22:29  ajgough
4046         * classes/default.pmc:  Wrote a whole host of default pmc methods.
4048          set_* create appropriate Perl* result.
4049          get_* simply grabs needed bit of cache.*_val
4051          Other methods do the rightest thing I can think of, at the moment.
4053          None yet cope with overflow, the modulus operation needs to be
4054         checked as
4055         I don't know quite which semantics we really want.
4057         Not tested yet.
4059 2002-01-01 20:23  dan
4061         * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4062         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4063         rid of unneeded tmp var and eliminated const from encode prototype
4064         since it does make changes to the string.
4066         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4068 2002-01-01 20:11  dan
4070         * Makefile.in: Make clean now tosses pdump.o
4072         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4074 2002-01-01 19:49  dan
4076         * pdump.c, test_main.c: Warnings cleanup
4078         Courtesy of Josh Wilmes <josh@sky.net>
4080 2002-01-01 19:45  dan
4082         * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4083         hints/mswin32.pl, languages/jako/Makefile.in,
4084         languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4085         platforms
4087         Courtesy of "Jason Diamond" <jason@injektilo.org>
4089 2002-01-01 19:41  dan
4091         * include/parrot/register.h: Clean up some warnings
4093         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4095 2002-01-01 19:10  simon
4097         * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4098         Hack-around to enable compilation of code using vtable ops.
4100 2002-01-01 18:43  dan
4102         * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4103         checks on unsigned things
4105         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4107 2002-01-01 18:26  dan
4109         * runops_cores.c: More warning silences.
4111         Courtesy of Nicholas Clark <nick@unfortu.net>
4113 2002-01-01 18:25  dan
4115         * trace.c: Shuts up a warning.
4117         Courtesy of Nicholas Clark <nick@unfortu.net>
4119 2002-01-01 18:24  dan
4121         * encodings/singlebyte.c: Clean up some warnings.
4123         Courtesy of Nicholas Clark <nick@unfortu.net>
4125 2002-01-01 18:20  dan
4127         * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4128         thunk it?
4130         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4132 2002-01-01 18:17  dan
4134         * packfile.c: Warning cleanup
4136         Courtesy of Nicholas Clark <nick@unfortu.net>
4138 2002-01-01 17:53  dan
4140         * string.c: New string size should be based on output encoding's
4141         size, not input encoding's size.
4143         Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4145 2002-01-01 17:22  dan
4147         * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4148         string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4149         include/parrot/interpreter.h, include/parrot/memory.h,
4150         include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4151         Warnings fixups.
4153         Courtesy of Chip Turner <cturner@redhat.com>
4155 2002-01-01 17:09  dan
4157         * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4158         encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4159         now unsigned, as is proper.
4161         Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4162         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4164 2002-01-01 16:59  dan
4166         * include/parrot/trace.h: Useless debugging prototype removed
4168         Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4170 2002-01-01 16:58  dan
4172         * MANIFEST: We forgot a file.
4174         Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4176 2002-01-01 03:53  dan
4178         * Configure.pl: Okay, I give. Removed some warnings because the
4179         darned system headers were triggering them. Sloppy, sloppy
4180         coding...
4182 2002-01-01 03:48  dan
4184         * config_h.in: Add in an unsigned INTVAL.
4186         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4188 2002-01-01 03:46  dan
4190         * global_setup.c: Clean up some compiler warnings.
4192         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4194 2002-01-01 03:43  dan
4196         * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4197         lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4198         include/parrot/op.h: Cleaned up some things to make the compiler
4199         happier.
4201         Courtesy of Nicholas Clark <nick@unfortu.net>
4203 2002-01-01 03:14  dan
4205         * Configure.pl: Quad updates.
4207         Courtesy of Nicholas Clark <nick@unfortu.net>
4209 2001-12-31 22:53  dan
4211         * include/parrot/op.h: Typedef had parameters backwards. Threw
4212         core.ops for a big whiny warnings loop.
4214 2001-12-31 22:37  dan
4216         * Makefile.in, resources.c: Tweaks to try and get things to build
4217         in the right order.
4219 2001-12-31 21:58  dan
4221         * Configure.pl: Stupid thinko fix
4223 2001-12-31 21:34  dan
4225         * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4227         Courtesy of: "Jason Diamond" <jason@injektilo.org>
4229 2001-12-31 21:32  dan
4231         * Configure.pl: Fix for non-gcc systems
4233 2001-12-31 20:22  dan
4235         * interpreter.c: Tweak so we can build on non-JIT platforms
4237 2001-12-31 20:11  dan
4239         * Configure.pl: Force the time on some copied files to be 'now' to
4240         make the Win builds much less annoying.
4242         Courtesy of "Jason Diamond" <jason@injektilo.org>
4244 2001-12-31 20:07  dan
4246         * Configure.pl: Nuke all object files in the parrot tree that
4247         matter when configuring.  Shouldn't be necessary with good
4248         dependencies in the makefile, but we don't have those yet.
4250 2001-12-31 20:00  gregor
4252         * chartypes/unicode.c:
4253         Silence unused variable warnings.
4255 2001-12-31 19:40  dan
4257         * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4259 2001-12-31 19:37  gregor
4261         * interpreter.c, jit.c, include/parrot/jit.h:
4262         Created a prototype for JIT functions and used it in interpreter.c.
4264 2001-12-31 19:31  dan
4266         * Configure.pl, test_gnuc.c: Better GCC detection (and version
4267         detection) with really cranky warnings if we find we're using it.
4269         Courtesy of: Nicholas Clark <nick@unfortu.net>
4271 2001-12-31 18:01  gregor
4273         * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4275         Fixed a few warnings wrt prototypes, etc.
4277 2001-12-31 17:23  dan
4279         * string.c: Silenced most of the compiler whines
4281 2001-12-31 17:15  gregor
4283         * Configure.pl:
4284         Get the ccname from either ccname or just cc config var.
4286 2001-12-31 17:14  gregor
4288         * Parrot/Op.pm, lib/Parrot/Op.pm:
4289         Another intermediate opbody notation. Could come in handy. Explicit
4290         types.
4292 2001-12-31 17:05  dan
4294         * string.c: Minor warnings update
4296 2001-12-31 17:00  dan
4298         * include/parrot/string.h: Warnings cleanup
4300 2001-12-31 16:00  simon
4302         * encodings/utf8.c, include/parrot/encoding.h:
4303         Remove a couple more.
4305 2001-12-31 15:58  simon
4307         * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4308         include/parrot/op.h:
4309         Rid ourselves of a few warnings.
4311 2001-12-31 15:32  dan
4313         * Configure.pl: Made GCC ever so much pickier.
4315         Switch list courtesy of Jarkko.
4317 2001-12-31 15:22  dan
4319         * string.c: Tightened up initial allocation.
4321         Courtesy of:  "Peter Gibbs" <peter@emkel.co.za>
4323 2001-12-31 06:48  dan
4325         * Configure.pl: Minor Windows tweak
4327 2001-12-31 05:32  dan
4329         * core.ops: Unused temp variable tossed.
4331         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4333 2001-12-31 05:09  grunblatt
4335         * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4336         supported plataforms
4338 2001-12-31 03:05  dan
4340         * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4341         platform-independent quote substitution for the makefiles.
4342         Hopefully this'll make the Win32 builds happier.
4344 2001-12-30 21:08  dan
4346         * string.c, include/parrot/string.h: More string system tweaks.
4348         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4350 2001-12-30 20:45  dan
4352         * core.ops: Some pod cleanup
4354         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4356 2001-12-30 20:22  ajgough
4358         * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4359         we aren't using them right now.  Clarified the workings of set Px,
4360         Py and clone Px, Py.
4362 2001-12-30 20:15  grunblatt
4364         * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4365         Added readjit() to read *.jit files Updated core.jit to the new
4366         set_n_i
4368 2001-12-30 20:14  ajgough
4370         * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4372 2001-12-30 19:52  dan
4374         * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4375         include/parrot/trace.h, platforms/generic.c: Compiler whine
4376         cleanups
4378         Courtesy of Josh Wilmes <josh@hitchhiker.org>
4380 2001-12-30 19:13  dan
4382         * Configure.pl, Makefile.in: Make GCC pickier by default.
4384         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4386 2001-12-30 18:41  dan
4388         * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4389         ntoi opcodes to sets.
4391         Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4393 2001-12-30 17:58  gregor
4395         * Makefile.in:
4396         'make' no longer builds the mops test. Use 'make mops' for that. To
4397         run the test, you can do 'make mopstest'.
4399 2001-12-30 17:30  gregor
4401         * Makefile.in:
4402         Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4403         Gregor.
4405 2001-12-30 17:26  gregor
4407         * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4408         core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4409         Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4410         lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4411         Build enhancements. Originally to support building shared
4412         libraries, but now of broader impact.
4414           * .cvsignore: Ignore the blib/ directory, about which more later.
4416           * Configure.pl:
4418               * Got rid of TAB formatting and lined a few things up.
4420               * Added header comment with CVS Id variable, and a few other
4421                 block header comments.
4423               * Uses new Parrot::BuildUtil module to determine the Parrot
4424                 version.
4426               * Reworded a few messages, added a couple, and wrapped
4427         messages
4428                 to 79 columns.
4430               * Added 2002 to the Copyright statement.
4432               * Added new configure variables: VERSION, MAJOR, MINOR and
4433         PATCH
4435               NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4436         greater
4437               than 5.6.0, but the comment implies it isn't.
4439           * Makefile.in:
4441               * Added $(SO), $(A) and $(AR_CRS) defines for library
4442         building.
4444               * Added $(RM_RF) define for removing directory trees
4446               * Grouped generated files into two classes: "sticky" (made by
4447         configure,
4448                 persisting across 'make clean') and 'fluid' (made during
4449         the build
4450                 process, deleted by 'make clean').
4452               * Added header comments.
4454               * Added target for test_prog linked with shared library.
4456               * Added rules to build shared libraries in blib/lib. The
4457         libraries are
4458                 built with trailing version numbers in their file names,
4459         and then
4460                 symbolic links are created for shorter and no version tag
4461         variants.
4463               * Added some missing dependencies
4465               * Added some missing 'make clean' targets.
4467               * Added 'make realclean' target that deletes files created by
4468                 Configure.pl (including Makefile), forcing a re-configure.
4470               * Added a 'status' CVS target.
4472           * VERSION: New file, contains only the version. This version
4473         number is
4474             propagated to a few places, such as the core oplib version
4475         number. This
4476             reduces the amount of coordination that has to happen to get
4477         version
4478             number stuff throughout the tree in sync and updated prior to
4479         cutting
4480             a new release. Feel free to grep for '0.0.3' to see the other
4481         files
4482             that contain the version number (but, do that in a fresh CVS
4483         copy, or
4484             after doing 'make realclean').
4486           * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4487         PARROT_*_VERSION,
4488             since the oplib and Parrot itself share a version number now.
4489         Added
4490             PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4491         (a
4492             string).
4494           * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4495         of
4496             specifying the version by hand. Non-core oplibs will set this
4497         to
4498             a quoted dot-string with three natural number components
4499         without
4500             leading zeros.
4502           * interpreter.c: Make use of PARROT_VERSION to simplify some
4503         sprintf()s, and
4504             to get the complete version number in the resulting strings
4505         (including the
4506             new PATCH portion).
4508           * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4509         the
4510             generated file.
4512           * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4514           * ops2c.pl: Account for the PATCH version, too. This affects the
4515         name of the
4516             oplib init function, and the oplib info struct initializer.
4518           * Parrot/BuildUtil.pm: New file for reading in and validating the
4519         contents of
4520             the new VERSION file. Other build utilities could go here in
4521         futuer.
4523           * Parrot/OpsFile.pm:
4525               * Allow three components in version number, and require that
4526         the value
4527                 be in double quotes.
4529               * Allow "VERSION = PARROT_VERSION", substituting the shared
4530         Parrot
4531                 VERSION in that case.
4533           * include/parrot/oplib.h: Add the patch_version member.
4535 2001-12-30 12:16  simon
4537         * MANIFEST, Makefile.in:
4538         More stuff forgotten from MANIFEST.
4540 2001-12-30 12:13  simon
4542         * MANIFEST:
4543         Missing JIT file.
4545 2001-12-30 12:12  simon
4547         * jit2h.pl:
4548         Safety first.
4550 2001-12-30 12:12  simon
4552         * Makefile.in:
4553         Gragh.
4555 2001-12-30 12:04  simon
4557         * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4558         classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4559         encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4560         include/parrot/string.h, t/op/string.t:
4561         * Expand the strings test suite to be more complete * Make string
4562         commands more consistent (i.e, now the only string command that
4563         actually changes the original is chopn) * Significantly reduce the
4564         number of memory allocations and eliminate reallocations.
4566         Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4568 2001-12-29 22:12  dan
4570         * interpreter.c, key.c, register.c, stacks.c, string.c,
4571         test_main.c, trace.c: Updates to match the coding standards.
4573         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4575 2001-12-29 20:42  grunblatt
4577         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4578         Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4579         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4580         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4581         us to write asm in *.jit files instead of hex.  Courtesy of: Rafael
4582         Kitover <caelum@debian.org>
4584 2001-12-28 21:20  dan
4586         * core.ops: Okay, now print takes a preceding file handle.
4588         I feel so dirty now.
4590 2001-12-28 20:46  dan
4592         * core.ops, t/op/hacks.t: Added in the readline op, as well as
4593         changing the open op to use fopen under the hood.
4595         THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4597 2001-12-28 18:20  ajgough
4599         * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4600         classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4601         include/parrot/exceptions.h, include/parrot/string.h,
4602         t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4603         repeat op, so that "foo" x 10 can be done.  Filled in PerlString
4604         vtables appropriately.  Also tests for same, new pmc_perlstring.t
4605         to hold tests specific to PerlStrings, as the pmc.t file is taking
4606         too long to run and slowing down my thought processes.
4608         Changes to strings.c etc to take string functions.
4610         Some changes to the strings docs, but not yet complete.
4612         Also, PerlString was copying pointers to strings, rather than
4613         strings themselves, so some action-at-a-distance bugs were creeping
4614         in, I think I've fixed this so everything works nicely.
4616 2001-12-28 04:56  gregor
4618         * examples/assembly/pmcmops.pasm:
4619         PMC-using version of mops.pasm.
4621         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4623 2001-12-28 04:56  gregor
4625         * examples/assembly/.cvsignore:
4626         Small tinkering. Removed old stuff, etc.
4628 2001-12-28 01:26  gregor
4630         * examples/mops/mops.scheme:
4631         Scheme example. Major GC thrashing on umb-scheme here. Probably due
4632         to the very un-scheme-like implementation.
4634 2001-12-28 01:19  gregor
4636         * examples/mops/mops.c:
4637         Some people's picky compilers don't like us redefineing time(), so
4638         we call it time_n().  :)
4640 2001-12-28 00:28  gregor
4642         * examples/mops/: README, mops.ps:
4643         Added a PostScript example and a README.
4645 2001-12-27 23:57  gregor
4647         * Makefile.in:
4648         Build the C mops translation in examples/mops/mops.c
4650 2001-12-27 23:56  gregor
4652         * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4653         Some translations of mops.pasm into other languages, for inner loop
4654         performance comparisons.
4656 2001-12-27 22:40  gregor
4658         * examples/assembly/mops.pasm:
4659         Fixed erroneous file name in header comment.
4661 2001-12-27 21:18  gregor
4663         * pbc2c.pl:
4664         One-liner to avoid no-op gotos to the next op.
4666 2001-12-27 21:06  gregor
4668         * runops_cores.c:
4669         Fixed -p (profiling). Slow runops core was doing unconditional
4670         tracing, when it should have been checking the flags.
4672 2001-12-27 18:50  ajgough
4674         * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4675         classes/perlstring.pmc, include/parrot/chartype.h,
4676         include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4677         dded get_digit() to chartypes  * Added string_bool() to strings  *
4678         Added if_s_ic op, to use same  * Added (PerlString)->get_bool stuff
4679         to perlstring.pmc  * Tests for above, also a for couple of other
4680         ops without tests
4682         The unicode chartype has only had placeholders added for get_digit,
4683         string_to_num has been updated to use type->get_digit rather than
4684         the previous ascii-isms.  Some remain, but we need to carefully
4685         define what we mean by a number before we let thousands of code
4686         points act as a minus sign.
4688 2001-12-27 18:32  dan
4690         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4691         compiler warnings.
4693         Courtesy of "David  Jacobs" <jacobsl001@hawaii.rr.com>
4695 2001-12-27 18:23  dan
4697         * t/op/bitwise.t: More tests.
4699         Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4701 2001-12-27 17:08  gregor
4703         * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4704         make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4705         trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4706         include/parrot/interpreter.h, include/parrot/oplib.h,
4707         lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4708         platforms/win32.c, platforms/win32.h:
4709         Initial code for dynamic loading of oplibs, applied for now to the
4710         loading of the core_prederef oplib when the -P flag is passed to
4711         test_parrot.
4713           * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4715           * Makefile.in:
4717               * Added libcore_prederef_0_3.so to the shared target.
4718               * Added build rule for libcore_prederef_0_3.so.
4719               * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4720                 to Parrot/OpLib/core.pm, core_ops.c and
4721                 core_ops_prederef.c.
4723           * config_h.in: Added defines for constants used to locate the
4724             core oplib's init function, and the core_prederef oplib for
4725             dynaloading.
4727           * core.ops: Added a VERSION = 0.3 line near the top. This is now
4728             required by Parrot/OpsFile.pm.
4730           * interpreter.c:
4732               * Added init_prederef() and stop_prederef() functions to load
4733                 and unload the core_prederef oplib when we are in prederef
4734                 mode.
4736                 NOTE: In all likelihood, the prederef stuff has a rapidly
4737                 dwindling time-to-live. The JIT should provide vastly
4738         superior
4739                 performance, and loading an alternate set of core_ops isn't
4740                 the real direction for the dynaloading stuff. Loading
4741                 *additional* ops is. It does provide a handy test case for
4742         the
4743                 general idea for now, though.
4745               * Gets the core copcode table, etc. via the core oplibs oplib
4746                 info pointer, as returned by the core oplib's init
4747         function.
4749           * ops2c.pl
4751               * Make use of the version, major version and minor version
4752                 stuff parsed by Parrot/OpsFile.pm
4754               * The only exported symbol in the generated files is the init
4755                 function now, since that returns an oplib info struct
4756                 pointer, and all the important stuff can be found there.
4758           * ops2pm.pl: Put the oplib version in the generated .pm file.
4760           * test_main.c: Small changes necessitated by changes in the names
4761             of some members of the interpreter struct.
4763           * trace.c: Small changes necessitated by changes in the names
4764             of some members of the interpreter struct.
4766           * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4767             ops are found.
4769           * include/parrot/interp_guts.h: Small changes necessitated by
4770             changes in the names of some members of the interpreter struct.
4772           * include/parrot/interpreter.h: Include the new
4773             include/parrot/oplib.h header. Small changes to the oplib-
4774             related members.
4776           * include/parrot/oplib.h: Define the type of the oplib init
4777             function, and the struct type for the oplib info.
4779           * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4780             since not all platforms have it. For those that do, a default
4781             second argument is provided.
4783 2001-12-26 05:12  gregor
4785         * Configure.pl:
4786         Make jitarch calculation not get tripped up by extra components to
4787         archname.
4789 2001-12-24 21:23  gregor
4791         * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4792         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4793         include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4794         jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4795         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4796         Some more JIT work from Daniel Grunblatt.
4798           * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4799         to C
4800             functions.
4802           * Added JUMP(END) to place the number of bytes to the end of the
4803         current
4804             op.
4806           * The *.jit files syntax changed.
4808           * Added jit/i386/lib.jit to place handly functions as jump that
4809         take as
4810             argument the address where is the opcode number to jump to.
4812           * There is a bug at some point, but I will start writing
4813             jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4814         have use
4815             calls, which make the jit as slow as the interpreter.
4817         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4819 2001-12-24 03:46  dan
4821         * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4822         Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4823         lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4824         lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4825         Perls before 5.6.0 don't like it.
4827 2001-12-22 16:02  ajgough
4829         * t/op/stacks.t: stopped skipping tests we can run now.  added
4830         clonep tests.
4832 2001-12-21 21:13  gregor
4834         * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4835         Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4836         lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4837         Fixed some package name goofs.
4839         Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4841 2001-12-21 19:32  gregor
4843         * MANIFEST, Makefile.in, core.ops, interpreter.c,
4844         make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4845         pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4846         Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4847         lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4848         Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4849         Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4850         include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4851         lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4852         Changes to syntax of .ops files and refactoring of ops2c*.pl and
4853         pbc2c.pl.
4855           * Removed ops2c-prederef.pl
4857           * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4859           * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4860             functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4861             for old functionality of ops2c-prederef.pl), and
4862             Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4864             "OpTrans" == "Op Transformation"
4866           * Makefile.in modifications to call "ops2c.pl C" where it used
4867             to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4868             to be "ops2c-prederef.pl".
4870           * core.ops and obscure.ops changes to syntax. Semantics are
4871             identical with previous version:
4873               return HALT         -->  HALT()
4874               return AUTO         -->  goto NEXT()
4875               return RETREL(...)  -->  goto OFFSET(...)
4876               return RESTART(*)   -->  restart NEXT()
4878             Also, pop_generic_entry() stuff (local var + 5 lines of code)
4879             for dest-less branch ops replaced with new notation "goto
4880         POP()",
4881             which uses the new pop_dest() function in stacks.c. This also
4882             allowed these ops to become 'inline' ops, since they no longer
4883             have local variables.
4885             The 'ret' op also became simplified to just "goto POP()", and
4886             also became an inline op.
4888           * interpreter.c reflects the change in type name:
4890               prederef_op_func_t   -->  op_func_prederef_t
4892             that occurred in include/parrot/op.h
4894           * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4895             "return AUTO".
4897           * ops2c.pl is now generic. Its first argument is the last
4898             package name component of a subclass of Parrot::OpTrans. These
4899             subclasses all have full names of the form Parrot::OpTrans::*.
4900             An instance of the class is created and later consulted for
4901             various bits of information needed to generate the C code.
4903           * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4904             contain its transformation rules.
4906           * stacks.c has a new function pop_dest() that pops a destination
4907             off the control stack. include/parrot/stacks.h has the
4908         prototype.
4910           * Parrot/Op.pm now supports the syntax generated by
4911         Parrot::OpsFile
4912             for the "goto POP" case.
4914             Also, the source() method now expects its second argument to be
4915             an object that ISA Parrot::OpTrans. Methods of this object are
4916             called to perform the substitutions.
4918           * Parrot/OpsFile.pm supports the change in notation mentioned
4919             above.
4921           * docs/intro.pod reflects these changes.
4923           * include/parrot/op.h: Renamed type prederef_op_func_t to
4924             op_func_prederef_t because it made the implementation of the
4925             shared ops2c.pl easier.
4927 2001-12-21 13:47  gregor
4929         * Configure.pl, config_h.in, interpreter.c, test_main.c:
4930         Both test_parrot (via test_main.c) and the intepreter itself (via
4931         interpreter.c) use the JIT_CAPABLE config to decide whether to
4932         actually attempt JIT operation, or to complain.
4934 2001-12-20 23:25  gregor
4936         * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4937         lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4938         Changes to the format of *.ops files. An attempt to provide hints
4939         for future opfunc processing logic that wants to know if an opfunc
4940         is simple enough to JIT (e.g.) inline, or not.
4942         See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4943         addition to The Source in core.ops and Parrot/OpsFile.pm for more
4944         info.
4946 2001-12-20 21:28  gregor
4948         * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4949         jit/i386/core.jit:
4950         More JIT stuff:
4952           * A fix to Gregor's last Configure.pl update.
4954           * Remove the need for hardcoded "\n" at the end of the "%f"
4955             format for printing floating-point numbers.
4957           * New, improved *.jit syntax for references to registers,
4958             e.g. INT_REG[n].
4960           * Support for C() improved.
4962         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4964 2001-12-20 16:55  dan
4966         * MANIFEST: Added jit.c to the manifest.
4968 2001-12-20 15:24  simon
4970         * jit2h.pl:
4971         Off-by-one error fixed.
4973 2001-12-20 14:18  simon
4975         * jit/i386/core.jit:
4976         Just a noop. It's the only machine code I know.
4978 2001-12-20 13:10  gregor
4980         * Configure.pl, Makefile.in, jit2h.pl:
4981         Attempt to fix Win32 builds.
4983           * No more empty braces in include/parrot/jit_struct.h
4985         Also:
4987           * ${jitarchname} has the *bsd -> bsd substitution on it, but
4988         ${archname}
4989             does not.
4991 2001-12-20 11:56  simon
4993         * Makefile.in:
4994         De-cp
4996 2001-12-20 01:57  gregor
4998         * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4999         jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
5000         Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
5001         include/parrot/.cvsignore, include/parrot/interpreter.h,
5002         include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
5003         lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5004         lib/Parrot/Jit/i386-nojit.pm:
5005         Initial JIT implementation.
5007           * Enabled with test_parrot -j. 20x speed boosts seen.
5009           * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5011           * More to come.
5013         Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5015 2001-12-20 01:53  jgoff
5017         * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5018         core.ops - Removed key operators, they should be hidden from the
5019         assembler.  t/op/key.t - No need to test the nonexistent key
5020         operators.
5022 2001-12-20 00:13  ajgough
5024         * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5025         that asking for type of entry at depth causes segfault as stack is
5026         zero based, fixed cmp in core.ops to reflect this.  Last test is
5027         skipped as we don't do exceptions right yet.
5029 2001-12-19 19:11  ajgough
5031         * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5032         non-being was causing Irix "issues".
5034 2001-12-19 03:37  jgoff
5036         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5037         004_combined.t: Changed tests to make sure they pass with the
5038         addition of the clone operator.
5040 2001-12-18 20:06  gregor
5042         * interpreter.c, include/parrot/interp_guts.h:
5043         Performance improvements to the predereferencing code path
5044         suggested to me over lunch yesterday by my friend John Kennedy.
5045         The goal is to remove the additional test in the inner loop that
5046         was checking for NULL to decide whether or not to call the
5047         prederef() function. Also moved pc & pc_prederef syncing outside
5048         the inner loop.
5050           * Changed the prototype of the prederef() function in
5051             interpreter.c to match that of an opfunc.
5053           * Instead of initializing the prederef void * array with NULL,
5054             we initialize it with pointers to prederef().
5056           * prederef() now returns the prederef_pc passed in, so that
5057             after predereferencing, the same location is executed, but now
5058             with the real code being called.
5060         Thanks to: John Kennedy
5062 2001-12-18 19:59  ajgough
5064         * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5065         (including some more in the skipped string -> int tests).
5067 2001-12-18 07:06  jgoff
5069         * MANIFEST: Forgot to add classes/perlarray.pmc
5071 2001-12-18 07:05  jgoff
5073         * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5074         classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5075         classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5076         classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5077         t/pmc/pmc.t: Big update...  Makefile.in - Added
5078         classes/perlarray.pmc core.ops - Added new series of set() ops for
5079         arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5080         Added perlarray.pmc classes/*.pmc - Added
5081         set_{integer,number,string}_index and
5082         get_{integer,number,string}_index include/parrot/pmc.h - Added new
5083         type t/op/pmc.t - Added basic array test
5085         classes/perlarray.pmc - Added
5087 2001-12-17 05:29  jgoff
5089         * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5090         generator to use clone operator instead of set Px,Py
5092 2001-12-17 05:25  jgoff
5094         * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5095         classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5096         PMC,PMC operator. Uses the clone() vtable entries.
5098 2001-12-17 04:51  jgoff
5100         * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5101         entry
5103 2001-12-17 04:41  jgoff
5105         * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5106         directory...
5108 2001-12-17 04:41  jgoff
5110         * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5112 2001-12-17 04:39  jgoff
5114         * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5115         Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5116         t/
5118 2001-12-17 04:27  jgoff
5120         * languages/miniperl/Miniperl.pm: Latest version of the driver.
5121         Admittedly it's a little thin on true OO, but the algorithms are
5122         the key.
5124 2001-12-17 04:24  jgoff
5126         * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5127         003_generator.t, 004_combined.t: Much more comprehensive test suite
5128         for the codegen et al
5130 2001-12-17 04:22  jgoff
5132         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5133         Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5134         key handling
5136 2001-12-17 04:20  jgoff
5138         * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5139         more comprehensive.
5141 2001-12-17 04:17  jgoff
5143         * languages/miniperl/foo.mpl: Test file that'll be outdated by
5144         changes to the new compiler
5146 2001-12-17 04:11  jgoff
5148         * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5149         files to Miniperl/
5151 2001-12-16 14:11  simon
5153         * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5154         t/pmc/pmc.t:
5155         Fix bogus assumption that multiplying an integer by an integer
5156         yields an integer.
5158 2001-12-16 12:48  simon
5160         * make_vtable_ops.pl:
5161         Fixed op exploder.
5163 2001-12-16 12:45  simon
5165         * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5166         Expand multimethod vtable ops.
5168 2001-12-16 12:04  simon
5170         * Makefile.in:
5171         Added 'cvsclean' which doesn't zap CVS/* directories.
5173 2001-12-15 01:50  dan
5175         * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5176         indeed!
5178         Thanks to grunblatt fom #parrot for the catch
5180 2001-12-15 01:39  dan
5182         * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5183         languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5184         languages/miniperl/Makefile.in,
5185         languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5186         languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5187         tweaks.
5189         Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5191 2001-12-14 17:39  dan
5193         * t/op/trans.t: More trans tests.
5195         Courtesy of: Simon Glover <scog@roe.ac.uk>
5197 2001-12-14 07:41  robert
5199         * make.pl: - define MAKE macro - topological sort and subgraph
5200         order - start of timestamp stuff   (still badly broken)
5202 2001-12-14 06:06  jgoff
5204         * optimizer.pl: Hopefully this should do the trick..
5206 2001-12-14 06:04  jgoff
5208         * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5210           optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5212           The optimizer performs its work on a file post-macro expansion.
5213           Run it on a .pasm file, preferably with some trivially reducible
5214         operations
5215           like 'add I0,5,-6' or 'mul I0,I1,0'
5217 2001-12-14 05:48  robert
5219         * Makefile.in: case error EXE -> exe
5221 2001-12-14 05:42  robert
5223         * Makefile.in: remove legacy PDISASM macro
5225 2001-12-14 04:01  dan
5227         * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5228         better Win building
5230         Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5232 2001-12-13 22:03  dan
5234         * Configure.pl, Makefile.in, Parrot/Test.pm,
5235         languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5236         lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5237         can change it without having to change the world.
5239 2001-12-13 21:57  dan
5241         * core.ops, interpreter.c, docs/parrot_assembly.pod,
5242         include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5243         file/line/package to interp structure, with ops to get and set
5244         them. Now we can know where we are!
5246 2001-12-13 19:43  dan
5248         * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5249         WinXP builds work out of the box
5251 2001-12-13 17:05  dan
5253         * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5254         name again--makes case-insensitive systems much happier.
5256 2001-12-13 16:21  dan
5258         * core.ops, key.c, string.c, test_main.c, trace.c,
5259         classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5260         compiler warnings
5262         Courtesy of: Josh Wilmes <josh@sky.net>
5264 2001-12-13 13:33  gregor
5266         * languages/jako/Makefile.in:
5267         Improved the method of calling the assembler.
5269 2001-12-13 13:30  gregor
5271         * languages/jako/Makefile.in:
5272         Improve the build process. It now works from the main parrot dir,
5273         and from the languages/jako directory. Now uses the .SUFFIXES
5274         target and generic build rules to reduce clutter in the
5275         Makefile.in.
5277 2001-12-13 13:29  gregor
5279         * languages/jako/.cvsignore:
5280         Ignore the (now generated Makefile), and don't ignore .list files
5281         anymore, since we aren't generating them.
5283 2001-12-13 13:11  gregor
5285         * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5286         languages/Makefile.in, languages/jako/Makefile,
5287         languages/jako/Makefile.in:
5288         Added a 'languages' target to the top-level Makefile.in, and
5289         modified the jako build procedure to involve Makefile.in -->
5290         Makefile too (done by Configure.pl).
5292         NOTE: languages/jako and language/scheme are built.
5293         languages/miniperl wasn't building right, so it was left off for
5294         now.
5296 2001-12-13 12:15  gregor
5298         * MANIFEST:
5299         Added MAINTAINER file and mandelzoom.jako from languages/jako to
5300         the MANIFEST.
5302 2001-12-13 12:12  gregor
5304         * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5305         ops2c-prederef.pl, ops2c.pl, test_main.c,
5306         include/parrot/interp_guts.h, include/parrot/interpreter.h,
5307         include/parrot/op.h, include/parrot/oplib/.cvsignore:
5308         Welcome to the Just-in-Time Predereferencing Patch!
5310         This patch implements a "predereferencing" mode for parrot. That
5311         means that a lot of the dereferencing you see in DO_OP and in the
5312         opfuncs is done up front (really, JIT) rather than as and each time
5313         we execute each op in the byte code stream.
5315         This works by creating an array of void pointers with the same
5316         number of elements as the byte code array. This array starts out
5317         life zero-initialized.  Each time we go to execute an op, we check
5318         first to see if we have a NULL pointer at *cur_opcode. If so, we
5319         know we haven't done our predereferencing yet (this is the JIT
5320         part), so we call the prederef() function with sufficient args that
5321         it can go look up opfunc pointers and op arg types and put the
5322         opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5323         where N is the number of args (counting the op itself as one arg).
5325         We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5326         to have inline INTVAL constants.
5328         I've been getting about a 22% speed increase over vanilla code path
5329         when I compile with -O0. Advantage decreases at -O9 here. I tested
5330         with mops.pbc, and also by temporarily putting the -P flag in
5331         Parrot/Test.pm and running all the tests. So, this code is as
5332         correct as the test suite can detect.
5334         Here's how it plays out in the code:
5336           * New script ops2c-prederef.pl
5338             Copy-paste code reuse from ops2c.pl. Modified to expect the
5339         args to give
5340             a void ** cur_opcode and to return a void **.
5342           * Modified ops2c.pl
5344               * opfuncs are now static. Who needs to call them by name from
5345         outside,
5346                 anyway? They are accessed via the opfunc table.
5348               * Some MACRO stuff to make things work whether we prederef or
5349         not. It
5350                 may be possible to get rid of these some day if other folks
5351         agree
5352                 that we should be using CODE object pointers + offsets as
5353         our PC
5354                 rather than raw pointers to either opcode_t's or (void *)'s
5355                 (depending on prederef mode or no).
5357           * core.ops modified to be usable to build both kinds of opfuncs.
5358         For now,
5359             this means:
5361               * calls to push_generic_entry(... cur_opcode ...) were
5362         changed to
5363                 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5364         a
5365                 macro that does the right thing in both kinds of ops.c
5366         files.
5368                 This is applicable to the bsr op. If we treated
5369         destinations as
5370                 (Code PMC + local offset) rather than as
5371         pointer-to-memory-somewhere,
5372                 this wouldn't be a big deal. We may need to do that at some
5373         point
5374                 anyway, so that when you jump around and return not only do
5375         you have
5376                 the right PC (pointer, today), but you also have the
5377         thread/interpreter
5378                 knowing what chunk of bytecode it is in at all times
5379         (assuming we'll
5380                 allow reflection, as in ops that query or affect the
5381         current CODE PMC).
5383               * runinterp was modified. Instead of copying the top-level
5384         PackFile struct
5385                 and blasting its byte_code pointer, we simply call runops
5386         on the new
5387                 interp, passing in the pointer to the current interp's code
5388         and the
5389                 offset into that code at which to start (this last arg used
5390         to be a
5391                 pointer PC, now its an offset PC).
5393           * include/parrot/op.h
5395               * new typedef for prederef opfuncs (they return void **)
5397           * include/parrot/interp_guts.h
5399               * New DO_OP_PREDEREF() macro described above.
5401           * include/parrot/interpreter.h
5403               * New prototype of runops() -- see below.
5405               * resume_addr field changed to resume_flag and resume_offset
5406         pair of fields.
5407                 We might be resuming from interp using prederef to one not
5408         or vice-versa,
5409                 so pointers between the two don't play nice together.
5410         Offsets are beautiful.
5412               * New PARROT_PREDEREF_FLAG constant
5414           * interpreter.c
5416               * include "parrot/oplib/core_ops_prederef.h"
5418               * prederef() function described above.
5420               * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5421         macro as its core.
5423               * runops() modified to take size_t CODE-relative offset PC
5424         rather than
5425                 pointer PC. This made other things workable and doesn't
5426         seem to have lost
5427                 anything important (IMO).
5429           * test_main.c
5431               * New flag '-P' to enable predereferencing.
5433           * Makefile modified to build core_ops_prederef.c from core.ops
5434         via
5435             ops2c-prederef.pl.
5437             BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5439             Added core_ops_prederef$(O) to O_FILES
5441 2001-12-13 12:12  gregor
5443         * languages/jako/MAINTAINER:
5444         Thought it would be nice to put this right in the code...
5446 2001-12-13 04:36  jgoff
5448         * languages/miniperl/Miniperl/Generator.pm: Commented out
5449         debugging, fixed register spillover algorithm
5451 2001-12-13 04:23  jgoff
5453         * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5454         line) Restructured a bit of the dependency generator to fix a
5455         different obob bug.
5457 2001-12-13 03:43  robert
5459         * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5461 2001-12-13 03:03  jgoff
5463         * make.pl: Added make.pl
5465 2001-12-13 02:44  jgoff
5467         * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5468         replacement in perl.  Non-compliant bits - Takes absolutely -NO-
5469         special flags...                     - Dies on undefined macros
5470         such as $(PDISASM) in current make                     - Dies on
5471         recursive macro expansions                       (Doesn't test for
5472         mutual or multipart loops)                     - In general it
5473         seems to be a little less lenient...  Missing bits - File
5474         mod/creation times aren't being looked at              - Actions
5475         aren't being taken              - The few funky variables ($@, $<)
5476         aren't being dealt with Bugs - Line numbers are slipping a bit.
5478 2001-12-13 02:29  jgoff
5480         * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5481         Reconstructing files to make the parser flow a little better.
5483 2001-12-13 00:51  dan
5485         * resources.c: Be a bit less wasteful with resources that don't
5486         need to be aligned
5488 2001-12-12 18:22  dan
5490         * Makefile.in: D'oh! Fixed looping makefile bug.
5492         Courtesy of: "Jaen Saul" <jaen@saul.ee>
5494 2001-12-12 16:23  jgoff
5496         * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5498 2001-12-12 16:22  jgoff
5500         * MANIFEST: Manifest additions for languages/miniperl
5502 2001-12-12 16:19  jgoff
5504         * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5505         tests. These are left over from the Scheme suite and shouldn't be
5506         used yet.
5508 2001-12-12 16:18  jgoff
5510         * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5511         Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5512         modules. Miniperl/ is where the real work gets done.  t/ is largely
5513         vacant because it isn't ready to survive real tests yet.
5515 2001-12-12 16:17  jgoff
5517         * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5518         mpc: Final go-round, hopefully.
5520         languages/miniperl/Makefile - Used basically to run tests, as there
5521         is nothing                               here that needs to be
5522         dynamically built.  languages/miniperl/Miniperl.pm - Stub module
5523         that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5524         Sample miniperl file.  languages/miniperl/miniperlc - Miniperl
5525         compiler stub
5527 2001-12-12 16:09  dan
5529         * Configure.pl: Setting a variable with the make command name is
5530         useful.
5532 2001-12-12 15:07  simon
5534         * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5535         Recursive make considered "ow, don't do that".
5537 2001-12-12 14:45  dan
5539         * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5540         non-portable code) Killing builds on Win32 native. Small patch
5541         applied which hopefully fixes it.
5543 2001-12-12 06:12  ajgough
5545         * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5547 2001-12-12 06:08  ajgough
5549         * Makefile.in: perl is $(PERL).
5551 2001-12-12 06:00  ajgough
5553         * t/op/integer.t: Added tests to integer.t so that all permutations
5554         of arguments are actually called at some point.
5556 2001-12-12 05:18  ajgough
5558         * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5559          Tests for sleep i|ic
5561 2001-12-12 05:09  ajgough
5563         * t/op/stacks.t: Added pushp and popp register stack tests.
5565 2001-12-12 04:51  ajgough
5567         * t/op/stacks.t: Added tests for save and restore, for all register
5568         types.  Let there be Haiku.
5570 2001-12-12 04:27  ajgough
5572         * t/op/basic.t: bsr_i test.  You know you want it.
5574 2001-12-12 02:55  ajgough
5576         * MANIFEST: Added hints/os2.pl to MANIFEST.
5578 2001-12-12 02:52  jgoff
5580         * core.ops, key.c: Final checkin... These are actually the correct
5581         copies.
5583 2001-12-12 02:12  jgoff
5585         * include/parrot/key.h: key.c - Removed a few functions,
5586         generalized set_element_value and element_value         to accept
5587         KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5588         core.ops - Modified to accept the new return style.
5590         This is a prelude to adding virtual-table methods to allow hashing
5591         &c. Expect at least one or two more redesigns before this settles
5592         down. However, it still passes the original tests.
5594 2001-12-11 13:35  gregor
5596         * runops_cores.c:
5597         Fixed a typo.
5599 2001-12-11 12:03  gregor
5601         * .cvsignore:
5602         Don't ignore test_prog, but do ignore parrot.
5604 2001-12-11 12:03  gregor
5606         * classes/.cvsignore:
5607         Ignore the generated file default.h
5609 2001-12-11 04:07  jgoff
5611         * key.c: Key source
5613 2001-12-11 04:05  jgoff
5615         * include/parrot/key.h, t/op/key.t: Needed header file, new test
5617 2001-12-11 04:00  jgoff
5619         * core.ops: Added new key aggregate operations to core ops.
5621 2001-12-11 04:00  jgoff
5623         * include/parrot/parrot.h: Added key.h to header list
5625 2001-12-11 03:59  jgoff
5627         * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5629 2001-12-11 03:58  jgoff
5631         * Makefile.in: Added implementation of key aggregates.
5633 2001-12-08 23:07  simon
5635         * README:
5636         README good to go.
5638 2001-12-08 23:05  simon
5640         * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5641         docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5642         languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5643         test_prog? What is test_prog?
5645 2001-12-08 22:57  simon
5647         * ChangeLog:
5649         Oops, the changelog commit was on *this* machine.
5651 2001-12-08 22:56  simon
5653         * NEWS:
5654         Updates to NEWS and ChangeLog pre-release.
5656 2001-12-08 22:07  simon
5658         * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5659         classes/perlnum.pmc, classes/pmc2c.pl:
5660         Add "default" PMC vtable so you can inherit implied stuff.
5662 2001-12-08 21:24  simon
5664         * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5665         docs/vtables.pod, lib/Parrot/PackFile.pm:
5666         Getting the documentation up to scratch.
5668 2001-12-08 21:21  simon
5670         * classes/pmc2c.pl:
5671         Allow inheriting from default class.
5673 2001-12-07 20:43  gregor
5675         * examples/assembly/queens.pasm:
5676         Regenerated the file with the latest jakoc.
5678 2001-12-07 20:29  simon
5680         * core.ops, t/op/stacks.t:
5681         Rename "rotate" to "rotate_up".
5683 2001-12-07 20:15  simon
5685         * t/op/stacks.t:
5686         Some tests for rotate.
5688 2001-12-07 00:55  gregor
5690         * core.ops:
5691         Cast the result of the pointer arithmetic, since without the cast
5692         there are warnings with some compilers, and without the parens
5693         around the pointer arithmetic, precedence breaks the meaning and
5694         causes crashes.
5696 2001-12-06 23:37  simon
5698         * core.ops:
5699         Temporary. I prefer compiler warnings to segfaults, thanks.
5701 2001-12-06 23:34  simon
5703         * runops_cores.c:
5704         Make "trace" work again.
5706 2001-12-06 21:23  dan
5708         * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5710 2001-12-06 21:22  dan
5712         * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5713         lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5715 2001-12-06 19:22  simon
5717         * core.ops:
5718         Yet another "How the *%$! did that compile?" moment.
5720 2001-12-06 18:28  dan
5722         * hints/vms.pl: Fix to build, with a HERE logical required
5724 2001-12-06 17:48  dan
5726         * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5727         docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5728         changes to the interpreter--flags are now part of the interp
5729         structure.
5731         Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5733 2001-12-06 14:02  gregor
5735         * docs/intro.pod:
5736         s/little_languages/languages/ in Jako section.
5738 2001-12-06 13:15  simon
5740         * Makefile.in:
5741         Ensure the documentation gets made.
5743 2001-12-06 13:12  simon
5745         * MANIFEST, docs/intro.pod:
5746         Documentation! Added the "Some Assembly Required" article with
5747         minor updates.
5749 2001-12-06 00:39  simon
5751         * core.ops:
5752         More "eq" support.
5754         Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5756 2001-12-06 00:37  simon
5758         * test_main.c:
5759         Add the "-d" debug flag. Doesn't actually *do* anything yet.
5761         Courtesy of: Melvin <mrjoltcola@mindspring.com>
5763 2001-12-06 00:11  tom
5765         * string.c, chartypes/unicode.c, chartypes/usascii.c,
5766         encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5767         include/parrot/chartype.h, include/parrot/encoding.h,
5768         include/parrot/parrot.h: Moved string to number conversion code out
5769         of the encoding layer and into the main string layer as neither the
5770         encoding layer nor the character type layer knows enough on it's
5771         own to do the conversion correctly.
5773 2001-12-05 23:12  tom
5775         * Makefile.in: Rebuild the classes directory if any of the object
5776         files for the classes are missing rather than only when perlint.o
5777         is missing.
5779 2001-12-05 19:43  gregor
5781         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5782           * Reworked the constantize_string() stuff a little bit because it
5783         was
5784             puking on things like "\033[H\033[2J\0" (which occurs in the
5785             languages/jako/mandelzoom.jako example).
5787 2001-12-05 19:39  gregor
5789         * languages/jako/: Makefile, mandelzoom.jako:
5790         Added 'mandelzoom' example.
5792 2001-12-05 19:38  gregor
5794         * languages/jako/jakoc:
5795           * Added sleep()
5797           * Changed some instances of die() to confess()
5799 2001-12-05 18:34  gregor
5801         * t/: op/pmc.t, pmc/pmc.t:
5802         s/sting->int/string->int/
5804 2001-12-05 18:08  gregor
5806         * Parrot/.cvsignore:
5807         Ignore PMC.pm
5809 2001-12-05 18:05  gregor
5811         * classes/.cvsignore:
5812         Ignore the generated files.
5814 2001-12-05 17:19  gregor
5816         * pbc2c.pl:
5817           * Reverted recent changes, since they broke the script. Real fix
5818         coming
5819             later.
5821 2001-12-05 17:03  simon
5823         * classes/Makefile.in:
5824         Remember: change Makefile.in, not Makefile. D'oh.
5826 2001-12-05 17:02  simon
5828         * Makefile.in:
5829         Ensure PMC.pm gets remade.
5831 2001-12-05 16:58  simon
5833         * MANIFEST, Makefile.in, classes/Makefile.in,
5834         classes/perlundef.pmc, include/parrot/pmc.h:
5835         Add perlundef class.
5837 2001-12-05 16:45  simon
5839         * core.ops:
5840         Document "new P0, foo"
5842 2001-12-05 16:43  simon
5844         * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5845         lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5846         Allow assembler to know about PMC class names.
5848 2001-12-04 13:39  ajgough
5850         * MANIFEST: Added t/op/pmc.t to MANIFEST.
5852 2001-12-04 05:02  ajgough
5854         * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5855         in perlnum.c
5857 2001-12-04 04:24  ajgough
5859         * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5860         broken form of strtod and appropriate tests.  Does not yet check
5861         for overflow.
5863 2001-12-04 01:31  ajgough
5865         * string.c, encodings/singlebyte.c, encodings/utf16.c,
5866         encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5867         to extract_num and extract_int string vtables, without this it
5868         would be impossible to have strings with nulls in while still
5869         knowing where they ended.
5871 2001-12-03 18:40  ajgough
5873         * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5874         encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5875         include/parrot/string.h: Moved pmc string to number conversion into
5876         the string encoding tables.
5878 2001-12-03 00:21  ajgough
5880         * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5881         for p-> integer.
5883 2001-12-02 23:09  jgoff
5885         * classes/Makefile.in: Removed some redundant targets.
5887 2001-12-02 19:02  ajgough
5889         * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5890         equality macro rather than using perl to generate expected output,
5891         all tests now have <<OUTPUT.
5893 2001-12-02 17:44  ajgough
5895         * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5896         for pmc.t as well.  Will probably move macros into another file at
5897         some point, although this might be best left until the tests are
5898         unperled.
5900 2001-12-02 06:16  jgoff
5902         * classes/pmc2c.pl: It wasn't properly setting the vtable index
5903         within Parrot_Perl{Class}_init.
5905 2001-12-02 06:09  jgoff
5907         * classes/Makefile.in: I seem to have removed *$(O) twice..
5909 2001-12-02 05:06  jgoff
5911         * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5912         Configure.pl - Removed '-I./include', added classes/Makefile
5913         generation MANIFEST     - Added classes/Makefile.in Makefile.in  -
5914         Removed old classes/* make stuff                Added target for
5915         classes/Makefile
5917 2001-12-02 04:48  jgoff
5919         * classes/Makefile.in: Going to be used shortly...
5921 2001-12-02 04:40  jgoff
5923         * docs/Makefile: Configure.pl - Added automatic makefile creation
5924         for docs/ and classes/                Removed '-I./include' because
5925         it was getting incorrectly                passed to classes/
5926         MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5927         - Removed classes/ build stuff, replaced with classes/Makefile.in
5928                     Added '-I./include' locally docs/Makefile - Should no
5929         longer be used, but I'm not brave enough to do a
5930         cvs delete.
5932 2001-12-02 01:21  ajgough
5934         * t/op/trans.t: Refactored trans math tests to have hard coded
5935         expected return values and be more ready to be unperled at some
5936         point in the future.  Added $fp_equality_macro which is a
5937         "nearly-equal-to" function.
5939 2001-12-02 01:18  ajgough
5941         * Makefile.in: Humph.  People really ought to use Makefile
5942         variables, s/perl/$(PERL)/ throughout.
5944 2001-12-01 18:15  jgoff
5946         * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5947         figure out what to do vis-a-vis the lack of snprintf.
5949 2001-11-30 13:14  ajgough
5951         * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5952         and integer.t
5954 2001-11-30 13:14  ajgough
5956         * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5957         -, else ... form.
5959 2001-11-30 10:36  simon
5961         * core.ops:
5962         Rewrite print_p to do the right thing.
5964 2001-11-30 06:21  jgoff
5966         * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5967         concat,               integer/number/string math
5969 2001-11-30 06:20  jgoff
5971         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5972         classes/perlint.pmc - Fixes and expanding for concat and math with
5973         strings classes/perlnum.pmc - Fixes and expanding for concat and
5974         math with strings classes/perlstring.pmc - Fixes and expanding for
5975         concat and math with strings
5977 2001-11-29 15:21  ajgough
5979         * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5980         $^X lies, which confused bash which make uses to run things when
5981         doing its stuff.
5983 2001-11-29 04:58  jgoff
5985         * classes/perlstring.pmc: Removed C++-style comments for good
5986         measure
5988 2001-11-29 04:51  jgoff
5990         * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5992 2001-11-29 04:28  jgoff
5994         * global_setup.c: Initialize PMC strings
5996 2001-11-29 04:25  jgoff
5998         * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5999         string PMCs.
6001 2001-11-29 04:24  jgoff
6003         * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6004         files to properly upgrade int to num, do calculations.  Also added
6005         basic string operations. Currently errors out on anything but set
6006         operations, but this will be fixed soon.
6008 2001-11-29 04:22  jgoff
6010         * Makefile.in: PMC .c files weren't getting cleaned out.
6012 2001-11-28 17:00  simon
6014         * t/harness:
6016         Make csh-glob happy.
6018         Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6020 2001-11-28 16:40  simon
6022         * classes/perlnum.pmc:
6024         De-C++
6026 2001-11-28 15:22  simon
6028         * string.c:
6030         Fixes Alex's string concat worry.
6032 2001-11-28 14:27  ajgough
6034         * t/op/string.t: test "null onto null" incorrectly passing as it
6035         produced no output.  Output provided.
6037 2001-11-28 11:14  simon
6039         * include/parrot/pmc.h:
6041         Placate AIX.
6043 2001-11-26 21:03  dan
6045         * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6047 2001-11-26 17:29  simon
6049         * classes/perlint.pmc:
6051         Various subtle but non-showstopper bugs.
6053 2001-11-26 11:23  simon
6055         * classes/pmc2c.pl:
6057         Replace dependency on Text::Balanced
6059         Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6061 2001-11-26 05:22  jgoff
6063         * global_setup.c: Last file that should need to be committed. I
6064         swear.
6066 2001-11-26 05:09  jgoff
6068         * core.ops: Let's try this again... Changes to core.ops required
6070 2001-11-26 04:58  jgoff
6072         * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6073         t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6074         core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6075         Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6076         functions classes/perlnum.pmc - Set up basic number functions
6077         t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6078         tests against numbers and numbers+integers
6080 2001-11-25 13:18  simon
6082         * Makefile.in:
6083         Windows XP make doesn't like $<
6085 2001-11-25 12:56  simon
6087         * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6088         classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6089         classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6090         examples/assembly/mops_p.pasm:
6091         PMC preprocessor.
6093         Courtesy of: Angel Faus <afaus@corp.vlex.com>
6095         I (Simon) also added a couple more integer methods, but no tests
6096         since I'm a Bad Person.
6098 2001-11-25 08:40  brentdax
6100         * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6101         lib/Parrot/OpsFile.pm: Allow _ in op names
6103 2001-11-25 05:54  jgoff
6105         * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6106         Added basic math ops t/op/pmc.t - Added tests of basic math ops
6108 2001-11-23 18:27  simon
6110         * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6111         Add everything you need to make MOPS use PMCs.
6113 2001-11-23 18:06  simon
6115         * core.ops:
6116         Eh, you'll need this for rewriting mops.pasm.
6118 2001-11-23 17:55  simon
6120         * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6121         t/pmc/pmc.t:
6122         More work on integer PMCs.
6124 2001-11-23 17:29  simon
6126         * Makefile.in:
6127         Surprise! Whitespace! HLAGHLAGHLAGH
6129 2001-11-23 17:28  simon
6131         * Makefile.in, ops2c.pl, ops2pm.pl:
6132         Add vtables.ops to the core
6134         Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6136 2001-11-22 18:39  simon
6138         * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6139         t/pmc/pmc.t:
6140         We can now create PMCs.
6142 2001-11-21 05:49  jgoff
6144         * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6146 2001-11-20 16:00  simon
6148         * docs/vtables.pod, include/parrot/pmc.h:
6149         Reorder PMC flags so there's a fixed number of user-defined flags.
6151         Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6153 2001-11-19 03:39  jgoff
6155         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6156         Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6157         nested quotes.  t/op/basic.t - Add tests for single-quoted strings,
6158         escaped quotes, and proper                handling of newlines.
6160 2001-11-16 22:03  simon
6162         * classes/perlint.c:
6163         More work on the Perl Integer class. More needed, though.
6165 2001-11-16 21:57  simon
6167         * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6168         Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6170 2001-11-16 20:49  simon
6172         * interpreter.c, runops_cores.c, trace.c,
6173         include/parrot/runops_cores.h:
6174         Kill superfluous runops cores.
6176 2001-11-16 17:50  simon
6178         * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6179         classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6180         include/parrot/parrot.h, include/parrot/pmc.h:
6181         Skeleton for Perl scalar types, done right.
6183 2001-11-16 16:15  simon
6185         * classes/genclass.pl:
6186         This tidies up genclass to deal with the new-style multimethods.
6188 2001-11-16 15:29  simon
6190         * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6191         lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6192         Rework multimethods to be *true* multimethods - that is, have
6193         different types.
6195 2001-11-15 22:29  simon
6197         * MANIFEST, Makefile.in, pmc.c:
6198         pmc.c linkage and support. Oh, and making it compile.
6200 2001-11-15 22:26  dan
6202         * t/op/interp.t: Forgot to tell CVS about the test...
6204 2001-11-15 22:10  dan
6206         * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6207         docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6208         for PMC registers for the interpreter.
6210         Added in the docs for the runinterp opcode.
6212         Added in code for both the newinterp and runinterp opcodes, so we
6213         can now create new interpreters from within parrot and have them do
6214         things. (Though we can't pass data back and forth. Yet)
6216 2001-11-15 21:24  simon
6218         * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6219         More documentation, and other changes as discussed with Dan.
6221 2001-11-15 19:51  simon
6223         * classes/scalarclass.c:
6224         De-cut-and-pasto.
6226 2001-11-15 19:50  simon
6228         * classes/scalarclass.c:
6229         A little code tidiness.
6231 2001-11-15 19:33  simon
6233         * include/parrot/pmc.h:
6234         Missed this in the previous commit - un-constantize the base for
6235         user-defined PMC flags.
6237 2001-11-15 19:28  simon
6239         * classes/scalarclass.c:
6240         Hey look, sanity.
6242 2001-11-15 17:09  simon
6244         * classes/scalarclass.c:
6245         It seems I have completely forgotten how to write C.
6247 2001-11-15 16:53  simon
6249         * docs/vtables.pod:
6250         Start of the PMC classes documentation.
6252 2001-11-15 14:46  simon
6254         * classes/scalarclass.c:
6255         Changing to use a Perl-style struct instead of the union cache.
6257 2001-11-13 23:56  tom
6259         * string.c: Removed leading _ from string_index as function names
6260         starting with _ are reserved to implementors by the C standard.
6262         Also fixed string_index to use the encoding routines instead of
6263         assuming a single byte encoding.
6265 2001-11-13 12:59  jgoff
6267         * string.c: Patched string_concat to accept null strings.  That
6268         test was failing. Nothing to do with ord().
6270 2001-11-13 12:43  jgoff
6272         * string.c: string_ord function, string_concat fixes
6274 2001-11-13 04:52  jgoff
6276         * core.ops: Added ord to core.ops
6278 2001-11-13 04:35  jgoff
6280         * docs/strings.pod, include/parrot/exceptions.h,
6281         include/parrot/string.h, t/op/string.t: core.ops - Added ord
6282         operator, documentation string.c - Added string_ord, _string_index
6283         (_string_index is a static helper)              Patched
6284         string_concat to handle null strings properly.  docs/strings.pod -
6285         Description of string_ord include/parrot/exceptions.h - Added
6286         ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6287         string_ord() t/op/string.t - Added full set of test for
6288         ord_i_(s|sc)(_(i|ic))?
6290         string.c contains a bit of documentation explaining the logic
6291         behind _string_index, primarily having to do with multiple encoding
6292         formats.
6294 2001-11-12 22:30  simon
6296         * t/op/macro.t:
6297         Count 'em.
6299 2001-11-12 22:28  simon
6301         * Makefile.in:
6302         Add a rule to compile "platform"
6304 2001-11-12 22:26  simon
6306         * Makefile.in:
6307         Tidy up distclean target.
6309 2001-11-12 16:54  dan
6311         * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6312         t/op/macro.t: Fixes to the assembler's macro facility and a test
6314         Courtesy of: Jeff <jgoff@speakeasy.net>
6316 2001-11-12 16:50  dan
6318         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6319         stdin
6321         Courtesy of: Jeff <jgoff@speakeasy.net>
6323 2001-11-12 16:36  dan
6325         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6326         CygWin
6328         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6330 2001-11-12 11:22  simon
6332         * examples/assembly/mops.pasm:
6334         Trivial tightening of mops loop.
6336 2001-11-07 23:57  ajgough
6338         * docs/tests.pod: This is a basic quide to writing tests with
6339         assembler.
6341 2001-11-07 22:29  dan
6343         * stacks.c: Added a little documentation on the cleanup parameter
6344         for an entry
6346 2001-11-07 14:43  dan
6348         * MANIFEST, platforms/generic.c, platforms/linux.c,
6349         platforms/linux.h: Portability patches.
6351         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6353 2001-11-06 19:51  tom
6355         * Makefile.in: Clean up object files in the subdirectories as well
6356         as those in the top level directory.
6358         Enhanced version of patch from Daniel Grunblatt
6359         <daniel@grunblatt.com.ar>
6361 2001-11-06 16:14  dan
6363         * Configure.pl, MANIFEST, Makefile.in, core.ops,
6364         platforms/generic.c, platforms/generic.h: Made things a bit more
6365         platform-independent. Makefile still needs work to pick up changes
6366         to the platform-specific files.
6368 2001-11-05 21:32  dan
6370         * docs/parrot_assembly.pod: Added docs for the GC control ops
6372 2001-11-04 02:52  gregor
6374         * platforms/: win32.c, win32.h:
6375           * win32 dynamic loading functions.
6377         Courtesy of Jason Diamond <jason@injektilo.org>
6379 2001-11-04 00:04  brentdax
6381         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6382         allows an absolute path to be used and gives a useful error message
6383         if the original source file can't be found
6385 2001-11-02 12:37  gregor
6387         * platforms/: linux.c, linux.h:
6388           * Beginning of dynamic loading support. Linux only for now.
6390 2001-11-02 12:13  gregor
6392         * MANIFEST, time.c, include/parrot/time.h:
6393           * Removed time.[hc], since they have been superseded by the new
6394         platform
6395             stuff.
6397 2001-11-02 12:11  gregor
6399         * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6400         classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6401         include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6402         platforms/win32.c, platforms/win32.h:
6403         Patch from Jason Diamond to make win32 platform stuff work:
6405         * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6406         platform specific files in the platforms directory gets copied to
6407         the correct directories. The Makefile will re-copy the platform.h
6408         and .c files if the original is modified.
6410         * #include platform.h in parrot.h instead of time.h.
6412         * Removed time.h and time.obj from the Makefile. time.h and time.c
6413         aren't being used anymore since that code was moved to linux.c and
6414         win32.c.
6416         * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6417         INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6418         windows.h. This required updating several files besides parrot.h.
6420         * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6421         instead of the missing identifiers (on Windows) in core.ops in the
6422         calls to open.
6424         * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6425         platform files and called those from core.ops. The Linux code for
6426         these functions came from core.ops so they should hopefully work.
6428         Courtesy of Jason Diamond <jason@injektilo.org>
6430 2001-11-02 06:43  brentdax
6432         * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6433         for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6435 2001-11-02 02:26  gregor
6437         * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6438         platforms/linux.c, platforms/linux.h, platforms/win32.c,
6439         platforms/win32.h:
6440           * Beginnings of platform support files in platform/*.[hc]
6442 2001-11-01 23:37  tom
6444         * classes/intclass.c: Added missing *'s to STRING arguments and
6445         return values to avoid compiler warnings.
6447 2001-11-01 22:21  gregor
6449         * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6450         include/parrot/parrot.h, include/parrot/time.h:
6451         Initial "fix" of time(n) op for Win32:
6453           * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6455           * time.c and include/parrot/time.h
6457             First attempt at getting this working across platforms. The
6458             macro WIN32 being tested might not be right.
6460           * New functions Parrot_intval_time() and Parrot_floatval_time()
6461             wrap the appropriate functionality depending upon platform.
6462             Changed core.ops to call these.
6464         Added obscure.ops with obscure transcendental ops.
6466         Added simple file I/O ops (close, open, read, write):
6468           * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6470           * I changed some arg ordering stuff.
6472           * I added read/write of INTVALs and FLOATVALs.
6474         Added environment variable ops (getenv, setenv)
6476         Added system error ops (err(i) and err(s) for accessing errno and
6477         strerr().
6479         Moved print ops in with other "temporary" developer ops, since
6480         they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6482 2001-10-31 22:51  tom
6484         * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6485         packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6486         strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6487         encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6488         encodings/utf8.c, include/parrot/chartype.h,
6489         include/parrot/encoding.h, include/parrot/exceptions.h,
6490         include/parrot/parrot.h, include/parrot/string.h,
6491         include/parrot/strnative.h, include/parrot/strutf16.h,
6492         include/parrot/strutf32.h, include/parrot/strutf8.h,
6493         include/parrot/transcode.h: Reworked the string code in line with
6494         Dan's latest design that separates character sets from encodings.
6496 2001-10-31 19:53  dan
6498         * docs/parrot_assembly.pod: Finished I/O section of docs
6500 2001-10-31 16:51  dan
6502         * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6503         Moved includes out of core.ops and into parrot.h where they belong
6504         (suitably guarded with #ifdefs). Also some updates to
6505         parrot_assembly.pod
6507 2001-10-30 21:43  dan
6509         * core.ops, stacks.c, docs/parrot_assembly.pod,
6510         include/parrot/stacks.h: Added entrytype opcode to fetch the type
6511         of the entry on the stack
6513 2001-10-29 18:30  dan
6515         * stacks.c: You can turn off stack entry type validation on pop by
6516         passing in a type of 0 now. (For those cases where you just want to
6517         throw the darned thing away)
6519 2001-10-29 14:37  gregor
6521         * core.ops, languages/jako/jakoc:
6522           * New variants of the save ops to save constants on the stack.
6523         This is
6524             useful for saving zero arg and result counts on the stack, for
6525         example.
6527           * Modified jakoc to to adapt to the newly announced calling
6528         conventions.
6529             Even though Jako source code appears to show subroutines with
6530         fixed
6531             numbers of arguments and results, they are implemented with the
6532             variable count calling convention. Future modifications will be
6533         needed
6534             to ensure that an exception is raised if the stack frame is of
6535         the
6536             wrong size (or, at least that we pop the complete frame off).
6537         We'll
6538             also have to make more changes to support the true
6539         fixed-arg-count
6540             and fixed-result-count parts of the calling convention spec.
6542 2001-10-28 16:53  simon
6544         * MANIFEST, stacks.c, classes/scalarclass.c,
6545         include/parrot/stacks.h:
6546         Unbelievably bad errors of mine, plus a type incompatibility of
6547         Dan's.
6549 2001-10-28 08:30  simon
6551         * classes/scalarclass.c:
6552         Beginning of a scalar class.
6554 2001-10-28 08:29  simon
6556         * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6557         lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6558         include/parrot/pmc.h:
6559         This fixes the problem with vtables and pointer arithmetic.
6561 2001-10-26 19:58  dan
6563         * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6564         include/parrot/stacks.h: Split the generic stack into a user push
6565         stack and a control stack
6567 2001-10-26 02:59  bdwheele
6569         * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6571 2001-10-24 20:27  dan
6573         * languages/scheme/: Makefile, Scheme.pm, schemec,
6574         Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6575         Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6576         t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6577         Scheme compiler
6579 2001-10-24 20:23  dan
6581         * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6582         interpreter needs in pdump.c. Added scheme bits to manifest
6584 2001-10-24 16:43  gregor
6586         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6587           * Make the assembler handle octal character code escapes in
6588         string
6589             constants.
6591 2001-10-24 15:56  dan
6593         * MANIFEST, examples/assembly/life.pasm: Added an example in to
6594         play the game of life
6596 2001-10-24 15:54  dan
6598         * core.ops: Added sleep. We'll need to override this to do events
6599         properly anyway, so...
6601 2001-10-24 14:03  gregor
6603         * Makefile.in, pbc2c.pl, pdump.c:
6604           * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6605         interpreter
6606             pointer into string functions.
6608         Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6610 2001-10-23 20:09  gregor
6612         * languages/jako/jakoc:
6613           * Terminological refinement in regexp capture comment.
6615 2001-10-23 15:23  simon
6617         * classes/genclass.pl:
6618         Use a saner ANSI C construct to make MIPSPro happy.
6620         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6622 2001-10-23 00:34  tom
6624         * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6625         strutf8.c, include/parrot/string.h: Make sure the interpreter
6626         structure is passed to the transcoder as necessary, including
6627         passing it to string_compare().
6629 2001-10-23 00:32  tom
6631         * Makefile.in: Make pdump build again by including resources.o in
6632         the link.
6634 2001-10-22 22:43  dan
6636         * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6637         strutf32.c, strutf8.c, test_main.c, transcode.c,
6638         include/parrot/packfile.h, include/parrot/parrot.h,
6639         include/parrot/resources.h, include/parrot/string.h,
6640         include/parrot/transcode.h: Everything now uses the allocators and
6641         deallocators in resources.c.
6643         Unfortunately we lost standalone string-test mode, but I can cope
6644         with that.
6646         Please note that until we have a real allocation/deallocation/GC
6647         system, this'll leak. A *lot*.
6649 2001-10-22 20:27  dan
6651         * MANIFEST, Makefile.in, pmc.c, resources.c,
6652         include/parrot/resources.h: First cut to handle arena allocation of
6653         PMC headers. (Amongst other things)
6655 2001-10-22 19:02  dan
6657         * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6658         Now each register type has its own mask macro, which is the right
6659         thing to do.
6661         Patch courtesy of Jason Gloudon <perl@gloudon.com>
6663 2001-10-21 23:40  tom
6665         * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6666         stack chunk and add a test to test this rollover in future.
6668         Courtesy of Jason Gloudon <perl@gloudon.com>.
6670 2001-10-21 19:14  dan
6672         * include/parrot/string.h: Changed string 'unused' field to the
6673         language field.
6675 2001-10-21 18:18  gregor
6677         * languages/jako/: Makefile, mops.jako:
6678           * Makefile: 'clean' target removes .list files, too. And, it does
6679         rm -f
6680             with wildcards rather than listing things explicitly.
6682           * mops.jako actually prints out the
6683         millions-of-operations-per-second
6684             (mops) value instead of just the operations-per-second value.
6686 2001-10-21 18:03  simon
6688         * classes/intclass.o:
6689         *smack*! WRONG!
6691 2001-10-21 17:47  simon
6693         * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6694         Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6695         classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6696         lib/Parrot/Vtable.pm:
6697         Initial work on PMCs. Explanation to follow
6699 2001-10-21 15:20  gregor
6701         * examples/assembly/queens.pasm:
6702           * Modernize the calling conventions in queens.pasm. It was using
6703         swap,
6704             which now must be rotate. Also, changed to use return values on
6705         the
6706             stack instead of in I0.
6708 2001-10-19 18:14  gregor
6710         * core.ops, stacks.c, include/parrot/stacks.h,
6711         languages/jako/jakoc:
6712         Per Dan's request, replacing 'swap' op by 'rotate'.
6714           * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6716           * stacks.c and stacks.h: Removed swap-related functions from my
6717             prior commit, replacing them with stack_depth(), stack_entry()
6718             and rotate_entries().
6720             NOTE: The stack_depth() and rotate_entries() routines could
6721             be made more efficient through the caching of the sum of chunk
6722             'used' members from lower chunks in a field in the upper
6723             chunks. Also, if the interpreter's stack_base was changed to
6724             hold the pointer to the *top* chunk (since we usually come
6725             at the stack from the top down) instead of the *bottom*
6726             chunk. The code here at least works, and we can decide about
6727             bigger changes separately.
6729             For now, rotate only handles rotates in one direction and
6730             of magnituded one. A fully general rotate would do handle
6731             rotates in both directions and of arbitrary amounts. Again,
6732             this implementation is sufficient for current applications,
6733             and a feature-complete version can be developed if this turns
6734             out to be otherwise the right type of implementation.
6736             This change includes a new exception for ERROR_STACK_SHALLOW,
6737             meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6739           * jakoc: Changed the calling convention to use rotate instead
6740             of swap (of course). Also changed the convention for return
6741             value passing to use the stack as well.
6743 2001-10-19 13:36  gregor
6745         * MANIFEST, core.ops, disassemble.pl, stacks.c,
6746         examples/assembly/queens.pasm, include/parrot/stacks.h,
6747         languages/jako/.cvsignore, languages/jako/Makefile,
6748         languages/jako/bench.jako, languages/jako/euclid.jako,
6749         languages/jako/fact.jako, languages/jako/jakoc,
6750         languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6751         languages/jako/primes.jako, languages/jako/queens.jako,
6752         languages/jako/sub.jako:
6753           * New stack functions push_entry(), pop_entry() and swap_entry().
6754             The first two exist for the support of the last one. These
6755             functions don't care what is in the stack entries. These exist
6756             to support the new 'swap' op (see next bullet).
6758           * New op 'swap' for swapping the top two elements on the stack.
6759             This is necessary for passing arguments to functions, since
6760             the return address will be on top of any arguments that have
6761             been pushed on the stack. This way, you can use a (swap, pop)
6762             pair to retrieve each argument (for subroutine linkage).
6764           * Disassembler now prints numbers in decimal by default, with
6765             a new '-x' flag to turn on hexadecimal display. Since other
6766             members of the Parrot Tool Set use decimal by default, this
6767             makes it easier to compare output from the various tools.
6769           * Jako compiler has more explanatory comments and the following
6770             new features:
6772               * Lexically scoped variables.
6774               * Subroutines that take arguments and return values:
6776                   sub int foo(int bar) {
6777                     if (bar == 1) {
6778                       return 42;
6779                     } else {
6780                       return 13;
6781                     }
6782                   }
6783               * ... if (...) and ... unless (...) statement modifiers
6784                 can be used on next, last and redo.
6786               * Bitwise and (&, &=) and or (|, |=) ops.
6788               * Type names are just 'int', 'num', 'str', and 'poly' now.
6789                 The old long names 'integer', 'number', 'string', and
6790                 'polytype' are no longer valid.
6792               * Integer variable assignments can now use 0b (binary),
6793                 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6795           * New Jako and Parrot assembly examples queens.{jako,pasm} for
6796             solving the eight-queens problem. The assembly example is a
6797             hand-modified version of the assembly code produced by the
6798             Jako compiler from queens.jako. A few unnecessary ops have
6799             been removed, lots of unnecessary labels have been removed,
6800             and all the Jako source code comments have been removed.
6802           * Makefile and .cvsignore in languages/jako modified so that
6803             the assembler produces listings when assembling the programs,
6804             yet the *.list files are ignored by CVS.
6806           * Made the default target in languages/jako/Makefile 'all'.
6808           * Modified some of the Jako examples to use some of the new
6809             features of Jako, such as subroutines and lexical variable
6810             scoping.
6812 2001-10-19 02:43  gregor
6814         * runops_cores.c, include/parrot/runops_cores.h:
6815         Bug fix (gcc doesn't complain, but MIPSpro does):
6817           * Added missing extern to runops_cores array declaration in
6818             include/parrot/runops_cores.h
6820           * Also added 'const' there and in runops_cores.c
6822 2001-10-18 15:18  gregor
6824         * .cvsignore, include/parrot/oplib/.cvsignore:
6825           * Ignore the vtable-related generated files.
6827 2001-10-18 15:14  gregor
6829         * core.ops:
6830           * left and right shifts now allow the 2nd argument to be a
6831         constant.
6833 2001-10-18 14:55  simon
6835         * make_vtable_ops.pl:
6836         This is C, not Perl. How on earth did that even compile?
6838 2001-10-18 14:54  simon
6840         * make_vtable_ops.pl:
6841         More vtable ops.
6843 2001-10-18 12:33  simon
6845         * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6846         Initial stab at vtable opcode creation stuff.
6848 2001-10-18 02:15  gregor
6850         * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6851         include/parrot/interpreter.h, include/parrot/runops_cores.h,
6852         include/parrot/trace.h: Preparation for autogenerated runops cores:
6854           * Split tracing and runops core stuff out of interpreter.c into
6855             trace.c and runops_cores.c
6857           * Similar split of stuff from include/parrot/interpreter.h
6859           * Manifest and Makefile.in updates to make things still compile.
6861 2001-10-18 01:21  gregor
6863         * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6865           * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6867           * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6869           * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6871           * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6873           * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6874         with
6875             copy of $ops->preamble.
6877 2001-10-17 22:32  bdwheele
6879         * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6880         request.
6882 2001-10-17 22:08  gregor
6884         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6885           * Now handles label-and-comment-only lines.
6887 2001-10-17 22:04  bdwheele
6889         * interpreter.c: added more comprehensive trace output
6891 2001-10-17 16:50  tom
6893         * Makefile.in: Removed the explicit rule for building mops.o from
6894         mops.c so that the implicit rule for compiling C files is used
6895         instead. This means that the chosen C flags are used, including any
6896         optimisation options.
6898 2001-10-17 15:24  tom
6900         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6901         op explosion logic to be able to handle exploding this:
6903           sub(i, i|ic, i|ic)
6905         into these:
6907           sub(i, i, i)
6908           sub(i, i, ic)
6909           sub(i, ic, i)
6911         without also generating this unwanted version:
6913           sub(i, ic, ic)
6915         The enhanced version rejects any expansion where there is more than
6916         one expanded argument and all the expanded arguments are constants.
6918 2001-10-17 14:20  simon
6920         * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6921         Build fixes to use correct Perl version and ensure that things are
6922         running in the right directory.
6924         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6926 2001-10-17 13:16  simon
6928         * Makefile.in:
6929         core.pm is more critical than that.
6931 2001-10-17 13:05  simon
6933         * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6934         "Explode" ops into multiple versions for different parameters.
6936         Courtesy of: Tom Hughes <tom@compton.nu>
6938 2001-10-17 12:54  simon
6940         * Makefile.in:
6941         Fix dependencies and cleaning.
6943 2001-10-17 12:45  simon
6945         * Configure.pl, Makefile.in:
6946         Fixes to make Parrot compile without the temporary build hack
6948         Courtesy of: Jason Gloudon <perl@gloudon.com>
6950 2001-10-16 20:43  gregor
6952         * Makefile.in:
6953           * Fixed dependencies for building Parrot/OpLib/core.pm
6955 2001-10-16 19:35  bdwheele
6957         * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6958         added test, thanks to Alex Gough
6960 2001-10-16 16:49  bdwheele
6962         * core.ops: added opcode variants for constants and 3 arg concat
6964 2001-10-16 15:12  bdwheele
6966         * core.ops: added "set Sx,Sy" as a string copy to match the other
6967         register-to-register copies available
6969 2001-10-16 13:09  gregor
6971         * core.ops:
6972           * Added #include <sys/time.h> in the preamble for gettimeofday().
6974 2001-10-16 13:09  gregor
6976         * Makefile.in:
6977           * Removed cd t; make, which no longer applies
6979 2001-10-16 03:18  bdwheele
6981         * core.ops: fix save & restore operations to push correct type onto
6982         stack. [good eye to Jason Gloudon for noticing this]
6984 2001-10-16 01:38  bdwheele
6986         * core.ops, register.c, examples/assembly/fact.pasm,
6987         include/parrot/register.h: send in the clones:  clone routines for
6988         parrot + example program
6990 2001-10-15 22:37  gregor
6992         * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6993         examples/assembly/Makefile, examples/assembly/bsr.pasm,
6994         examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6995         examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6996         examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6997         examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6998         t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6999         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7000         t/test4.pasm, t/test5.pasm, t/trace.pasm:
7001           * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
7002         some
7003             renames so the names match what they demonstrate.
7005 2001-10-15 22:18  gregor
7007         * core.ops, t/test.pasm:
7008           * time_n uses gettimeofday() to get sub-second times.
7010           * t/test.pasm uses time_n directly rather than doing int stuff
7011         and
7012             converting to num later.
7014 2001-10-15 12:28  gregor
7016         * t/: test.pasm, test2.pasm, trace.pasm:
7017           * t/test.pasm prints using string constants instead of string
7018         regs.
7020           * t/test2.pasm assembles (using implicit op modes)
7022           * t/trace.pasm updated for new behavior of trace_ic, which does
7023         not
7024             require an 'end' after 'trace'.
7026 2001-10-15 00:47  gregor
7028         * core.ops, interpreter.c, test_main.c,
7029         include/parrot/interpreter.h, t/test.pasm:   * New interpreter flag
7030         PARROT_PROFILE_FLAG
7032           * New runops cores to handle profiling
7034           * Support for -p flag in test_prog to enable profiling
7036           * New profile_ic op to control profiling at run-time
7038 2001-10-14 21:54  gregor
7040         * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7041         lib/Parrot/OpsFile.pm: Integrated op documentation.
7043           * core.ops now contains POD documentation of ops, interspersed
7044         with the
7045             ops themselves
7047           * Ops are organized into POD =head2 sections
7049           * Parrot/OpsFile.pm now treats the preamble of the ops file as
7050         anything
7051             up to the first POD directive OR op definition.
7053           * docs/Makefile now generates core_ops.pod from core.ops vi
7054         perldoc -u.
7056 2001-10-14 11:58  simon
7058         * Makefile.in:
7059         Unbreak Digital Un^W^WTru64
7061 2001-10-14 11:00  simon
7063         * Configure.pl:
7064         Remove weird typo.
7066 2001-10-14 10:56  tom
7068         * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7069         op_info.c no longer exists and op.h is no longer a generated file.
7071 2001-10-14 10:54  tom
7073         * Makefile.in: Added vtable.h to the list of things removed by the
7074         clean target.
7076 2001-10-14 01:43  gregor
7078         * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7079         build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7080         make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7081         ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7082         Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7083         Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7084         lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7085         include/parrot/.cvsignore, include/parrot/interp_guts.h,
7086         include/parrot/interpreter.h, include/parrot/op.h,
7087         include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7088         t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7089         t/op/stacks.t, t/op/string.t, t/op/trans.t:
7090         Moby Patch:
7092           * basic_opcodes.ops and opcode_table replaced by core.ops
7094           * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7095             and ops2c.pl. These convert *.ops to *_ops.c and
7096             include/parrot/oplib/*_ops.h
7098           * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7100           * disassemble.pl modified to use
7102           * interpreter.c modified to use structures in core_ops.c instead
7103             of the old op_info and op_func stuff. We're not yet to the
7104             point of handling multiple oplibs at a time, but we are getting
7105             there...
7107             Fingerprinting stuff disabled for now. We used to go off
7108             opcode_table. We need to rethink this. I have some ideas to
7109             make it unnecessary, but it remains to be seen whether others
7110             will like the direction they take us.
7112             Termination condition for while(){} loop in runops is now
7113             (pc) instead of (*pc). Any op can cause a HALT by returning
7114             a NULL pointer. Ops end, bounds and trace all do this. So, now
7115             the 'end' op body is actually executed, although all it does
7116             is HALT.
7118           * Makefile.in modified to perform a test build using pbc2c.pl,
7119             which is the bytecode --> C compiler I've posted to the
7120             list before.
7122           * Op full names are now autogenerated. Op root names must not
7123             contain underscores, so some op renamings have happened.
7124             Such as clear_i becoming cleari.
7126 2001-10-13 11:49  simon
7128         * Configure.pl, MANIFEST:
7129         Make parrot actually build again.
7131 2001-10-12 21:34  dan
7133         * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7134         opcodes
7136 2001-10-12 20:56  dan
7138         * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7139         opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7140         t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7141         generic stack now in. We also have subroutines, of a simple sort!
7143 2001-10-12 19:15  tom
7145         * t/op/string.t: Improved string comparison tests try all string
7146         combinations with each of the comparison ops.
7148 2001-10-12 19:09  dan
7150         * interpreter.c: Properly sets up generic stack now
7152 2001-10-12 19:09  dan
7154         * include/parrot/interpreter.h: Fixed stack chunk struct type in
7155         interpreter structure
7157 2001-10-12 18:59  dan
7159         * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7160         changes to get the generic stack working
7162 2001-10-12 18:59  dan
7164         * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7165         hints/vms.pl: Made the changes to figure out mask bits for various
7166         register and stack chunks
7168 2001-10-11 22:09  dan
7170         * docs/parrot_assembly.pod: Tossed the parameter for return
7172 2001-10-11 19:28  tom
7174         * strnative.c: Assignment, not comparison.  (Plus formatted for
7175         coding standards)
7177         Courtesy of Bryan C. Warnock
7179 2001-10-10 19:21  tom
7181         * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7182         strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7183         include/parrot/string.h, t/op/string.t: Added support for string
7184         comparisons and extended the comparison ops to include comparison
7185         of strings.
7187 2001-10-10 17:58  dan
7189         * MANIFEST: Shouldn't have added vtable.h to the manifest...
7191 2001-10-10 17:54  dan
7193         * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7194         lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7195         vtable type entries properly
7197 2001-10-10 15:37  dan
7199         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7200         parse new vtable.tbl file now that I've actually checked *in* the
7201         new format vtable.tbl file...
7203 2001-10-10 15:32  dan
7205         * vtable.tbl: New Column to indicate the type of the vtabel entry
7206         so we can know how many slots it takes
7208 2001-10-10 05:26  thgibbs
7210         * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7211         allow parrot to compile.  PACKAGE is not defined, therefore, I
7212         added a struct before it to have it not complain until we define
7213         PACKAGE.  Also, there was an extra shift in Vtable.pm and a missing
7214         semicolon at the end of the struct declaration.
7216 2001-10-10 05:09  thgibbs
7218         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7219         string constants of the form U"string" become unicode encoded
7220         parrot strings and the form N"string" become native encoded parrot
7221         strings.
7223         Courtesy of: Tom Hughes <tom@compton.nu>
7225 2001-10-10 04:55  dan
7227         * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7228         support for generating the vtable function table offset macros
7230 2001-10-10 01:05  simon
7232         * t/op/integer.t:
7233         The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7234         compiles into the mod op, not the cmod_i op, hence wasn't testing
7235         what it thought it was.
7237         Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7239 2001-10-09 03:45  thgibbs
7241         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7242         assembler to generate unicode strings.
7244         Courtesy of: Tom Hughes <tom@compton.nu>
7246 2001-10-08 19:30  brentdax
7248         * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7249         info for Parrot::Config to remember, more flexible test.c stuff
7251 2001-10-08 15:04  gregor
7253         * basic_opcodes.ops:
7254           * Removed trash from early mod_i experiments (pardon our dust)
7256 2001-10-08 14:56  gregor
7258         * basic_opcodes.ops:
7259           * Fixed a couple of typos.
7261 2001-10-08 14:45  gregor
7263         * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7264         Arithmetic enhancements:
7266           * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7268             NOTE: This "uncorrected mod" algorithm uses the C language's
7269         built-in
7270             mod operator (x % y), which is
7272                 ... the remainder when x is divided by y, and thus is zero
7273         when y
7274                 divides x exactly.
7275                 ...
7276                 The direction of truncation for / and teh sign of the
7277         result for %
7278                 are machine-dependent for negative operands, as is the
7279         action taken
7280                 on overflow or underflow.
7281                                                                      --
7282         [1], page 41
7284             Also:
7286                 ... if the second operand is 0, the result is undefined.
7287         Otherwise, it
7288                 is always true that (a/b)*b + a%b is equal to z. I both
7289         operands are
7290                 non-negative, then teh remainder is non-negative and
7291         smaller than the
7292                 divisor; if not, it is guaranteed only that the absolute
7293         value of the
7294                 remainder is smaller than the absolute value of the
7295         divisor.
7296                                                                      --
7297         [1], page 205
7299             This op is provided for those who need it (such as
7300         speed-sensitive
7301             applications with heavy use of mod, but using it only with
7302         positive
7303             arguments), but a more mathematically useful numeric mod based
7304         on
7305             floor(x/y) and defined with y == 0 is provided by the mod_i op.
7307               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7308         Programming
7309                   Language*, Second Edition. Prentice Hall, 1988.
7311           * Added "corrected" mod_i:
7313             NOTE: This "corrected mod" algorithm is based on the C code on
7314         page 70
7315             of [1]. Assuming correct behavior of C's built-in mod operator
7316         (%) with
7317             positive arguments, this algorithm implements a mathematically
7318         convenient
7319             version of mod, defined thus:
7321               x mod y = x - y * floor(x / y)
7323             For more information on this definition of mod, see section 3.4
7324         of [2],
7325             pages 81-85.
7327             References:
7329               [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7330                   Millennium* Springer, 1999.
7332               [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7333         *Concrete
7334                   Mathematics*, Second Edition. Addison-Wesley, 1994.
7336           * Added mod_n, using the same formula as above, but with FLOATVAL
7337             arguments.
7339           * Added cmod_n, using the C math library's fmod() function:
7341             NOTE: This "uncorrected mod" algorithm uses the built-in C math
7342         library's
7343             fmod() function, which computes
7345                 ... the remainder of dividing x by y. The return value is x
7346         - n * y,
7347                 where n is the quotient of x / y, rounded towards zero to
7348         an
7349                 integer.
7350                                                 -- fmod() manpage on RedHat
7351         Linux 7.0
7353             In addition, fmod() returns
7355                 the remainder, unless y is zero, when the function fails
7356         and errno
7357                 is set.
7359             According to page 251 of [1], the result when y is zero is
7360         implementation-
7361             defined.
7363             This op is provided for those who need it, but a more
7364         mathematically
7365             useful numeric mod based on floor(x/y) instead of truncate(x/y)
7366         and
7367             defined with y == 0 is provided by the mod_n op.
7369               [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7370         Programming
7371                   Language*, Second Edition. Prentice Hall, 1988.
7373           * Added and modified tests as appropriate for the above.
7375 2001-10-08 08:49  thgibbs
7377         * include/parrot/exceptions.h, include/parrot/parrot.h,
7378         include/parrot/string.h, include/parrot/strutf16.h,
7379         include/parrot/strutf32.h, include/parrot/strutf8.h,
7380         include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7381         Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7382         strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7383         strings for utf8, utf16, and utf32.
7385         Courtesy of: Tom Hughes <tom@compton.nu>
7387 2001-10-08 08:10  thgibbs
7389         * memory.c: Fixed uninitialized variables.
7391         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7393 2001-10-08 01:21  gregor
7395         * packfile.c:   * Casting a return value
7397           * Potential uninitialized variable fix
7399         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7401 2001-10-08 01:15  gregor
7403         * packfile.c, test_main.c: One of Bryan's languishing patches (with
7404         a few tweaks of my own):
7406           * Line wrapping
7408           * Printf format fixes
7410         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7412 2001-10-07 22:39  thgibbs
7414         * build_interp_starter.pl: No longer adds (void*) casts to
7415         interp_guts.c function table as they are not necessary in ANSI C.
7417 2001-10-07 16:27  gregor
7419         * basic_opcodes.ops, interpreter.c, opcode_table,
7420         process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7421         t/trace.pasm:
7422           * Two new ops, trace_ic and bounds_ic that twiddle bits in
7423             interpreter->flags and set interpreter->resume_addr.
7425           * Two new runops core variants, so now we cover the relevant
7426             flag space over {trace, notrace} x {boundscheck, noboundscheck}
7428           * Runops core selection that converts the flags into an index
7429         into
7430             a core table (runops_cores) to get the core function pointer.
7432           * A new trace_op variant that doesn't do bounds checking (used by
7433             the non-bounds-checking-but-tracing runops core).
7435           * PC is passed into the cores so that they can be used when
7436             resuming (they used to assume starting at the beginning of the
7437             code, which would thwart resumption).
7439           * runops() itself is changed to have a while() loop in it so that
7440             any time we drop out of the core, we'll resume if we have an
7441             interpreter->resume_addr set (after reselecting the core,
7442         though).
7444           * process_opfunc.pl has a new "macro": RESUME(), that sets up
7445             interpreter->resume_addr. This is used by the new ops. The new
7446             ops still return the new PC as the next op (which MUST be an
7447             'end' op to force the core loop to terminate -- *pc being false
7448             is the only termination condition we can count on for all
7449         cores).
7451           * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7452             bounds checking core selection.
7454           * test_prog now has a '-b' flag in addition to the '-t' flag.
7455         Now,
7456             bounds checking is off by default (I saw a performance boost:
7457             6.3 Mop/s with -b, 7.0 Mop/s without).
7459           * A new sample/test program: t/trace.pasm that twiddles the trace
7460             flag while it is running.
7462 2001-10-07 15:41  gregor
7464         * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7465         include/parrot/.cvsignore, include/parrot/interpreter.h:
7466         Now that 0.0.2 is released, I can clear out the backlog of approved
7467         but uncommitted patches. Here's one Dan approved on 2001-09-21
7468         (Simplified DO_OP):
7470           * test_prog and pdump are linked with only the files the need,
7471         not
7472             al the files.
7474           * build_interp_starter.pl writes out op_info.[hc], too. These
7475         files
7476             contain op name, arg count and arg type information. This will
7477         be
7478             useful for multiple things in the future, including better
7479         trace
7480             output and the crystalizing loader.
7482           * The DO_OP macro is now simpler and doesn't require explicit
7483             temporaries.
7485           * interpreter.c is modified to use the new op info in tracing
7486         output.
7488           * The interpreter just points its opcode_funcs and opcode_info
7489             members at the default tables rather than allocating memory on
7490             the fly.
7492 2001-10-07 03:58  thgibbs
7494         * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7495         comment and adding vtable.h to .cvsignore as it is produced by
7496         vtable_h.in
7498 2001-10-06 20:58  thgibbs
7500         * vtable.tbl: Added * to REGEX type.
7502         Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7504 2001-10-06 13:41  simon
7506         * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7507         include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7508         Framework for vtable functions.
7510 2001-10-06 06:52  thgibbs
7512         * make_op_header.pl: Removed confusing and unused typedef.
7514 2001-10-06 06:31  thgibbs
7516         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7517         are no longer used.
7519 2001-10-06 06:26  thgibbs
7521         * disassemble.pl: Changed intval to op in disassembler.
7523 2001-10-06 06:21  thgibbs
7525         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7526         Assembler, local labels, and integer constants.
7528 2001-10-06 03:11  ask
7530         * Makefile.in: make `make test` actually run the tests on
7531         darwin/macosx
7533 2001-10-06 02:04  thgibbs
7535         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7536         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7537         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7538         include/parrot/register.h, lib/Parrot/Assembler.pm,
7539         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7540         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7541         t/op/integer.t: No, it didn't mess anything up.  I just forgot to
7542         type make. :)
7544 2001-10-06 02:02  thgibbs
7546         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7547         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7548         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7549         include/parrot/register.h, lib/Parrot/Assembler.pm,
7550         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7551         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7552         t/op/integer.t: oops...this messed something up.  I must have
7553         missed something in the patch...I have reverted.
7555 2001-10-06 01:57  thgibbs
7557         * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7558         Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7559         Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7560         include/parrot/register.h, lib/Parrot/Assembler.pm,
7561         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7562         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7563         t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7564         memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7565         This patch ensures that all bytecode is of type opcode_t except for
7566         the constant table constants.  That means that almost all of the
7567         INTVALs in the code were replaced with opcode_t and the i pack type
7568         was replaced with the op pack type in calls to pack_arg and such.
7569         Also, since it has been declared that ALL integer constants are to
7570         be 32 bits, some test cases were changed to ensure that an integer
7571         constant was no bigger than 2 ** 31.
7573         process_opfunc.pl was also cleaned up to no longer look at either
7574         opcode_table or interp_guts.h but gather all of its information
7575         from Opcode.pm.
7577         The Assembler.pm module was changed to do late binding of arguments
7578         so that 0 could be treated like 0.0 without having to be so
7579         declared.  Also, only strings now use the [sc:N] intermediate form
7580         as it was unnecessary for integer and float types.
7582 2001-10-05 21:59  gregor
7584         * MANIFEST, languages/jako/Makefile:
7585         Fixed things due to the movement of little_languages/* to
7586         languages/jako.
7588 2001-10-05 18:31  gregor
7590         * MANIFEST:
7591         Updated MANIFEST to reflect recent additions for Jako.
7593 2001-10-05 17:54  gregor
7595         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7596         fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7597         mops.jako, primes.jako, sub.jako:
7598           * Compiler:
7600               * User-defined subroutines.
7601               * Generates assembly code with the Jako code in comments.
7602               * "end;" no longer required at the end of programs.
7603               * Better handling of const-reg and reg-const.
7604               * Optimizes const-const operations to compile-time
7605         evaluations.
7606               * Constants in addition to variables.
7607               * Arithmetic fixes.
7608               * Allow leading minus signs in integer and number constants
7609         (ahem).
7610               * goto's.
7612           * New sample programs:
7614               * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7615         example)
7616               * mandelbrot.jako (based on Leon Brocard's translation of
7617         Glenn Rhodes' C code)
7618               * mops.jako (based on t/test.pasm)
7619               * primes.jako (based on Leon Brocard's primes.pasm example)
7620               * sub.jako (demonstrates a simple user-defined subroutine)
7622 2001-10-05 12:54  gregor
7624         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7625           * Removed mysterious extra copy of code after POD.
7627 2001-10-05 12:46  gregor
7629         * basic_opcodes.ops, t/op/string.t:
7630           * Enabled the previously SKIPped test of printing string regs
7631         after
7632             clear_s
7634           * Made print_s do nothing if the STRING pointer in the register
7635         file
7636             is NULL.
7638 2001-10-04 21:19  dan
7640         * Configure.pl: VMS tweaks
7642 2001-10-04 21:17  dan
7644         * hints/vms.pl: Hints file for VMS
7646 2001-10-04 00:58  bdwheele
7648         * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7649         Assembler which stopped equates from working.
7651 2001-10-03 21:50  gregor
7653         * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7655           * More documentation updates for the packfile stuff.
7657 2001-10-03 21:37  gregor
7659         * docs/parrotbyte.pod:
7660           * Pointed the reader at Parrot::PackFile.
7662 2001-10-03 21:34  gregor
7664         * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7665           * Updated documentation to match current implementation.
7667 2001-10-03 18:30  gregor
7669         * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7670         lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7671         t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7672         t/op/basic.t:
7673           * Added new syntax to the assembler to allow square-bracket
7674             arithmetic expressions involving (global) labels, the current
7675             instructions base address ('@'), numeric constants (not
7676         equates)
7677             and basic arithmetic operators (+, -, *, / -- although + and -
7678             are likely to be the only ones used in practice).
7680           * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7681         to
7682             fail (argument passing wasn't working).
7684           * Enabled t/op/basic.t's last test, which is actually a copy of
7685         the
7686             code from t/call.pasm. Now all tests there are enabled and
7687         working.
7689           * Added new example/test program t/call.pasm to demonstrate
7690         working
7691             macros and poor-man's subroutine calls
7693           * Added header comments to t/*.pasm
7695 2001-10-03 18:00  simon
7697         * ChangeLog:
7698         Needed, since it's in the MANIFEST.
7700 2001-10-03 17:56  simon
7702         * t/op/: string.t, time.t:
7703         Small fixes to help Win32 on its way.
7705 2001-10-03 17:41  simon
7707         * MANIFEST, README:
7708         Oops. Tiny bugs.
7710 2001-10-03 17:39  simon
7712         * MANIFEST, NEWS, README:
7713         README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7714         think so!
7716 2001-10-03 17:21  simon
7718         * basic_opcodes.ops, interpreter.c, packfile.c:
7719         Evil printf bandaid (which allows Sparc64 to pass tests)
7721         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7723 2001-10-03 16:58  simon
7725         * string.c, t/op/string.t:
7726         chop fixes for n < 0 and tests
7728         Courtesy of: Alex Gough <alex@rcon.org>
7730 2001-10-03 15:51  thgibbs
7732         * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7734         Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7736 2001-10-02 17:48  dan
7738         * include/parrot/stacks.h: Fix typo in function name
7740 2001-10-02 17:35  dan
7742         * include/parrot/stacks.h: changed to support new stack stuff
7743         coming after 0.02
7745 2001-10-02 15:01  simon
7747         * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7748         interpreter.c, make_op_header.pl, memory.c, packfile.c,
7749         process_opfunc.pl, register.c, string.c, strnative.c,
7750         Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7751         lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7752         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7753         docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7754         include/parrot/memory.h, include/parrot/packfile.h,
7755         include/parrot/parrot.h, include/parrot/register.h,
7756         include/parrot/stacks.h, include/parrot/string.h,
7757         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7759         The Great Renaming.
7761 2001-10-02 12:49  gregor
7763         * process_opfunc.pl:
7764           * Fixed a tyop:  s/string/integer/ for INT_CONST expansion
7766 2001-10-02 12:40  simon
7768         * basic_opcodes.ops, process_opfunc.pl, register.c,
7769         include/parrot/register.h:
7770         Move preprocessing of register accessors to process_opfunc.pl
7772         Courtesy of: Jason Gloudon <perl@gloudon.com>
7774 2001-10-02 01:20  ask
7776         * README: add a few lines about lists.
7778 2001-10-01 23:00  brentdax
7780         * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7781         work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7783 2001-10-01 22:50  brentdax
7785         * Configure.pl, test_c.in: More changes for 64-bit compatibility
7787 2001-10-01 21:51  simon
7789         * process_opfunc.pl:
7790         Michael Fischer's patch broke conditionals.
7792 2001-10-01 15:38  simon
7794         * process_opfunc.pl:
7795         Small hack to keep process_opfunc.pl from generating extra return()
7796         statements.
7798         Courtesy of: Michael Fischer <michael@visv.net>
7800 2001-10-01 15:32  simon
7802         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7803         Documentation fix.
7805         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7807 2001-10-01 01:49  simon
7809         * packfile.c:
7810         Simon is an idiot. Don't trust him with your code.
7812         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7814 2001-10-01 00:59  simon
7816         * Parrot/String.pm, lib/Parrot/String.pm:
7817         Was in manifest, but not in CVS.
7819 2001-09-30 21:25  simon
7821         * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7822         disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7823         Parrot/Assembler.pm, Parrot/PackFile.pm,
7824         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7825         Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7826         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7827         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7828         include/parrot/packfile.h, include/parrot/string.h:
7829         Move NVs to the constant table.    * Changes to Types_pm.in to make
7830         life easier for some of the      packing/etc. I'm doing elsewhere.
7831         Also, we now pack 'n' as      'i'.
7833           * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7834             eventually we can use all these tools together inside scripts
7835             rather than call out to the shell to run the programs.
7837           * As I was tracking down problems, I converted the internal
7838             documentation of the assembler to POD from comments.
7840           * Changed the numeric regexp in the assembler to detect leading
7841             signs and trailing exponents.
7843           * Updated basic_opcodes.ops to fetch numeric constants from the
7844             constant table.
7846           * Enhanced the disassembler in a number of ways to make my life
7847             easier while tracking down bugs (try it out). It now puts in
7848             labels for ops that are the destinations of flow control ops.
7850           * packfile.c now has a TRACE_PACKFILE switch that can be set
7851             to get it to print info as it processes. I needed this while
7852             debugging, but I can remove it or change it before committing
7853             if its a problem.
7855           * Updated pdump.c because it was missing a call to init_world().
7857           * Updated process_opfunc.pl to deal with numeric constants
7858             being stored in the constant table instead of inline.
7860           * Added multiple type support to Parrot/PackFile/Constant.pm
7862           * Added Parrot/String.pm, to be used for constants.
7864           * Added packfile.[hc] functions for allocating new constants
7865             of various types.
7867           * Made string_copy visible to the world in parrot/string.h.
7869         Wow.
7871         Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7873 2001-09-29 15:56  gregor
7875         * languages/jako/Makefile:
7876         Removed assumption that '.' is on the path.
7878 2001-09-29 15:55  gregor
7880         * languages/jako/Makefile:
7881         Removed references to leibnitz test program.
7883 2001-09-29 15:21  thgibbs
7885         * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7886         math ops args to work on Solaris.
7888 2001-09-27 15:15  thgibbs
7890         * assemble.pl: Added case insensitive matches to hex and binary
7891         characters
7893         Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7895 2001-09-27 04:46  thgibbs
7897         * assemble.pl: This patch makes integer constants of the form
7898         0b[01]+ work with perl 5.005.  The oct function in versions of perl
7899         before 5.6 did not handle the 0b numeric prefix; therefore, it was
7900         returning 0.  To fix this, I added a from_binary function that
7901         would take a binary string and return its decimal representation.
7902         Now, instead of blindly calilng oct, it makes a distinction between
7903         0/0x numbers and 0b numbers.
7905 2001-09-26 19:30  thgibbs
7907         * assemble.pl: Error now returns a non-zero status
7909         Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7911 2001-09-26 19:13  gregor
7913         * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7914         interpreter.c, packfile.c, pdump.c, test_main.c,
7915         include/parrot/bytecode.h, include/parrot/interpreter.h,
7916         include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7917         t/op/stacks.t:
7918           * bytecode.[hc] removed. packfile.[hc] are the interface to the
7919             packfile/bytecode file from C. May be renamed in the future.
7921           * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7922             of 'PackFile *', just like the interpreter, etc.
7924           * Constants are accessed via the interpreter's 'code' member
7925             (struct PackFile * code). Macros PCONST(i) and PNCONST are
7926             provided to access constants by index and the number of
7927             constants, respectively (assumes a variable 'interpreter' of
7928             the appropriate type is in scope).
7930           * Byte Code is accessed via the interpreter's 'code' member.
7932           * Changed PackFile_Constant to point to a STRING instead of
7933         having
7934             members for the string_make() arguments. Also has a 'type' IV
7935             in preparation for allowing multiple types of constants in
7936             const_table.
7938           * Removed hardcoded example program from test_main.c. We have
7939             plenty of test programs elsewhere.
7941           * test_prog now uses a PackFile to deal with the program before
7942             sending it on to the interpreter.
7944           * Added missing 'end' ops to some tests in t/op/integer.t and
7945             t/op/stacks.t.
7947 2001-09-26 18:38  thgibbs
7949         * assemble.pl: Separated code into functions and added comments.
7951 2001-09-26 18:29  simon
7953         * config_h.in:
7954         Fix 64-bit chunk-base issue.
7956 2001-09-26 06:55  thgibbs
7958         * t/op/bitwise.t: Added end to bitwise tests.
7960 2001-09-26 00:54  dan
7962         * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7963         and interpreter creation. Skeleton only, but it's something to peer
7964         at.
7966 2001-09-25 21:44  thgibbs
7968         * t/op/trans.t: Removed loops in transcendtal op test.
7970 2001-09-25 10:12  simon
7972         * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7973         t/op/string.t, t/op/time.t:
7974         More tests
7976         Courtesy of: Alex Gough <alex@rcon.org>
7978 2001-09-24 19:08  gregor
7980         * t/op/number.t:
7981           * Enabled the clear_n test.
7983 2001-09-24 18:56  gregor
7985         * Parrot/.cvsignore:
7986           * Ignore the generated Types.pm file.
7988 2001-09-24 18:52  gregor
7990         * languages/jako/Makefile, t/op/number.t:
7991           * No need to skip the inc and dec numeric tests anymore. I fixed
7992         the
7993             assembler earlier today.
7995 2001-09-24 18:21  simon
7997         * MANIFEST, t/op/stacks.t:
7998         Oops.
8000 2001-09-24 18:19  simon
8002         * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
8003         include/parrot/exceptions.h, include/parrot/interpreter.h,
8004         lib/Parrot/Test.pm, t/op/string.t:
8005         1) captured error output, so can test errors, this might be bad,
8006         not sure.  2) basic tests for register stack frames, including some
8007         errors 3) I think we can stop skipping one of the string tests 4) I
8008         added some more substr tests, but substr was broken, so 5) changed
8009         substr to work with out of range values, or 6) throw an error if
8010         they're far too silly
8012         Courtesy of: Alex Gough <alex@rcon.org>
8014 2001-09-24 17:27  gregor
8016         * basic_opcodes.ops, opcode_table, t/op/number.t:
8017           * Op set_n was missing. Added it and a test for it. We now have
8018         the
8019             same int and num ops, except mod is int-only.
8021 2001-09-24 17:01  gregor
8023         * assemble.pl:
8024           * Fixed a typo: s/Line/line/
8026 2001-09-24 16:02  gregor
8028         * basic_opcodes.ops:
8029           * Fixed dec_n_nc opcode, which had += where it should have had
8030         -=.
8032 2001-09-24 15:34  gregor
8034         * assemble.pl:
8035           * Fixed handling of constants starting with '0' that should not
8036         be
8037             sent through oct(). For example 'set N2 0.1' was being
8038         interpreted
8039             as 'set N2 0' (naughty).
8041             As reported by Leon Brocard <acme@astray.com> in the comments
8042         of
8043             his mandelbrot.pasm example.
8045 2001-09-24 02:21  bdwheele
8047         * assemble.pl: fixed dumb code when --include was not specified.
8049 2001-09-24 02:17  simon
8051         * assemble.pl:
8052         Shit-sweeping.
8054 2001-09-24 01:56  bdwheele
8056         * assemble.pl: * Added --include=dir option to assembler to provide
8057         a path to look for included files.  * Error message of a macro is
8058         defined inside of a macro
8060 2001-09-23 21:29  bdwheele
8062         * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8064 2001-09-23 15:50  simon
8066         * Configure.pl:
8067         Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8069 2001-09-23 02:03  ask
8071         * Configure.pl, test_c.in: fix missing newline at the end of test.c
8072         Courtesy of: acme@astray.com (Leon Brocard)
8074         rename 'test' executable used in Configure process to test_siz.
8076 2001-09-23 01:03  simon
8078         * process_opfunc.pl:
8079         iPaq fix. No, really.
8081 2001-09-23 00:47  simon
8083         * MANIFEST:
8084         Missed several, in fact.
8086 2001-09-23 00:46  simon
8088         * MANIFEST:
8089         Missed one.
8091 2001-09-22 21:13  simon
8093         * assemble.pl:
8094         Assembler register numbering rigour.
8096         Courtesy of: Leon Brocard <acme@astray.com>
8098 2001-09-22 18:20  simon
8100         * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8101         lib/Test/Utils.pm:
8102         I'm sick of having to install Test::More everywhere. Temporary
8103         measure until we remove this silly dependency.
8105         Also a typo in Makefile.in which suggests some things were only
8106         happening correctly by sheer chance. :)
8108 2001-09-22 18:06  simon
8110         * README:
8111         test.pasm is dead, long like make test.
8113 2001-09-22 17:47  simon
8115         * t/op/number.t:
8116         De-fang overzealous floating point test.
8118 2001-09-22 17:39  simon
8120         * process_opfunc.pl:
8121         Remove hard-coded NV size assumption. Tru64 is nearly there!
8123 2001-09-22 17:18  simon
8125         * assemble.pl, disassemble.pl:
8126         More portability fixups.
8128 2001-09-22 16:44  simon
8130         * assemble.pl, Parrot/PackFile/Constant.pm,
8131         lib/Parrot/PackFile/Constant.pm:
8132         And I *think* this fixes Tru64.
8134 2001-09-22 16:37  simon
8136         * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8138         Oops.
8140 2001-09-22 16:36  simon
8142         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8143         Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8144         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8146         More removal of hard-coded pack formats.
8148 2001-09-22 15:21  simon
8150         * assemble.pl:
8152         Grrr. Why isn't this working?
8154 2001-09-22 15:18  simon
8156         * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8157         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8159         Make assemble use the PackFile modules; also fixed some bugs in
8160         them.
8162 2001-09-22 14:38  simon
8164         * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8166         Abstract the argument and opcode packing types and functions out
8167         into a separate module. This *should* help us maintain consistency
8168         when we change the various types.
8170 2001-09-22 00:46  brentdax
8172         * Configure.pl: Delete test.o (or its equivalent) after Configure's
8173         test program finishes.
8175 2001-09-21 21:24  brentdax
8177         * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8178         separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8180 2001-09-21 21:09  gregor
8182         * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8183         lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8185           * Fixed pad calculation (similar to recent bug fix on C library)
8187 2001-09-21 20:23  simon
8189         * disassemble.pl:
8190         Pack types and sizes have gone askew.
8192 2001-09-21 20:18  brentdax
8194         * Configure.pl: Fix typo in setting stuff from the C test program
8196 2001-09-21 10:25  simon
8198         * basic_opcodes.ops, process_opfunc.pl:
8199         Document patches.
8201         Courtesy of: Leon Brocard <acme@astray.com>
8203 2001-09-21 06:06  ask
8205         * Config_pm.in, assemble.pl: fix 5.005_03.
8207 2001-09-21 06:03  ask
8209         * Configure.pl: make the ivsize detection work for us normal people
8210         without . in our PATH.  :-)
8212 2001-09-21 05:56  brentdax
8214         * test_main.c: Change _read to read for portability to Tru64
8215         (Damien Neil <neild@misago.org> and likely many others)
8217 2001-09-21 05:46  ask
8219         * Makefile.in: "update" target to update from cvs.
8221 2001-09-21 05:44  brentdax
8223         * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8225 2001-09-21 02:43  brentdax
8227         * Configure.pl: Fix a typo that forced the -g flag on
8229 2001-09-20 22:41  dan
8231         * packfile.c: Had some no-value returns. Naughty
8233 2001-09-20 22:40  dan
8235         * t/test.pasm: Added labels to output
8237 2001-09-20 15:39  simon
8239         * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8240         lib/Parrot/Test.pm:
8241         This patch does two only somewhat related things.
8243         Parrot/Opcode.pm:  Change the hard-wired assumption that sizeof(nv)
8244         = 2*sizeof(iv) to a PConfig-type computed value.
8246         Parrot/Test.pm:  Change it to run with the perl that was used to
8247         generate this version of Parrot.  This is useful if, for example,
8248         you want to use bleadperl to build and test parrot (e.g. to try out
8249         various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8250         installed as the default 'perl' on your system.  Since perl-5.7.x
8251         is installed 'version-only', a plain 'perl' is quite likely to pick
8252         up the older perl in such cases. Such an older perl might well not
8253         understand pack('q') used in the assembler.
8255         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8257 2001-09-20 15:14  gregor
8259         * packfile.c:
8260           * Fixed a typo in pad calculation that throwing off unpack and
8261         pack.
8263 2001-09-20 15:03  thgibbs
8265         * t/op/integer.t: Removed overflow tests from integer.t.  set_i_ic
8266         tests now cover all registers.
8268         Courtesy of: Damien Neil neild@misago.org
8270 2001-09-20 14:48  thgibbs
8272         * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8273         machines.
8275 2001-09-20 14:35  simon
8277         * Configure.pl, assemble.pl:
8278         Pack IVs correctly.
8280         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8282 2001-09-20 14:06  gregor
8284         * languages/jako/jakoc:
8285           * Fixed a tyop in the string interpolation regex.
8287         Courtesy of Michael L Maraist <maraist@UDel.Edu>
8289 2001-09-20 13:56  gregor
8291         * languages/jako/jakoc:
8292           * Updated jakoc to work with the single-destination comp ops.
8294 2001-09-20 05:08  bdwheele
8296         * assemble.pl: macro expansion.  Here's the test macro I was using:
8298         # this uses I32,I31 as temporaries.  # macro must be preceeded by a
8299         label.  testi       macro   num,got,want    print   "Test #"
8300         print   num     print   "..."   set     I32,want        set
8301         I31,got         eq      I32,I31,$ok     print   "NG\n"  branch
8302         $end $ok:       print   "OK\n" $end:    endm
8304         It is invoked as:
8306         Test1:  testi   1,I3,I2
8308 2001-09-20 03:52  dan
8310         * stacks.c, include/parrot/stacks.h: Preliminary files for the
8311         generic stack support
8313 2001-09-20 02:49  bdwheele
8315         * assemble.pl: Added include processing to assemble.pl  the syntax
8316         is: include 'file.to.include'
8318 2001-09-19 23:57  thgibbs
8320         * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8321         opcode_table listing of if_i_ic and if_n_ic.  Dan had changed the
8322         function to only use 2 args, but the opcode_table still had three
8323         listed.  Fixed integer.t and number.t to use the new comparison
8324         operators.  Improved assemble.pl ability to grok operators by
8325         constructing a function set and comparing operator types.
8327 2001-09-19 22:42  dan
8329         * assemble.pl: Binmodes the output filehandles now. (No more
8330         bytecode munching...)
8332 2001-09-19 22:32  dan
8334         * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8335         t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8336         conditional branches take a single argument, and fall through
8337         otherwise.
8339 2001-09-19 21:19  thgibbs
8341         * memory.c: Added explanation of mem_allocate_aligned give by Dan
8342         Sugalski
8344         Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8346 2001-09-19 21:04  thgibbs
8348         * include/parrot/interpreter.h, Configure.pl,
8349         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8350         process_opfunc.pl: Changed opcode_t from a union to a configurable
8351         type.
8353 2001-09-19 20:54  thgibbs
8355         * assemble.pl: Missed a couple of changes for 64 bit portability.
8357 2001-09-19 20:37  gregor
8359         * packfile.c, include/parrot/packfile.h:
8360           * Added "methods" for setting and getting all the various
8361         attributes,
8362             probably sufficient for an assembler to use the library.
8364 2001-09-19 20:04  thgibbs
8366         * assemble.pl: Modifications to run on 64 bit platforms.  To run on
8367         a 64 bit platform manually change the  setting for 'i' from 'l' to
8368         'q'.  This should be automatically done by a Configure setting in
8369         the near future.
8371 2001-09-19 19:10  thgibbs
8373         * config_h.in: changed c++ comment to c comment.
8375         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8377 2001-09-19 17:48  gregor
8379         * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8380         include/parrot/packfile.h:
8381           * C code for dealing with PackFiles as if they were objects.
8382         Mostly
8383             read-only interface for now, but it would not be hard to make
8384         it
8385             read-write. [packfile.c, include/parrot/packfile.h]
8387           * PackFile Dumping program that falls short of disassembling, but
8388             tests the above code and provides a hex listing of the byte
8389         code
8390             contents of the PackFile. [pdump.c]
8392           * New Makefile target 'pdump' for the above program, and related
8393             Makefile.in changes.
8395           * Updated MANIFEST to reflect the added files
8397           * Update .cvsignore to ignore pdump.
8399 2001-09-19 14:55  thgibbs
8401         * MANIFEST: Added number.t and trans.t to MANIFEST
8403 2001-09-19 05:40  thgibbs
8405         * process_opfunc.pl: Now taking & of opcode_t instead of i member
8406         of union opcode_t.  I hope this will be more portable for set_n_nc.
8408 2001-09-19 05:39  thgibbs
8410         * t/op/integer.t: Added end to test 1.
8412 2001-09-19 00:09  thgibbs
8414         * t/op/number.t: Added end to each test
8416 2001-09-19 00:00  simon
8418         * t/op/number.t:
8419         Number tests! Wooo!
8421         Courtesy of: Damien Neil <neild@misago.org>
8423 2001-09-18 23:52  thgibbs
8425         * interpreter.c: Added casts to appropriate types to make -Wall not
8426         complain on certain printf formats
8428 2001-09-18 23:31  thgibbs
8430         * t/op/integer.t: Added end to each test.
8432 2001-09-18 22:54  thgibbs
8434         * t/op/trans.t: Added trans.t for transcendental math function
8435         tests.
8437 2001-09-18 22:28  simon
8439         * MANIFEST:
8440         MANIFEST updates. (And notice how I carefully snuck in the
8441         t/op/integer.t there...)
8443         Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8445 2001-09-18 22:26  simon
8447         * t/: integer.t, op/integer.t:
8448         Except it doesn't go there. Duh.
8450 2001-09-18 22:25  simon
8452         * t/integer.t:
8453         Tests for integer ops.
8455         Courtesy of: Damien Neil <neild@misago.org>
8457 2001-09-18 22:03  thgibbs
8459         * include/parrot/bytecode.h, include/parrot/interpreter.h,
8460         build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8461         make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8462         opcode_t union for operators.  This required a few perl script
8463         changes to output the correct type.  There were also some changes
8464         to allow -pedantic in gcc
8466 2001-09-18 21:07  gregor
8468         * disassemble.pl, Parrot/PackFile.pm,
8469         Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8470         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8471         lib/Parrot/PackFile/Constant.pm:
8472         Converted the disassembler to use the Parrot::PackFile Perl classes
8473         to do its job.
8475 2001-09-18 19:18  brentdax
8477         * Makefile.in: Fix missing functions for real this time.  (I
8478         swear!)
8480 2001-09-18 18:49  brentdax
8482         * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8483         <doughera@lafayette.edu>}
8485 2001-09-18 18:47  brentdax
8487         * Makefile.in: Fix bugs with missing math, etc. functions
8489 2001-09-18 14:42  thgibbs
8491         * strnative.c: Sorry Simon...forgot bustart was a void* not a
8492         char*.
8494 2001-09-18 13:59  thgibbs
8496         * strnative.c: Removed unnecessary IV cast in concat.
8498 2001-09-18 13:58  thgibbs
8500         * t/op/string.t: Removed unnecessary IV cast in concat.  Added end
8501         to concat test in string.t
8503 2001-09-18 12:07  gregor
8505         * languages/jako/jakoc:
8506           * var num ... no longer requires assignment
8507           * automatic casting between int and num
8508           * Fixed an error message
8510         Courtesy of: Simon Cozens <simon@cvs.perl.org>
8512 2001-09-18 11:57  simon
8514         * TODO:
8515         Gonna have to start thinking of more things to do, soon.
8517 2001-09-18 10:42  simon
8519         * opcode_table:
8520         Introduce a little more tidiness into the opcode table.
8522 2001-09-18 03:06  gregor
8524         * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8525         Resurrected register-const ops per Dan's request.
8527 2001-09-18 02:20  gregor
8529         * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8530         build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8531         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8532         process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8533         Committed some files that were missed in the last *.h moving
8534         commit.
8536 2001-09-18 02:17  gregor
8538         * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8540 2001-09-18 02:16  gregor
8542         * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8543         global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8544         register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8545         missed in last commit for the move of *.h to include/parrot.
8547 2001-09-18 01:32  simon
8549         * t/Makefile:
8550         Trivial "clean" target to t/Makefile.
8552 2001-09-18 01:32  simon
8554         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8555         Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8556         Change icky Digest::MD5 for nice simple unpack()
8558         Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8560 2001-09-18 00:35  simon
8562         * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8563         t/op/string.t:
8564         New concat op. Hey, if I'm going to talk about it in an article,
8565         better implement it...
8567 2001-09-17 22:54  gregor
8569         * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8570         Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8571         lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8572         lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8574         Functions for reading, writing and manipulating Parrot Pack Files.
8575         NOTE: This is a proposed term based on the fact that the file
8576         contains more than just byte code, and another language (Java)
8577         calls its binary files by a broader notion of what's in them (Class
8578         Files). Since Perl has packages, and since we use pack() to write
8579         them, we'll call them PackFiles (at least for now).
8581         That does, however, beg the question of file extension. Should we
8582         name the files "foo.pack" instead of "foo.pbc"?
8584 2001-09-17 20:23  thgibbs
8586         * interpreter.c, test_main.c: Uncuddled else statements for coding
8587         standard.
8589 2001-09-17 19:57  gregor
8591         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8592         Added a $revision variable, parsing of the CVS Id line in
8593         opcode_table and a &revision() subroutine.
8595 2001-09-17 19:53  gregor
8597         * opcode_table:
8598         Added a CVS Id tag to it.
8600 2001-09-17 18:58  thgibbs
8602         * interpreter.c: Cleared interpreter flags on creation.
8604 2001-09-17 18:38  gregor
8606         * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8607         interpreter.h, test_main.c:
8608           * Provides macros in interp_guts.h for setting up arrays with
8609             op names and op arg counts (done via build_interp_starter.pl).
8611             These are used in the op tracing
8613           * The functions in bytecode.[hc] pass around a pointer to the
8614         length
8615             of the bytecode so that later when we get to runops, we know
8616             how much bytecode we've got and we can detect out-of-bounds
8617             jumping. The documentation is updated, too.
8619           * runops in interpreter.c now looks at interpreter->flags to
8620             decide if the core of runops should be runops_trace_core or
8621             runops_notrace_core. These new functions contain just the
8622             while-loop portion of runops. A new function runops_generic
8623             does any other setup (such as checking the bytecode
8624             fingerprint) or wrapup (such as complaining if we ended up
8625             out-of-bounds). NOTE: I didn't know what we should do for
8626             functions in here that are not part of the api, so I gave
8627             them docs with 'TODO' marks mentioning they really aren't
8628             part of the api. Guidance appreciated.
8630           * test_main.c now checks for '-t' arg and sets the tracing flag
8631             on its interpreter instance as appropriate.
8633 2001-09-17 17:47  bdwheele
8635         * assemble.pl: added some default equates, and if they're sub
8636         references, they are computed each time it is referenced.
8638 2001-09-17 16:15  dan
8640         * interpreter.h:
8642         Added flags to the interpreter structure and defined a few.
8644 2001-09-17 15:51  simon
8646         * bytecode.h, string.h:
8647         VAR_SCOPE on globals.
8649 2001-09-17 15:20  simon
8651         * MANIFEST:
8652         Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8654 2001-09-17 15:05  gregor
8656         * t/jump.pasm, MANIFEST:
8657         Added a test program to demonstrate jump_i.
8659 2001-09-17 14:44  thgibbs
8661         * register.c: Fixed register pop not using correct offset (off by
8662         one).
8664         Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8666 2001-09-17 13:56  thgibbs
8668         * interpreter.c, register.c: Added code to call Parrot_clear_s
8669         during initialization and Parrot_clear_s and Parrot_clear_p when a
8670         new stack frame is pushed.
8672 2001-09-17 13:51  gregor
8674         * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8675         fib.jako, hello.jako: Added bench.pasm to "clean"
8677 2001-09-17 13:49  gregor
8679         * languages/jako/: jakoc, Makefile:
8680         Added CVS Id tag.
8682 2001-09-17 13:49  gregor
8684         * languages/jako/jakoc:
8685         Code streamlining.
8687         Courtesy of: Buggs <buggs-perl6@splashground.de>
8689 2001-09-17 13:29  gregor
8691         * MANIFEST, opcheck.pl:
8692         Added an opcode_table checker to make sure that all opcodes listed
8693         there conform to a simple set of naming rules (rules themselves, of
8694         course, are subject to change).
8696 2001-09-17 13:23  thgibbs
8698         * string.c: Modified string.c to correctly use the return value of
8699         realloc.
8701 2001-09-17 05:26  brentdax
8703         * Makefile.in: Making the Makefile smarter
8705 2001-09-16 23:06  brentdax
8707         * hints/mswin32.pl: Finishing the Configure hints
8709 2001-09-16 23:05  brentdax
8711         * Configure.pl, Makefile.in, parrot.h, test_main.c,
8712         Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8713         Configure hints, 5.005 compatibility, MANIFEST checking
8715 2001-09-16 19:25  bdwheele
8717         * assemble.pl: parrot assembly equates
8719 2001-09-16 18:03  gregor
8721         * Makefile.in:
8722         Added 'test' target to run new test suite.
8724 2001-09-16 17:33  simon
8726         * basic_opcodes.ops:
8727         'not' was being !, rather than ~. Too many Perl programmers here, I
8728         suspect.
8730         Courtesy of: Tom Hughes <tom@compton.nu>
8732 2001-09-16 17:21  simon
8734         * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8735         t/op/string.t:
8736         A *real* test suite!
8738         Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8740 2001-09-16 16:49  gregor
8742         * basic_opcodes.ops, opcode_table:
8743         At Dan's request, my new register-constant comparison ops have been
8744         removed.
8746 2001-09-16 16:40  gregor
8748         * languages/jako/jakoc:
8749         Fixed a copy-paste error in one of jakoc's error messages.
8751         Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8753 2001-09-16 16:37  gregor
8755         * languages/jako/jakoc:
8756         Modified comparison implementation to use temporary registers in
8757         the case of register-constant and constant-register comparisons.
8758         This will allow the compiler to emit code that works when the
8759         constant-comparison ops are backed out of Parrot. If the ops ever
8760         make their way back in, then jakoc can emit more efficient code
8761         again.
8763 2001-09-16 16:19  bdwheele
8765         * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8766         ... though not subroutine based like the documentation wants, they
8767         are local to the last non-local label defined.
8769 2001-09-16 14:02  simon
8771         * MANIFEST:
8772         And remember, when you add stuff, keep the manifest up to date.
8774 2001-09-16 02:55  ask
8776         * Makefile.in: a "shared" target for building libparrot.so
8778 2001-09-16 02:45  thgibbs
8780         * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8781         global_setup.h, interpreter.c, interpreter.h, io.h,
8782         make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8783         process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8784         string.h, strnative.c, strnative.h, test_main.c: Updated files to
8785         use the coding standard PDD.  Also changed Perl_Interp to
8786         Parrot_Interp.
8788 2001-09-16 02:21  ask
8790         * README: emphasise the bits about the license not being worked out
8791         yet.
8793 2001-09-15 22:21  simon
8795         * process_opfunc.pl:
8796         basic_opcodes.c should *scream* that it's autogenerated.
8798 2001-09-15 21:58  gregor
8800         * languages/jako/Makefile:
8801         Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8802         compile.
8804 2001-09-15 21:58  gregor
8806         * languages/jako/: jako_compiler.pl, jakoc:
8807         Renamed the Jako compiler to jakoc from jako_compiler.pl
8809 2001-09-15 21:51  gregor
8811         * languages/jako/: Makefile, bench.jako, euclid.jako,
8812         jako_compiler.pl:
8813         Added a new bench.jako example based on Leon Brocard's Bench.java.
8815         Jako Compiler:   * fix a bug in assignment handling   * add some
8816         more conditionals to while and if   * revert to using implicit
8817         opcodes in a few cases that were broken     before the assembler
8818         patch went in recently.
8820 2001-09-15 21:46  gregor
8822         * assemble.pl, basic_opcodes.ops, opcode_table:
8823         New ops for register-constant INTEGER comparisons:
8825           {eq,ne,lt,le,gt,ge}_ic_ic
8827         New ops for register-register and register-constant NUMERIC
8828         comparisons:
8830           eq_nc_ic
8831           {ne,lt,le,gt,ge}_{n,nc}_ic
8833         Assembler:
8835           Allow uppercase and underscores in labels.
8837           Tweaks to the op infer code to make it work with the examples
8838         I've been
8839           creating.
8841 2001-09-15 19:16  thgibbs
8843         * README: Updated README to include Configure.pl
8845 2001-09-15 17:05  simon
8847         * build_interp_starter.pl:
8848         Casting happiness
8850         Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8852 2001-09-15 16:45  simon
8854         * assemble.pl:
8855         And the same again: Parrot/Opcode.pm wasn't "..-aware".
8857 2001-09-15 16:40  simon
8859         * t/Makefile:
8860         The Parrot/Opcode.pm dependency means we need to do -I.. in the
8861         test Makefile
8863 2001-09-15 12:26  simon
8865         * memory.c:
8866         Fixed to match the coding standards.
8868         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8870 2001-09-15 01:57  ask
8872         * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8873         lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8874         to run Configure.pl
8876 2001-09-15 01:48  ask
8878         * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8879         say so. :-)
8881 2001-09-15 01:42  gregor
8883         * languages/jako/: euclid.jako, fact.jako, fib.jako,
8884         jako_compiler.pl:
8885         Compiler: Added variable interpolation in double-quoted strings.
8886         Examples: Made use of variable interpolation.
8888 2001-09-15 01:28  gregor
8890         * Parrot/.cvsignore:
8891         Ignore the Config.pm generated file.
8893 2001-09-15 01:22  gregor
8895         * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8896         fib.jako, hello.jako, jako_compiler.pl:
8897         gnp: Added some more sample Jako files and added many more
8898         operators to the compiler. Preparations for supporting all the Math
8899         and bitwise ops.
8901 2001-09-14 19:06  simon
8903         * assemble.pl, build_interp_starter.pl, disassemble.pl,
8904         make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8905         lib/Parrot/Opcode.pm:
8906         Move common table reading stuff to a module.
8908         Courtesy of: Damien Neil <neild@misago.org>
8910 2001-09-14 17:42  simon
8912         * .cvsignore:
8913         More .cvsignore foo.
8915 2001-09-14 17:40  simon
8917         * assemble.pl, config_h.in:
8918         De-coredump
8920         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8922 2001-09-14 17:38  simon
8924         * assemble.pl, t/Makefile:
8925         Make assemble.pl look in its parent directory if the data files it
8926         needs aren't in the current one. Plus a Makefile that lets "make
8927         foo.pbc" work in t/
8929         Courtesy of: Rocco Caputo <troc@netrus.net>
8931 2001-09-14 16:29  simon
8933         * make_op_header.pl:
8934         Wildly experimental patch to make Parrot compile on FreeBSD. (And
8935         probably segfault everywhere else.)
8937 2001-09-14 15:58  dan
8939         * languages/jako/: euclid.jako, jako_compiler.pl:
8941         Added in the first mini-language that targets Parrot.
8943         Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8945 2001-09-14 15:20  dan
8947         * memory.c: Was misaligning returned memory. Fixed.
8949 2001-09-14 15:08  simon
8951         * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8952         interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8953         register.c, register.h, string.c, string.h, strnative.c,
8954         test_main.c:
8955         Fixes to include <parrot/foo.h>
8957         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8959 2001-09-14 12:05  simon
8961         * strnative.c:
8962         Appease Tru64.
8964 2001-09-14 12:01  simon
8966         * memory.c:
8967         Appease Tru64.
8969 2001-09-14 11:54  simon
8971         * interpreter.c:
8972         Remove lvalue cast.
8974 2001-09-14 11:45  simon
8976         * Configure.pl:
8977         Be 5.005 friendly.
8979 2001-09-14 11:39  simon
8981         * Configure.pl:
8982         Tru64 cc doesn't like -Wall
8984 2001-09-14 10:57  simon
8986         * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8987         assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8988         config.h.in, config_h.in, disassemble.pl, interpreter.c:
8989         Configure now generates Makefile
8991         Courtesy of: Brent Dax <brentdax@cpan.org>
8993 2001-09-14 10:08  simon
8995         * t/test3.pasm:
8996         Add "end"
8998         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9000 2001-09-14 10:07  simon
9002         * assemble.pl:
9003                 * uses Getopt::Long for options.  -c is now --checksyntax.
9004         I wasn't
9005         sure how to keep compatible (patches welcome!)         * options
9006         include:                 --help                 --version
9007               --verbose                 --output=file
9008         --listing=file                 --checksyntax         * produces
9009         verbose listing of what the assembler saw :)  Only one nitpick with
9010         it:  unknown symbols are given as 0xffffffff, unfortunately, this
9011         includes symbols which may be defined later in the file (i.e.
9012         forward jumps).
9014         Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9016 2001-09-14 10:06  simon
9018         * strnative.c:
9019         substr growth fixup
9021         Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9023 2001-09-14 10:03  simon
9025         * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9026         register.c, string.c, strnative.c, test_main.c:
9027         Coding standards conformance
9029         Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9031 2001-09-14 09:46  simon
9033         * assemble.pl:
9034         Make the assembler grok transcendental maths again.  Courtesy of:
9035         Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9037 2001-09-13 17:29  simon
9039         * assemble.pl:
9040         Better opcode guessing, from Brian Wheeler. (Again!)
9042 2001-09-13 17:20  dan
9044         * docs/parrot_assembly.pod:
9046         Took out duplicate entries for iton, ntoi, and tostring.
9048 2001-09-13 17:16  simon
9050         * assemble.pl, basic_opcodes.ops, opcode_table:
9051         From Brian Wheeler:
9053         This patch gives the assembler support of '\a','\n','\r','\t', and
9054         '\\' in string constants.
9056         In addition, it changes (for all registers) "I reg %li is ..." to
9057         just the value of the register.  Printing constants is also
9058         supported, but alas, you have to specify the type (print_sc,
9059         print_ic, print_nc).
9061 2001-09-13 15:38  simon
9063         * assemble.pl:
9064         Why don't I actually *test* this stuff before applying it, eh?
9066 2001-09-13 15:34  simon
9068         * TODO, t/euclid.pasm:
9069         From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9070         (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9071         inference
9073 2001-09-13 14:42  simon
9075         * assemble.pl:
9076         A new assembler, from Brian Wheeler.
9078 2001-09-13 09:44  simon
9080         * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9081         test_main.c:
9082         Two more from Tom Hughes:     Patch to fix C++ style comments
9083         Patch to remove use of structure constant/cast
9085 2001-09-13 09:39  simon
9087         * TODO, docs/strings.pod:
9088         Update string docs.
9090 2001-09-13 09:36  simon
9092         * Makefile, basic_opcodes.ops:
9093         Tom Hughes      Patch to link with the maths library Tom Hughes
9094          Patch to fix += on rvalue
9096 2001-09-13 08:57  simon
9098         * MANIFEST:
9099         I guess nobody's been using the nightly builds...
9101 2001-09-13 08:27  simon
9103         * assemble.pl, basic_opcodes.ops, opcode_table:
9104         Bitwise ops, from Brian Wheeler.
9106 2001-09-13 08:23  simon
9108         * .cvsignore, t/.cvsignore:
9109         .cvsignore's, from Gregor Purdy.
9111 2001-09-13 08:22  simon
9113         * Makefile:
9114         Euclidean test and test output rearranging from Gregor Purdy.
9116 2001-09-13 08:21  simon
9118         * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9119         Math ops from Gibbs Tanton.
9121 2001-09-13 08:14  simon
9123         * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9124         t/test2.pasm:
9125         String substr op; also rearranged "encoding" to be a vtable
9126         pointer, not an array index. Haven't changed docs to reflect this,
9127         oops.
9129         Simon
9131 2001-09-12 19:48  dan
9133         * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9134         Gregor Purdy
9136 2001-09-12 19:39  dan
9138         * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9140 2001-09-12 19:23  dan
9142         * interpreter.h, parrot.h: Quick placeholder entry for string
9143         function tables
9145 2001-09-12 18:58  dan
9147         * memory.c: Added in a cast to make gcc happy.
9149 2001-09-12 16:44  dan
9151         * docs/parrot_assembly.pod:
9153         PDD describing parrot's assembly language and the opcodes in it
9155 2001-09-12 14:20  dan
9157         * memory.c:
9158         Fixed alignment issues with allocation
9160 2001-09-12 10:54  simon
9162         * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9163         make_op_header.pl, opcode_table, process_opfunc.pl:
9164         Brian Wheeler's big patch:
9166         * Changes the opcode_table file to provide additional information
9167         about the operands.  Case shouldn't be a problem since that data
9168         never becomes a C symbol [this is pretty much as before]
9170         * Padding errors solved:  assemble.pl and bytecode.c were padding
9171         the constants incorrectly.  It should have been 4-(size % 4), not
9172         just (size % 4).  It is now fixed in both places.
9174         * assembler has less special cases, and should be easier to hang
9175         error checking on
9177         * disassembler dumps constant table and the format is a bit
9178         prettier, including register names, etc.
9180 2001-09-11 23:21  dan
9182         * build_interp_starter.pl, interpreter.c:
9184         Abstracted the runops function core into a macro for easy
9185         replacement later.
9187 2001-09-11 10:43  simon
9189         * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9190         Configure system from Brent Dax <brentdax@cpan.org>
9192 2001-09-11 09:38  simon
9194         * assemble.pl, test.pbc:
9195         From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9196         assembler deferred output
9198         Also got rid of the bytecode, since that's probably way out of
9199         date.
9201 2001-09-11 09:26  simon
9203         * basic_opcodes.ops, opcode_table, t/test2.pasm:
9204         From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9205         patch
9207 2001-09-10 23:20  simon
9209         * MANIFEST:
9210         And that move needs a MANIFEST change. So many things to remember!
9212 2001-09-10 23:18  simon
9214         * t/: test.pasm, test2.pasm, test3.pasm:
9215         Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9217 2001-09-10 23:18  simon
9219         * test.pasm, test2.pasm, test3.pasm:
9220         Move tests to t/
9222 2001-09-10 23:04  dan
9224         * test3.pasm:
9226         Register push/pop test
9228 2001-09-10 22:47  simon
9230         * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9231         Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9232         (Modified to avoid conflict with Dan's changes.)
9234 2001-09-10 22:45  dan
9236         * disassemble.pl:
9238         Happier about blanks in opcode_table
9240 2001-09-10 22:40  dan
9242         * interpreter.c, register.c:
9244         Yanked out debugging code, since these work OK. The bug I want is
9245         elsewhere.
9247 2001-09-10 22:30  simon
9249         * MANIFEST:
9250         Uhm. We want make_op_header.pl. We really, really do.
9252 2001-09-10 22:26  simon
9254         * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9255         build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9256         opcode_table, process_opfunc.pl:
9257         Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9258         This means we can add lots more opcodes without fiddling about with
9259         the numbers. Hooray!
9261         Don't forget that "end" needs to be op zero, else the interpreter
9262         falls off the end of the code. This is Bad, and I wonder if there's
9263         a way around it.
9265 2001-09-10 19:49  simon
9267         * MANIFEST, make_op_table_build.pl:
9268         Hey! This doesn't do anything...
9270 2001-09-10 19:46  simon
9272         * Makefile:
9273         "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9275 2001-09-10 18:31  simon
9277         * MANIFEST:
9278         You know what this means...
9280 2001-09-10 18:30  simon
9282         * assemble.pl:
9283         "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9284         wait for a release...? :)
9286 2001-09-10 18:13  simon
9288         * interpreter.c:
9289         Bad Dan! No cookie!
9291 2001-09-10 17:56  simon
9293         * README:
9294         A *real* README file, which doesn't claim it isn't for public
9295         consumption.
9297 2001-09-10 17:02  simon
9299         * TODO:
9300         More things to do.
9302 2001-09-10 16:56  dan
9304         * TODO: Added in assembler gripe. Also added a few blank lines for
9305         clarity
9307 2001-09-10 16:49  dan
9309         * register.h, register.c: Renamed the core functions so the opcodes
9310         can find 'em OK. (There were some conflicts)
9312 2001-09-10 16:48  dan
9314         * basic_opcodes.ops, opcode_table: Added register window ops
9316 2001-09-10 11:07  simon
9318         * TODO:
9319         Trivial TODO list.
9321 2001-09-10 11:05  simon
9323         * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9324         note "-s" flag to test prog.
9326 2001-09-10 11:01  simon
9328         * docs/strings.pod:
9329         New string documentation.
9331 2001-09-10 11:01  simon
9333         * basic_opcodes.ops, opcode_table:
9334         String ops.
9336 2001-09-10 10:53  simon
9338         * global_setup.c:
9339         More string fu.
9341 2001-09-10 10:51  simon
9343         * memory.h:
9344         Just some more aliases for now. Used by string handling stuff.
9346 2001-09-10 10:50  simon
9348         * assemble.pl, bytecode.c, bytecode.h:
9349         Temporary hack to store string constants in bytecode and recreate
9350         them at runtime.
9352 2001-09-10 10:48  simon
9354         * op.h:
9355         op.h is now generated by the Makefile; remove it.
9357 2001-09-10 10:47  simon
9359         * Makefile:
9360         clean and op.h Makefile targets.
9362 2001-09-10 10:45  simon
9364         * string.c, string.h, strnative.c:
9365         More string vtable stuff.
9367 2001-09-07 21:07  dan
9369         * assemble.pl:
9371         Much less picky about whitespace in the opcode_table now. (Doesn't
9372         whine on blank lines)
9374 2001-09-07 16:23  dan
9376         * Makefile, assemble.pl, global_setup.h, interpreter.c,
9377         interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9378         this takes) Added global_setup.h to declare init_world function
9380         Moved variable declarations out of the interpreter loop for small
9381         speed boost.
9383         Changed end opcode to now be opcode #0. A function is provided for
9384         it, but isn't ever executed.
9386         When the interpreter sees an opcode 0 in the stream it means the
9387         end of stream. Things were coring on Cygwin otherwise. (I think I
9388         was dereferencing a zero, which is bad)
9390 2001-09-06 22:07  dan
9392         * basic_opcodes.ops, process_opfunc.pl:
9394         Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9395         are minor changes now that things are in a fixed state.
9397 2001-09-06 16:13  dan
9399         * basic_opcodes.c, test_opcodes.c:
9400         test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9402         basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9403         should be nuked. So it is. :)
9405 2001-09-06 03:35  dan
9407         * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9408         Scripts to build the header file that holds the function table
9409         creation code, as well as the script to turn an opcode file to C
9410         source. (And the basic opcode functions turned into an opcode
9411         source file)
9413 2001-09-06 03:31  dan
9415         * Makefile, interpreter.c:
9416         Changes to support the autogeneration of the opcode function
9417         pointer table in interpreter.c, along with the changes to the
9418         Makefile needed.
9420 2001-09-05 13:27  simon
9422         * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9423         docs/parrotbyte.pod, docs/vtables.pod:
9424         Added stubs for the documents; working on them this week. (What's
9425         left of it.) config.h change is just to type VTABLE, and the
9426         bytecode thing you might want to revoke. It's apidoc for the
9427         functions in there.
9429 2001-09-03 18:26  simon
9431         * docs/strings.pod:
9432         A start on the string API documentation.
9434 2001-09-03 17:43  simon
9436         * opcode_table:
9437         Since we specify the opcode number, we can rearrange to a more
9438         human-friendly ordering.
9440 2001-09-03 17:42  simon
9442         * basic_opcodes.c:
9443         Coupl'a logic bugs. (I think)
9445 2001-09-03 17:41  simon
9447         * string.c, string.h, strnative.c:
9448         Tidying up the string vtables.
9450 2001-09-03 17:38  simon
9452         * make_op_header.pl:
9453         Spit out the whole of op.h, not just the bit in the middle.
9455 2001-08-29 13:16  ask
9457         * README: it seems like we indeed can commit. What about sending
9458         commit mails?
9460 2001-08-29 13:07  simon
9462         * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9463         bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9464         global_setup.c, interpreter.c, interpreter.h, io.h,
9465         make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9466         op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9467         stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9468         test.pbc, test_main.c, test_opcodes.c:
9469         Initial checkin of Simon's work directory - Dan, feel free to nuke.
9470          I'm still working on the string stuff, though.
9472 2001-08-29 12:44  ask
9474         * README: update README with list address
9476 2001-08-29 12:36  ask
9478         * README: first readme.