11 2009.06.16 Whiteknight
35 2008.12.16 Whiteknight
131 * changed 'name' method on namespaces to 'get_name' per pdd21
138 * added C<isnull> opcode
145 * added :init pragma functionality to subs
148 * added :vtable pragma functionality to subs
151 * added Parrot::Embed under ext/Parrot-Embed
154 * remove the None PMC - if needed it can trivially be reimplemented
155 in languages from r14189
158 Merged Software Transactional Memory branch into trunk, adds:
159 * several new opcodes whose names start with stm_
160 * read-only PMC support
161 * several new PMC types (whose names start with STM*)
162 * support for threads (again)
169 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
170 there are opcodes now that want the real "in PMC".
171 * namespace and global opcodes now accept name arrays again, as
172 well as keys; the corresponding namespace PMC methods are gone.
175 * Parrot_exit, Parrot_on_exit take now an Interp * argument
178 * add experimental op find_type_i_p
179 * fix longstanding bug that sometimes didn't encode pasm keys as
180 Key PMCs (specifically "[S0]" and "['stringliteral']").
183 further implementation of new pdd21:
184 * new opcodes {get,set}*global
185 (old {find,store}*global will be supported for a short while)
188 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
190 (at the moment code is checking for 2.0 -- ambs)
193 partial implementation of new pdd21:
194 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
195 * get_namespace and find_global opcodes no longer accept arrays
196 of strings. To use arrays, call namespace object methods.
203 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
210 * Make the Perl PMCs dynamic and move them to src/dynpmc
217 * Shifted argument type bits left by 2 according to r11754
218 change of docs/pdds/pdd03_calling_conventions.pod
219 * if you are creating PASM then code needs adjustment
226 * rename src/dynclasses to src/dynpmc
227 * rename src/classes to src/pmc
231 * find_global and friends returns a .Null PMC instead of .Undef on
232 lookup failure, iff lookup exceptions are off
239 * renamed all .imc files to .pir
240 * modified all doc references to .pir as well
243 * moved jit/ directory to src/jit/
246 * moved io/ directory to src/io/
247 * moved classes/ directory to src/classes/
248 * moved dynclasses/ directory to src/dynclasses/
251 * moved types/ directory to src/types/
252 * moved pf/ directory to src/packfile/
253 * moved ops/ directory to src/ops/
256 * moved charset/ directory to src/charset/
257 * moved encodings/ directory to src/encodings/
260 * moved imcc/ directory to compilers/imcc/
263 * moved util/ directory to tools/util/
264 * removed imcc/examples/ directory
265 * moved ast/ directory to compilers/ast/
268 * moved imcc/docs/ directory to docs/imcc/
269 * moved build_tools/ directory to tools/build/
270 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
274 * See NEWS for changes
278 * See NEWS for changes
282 * See NEWS for changes
286 * See NEWS for changes
290 * See NEWS for changes
294 * allow short names for object attributes
295 * string encoding and charset can now be set independently
296 * experimental mmap IO layer for slurping files
297 * enable compile opcode support for compilers written in PASM/PIR
298 * improved HLL support with .HLL and n_operators pragmas
299 * simplified hash code
300 * more strength reduce optimizations
301 * distinct debug and trace flag settings
302 * glob support in PGE
303 * new character classification opcodes and interfaces
304 * numerous bug fixes and enhancements
308 * parrot repository is now under subversion
309 * MMD (Multi Method Dispatch) enhanced
310 * new unary and infix opcodes that return new result PMCs
311 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
312 * more unification of PMCs and ParrotObjects
313 * tailcalls for functions and methods
314 * PGE (Parrot Grammar Engine) reworked
315 * Pugs creates Parrot code and Pugs is a registered compiler now
317 * the usual bug fixes and improvements
321 * big rewrite of string code, not yet finished but ...
322 * partial implementation of a generational garbage collector
323 * indirect register frame addressing
324 * .return(args) PIR syntax
325 * moved most of the Python code to dynclasses
326 * a lot more Python functionality
327 * precalculate opcodes with all constants
328 * PGE - Parrot Grammar Engine
329 * scalar classes refactoring
330 * much more tests and big test system cleanup
331 * improved documentation
332 * and as always a lot more
336 * Need Perl 5.6 now for building
337 * Basic AST support, PAST file parser, bits of code generation
338 * BigInt PMC using GMP
340 * Dynamic loading improved including bundles of PMC classes
341 * Experimental support for "make install"
342 * IA64 and hppa JIT support
343 * ICU unicode support
344 * IO layer handling code
345 * IO readline and buffered IO fixes
347 * Internal pythonic functions: filter, map, reduce, max, min ...
348 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
349 * Library updates, Stream and SDL library
350 * MMD - multi method dispatch for binary vtable methods
351 * Many new array PMCs
352 * Method call syntax in PIR obj."meth"(...)
353 * More OS stuff: stat, exec, system, gmtime, piped read and write
354 * New Python PMCs like Enumerate, None
355 * Non-branching compare opcodes
356 * PIR support for += and friends
357 * Python language subdir
358 * Python types mapped to existing PMCs
359 * Slices and range support
360 * Tons of bug fixes, documentation updates, new tests
361 * Win32 COFF exec support
366 * "Ladies and gentlemen, I give you... objects!"
367 * Huge documentation overhaul
368 * More supported platforms, s. PLATFORMS
369 * Basic thread support for pthread based architectures
370 * Basic event handling for timers and signals including:
371 * PASM callbacks for NCI (native C) functions.
372 * Improved platform configuration
373 * COW stacks now working, stacks code redone
374 * Structure handling vastly improved
375 * Random PMC and rand primitives
376 * Better subroutine call syntax in PIR
377 * Make PIR subroutines compliant with pdd03
378 * Improved profiling (DOD, GC timings)
379 * Hash code improvements, incl. random key order support
380 * Experimental freeze/thaw code for some PMC types
381 * IO improvements for buffered layer and Win32
383 * String bitwise vtables
385 * Support for JIT, where malloced memory isn't executable
386 * Priority DOD scheme for objects that need timely destruction
387 * Improved bytecode loading (e.g. onLoad functions)
388 * Language updates: forth, Perl6/P6C, m4
389 * Libraries: Getopt_Long, SDL, Dumper, Sort
391 * Unified imcc and parrot test handling
392 * Many new tests (make test reports 1386 tests)
398 * Yep thirteen - haunted by the ghost of 0.0.12
399 * Build imcc as parrot
400 * Objects more finished
401 * Delegate vtable methods to byte code
402 * Binary multi-method dispatching
403 * Isa and does methods for PMCs
404 * Call byte code from C
405 * Start of extension interface
406 * Experimental struct handling
407 * Catch access to NULL PMCs
408 * Experimental network socket interface code and opcodes
409 * IO fixes and improvements
410 * Dynamic opcode libraries
411 * Fix-assigned opcode numbers
412 * Argument flattening for function calls
413 * More native call interface (NCI) signatures
414 * Ncurses, postgres, and pcre interface libraries
415 * Forth language is vastly improved
416 * BSD and Win32 build improvements
417 * Many new tests and fixes
420 * imcc moved from parrot/languages/ to parrot/
424 * updated the native_pbc test files (from Leo)
425 * built 0.0.11.1 release tarball
429 * CHANGES BUNDLED INTO 0.0.11:
431 * Dynamic PMC registration
432 * Trial exception system
433 * Beginnings of object system
436 * I/O system improvements
438 * Documentation for basic PMC types
439 * IMCC support of Parrot Calling Conventions
440 * Runtime loading of chartypes (and other string improvements)
441 * Conditional breakpoints
442 * Dramatically accelerated sweeps for finalizable objects
443 * Small PMCs (PMCs split into core and extensions)
444 * Loadable bytecode packfiles
446 * Sub variants that deal with the stack correctly
447 * Switched runops core
448 * Line numbers in warnings
450 * Many documentation cleanups
451 * Conversion to CPS style!
452 * BASIC debugger and many other wacky features
453 * Filename, line number parsing support in IMCC
455 2003-07-21 17:31 chromatic
456 * applied copyright patch from Josh Wilmes
459 * Moved the registers out of the context structure, since they
460 really aren't context
461 * Changed the register stack frames to hold only 16 registers
462 rather than 32, added half-set push and pop ops, and reworked
463 the full set push/pops to do two half-set push/pops. Should
464 speed up saving register data on calls, since we usually only
465 care about the top half of the registers anyway.
466 * Started committing some of the new class/object framework
467 * Remembered to finally start updating the Changelog
472 Update Yet Another copyright statements to reflect the (no longer
475 2003-03-11 22:06 chip
477 * Configure.pl: print help on non-option command line args
479 2002-12-18 20:38 sfink: changes since 0.0.8
481 - Allow suppression of cgoto core to save memory during compile
482 * Native function calling interface
483 * Major rewrite of stack and list aggregates
485 * Scratchpads implemented
487 - Internal memory subsystem documentation
488 * Preliminary DotGNU support
489 - Packfile fingerprinting
490 * Buffer/PMC unification (into PObjs)
491 * stabs debugging information support
492 * Major Jako overhaul, including:
494 - native function calling
495 - Perl6 string interpolation
496 - languages/regex now targets IMCC
497 * Optional Lea memory allocator
498 * Full sprintf implementation
499 * Many, many new tests
502 - runtime-controllable gc debugging
505 * JIT: various improvements
506 - register usage tracking
507 - block register allocation
511 - architecture abstraction layer
513 * Beginning support for extensible packfiles
514 * Much better key support, generally
516 * Restructured PMC hierarchy with better functionality inheritance
517 * IMCC: many, many improvements. See imcc/ChangeLog
518 * Perl6: index map grep join reverse defined
519 * Scheme with functions!
522 2002-03-19 22:54 nicholas
524 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
526 We can now get usage information for test_parrot without having to
529 2002-03-19 22:53 simon
532 Parrot is called parrot.
534 2002-03-19 22:53 nicholas
536 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
538 1. There are tests in t/pmc as well as t/op now.
539 2. Adds a comment about Parrot::Test
543 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
544 messes up automated builds
546 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
548 2002-03-19 00:33 mrjoltcola
550 * core.ops: Doc cleanup from Simon Glover.
552 2002-03-18 23:52 mrjoltcola
554 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
558 * include/parrot/resources.h: Checked in old version
562 * include/parrot/resources.h: Forgot a prototype
566 * resources.c: D'oh! Thinko, fixed.
568 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
570 2002-03-18 17:33 josh
572 * Configure.pl: Lowering the bar a bit.
574 2002-03-18 17:33 sfink
576 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
577 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
578 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
579 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
580 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
581 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
582 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
583 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
584 t/example.t: Whoops, wrong time to check this in.
588 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
589 least we consider the PMC and Buffer free pools worth collecting,
590 and initialize the Buffer pool stuff. Still not 100% correct,
593 2002-03-18 15:35 simon
598 2002-03-18 07:45 brentdax
600 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
603 2002-03-18 00:09 sfink
605 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
606 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
607 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
608 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
609 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
610 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
611 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
612 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
613 t/example.t: Buggy 1st version of regex compiler implementation.
614 Warning: the test code depends on features of the assembler that do
617 2002-03-17 21:35 ajgough
619 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
620 through addition and subtraction. Also added the ability to run
621 all the tests, including the ones which deal with overflow and
622 underflow. These fail, but that's expected. Soon they'll pass.
623 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
624 passsssssssings tesssstsssss.
626 2002-03-17 20:06 ajgough
628 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
629 check_(under|over)flow to test bignumbers, rather than values.
630 context now carries E_limit, from which max and min exp are found.
632 Added a default-context-creating function (although this isn't the
633 same as either of the default contexts defined in the eda).
635 2002-03-17 13:31 ajgough
637 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
638 exported version matches prototypes of other public functions.
640 2002-03-17 06:44 josh
642 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
643 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
644 last-minute re-indenting.
646 2002-03-17 05:07 mrjoltcola
648 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
650 2002-03-16 23:17 nicholas
652 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
655 default.pmc: In function `Parrot_default_get_integer_keyed':
656 default.pmc:50: warning: control reaches end of non-void function
657 default.pmc: In function `Parrot_default_get_number_keyed':
658 default.pmc:58: warning: control reaches end of non-void function
659 default.pmc: In function `Parrot_default_get_string_keyed':
660 default.pmc:67: warning: control reaches end of non-void function
661 default.pmc: In function `Parrot_default_get_pmc_keyed':
662 default.pmc:87: warning: control reaches end of non-void function
664 2002-03-16 18:50 ajgough
666 * types/: bignum.c, bignum.h: Lots of prototypes changed in
667 readiness for nicely telling your caller about any oddness you've
668 caused in the persuit of flow.
672 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
673 include/parrot/interpreter.h, include/parrot/resources.h: Now we
674 can control the GC and DOD, to stop it when we don't really want
679 * resources.c, vtable.tbl, classes/default.pmc,
680 include/parrot/resources.h: Added the last code to let PMCs control
681 their marking at DOD time
683 2002-03-16 16:57 ajgough
685 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
686 feel a little more virtuous now. Really I do. You might not
687 believe me, but you should. perl -pne 's/\t/ /g', if you're
690 2002-03-16 16:57 josh
692 * packfile.c, packout.c: M-x untabify is my new friend.
694 2002-03-16 16:50 josh
696 * trace.c, resources.c: Minor whitespace tweak for the benefit of
697 check_source_standards.pl
699 2002-03-16 16:50 ajgough
701 * types/: bignum.c, bignum.h: More documentation, separate
702 functions into public and private sorts, some initial stuff to cope
703 with over and underflow correctly.
705 2002-03-16 16:49 josh
707 * resources.c: Re-indented (sorry bout the big diff)
709 2002-03-16 16:47 bdwheele
711 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
712 assemble again, both with Simon's new assembler and with the old
715 2002-03-16 16:33 mrjoltcola
717 * io/TODO: Get the TODO up-to-date for 0.0.4.
719 2002-03-16 16:11 josh
721 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
722 silly people (such as me) running Configure with
723 /usr/local/bin/perl (which is 5.004_05) and not realising their
724 mistake until the pmc subdirectory, where the first qr// is
727 Syntax error messages don't tell you what you did wrong. This does:
729 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
730 only version 5.00405, stopped at Configure.pl line 10.
732 2002-03-16 14:38 ajgough
734 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
737 2002-03-16 11:45 simon
739 * MANIFEST, examples/assembly/xml_parser.pasm:
740 Added Clint Pierce's XML parser.
742 2002-03-15 22:24 simon
745 Don't need that function.
747 2002-03-15 21:56 simon
749 * Makefile.in, include/parrot/packfile.h:
750 Rebuild packout.o, since it'll be used for the Packfile XS module
754 * include/parrot/: memory.h, pmc.h: Another add-in for GC
758 * core.ops: No string to int for some reason
762 * string.c, t/op/string.t: Fix 0-length substr problem
766 * core.ops, interpreter.c, resources.c, classes/array.pmc,
767 classes/perlarray.pmc, examples/assembly/life.pasm,
768 include/parrot/interpreter.h, include/parrot/resources.h: Added in
769 a counter for copied memory, with a display in life.pasm
771 2002-03-14 03:16 mrjoltcola
773 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
775 2002-03-13 23:43 simon
780 2002-03-13 23:43 simon
785 2002-03-13 21:31 simon
790 2002-03-13 18:06 simon
794 Fix string_compare screw-up.
796 2002-03-13 18:02 brentdax
798 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
799 and add a new question/answer pair.
801 2002-03-12 22:53 mrjoltcola
803 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
805 2002-03-12 22:48 mrjoltcola
807 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
810 2002-03-12 22:29 ajgough
812 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
814 2002-03-12 22:24 ajgough
816 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
817 version 1.1, Don't know if this is the correct number, but I don't
818 want this stuck on my harddrive where it will get lost, so 14 it is
821 2002-03-12 11:35 simon
823 * MANIFEST, packdump.c, packout.c:
825 Just so the functionality doesn't disappear.
827 2002-03-12 11:33 simon
829 * Makefile.in, chartype.c, encoding.c, packfile.c,
830 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
831 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
832 include/parrot/chartype.h, include/parrot/encoding.h,
833 include/parrot/packfile.h:
837 2002-03-11 23:06 nicholas
839 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
841 Core.ops documentation nits
843 2002-03-11 23:05 nicholas
845 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
847 Most of the PerlUndef tests in pmc.t appear to have been added
849 Enclosed patch removes the duplicates.
851 2002-03-10 23:40 nicholas
853 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
855 More tests for the PerlString test-suite.
857 2002-03-10 23:40 nicholas
859 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
861 test for sleep with negative argument
863 2002-03-10 21:58 nicholas
865 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
867 Enclosed patch fixes up a few more holes in our test coverage.
869 2002-03-10 21:18 mrjoltcola
871 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
872 classes/parrotpointer.pmc, classes/perlarray.pmc,
873 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
874 classes/perlstring.pmc, classes/perlundef.pmc,
875 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
876 argument to the init() vtable method so PMCs have the option to
877 know how to size themselves at creation. size could be N elements
878 or a byte count, depending on the PMC or it may simply be ignored.
879 Overloaded 'new' opcode for optional arg.
881 2002-03-10 21:15 mrjoltcola
883 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
884 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
887 Also added small hack for .sub directive (which simply translates
888 to a label, however we might eventually want to collect these to
891 2002-03-10 15:09 ajgough
893 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
894 Added round_floor and round_ceiling. 3403 tests pass, none fail.
896 2002-03-10 03:56 ajgough
898 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
899 divide, divide integer and remainder. All filled in functions now
900 have special values capability.
902 Much remains to be done though, and the pdd needs to catch up.
904 2002-03-10 01:36 ajgough
906 * types/bignum.c: Added extended stuff to _add, _subtract.
908 2002-03-10 00:14 nicholas
910 * t/op/: integer.t, number.t: Patch from Simon Glover
913 The enclosed patch fixes a few of the holes in our test coverage
914 uncovered by Josh Wilmes
916 2002-03-09 23:03 ajgough
918 * types/: bignum.c, bignum.h: Modified compare to work with
919 extended values. Made a couple of changes here and there to allow
920 BN_comp to take a context, so that an is_zero check doesn't clobber
923 2002-03-09 22:19 ajgough
925 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
926 Unary plus now copes with special values.
928 2002-03-09 04:25 ajgough
930 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
931 traps and flags are now enabled and tested for all the standard
932 tests for all the functions which are currently implemented. Test
933 harness faffed with to allow these to be tested.
935 2002-03-09 02:29 josh
937 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
938 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
941 2002-03-09 02:22 josh
943 * config_h.in: tab-blastin'
945 2002-03-09 02:21 josh
947 * check_source_standards.pl: Play nicer with M-x compile- don't
948 bother giving line numbers for things you don't want to look at.
950 2002-03-09 02:10 josh
952 * examples/mops/mops.c: re-indented
954 2002-03-09 02:07 josh
956 * classes/pmc2c.pl: Use the usual header so that we can detect the
959 2002-03-09 02:05 josh
961 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
964 2002-03-09 01:59 josh
966 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
967 patch- re-indent io/*.c.
969 2002-03-09 01:52 ajgough
971 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
972 special values to the string conversion functions, some other
973 functions now need context (to let -0 pass through really_zero)
974 which have also been added.
976 2002-03-09 01:47 josh
978 * test_main.c: Re-indented.
980 2002-03-09 01:41 josh
982 * rx.c: killed a stray tab
984 2002-03-09 01:38 josh
988 2002-03-09 01:36 josh
990 * misc.c: Oops, some tabs remained- cleaned up.
992 2002-03-09 01:31 josh
994 * misc.c: Re-indented (major patch, sorry)
996 2002-03-09 00:59 josh
998 * embed.c: Re-indented.
1000 2002-03-08 23:08 simon
1002 * MANIFEST, docs/pdds/pdd10_embedding.pod,
1003 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1004 docs/pdds/pdd13_bytecode.pod:
1007 2002-03-08 21:12 ajgough
1009 * include/parrot/string.h: Added private flags to string.h, mostly
1010 so that other GCed stuff can also have its very own private flags.
1012 2002-03-08 19:53 simon
1017 2002-03-08 19:41 robert
1019 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1020 pdd6.pod, pdd7.pod: Renamed...
1022 2002-03-08 18:51 simon
1024 * MANIFEST, docs/pdds/pdd08_keys.pod:
1027 2002-03-08 18:20 ajgough
1029 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1030 Introduced exception handlers and exception flags to context, will
1031 allow support of extended standard. Unified exception checking
1032 mechanism (sort of) and made minimal changes to bulk of code to use
1033 this. Tests pass, I'm happy, and further changes will happen more
1036 2002-03-08 04:38 josh
1038 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1041 2002-03-08 04:37 josh
1043 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1045 2002-03-08 04:24 josh
1047 * embed.c: A bit more re-indenting
1049 2002-03-08 04:20 josh
1051 * embed.c: Indenting fixes
1053 2002-03-08 04:14 josh
1055 * jit.c: Re-indented (run_indent.pl)
1057 2002-03-08 03:36 josh
1059 * ops2c.pl: Fix the line numbers which get reported while compiling
1062 2002-03-08 03:22 josh
1064 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1065 The variable "type" is set but never used.
1069 2002-03-08 03:04 josh
1071 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1072 io/io_unix.c: Clean up unused and set-but-not-referenced variables
1073 noticed by the sgi compiler.
1075 2002-03-08 03:02 josh
1077 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1078 misc.c, Line = 417 The indicated type qualifier is meaningless on
1085 2002-03-08 02:55 josh
1087 * Makefile.in: Clean up one of the object files it was missing
1089 2002-03-08 01:15 josh
1091 * include/parrot/interpreter.h: Fixes the following error (tcc):
1092 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
1093 comma at end of list.
1095 2002-03-06 22:15 simon
1098 Tidy up stack chunk allocation.
1100 2002-03-06 21:00 simon
1103 Create strings only once we've got string register heads set up.
1105 2002-03-06 20:31 simon
1107 * classes/perlarray.pmc:
1108 malloc(0) considered harmful.
1110 2002-03-06 20:24 simon
1112 * include/parrot/resources.h:
1113 I like it when Parrot compiles.
1115 2002-03-06 17:02 dan
1117 * classes/array.pmc: Changed over to data pointing to a Buffer.
1119 2002-03-06 15:45 dan
1121 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1122 packfile.c, pbc2c.pl, pdump.c, resources.c,
1123 include/parrot/interpreter.h, include/parrot/memory.h,
1124 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1125 and opcode_t > longs will now be even more suspect than what they
1126 were beforehand. 2) Feel free to bicker with names. I don't think
1127 we've come to *any* sort of agreement with these, although we
1128 really, really, need to. 3) I forget the third thing. 4) But I
1129 thought of a fourth. 5) I've now remembered the third thing: IIRC,
1130 ANSI C states that enums will fit within the smallest type (int or
1131 greater) that can hold the values. Is that actually correct, and
1132 does it state whether unsigned is preferred to signed for
1133 non-negative enums? 6) Since I'm no longer constrained by "three"
1134 or "quick", I'm going size_t happy for a lot of memory-related
1135 storage. (That's good. No sense wasting the size or performance
1136 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1137 a couple other internal things (like the GC stat counters, seen
1138 here). Size and performance, again, and unpromotable to a bigint,
1139 so we know that we (theoretically) will wrap. However, size_t
1140 isn't the best choice for the type. (Not that there's anything
1141 wrong with size_t, just that it shouldn't be called size_t.) Any
1142 thoughts? I was thinking of just doing unsigned int, because,
1143 IIRC, int is usually the natural word size, and will be most
1144 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1145 of was while writing down the others. Sorry.
1147 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1149 2002-03-06 15:26 dan
1151 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1152 include/parrot/resources.h: Now we allocate generic Buffers from
1155 2002-03-05 21:42 brentdax
1157 * Configure.pl: Minor cleanup and enhancements.
1159 2002-03-05 21:25 dan
1161 * resources.c: non-special GC now works with PMCs
1163 2002-03-05 19:48 brentdax
1165 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1166 Parrot now "knows" if it's a development version or a release
1167 version. See the instructions in the DEVELOPING file.
1169 2002-03-05 18:05 brentdax
1171 * MANIFEST: pasm.vim wasn't in the manifest.
1173 2002-03-05 17:57 simon
1176 Now, through much evilness, make distclean and make cvsclean work
1179 2002-03-05 17:38 dan
1181 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1182 include/parrot/interpreter.h, include/parrot/pmc.h,
1183 include/parrot/resources.h: PMC tracing complete
1185 2002-03-05 16:28 gregor
1187 * languages/jako/Makefile.in:
1188 Changed -I ../../ to -I ../../lib when calling the assembler, since
1189 the perl modules have moved.
1191 2002-03-05 05:30 josh
1193 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1194 string.c: More re-indenting via run_indent.pl.
1196 2002-03-05 05:17 josh
1198 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1201 2002-03-05 04:26 josh
1203 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1204 using run_indent.pl and some minor tweaking.
1206 2002-03-05 04:21 josh
1208 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1209 interpreter.c: Re-indented using run_indent.pl and some minor
1212 2002-03-05 03:30 josh
1214 * include/parrot/trace.h: These functions are no longer used (or
1217 2002-03-04 18:21 josh
1219 * include/parrot/trace.h: Fix a typo in the argument type.
1221 Patch from <daniel.ritz@gmx.ch>
1223 2002-03-04 03:39 josh
1225 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1226 header to jit_struct.h so we don't try to check it for conformance.
1227 (no way will it conform)
1229 2002-03-04 03:38 josh
1231 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1232 unicode.h, warnings.h: Remove some remaining tabs and split some of
1233 the remaining long lines.
1235 2002-03-04 03:17 josh
1237 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1238 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1239 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1240 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1241 string_funcs.h, trace.h, warnings.h: This is the first batch of
1242 re-indenting. This patch is the result of running run_indent.pl
1243 on the header files and manually tweaking the results where errors
1244 were noticed. This should get us closed, but some refinement may
1247 2002-03-04 03:06 josh
1249 * resources.c: Return without parens, as mentioned in PDD 7
1251 2002-03-04 03:01 josh
1253 * core.ops: POD fixes.
1255 2002-03-04 02:58 josh
1257 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1258 on autogenerated files- used by the check_source_standards.pl
1259 script (for now) to exempt autogenerated files from the checks.
1261 2002-03-04 02:51 josh
1263 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1264 warnings.c: Added the editor "boilerplate" footer to a few files
1265 which were missing it.
1267 2002-03-04 02:34 josh
1269 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1270 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1271 c preprocessor directive indentation to comply with pdd 7.
1273 (also fixes the check for this indentation in
1274 check_source_standards.pl)
1276 2002-03-04 02:32 josh
1278 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1281 perl t/harness t/op/basic..........Use of uninitialized value at
1282 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1283 line 6) # got: undef # expected: ''
1285 2002-03-04 02:30 josh
1287 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1288 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1289 "indent" program to enforce some of the code style standards
1292 Usage: ./run_indent.pl <file>
1294 2002-03-03 19:04 simon
1296 * examples/mops/mops.c:
1297 Let's make it compile, huh?
1299 2002-03-03 19:04 simon
1301 * examples/mops/mops.cs:
1304 2002-03-03 18:11 simon
1306 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1307 Added C# and MS-IL versions of mops tester.
1309 2002-03-03 14:52 simon
1312 Add a sub() op to make mops_p work.
1314 2002-03-02 18:12 nicholas
1316 * examples/mops/mops.c, include/parrot/embed.h,
1317 include/parrot/interp_guts.h, include/parrot/jit.h,
1318 include/parrot/misc.h, include/parrot/packfile.h,
1319 include/parrot/rx.h, include/parrot/warnings.h,
1320 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1321 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1322 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1323 indent variables correctly.
1325 2002-03-02 17:41 nicholas
1327 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1328 patch to fix a compiler warning.
1330 2002-03-01 22:35 dan
1332 * memory.c, resources.c, include/parrot/pmc.h,
1333 include/parrot/resources.h: PMCs now come out of arenas.
1335 2002-03-01 06:15 dan
1338 A non-existing buffer + a non-existing buffer should be a
1339 non-existing buffer, not "", which is really '\0'.
1341 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1343 2002-03-01 06:02 dan
1345 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1347 TMTOWTDI, but strcmp is probably the worse.
1349 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1351 2002-03-01 02:32 brentdax
1353 * embed.c: Debug mode now prints out the GC data.
1355 2002-02-28 23:44 dan
1357 * core.ops, resources.c, include/parrot/resources.h: Added collect
1360 2002-02-28 22:58 dan
1362 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1365 2002-02-28 22:50 dan
1367 * core.ops, interpreter.c, resources.c,
1368 examples/assembly/life.pasm, include/parrot/interpreter.h,
1369 include/parrot/resources.h: Add some stat gathering to the resource
1372 Also add an interpreter info retrieval op, and teach it about the
1373 different things it can retrieve.
1375 Finally, add some stat info to life.pasm as an example
1377 2002-02-28 21:27 dan
1379 * editor/pasm.vim: VIM mode commands for parrot assembly files
1381 Courtesy of Scott Beck <scott@gossamer-threads.com>
1383 2002-02-28 19:20 dan
1385 * examples/assembly/life.pasm: Fix a creeping string length leak.
1387 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1389 2002-02-28 18:26 dan
1391 * string.c: When you clone a constant, it ain't constant no mo'.
1393 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1395 2002-02-28 00:51 dan
1397 * MANIFEST: Add missing files
1399 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1401 2002-02-28 00:49 dan
1403 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1404 CVS seems to have several chunks missing out of it, too. This
1405 patch is simply an administrative patch, with the differences
1406 between my last version, and the one currently in there. There
1407 will be a forthcoming patch for some minor tweaking to the PDD, but
1408 I wanted a common baseline before I make any (potential) semantic
1411 There's only one semi-major change, which noone needs to worry
1412 about just yet. That's a change from PDD Format 1 to PDD Format
1413 6.0 - rationale can be found under 'Standard (Version #)' of the
1414 STANDARDS TRACK infomation. Don't worry about this yet, because it
1415 should be 6.0.0, and we need to discuss Perl versus Parrot with
1418 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1420 2002-02-28 00:27 dan
1422 * packfile.c, resources.c, examples/assembly/life.pasm,
1423 include/parrot/register.h, include/parrot/resources.h,
1424 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1427 This patch now implements a real copying collector. We trace from
1428 our root set and compact the contents of Buffer structs.
1432 *) It's very STRING-centric and doesn't handle memory stuffed in
1433 Buffers. But, then, we don't have pool allocation for Buffers
1434 either, and we need to have that soonish for this to work.
1436 *) Doesn't trace PMCs, so if you trigger a collection and there's
1437 memory or STRING structs only accessible from PMCs, you'll fail
1438 horribly. That needs fixing too
1440 *) Better algorithms for when to trace or collect vs when to just
1441 go allocate more memory from the system. Should probably be more
1444 2002-02-27 21:04 dan
1446 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1447 examples/assembly/life.pasm, include/parrot/resources.h,
1448 include/parrot/string.h, include/parrot/string_funcs.h,
1449 jit/i386/core.jit: Start of GC in
1451 2002-02-26 16:41 dan
1453 * jit/i386/string.jit: Fix a typo
1455 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1457 2002-02-26 16:37 dan
1459 * interpreter.c: Fix solaris test failures
1461 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1463 2002-02-26 16:36 dan
1465 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1466 unicode.h, warnings.h: Fixes various warts in header files, such
1467 as: * macros -added parens to prevent problems with operator
1468 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1469 is no longer used * added some more INLINE definitions for MSVC and
1472 Courtesy of Brian Lee Ray <blray@ualr.edu>
1474 2002-02-26 16:20 dan
1476 * Configure.pl: Turns out we were using a warning flag which
1477 doesn't exist on 2.7. Simple tweak though:
1479 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1481 2002-02-25 22:58 dan
1483 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1485 2002-02-25 17:36 dan
1487 * include/parrot/pmc.h: Fix the bits
1489 2002-02-23 21:57 dan
1491 * include/parrot/resources.h: Another 1.5% never hurts
1493 2002-02-23 21:44 dan
1495 * global_setup.c, memory.c, resources.c, string.c,
1496 include/parrot/resources.h: Allocate STRING headers from an arena
1497 with freelist rather than with the system malloc. First step in a
1498 good (or even a bad) GC system.
1500 2002-02-23 20:37 brentdax
1502 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1504 2002-02-22 14:59 ajgough
1506 * types/bignum.c: BN_multiply split into BN_multiply and
1507 BN_imultiply, the internal version to be used by idivide so that
1508 rounding isn't performed during intermediate stages of division.
1510 following test scripts now all pass: divide divideint add multiply
1511 subtract remainder compare rounding plus minus (these are all the
1512 operations currently implemented, rescale and power must still be
1513 written, so don't pass right now).
1515 2002-02-22 13:13 ajgough
1517 * types/bignum_atest.pl: Test harness modified to understand
1518 comments better, and be able to run unary (and rounding) tests.
1519 Currently a few rounding tests fail, which are being investigated.
1521 2002-02-22 01:41 dan
1523 * key.c: Although there's more work being done on the key stuff and
1524 this isn't the final fix, applying this patch does get parrot to
1525 build with two more compilers, so it's probably worthwhile.
1527 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1529 2002-02-22 00:53 dan
1531 * config_h.in, misc.c, include/parrot/embed.h,
1532 include/parrot/exceptions.h, include/parrot/interpreter.h,
1533 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1534 include/parrot/resources.h, include/parrot/rx.h,
1535 include/parrot/string.h, include/parrot/unicode.h,
1536 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1537 io/io_win32.c: Fixes the following (lcc) warnings:
1539 - interpreter.c:470: warning: expression with no effect elided
1540 (related to the way warnings flags were defined)
1542 - misc.c:352: warning: unreachable code
1543 misc.c:483: warning: unreachable code
1544 (i introduced these with some overzealous de-linting)
1546 - numerous warnings like this:
1547 io/io_unix.c:383: warning: conversion from pointer to void' to
1549 pointer to struct _ParrotIO function(pointer to struct
1550 Parrot_Interp,pointer
1551 to struct _ParrotIOLayer,pointer to const char,pointer to const
1553 to pointer to void)' is compiler dependent
1555 Fixes the following nits: - remove bad indenting (tabs) in the
1558 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1560 2002-02-21 21:12 ajgough
1562 * types/: bignum.c, bignum.h: These might look like massive
1563 changes, but really it's just he imposition of coding standards.
1564 The file still isn't entirely compliant, but is now much more so.
1568 o a few more comments
1569 o BN_compare uses internal BN_comp to compare
1570 o lost_digits behaviour is now correct (test harness modified to
1574 All binary functions now pass all the tests in the basic standard.
1575 Unary functions not yet tested, will be soon.
1577 2002-02-21 18:20 dan
1579 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1580 was no longer needed, and the ssize_t thing really shouldn't be
1583 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1585 2002-02-21 18:15 dan
1587 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1588 include/parrot/parrot.h: this patch adds support for the freely
1589 available borland c++ 5.5.1 compiler
1591 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1592 working borland compiler (compiler must know where to find headers
1593 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1594 cc='cl.exe' - a working make utility (borland make doesn't work,
1597 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1598 hints/mswin32.pl - remove a space from Configure.pl (very very
1599 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1600 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1601 (win32 knows it, linux not)
1603 and the why: - parrot is MUCH faster when compiled with borland c
1604 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1607 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1609 2002-02-21 18:09 dan
1611 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1612 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1613 cuddled elses, as required by PDD 7.
1615 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1617 2002-02-21 18:04 dan
1619 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1620 a new Makefile target called "check_source". This target scans all
1621 the .c and .h files in the directory and checks for conformance to
1622 a number of the standards outlined in PDD 7.
1624 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1626 2002-02-21 16:38 ajgough
1628 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1629 allow arithmetic with numbers with a fixed fractional part, buffer
1630 structures now more ready to be integrated into the parrot memory
1631 allocation game, test harness modified to allow lost_digits
1632 condition to be checked. Some more comments.
1634 2002-02-21 15:53 simon
1639 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1641 2002-02-20 16:41 dan
1643 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1645 2002-02-18 18:25 dan
1647 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1649 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1651 2002-02-18 18:21 dan
1653 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1654 CPrederef.pm to make to generated code compile with the MS
1657 fixes: - ms compiler allows inline only for c++, for c there's
1658 __inline - ms header files knows nothing about ssize_t
1660 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1662 2002-02-18 17:49 dan
1664 * MANIFEST: Add the PDDs
1666 2002-02-18 17:47 dan
1668 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1669 coding standards PDD.
1671 2002-02-18 17:40 dan
1673 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1675 2002-02-18 12:41 gregor
1678 Remove warning about exit() not being declared.
1680 2002-02-18 08:29 simon
1682 * misc.c, warnings.c, include/parrot/misc.h,
1683 include/parrot/warnings.h:
1684 This patch adds some missing const's to silence a number of gcc
1687 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1689 2002-02-18 08:26 simon
1691 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1692 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1693 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1694 include/parrot/parrot.h, include/parrot/rx.h,
1695 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1696 lib/Parrot/OpTrans/CPrederef.pm:
1697 - add makefile target and script to test for external libc
1699 - fix return values in hash and array PMCs (returning 0 in a
1701 - remove unnecessary data pointer <=> function pointer
1703 outside of the JIT code.
1704 - move the definition of the "INLINE" macro out of the rx header
1706 available for general use on C++ compilers and gcc.
1707 - remove a few unused variables
1709 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1711 2002-02-17 16:29 simon
1713 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1714 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1715 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1716 We're organised and responsible. Honest.
1718 2002-02-17 02:46 sfink
1720 * Makefile.in: Remove $^ for nmake compatibility.
1722 2002-02-16 09:20 brentdax
1724 * config_h.in, test_main.c, include/parrot/chartype.h,
1725 include/parrot/embed.h, include/parrot/encoding.h,
1726 include/parrot/string.h, include/parrot/string_funcs.h: Better
1727 embedding exposure and hiding, part 1.
1729 2002-02-16 04:38 dan
1731 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1732 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1733 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1734 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1735 typecasts in various places throughout the code. It probably won't
1736 work for Windows yet. The libparrot.a target might need to be
1737 modified to at least prevent it from confusing make on Windows; I
1740 Preliminary instructions for using pbc2c.pl are in
1741 docs/running.pod. I'll try to do better later.
1743 Courtesy of Steve Fink <steve@fink.com>
1745 2002-02-16 04:15 dan
1747 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1749 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1751 2002-02-16 00:03 simon
1753 * classes/: perlarray.pmc, perlhash.pmc:
1755 pmc is already defined!
1757 2002-02-15 23:20 brentdax
1759 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1760 include/parrot/exceptions.h: Far more informative panic messages.
1762 2002-02-15 03:24 dan
1764 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1765 much more extensive patch that fixes it to work properly, and
1766 deletes a bazillion casts as well. It also points to the question
1767 "can we make the byte_code be an opcode_t* already?"
1769 Oh, and it makes some of the formatting prettier, so it's gotta be
1772 Courtesy of * Steve Fink <steve@fink.com>
1774 2002-02-15 02:30 dan
1776 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1777 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1778 of the things it finds. Attaching the patch as well as the current
1781 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1783 2002-02-15 01:59 dan
1785 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1788 2002-02-15 01:48 dan
1790 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1792 2002-02-15 01:40 dan
1794 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1797 2002-02-14 23:30 dan
1799 * resources.c: Added comment for buffer tag routine. D'oh!
1801 2002-02-14 23:28 dan
1803 * resources.c, include/parrot/resources.h: Added buffer mark
1806 2002-02-14 23:17 dan
1808 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1809 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1810 Rejigged memory system a bit. Now should be ready for the horror
1811 that is garbage collection.
1813 2002-02-14 19:33 gregor
1815 * ops2c.pl, include/parrot/oplib.h:
1816 Added code to automatically generate a function within an oplib to
1817 lookup opinfos given the op name. This will come in handy in future
1818 when we want to twiddle opcode tables at run time and possibly at
1821 2002-02-14 19:25 gregor
1823 * examples/assembly/queens.pasm:
1824 Regenerated queens.pasm from queens.jako since the clone_* stuff
1827 2002-02-14 17:12 dan
1829 * resources.c, include/parrot/resources.h: Finished up the
1830 interface for memory and tracked interpreter thingies.
1832 2002-02-14 16:53 dan
1834 * memory.c, include/parrot/memory.h: intercept free and realloc
1836 2002-02-14 05:53 dan
1838 * interpreter.c, runops_cores.c: The type changes in struct
1839 Packfile break the pointer math used in a few places to calculate
1840 the address of the end of the loaded byte code. This causes
1841 segfaults in build_asm in jit.c when using -j. It also breaks the
1842 bounds checking on opcode address in runops_slow_core.
1844 The patch adds the necessary cast to correct the code_end
1847 Courtesy of Jason Gloudon <perl@gloudon.com>
1849 2002-02-14 01:01 ajgough
1851 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1852 BigInt operations (I think), tests for normal operation continue to
1853 pass. Also a shed load of comments.
1855 2002-02-13 01:34 ajgough
1857 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1858 is a (mostly) working bignumber library. There remains much work
1859 to do though, some functions are not yet implemented and headers
1860 need to find their way to the correct place RSN. Also support for
1861 bigints and a sensible error reporting mechanism are needed.
1863 2002-02-12 18:51 dan
1865 * misc.c: Fix some warnings
1867 2002-02-12 17:10 dan
1869 * misc.c: Run through indent -kr -nce so I can read it
1871 2002-02-12 16:49 dan
1873 * misc.c: Need standard header/footer comments
1875 2002-02-11 20:32 simon
1877 * classes/array.pmc:
1878 get and set pmc methods.
1880 2002-02-11 20:19 simon
1882 * classes/array.pmc:
1883 Maybe the keys aren't integer...
1885 2002-02-11 20:03 simon
1887 * core.ops, vtable.tbl, classes/default.pmc:
1890 2002-02-11 19:07 simon
1892 * vtable.tbl, classes/default.pmc:
1893 Add set_pmc. Usee with caution.
1895 2002-02-11 18:20 dan
1897 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1900 2002-02-11 17:59 simon
1902 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1903 classes/perlarray.pmc, classes/perlhash.pmc:
1906 2002-02-11 17:57 simon
1908 * packfile.c, include/parrot/packfile.h:
1911 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1913 2002-02-11 17:55 dan
1915 * docs/parrot_assembly.pod: Document some key ops
1917 2002-02-11 09:20 brentdax
1919 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1922 2002-02-11 00:34 simon
1924 * core.ops, include/parrot/exceptions.h:
1925 This is what keyed set ops look like. Remember, however, that for
1926 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1927 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1928 obviously ambiguous that you ought to use the 4-arg version
1931 2002-02-10 23:12 jgoff
1933 * classes/: array.pmc, perlarray.pmc: Properly allocate
1934 SELF->data's array of PMC* data in array and perlarray.pmc. This
1935 isn't tested yet, but should be fairly straightforward. PerlHash
1936 needs to be finished before the system will compile again, and that
1937 should be done in the next few days.
1939 2002-02-09 04:46 jgoff
1941 * classes/: array.pmc, default.pmc, intqueue.pmc,
1942 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1943 Added basic _keyed member functions. Unfortunately this still
1944 doesn't fix the problems that are causing the build to break. It's
1945 a start though. I'm not implementing the PMC add functions just
1948 2002-02-08 15:59 simon
1950 * classes/array.pmc:
1951 Some more work on getting the array stuff up to date.
1953 2002-02-08 12:23 simon
1955 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1956 lib/Parrot/Vtable.pm:
1957 Got array->get_integer_keyed doing what I think it ought to. One
1958 down, all the rest to go.
1960 2002-02-08 11:47 simon
1963 Although I didn't intend it to be quite that broken...
1965 2002-02-08 11:42 simon
1967 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1968 Completely break Parrot, but at least we get the key stuff right
1971 2002-02-08 06:25 dan
1973 * hints/darwin.pl: Silences the warning about passing in
1974 -flat_namespace to the compile. That's a link-only flag.
1976 2002-02-08 04:52 jgoff
1978 * classes/: array.pmc, default.pmc, intqueue.pmc,
1979 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1980 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1981 return values in *.pmc, added some missing casts to the repeat_foo
1982 members, and deleted the _index members from the perlscalar
1983 classes. Basic cleanup, and getting ready for _keyed functions.
1985 2002-02-07 04:49 mrjoltcola
1987 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1988 added a nested subroutine call.
1990 2002-02-07 04:32 jgoff
1992 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1993 changes in order to give the whitespace rules a little workout, and
1994 do a little bit more testing. No actual structural changes were
1995 made. lib/Parrot/Vtable.pm got an interface change, and more
1996 importantly should be ready to support the new '_keyed' attribute,
1997 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1998 src_value' followed by 'KEY* src_key'. This will be how the new
1999 _keyed operators will function, and those should be written within
2002 2002-02-06 18:00 doughera
2004 * misc.c: Change C++-style comments to C comments (again). Remove
2005 unused perl5 code that was in #if 0/#endif.
2007 2002-02-06 17:59 doughera
2009 * warnings.c: Add trailing newline.
2011 2002-02-06 04:14 mrjoltcola
2013 * include/parrot/io.h, io/io.c: Minor cleanup.
2015 2002-02-06 03:11 mrjoltcola
2017 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2018 couple of loose end in win32 IO stuff. Open behaves now but needs
2021 2002-02-05 21:02 brentdax
2023 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2024 which showed up in Purify builds.
2026 2002-02-05 17:15 simon
2031 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2033 2002-02-05 17:08 doughera
2035 * misc.c: Avoid C++-style comments.
2037 2002-02-05 17:07 doughera
2039 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2040 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
2041 thanks to Jason Gloudon <perl@gloudon.com>.
2043 2002-02-05 14:04 simon
2046 Make the problem different, perhaps even better.
2048 2002-02-05 13:49 simon
2051 Possibly fix a `short int' is promoted to `int' when passed through
2052 `...' scary error, possibly make things absolutely worse.
2054 2002-02-05 13:15 simon
2059 2002-02-05 13:12 simon
2062 Not going to get far without this one...
2064 2002-02-05 11:41 simon
2067 Don't barf when handed null pointers.
2069 2002-02-05 10:04 simon
2071 * misc.c, include/parrot/misc.h:
2072 Fix some trivial bugs in warnings code.
2074 2002-02-05 09:27 simon
2077 Oops, forgot this one; also added %P support.
2079 2002-02-05 09:20 simon
2081 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2082 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2083 include/parrot/interpreter.h, include/parrot/misc.h,
2084 include/parrot/parrot.h, include/parrot/warnings.h:
2087 Courtesy of: Brent Dax <brentdax@cpan.org>
2089 2002-02-05 05:41 jgoff
2091 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2092 format of vtable.tbl to get rid of the tab-dependence. The format
2093 now looks roughly like this:
2095 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2096 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2097 assumed here, but note the C-like prototyping. Also had to disable
2098 one test that depended upon 'concat_p_p_s', which isn't necessary
2101 Vtable.pm will change again when the type '_keyed' is added,
2102 because that requires remapping parameters slightly differently
2103 again. Also, note that it assumes 'value' is the first parameter
2104 in the list. This assumption will go away at the same time.
2106 2002-02-04 16:57 ajgough
2108 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2109 functions. Thanks to Simon Glover.
2111 2002-02-04 02:47 ajgough
2113 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2114 needed. I suspect that the entire hints file isn't really needed,
2115 but there's no one to actually tell us this.
2117 2002-02-02 15:45 ask
2119 * docs/ParrotFAQ.htm: fix internal links
2121 2002-02-02 04:06 jgoff
2123 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2124 Moving the internal KEY structure from the cache.struct_val member,
2125 where it doesn't really belong, to the internal SELF->data member.
2126 This frees up the cache/type members for other usage.
2128 This is the first step in moving PMCs to the point where we can do
2129 multidimensional PMC handles. The next step is to change the
2130 assembler to accept the syntax of 'set P0["foo"],7'.
2132 2002-02-02 00:13 nicholas
2134 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2135 prototype Parrot_Array_class_init
2137 2002-02-02 00:13 nicholas
2139 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2140 time to sum_time to avoid warning on FreeBSD about tracking a
2141 global [No, this warning does not appear on Linux. Yes, it is real
2144 2002-02-01 23:02 nicholas
2146 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2149 2002-02-01 20:20 nicholas
2151 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2153 2002-02-01 18:20 nicholas
2155 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2158 2002-02-01 13:22 nicholas
2160 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2162 2002-02-01 12:19 simon
2164 * core.ops, t/op/ifunless.t, t/op/integer.t:
2167 2002-02-01 12:11 simon
2169 * lib/Parrot/Test.pm:
2172 2002-02-01 01:38 nicholas
2174 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2175 and a manitest target to Makefile.in that lets one test the
2178 2002-02-01 00:03 dan
2180 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2183 2002-01-31 21:46 gregor
2185 * Configure.pl, Makefile.in, hints/mswin32.pl:
2186 A few more things are now configable, so we are closer to win32
2187 shared library builds. Not there yet, but closer.
2189 2002-01-31 21:00 dan
2191 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2192 include/parrot/pmc.h: First step in dynamically loading PMC classes
2194 2002-01-31 19:38 dan
2196 * Makefile.in: Dependencies in the Makefile are currently too broad
2197 brush. I don't enjoy waiting for everything to recompile every
2198 time I try to tweak the jit. The only file that #includes
2199 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2200 should reflect this, and not cause a gratuitous recompile of
2201 everything. There are probably other auto-generated header files
2202 that world+dog should not depend on.
2204 Courtesy of Nicholas Clark <nick@unfortu.net>
2206 2002-01-31 19:03 gregor
2208 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2209 Added two new make targets:
2211 * testp: Like 'make test', but passes -P to t/harness, so you get
2213 see how broken predereferencing is.
2215 * testj: Like 'make test', but passes -j to t/harness, so you get
2217 see how broken JIT is.
2219 Now, anyone who wants to see how good all three ways of running are
2220 can do so, at the cost of about 3x the time.
2222 2002-01-31 17:09 brentdax
2224 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2226 2002-01-31 03:41 grunblatt
2228 * docs/jit.pod: Update jit.pod
2230 2002-01-31 03:20 grunblatt
2232 * jit/i386/core.jit: Hold this until we get an assemble tool,
2233 because of the different objdump problems.
2235 2002-01-31 03:13 grunblatt
2237 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2238 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2239 of: Jason Gloudon <perl@gloudon.com>
2241 2002-01-31 02:22 grunblatt
2243 * jit/i386/core.jit: Continue if the register is null
2245 2002-01-30 23:50 grunblatt
2247 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2248 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2249 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2252 2002-01-30 23:35 mrjoltcola
2254 * io/io_win32.c: Change implementation of isatty on win32,
2255 suggested by Hong Zhang.
2257 2002-01-30 23:19 sfink
2259 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2260 Op::may_jump boolean method.
2262 Replaced jit2h's hardcoded pattern match to decide what ops might
2263 change the control flow.
2265 2002-01-30 22:13 dan
2267 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2268 parrot to mostly-build with tcc. It allows one to skip compiling
2269 the JIT stuff (by specifying --define jitcapable=0), and it
2270 introduces a test program which gives a friendlier error in this
2271 case for compilers which are as picky as tcc is about function
2274 If anyone figures out the proper way to cast these function
2275 pointers this may not be necessary.
2277 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2279 2002-01-30 20:54 dan
2281 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2282 Here's an update to docs/running.pod to better reflect the current
2283 state (both the test_parrot and assemble.pl improvements, plus
2284 documentation of a few more things.) And also a speling fiks
2285 s/POST_MORTERM/POST_MORTEM/.
2287 I could also replace some "perl foo" calls with "./foo" if someone
2288 wanted to set the executable flag in CVS on assemble.pl,
2291 Courtesy of Steve Fink <steve@fink.com>
2293 2002-01-30 20:43 dan
2295 * core.ops: find_global doesn't work, so stub out the wrong code
2297 2002-01-30 19:08 dan
2299 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2301 can read it and just tidies it up generally. It also adds
2303 for the constantize_integer and constantize_number functions.
2305 Courtesy of Simon Glover <scog@roe.ac.uk>
2307 2002-01-30 18:02 dan
2309 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2310 classes/genclass.pl, classes/pmc2c.pl,
2311 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2312 distribution (including assemble.pl !)
2313 can no longer find the Parrot::* modules. Enclosed patch fixes
2315 it would be nice if there were an easier way to do this).
2317 Courtesy of Simon Glover <scog@roe.ac.uk>
2319 2002-01-30 16:00 mrjoltcola
2321 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2324 2002-01-30 15:50 mrjoltcola
2326 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2328 2002-01-30 15:42 grunblatt
2330 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2333 2002-01-30 15:38 grunblatt
2335 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2336 the manifest, and also puts it back into alphabetical order.
2338 Courtesy of: Simon Glover <scog@roe.ac.uk>
2340 2002-01-30 14:41 nicholas
2342 * embed.c: Patch from Simon Glover to clean up warnings where
2343 prototype is () not (void)
2345 2002-01-30 13:54 nicholas
2347 * include/parrot/embed.h, test_main.c: Add void as an explicit
2348 parameter in test_main.c's usage(), version(void) and embed.h's
2349 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2350 warning: function declaration isn't a prototype
2352 2002-01-30 12:08 simon
2354 * lib/Parrot/.cvsignore:
2355 Ignore generated Perl modules.
2357 2002-01-30 12:07 simon
2360 Run the PMC tests as well.
2362 2002-01-30 12:04 simon
2365 Fix MANIFEST after recent t/pmc rejig.
2367 2002-01-30 11:42 simon
2369 * lib/Parrot/Test.pm:
2370 Report non-zero exit codes.
2372 Courtesy of: Michael G Schwern <schwern@pobox.com>
2374 2002-01-30 11:39 simon
2377 Skip final test, TODO doesn't work yet.
2379 2002-01-30 09:54 brentdax
2381 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2382 predereferencing works.
2384 2002-01-30 09:38 brentdax
2386 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2389 2002-01-30 09:37 brentdax
2391 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2393 2002-01-30 09:37 brentdax
2395 * config_h.in: Expose another flag for embedders.
2397 2002-01-30 05:07 jgoff
2399 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2400 location for Parrot/, and t/harness wasn't able to run the new
2401 op/pmc tests. Both problems fixed, so I think I'm going to declare
2402 the build suitable for public consumption.
2404 2002-01-30 04:34 robert
2406 * docs/Makefile.in: update for CVS movement
2408 2002-01-30 04:32 robert
2410 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2411 .in file, not the real Makefile)
2413 2002-01-30 04:20 robert
2415 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2416 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2417 related to moving files around
2419 2002-01-30 04:10 robert
2421 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2423 2002-01-30 04:07 robert
2425 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2427 2002-01-30 03:56 robert
2429 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2430 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2431 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2432 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2433 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2434 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2435 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2436 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2439 2002-01-30 03:46 robert
2441 * languages/miniperl/miniperlc: renamed to mpc
2443 2002-01-30 03:45 robert
2445 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2446 pmc_perlstring.t: Moved to t/op/pmc/
2448 2002-01-30 03:40 robert
2450 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2452 2002-01-30 03:14 jgoff
2454 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2455 Fixed some problems with PerlArray and added tests. Previously,
2456 only integers could be accessed by negative indices. After this
2457 change, all basic types can be accessed by negative indices, and
2458 they can also be set at negative indices.
2460 2002-01-29 22:13 brentdax
2462 * TODO: Just look at the stupid diff.
2464 2002-01-29 21:53 simon
2466 * TODO, docs/vtables.pod:
2467 New TODO, and tiny addition to vtables.pod
2469 2002-01-29 21:47 mrjoltcola
2471 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2473 2002-01-29 21:38 mrjoltcola
2475 * Makefile.in: Makefile.in tweak for io depend.
2477 2002-01-29 21:15 brentdax
2479 * embed.c: Fix a segfault and some profiling formatting nits.
2481 2002-01-29 20:54 brentdax
2485 2002-01-29 20:50 brentdax
2487 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2490 2002-01-29 20:17 mrjoltcola
2492 * interpreter.c, core.ops, io.ops: CVS missed this.
2494 2002-01-29 20:17 mrjoltcola
2496 * io/io.c: These should have gone in Sunday with the rest. CVS is
2499 2002-01-29 18:39 brentdax
2501 * platforms/win32.h: Fix Win32 whoops.
2503 2002-01-29 18:29 brentdax
2505 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2507 2002-01-29 17:51 simon
2509 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2510 include/parrot/embed.h, include/parrot/parrot.h:
2511 Embedding support. Cool.
2513 Courtesy of: <brentdax@cpan.org>
2515 2002-01-29 15:40 grunblatt
2517 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2518 Gloudon <perl@gloudon.com>
2520 2002-01-29 14:42 simon
2522 * include/parrot/parrot.h:
2523 Platform stuff has to be included *after* system headers.
2525 2002-01-29 14:05 grunblatt
2527 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2528 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2529 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2530 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2531 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2533 2002-01-29 10:56 simon
2535 * platforms/generic.h:
2536 If we don't have a S_ISREG, produce something close to it.
2538 2002-01-29 06:01 dan
2540 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2542 2002-01-29 04:38 jgoff
2544 * classes/array.pmc: Forgot to remove some C++-isms from the
2545 get_{foo}_index routines.
2547 2002-01-29 04:26 jgoff
2549 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2550 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2551 t/pmc/array.t: Added array class that languages other than perl can
2552 use for a basis. It has no features like preextension, and the
2553 array index starts at 0.
2555 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2556 and classes/Makefile.in - Added array.pmc to the makefile.
2557 (Assuming rules like .pmc.o are portable (or even possible) I might
2558 alter classes/Makefile.in to autobuild the appropriate files.
2560 2002-01-29 02:32 dan
2562 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2563 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2564 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2565 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2566 Update to Test::More 0.41 which adds Test::Builder
2568 Delete the vestigal Test::Utils
2570 Change Parrot::Test so it uses Test::Builder instead of Evil
2574 output_* now returns whether the test passes or fails
2576 Parrot::Test no longer exports Test::More's functions. Instead
2578 can simply be used together. The few tests which used
2580 features (ie. skip) have 'use Test::More' added.
2582 I ditched the export_to_level() crutch. Do we expect parrot to
2584 5.004? (literally 5.004, not 5.004_04)
2586 Courtesy of Michael G Schwern <schwern@pobox.com>
2588 2002-01-28 21:04 dan
2590 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2591 pointer should actually be to
2592 parrot_assembly.pod, as the canonical documentation.
2594 Courtesy of Simon Glover <scog@roe.ac.uk>
2596 2002-01-28 20:21 dan
2598 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2601 2002-01-28 19:18 dan
2603 * core.ops, register.c: clone[insp] is dead
2605 2002-01-28 17:46 grunblatt
2607 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2608 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2610 2002-01-28 16:45 dan
2612 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2613 the requirement for fink at the moment.
2615 2002-01-28 15:59 simon
2618 People might try and run a directory file, with spectacular
2619 results. We don't want that. No.
2621 2002-01-28 14:58 doughera
2623 * core.ops: Avoid C++-style comments.
2625 2002-01-28 14:16 grunblatt
2627 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2628 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2631 2002-01-28 13:47 doughera
2633 * include/parrot/register.h: Avoid C++-style comment.
2635 2002-01-28 06:03 dan
2637 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2638 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2639 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2640 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2641 include/parrot/parrot.h, include/parrot/regfuncs.h,
2642 include/parrot/register.h, include/parrot/register_funcs.h,
2643 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2644 are now stored in the interpreter structure itself, rather than
2645 just a pointer to the top of the register structure. Pushes and
2646 pops now involve memcpys, but register access has one fewer
2649 Fails four of the register stack tests, though, so not perfect.
2650 Needs fixing, but this is a good place to start.
2652 2002-01-28 04:40 mrjoltcola
2654 * test_main.c: cvs commit missed this. ??
2656 2002-01-28 04:27 mrjoltcola
2658 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2659 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2660 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2661 interpreter now (at least in theory). IO handle array added. Misc
2662 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2663 we don't conflict with system libraries. Still have broken
2664 stuff in win32 and stdio layer.
2666 2002-01-28 04:01 mrjoltcola
2668 * include/parrot/chartype.h: Typo in chartype.h include guard.
2670 2002-01-28 03:41 mrjoltcola
2672 * t/op/interp.t: Fix flag for interp so we don't get "info"
2673 messages which break tests.
2675 2002-01-28 01:54 dan
2677 * include/parrot/string.h: A few more buffer/string flags
2679 2002-01-27 11:33 nicholas
2681 * chartypes/unicode.c: Cast unsigned argument to int in call to
2682 isdigit to silence gcc warning.
2684 2002-01-26 23:18 grunblatt
2686 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2689 2002-01-26 23:17 grunblatt
2691 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2692 jit/i386/core.jit: [no log message]
2694 2002-01-26 22:18 simon
2696 * jit/i386/core.jit:
2697 Jumping to 0x0 is a recipe for segfaults.
2699 2002-01-26 18:35 simon
2702 Allow user to select which tests to harness
2704 Courtesy of: Nicholas Clark <nick@unfortu.net>
2706 2002-01-26 17:20 grunblatt
2708 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2709 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2710 to make the jit work in linux again.
2712 2002-01-26 16:52 dan
2714 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2715 headers can't cope with this. Darwin-only
2717 2002-01-26 16:04 dan
2719 * include/parrot/parrot.h: Quick note to remind folks that this
2720 isn't the file they're looking for if they're writing extensions or
2723 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2725 2002-01-26 00:41 mrjoltcola
2729 2002-01-26 00:37 mrjoltcola
2731 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2734 2002-01-25 01:31 grunblatt
2736 * jit/alpha/core.jit: There is no neg or fneg.
2738 2002-01-25 01:27 grunblatt
2740 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2741 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2742 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2743 t/op/number.t: Added Parrot_neg. Erase t.s
2745 2002-01-24 23:26 dan
2747 * interpreter.c: Best make sure unused elements are NULL
2749 2002-01-24 23:24 dan
2751 * interpreter.c: Fix stupid thinko
2753 2002-01-24 18:37 doughera
2755 * Makefile.in: Add a few missing dollar signs in the lifetest
2756 section so that ${exe} and the like get properly interpolated.
2758 2002-01-24 18:15 mrjoltcola
2760 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2761 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2762 Simon Glover <scog@roe.ac.uk>
2764 2002-01-24 06:43 mrjoltcola
2766 * io/io_stdio.c: Oops.
2768 2002-01-24 06:34 mrjoltcola
2770 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2771 of work on the buffering layer. Decided to use shared read/write
2772 buffer (as do most implementations) for now since its the simplest
2773 way to keep everything synced, (flush on seeks, flush read on
2776 2002-01-24 03:38 mrjoltcola
2778 * test_main.c: Cleaned up option handling code a bit for main().
2780 2002-01-23 23:22 dan
2782 * interpreter.c, include/parrot/interpreter.h,
2783 include/parrot/resources.h: Now each interpreter gets its own hash
2786 2002-01-23 20:45 dan
2788 * Configure.pl: Fix a warning when there's no - in an architecture
2790 2002-01-22 23:57 grunblatt
2792 * docs/running.pod: [no log message]
2794 2002-01-22 20:29 doughera
2796 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2797 appears to be a generic problem (if sizeof(long double) >
2798 sizeof(double)), not an x86-specific one.
2800 2002-01-22 16:57 doughera
2802 * runops_cores.c: Change variable name from time to starttime to
2803 avoid gcc warning about variable name shadowing.
2805 2002-01-22 16:55 doughera
2807 * classes/pmc2c.pl: Include class_init prototype too.
2809 2002-01-22 16:01 doughera
2811 * MANIFEST: [no log message]
2813 2002-01-22 01:04 ajgough
2815 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2816 classes/parrotpointer.pmc, classes/perlarray.pmc,
2817 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2818 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2819 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2820 warnings from pmc files. Message-ID:
2821 <20020121224719.GE1726@Bagpuss.unfortu.net>
2823 2002-01-22 00:53 ajgough
2825 * test_main.c: Clears up a couple of warnings in test_main.c.
2826 Thanks to Nick Clark. Message-ID:
2827 <20020121190457.GB1726@Bagpuss.unfortu.net>
2829 2002-01-22 00:47 ajgough
2831 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2832 include/parrot/chartype.h: Cause all codepoints to be treated as
2833 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2834 Nick Clark, see also: Message-ID:
2835 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2837 2002-01-22 00:24 dan
2839 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2841 Appended patch cures these warnings:
2843 key.c: In function `debug_key': key.c:29: warning: int format,
2844 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2845 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2846 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2847 format, INTVAL arg (arg 4)
2849 Courtesy of Nicholas Clark <nick@unfortu.net>
2851 2002-01-21 12:41 mrjoltcola
2853 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2856 2002-01-21 06:37 mrjoltcola
2858 * io/io.c: Cleanup a warning
2860 2002-01-21 06:28 mrjoltcola
2862 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2863 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2864 ops. Various other IO twiddlings.
2866 2002-01-21 03:25 grunblatt
2868 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2869 Melvin Smith for the catch up.
2871 2002-01-20 23:13 sfink
2873 * stacks.c: Fixed logic errors, need tests
2875 2002-01-20 22:17 brentdax
2877 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2878 prepare for /i to work.
2880 2002-01-20 20:52 grunblatt
2882 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2883 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2884 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2885 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2886 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2887 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2888 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2889 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2890 jit/alpha/string.jit:
2891 - Added support for ALPHA, by now linux and bsd.
2893 - Reduced jit2h.pl execution time by precompiling the call to the
2896 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2897 Parrot/Jit/${cpuarch}Generic.pm
2899 - Changed the way to detect quads to what is written in "man
2902 2002-01-20 17:23 brentdax
2904 * rx.ops: There's no such thing as rx_allocateinfo.
2906 2002-01-19 08:26 brentdax
2908 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2910 2002-01-19 07:12 mrjoltcola
2912 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2913 into io.ops, leave the STDIO wrappers in core.ops until they
2914 disappear. Added debug op for switching on VM debug flag
2916 2002-01-19 01:55 mrjoltcola
2918 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2919 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2921 2002-01-19 00:55 brentdax
2923 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2924 include/parrot/rxstacks.h: Add regex-specific stacks for
2927 2002-01-18 23:58 dan
2929 * Configure.pl: I think the optimal fix here is simply to remove
2930 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2931 man pages say "There is no reason to use this option [-pedantic];
2932 it exists only to satisfy pedants."
2934 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2936 2002-01-18 23:23 dan
2938 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2939 docs/running.pod, which lists the various executables Parrot
2940 currently includes, examples of running them, and mentions of where
2941 they fail to work. It's more of a cry for help than a useful
2942 reference. :-) I've been having trouble recently when making
2943 changes in figuring out whether I broke anything, because any
2944 non-default way of running the system seems to be already broken. I
2945 can't tell what brokenness is expected and what isn't.
2947 Courtesy of Steve Fink <steve@fink.com>
2949 2002-01-15 22:13 brentdax
2951 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2952 substring use and enhance performance.
2954 2002-01-15 21:03 ajgough
2956 * string.c: Fix problem with string_transcode, &dest not being
2957 updated if src was already in desired encoding.
2959 2002-01-15 16:54 brentdax
2961 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2962 warnings. Leaves only one warning, at rx.ops line 409, that I
2963 can't manage to get rid of.
2965 2002-01-15 16:50 dan
2967 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2968 code. Also patches pbc2c.pl to work with rx.ops.
2970 Courtesy of Jason Gloudon <perl@gloudon.com>
2972 2002-01-15 16:15 dan
2974 * classes/Makefile.in: All the C files in classes/ weren't being
2975 compiled with an of the gcc warnings flags. With this patch they
2976 are, and there are an awful lot of warnings, more than I could hope
2977 to understand and clear up (within any sensible time period before
2978 submitting a rash of patches, by which time everyone else would
2979 have moved the code on)
2981 Courtesy of Nicholas Clark <nick@unfortu.net>
2983 2002-01-15 16:10 dan
2985 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2986 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2987 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2988 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2989 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2990 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2991 chartypes/usascii.c: This patch adds a few more macros for .ops
2992 files to use. In addition to the existing
3006 This is intended mainly for use in helper functions in .ops files,
3007 but also for ops that need to eg push the address of the next
3008 opcode onto a stack. The only place this currently happens (outside
3009 of my private code) is in the bsr opcode, which previously
3010 hardcoded the computation.
3012 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3013 higher in the generated file so that it can be used by static
3014 functions in the preamble.
3016 Finally, I ran into a parentheses matching problem -- should goto
3017 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
3018 \bgoto\s+OFFSET\((.*?)\)
3020 It was done inconsistently for the different calculations, and of
3021 course neither are correct because you really want matching
3022 parentheses. But that seems like too much bother. (Currently,
3023 there's only one place that uses anything other than $n in the
3024 parentheses, and that's the enternative() op.) So I made them all
3025 .*? but emulated recent POD by also allowing (( ... )) (that's two
3026 parenthesis with a space padding the body.)
3028 The generated core_ops.c and core_ops_prederef.c files after this
3029 patch are identical except for the CUR_OPCODE and REL_PC macros
3030 getting moved a little higher, and the bsr in the regular path (not
3031 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3033 In summary, this is a big wad of meaningless changes for the
3034 current code. But it will make adding some opcodes easier in the
3035 future, and cleans up a small nit in the current bsr.
3037 Courtesy of Steve Fink <steve@fink.com>
3039 2002-01-15 08:48 brentdax
3041 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3044 2002-01-15 08:45 brentdax
3046 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3048 2002-01-15 05:00 brentdax
3050 * rx.ops: Speed up rx_literal--roughly doubles benchmark
3053 2002-01-14 20:18 dan
3055 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3057 Courtesy of Nicholas Clark <nick@unfortu.net>
3059 2002-01-14 20:03 dan
3061 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3062 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3063 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3064 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3065 classes/parrotpointer.pmc, classes/perlarray.pmc,
3066 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3067 classes/perlstring.pmc, classes/perlundef.pmc,
3068 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3069 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3070 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3071 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3072 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3073 patch cleans up most of the MSVC-warnings when using warning level
3074 4 (the highest, one above the default level 3). It turns off two
3075 level-4 warnings for 'unreferenced formal parameter' and 'named
3076 type definition in parentheses', the latter of which was turning up
3077 warnings in MS VC headers. Level 4 warnings also helped me find a
3078 couple of other lurking bugs in the parrot code.
3080 Replaces the various fprintf/exit combos with calls to
3081 internal_exception, which uses var_args to emulate printf. Various
3082 exception types were added as well. These are probably temporary
3083 until a real exception system arrives.
3085 Fixed some places in the IO code where wrong functions were being
3086 called, or put into the vtable.
3088 Courtesy of "Michel Lambert" <mlambert@legendent.com>
3090 2002-01-14 19:00 dan
3092 * MANIFEST: D'oh! Forgot a file.
3094 Courtesy of Andy Dougherty <doughera@lafayette.edu>
3096 2002-01-14 18:44 brentdax
3098 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3099 sense (and a few other enhancements to regexes).
3101 2002-01-14 07:07 brentdax
3103 * interpreter.c, runops_cores.c, test_main.c,
3104 include/parrot/interpreter.h: Make profiling a little more useful.
3106 2002-01-13 19:44 dan
3108 * Configure.pl: Turn off unsed things warnings for now
3110 2002-01-13 19:39 dan
3112 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
3114 classes/perlarray.c: * get_string: is casting
3115 SELF->cache.struct_val to a STRING*, while all other methods are
3116 using it as a KEY*; don't know what a perlarray stringifies to,
3117 so replacing with NULL * get_bool: the default behaviour does not
3120 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3122 2002-01-13 19:37 dan
3124 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
3125 flags to LDFLAGS, so that Configure.pl --debugging works with
3128 classes/Makefile.in make easier to add pmb2c.pl flags to all
3131 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3133 2002-01-13 19:36 dan
3135 * io/io_win32.c: according to my MSVC docs, you should use
3139 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3141 2002-01-13 19:35 dan
3143 * docs/intro.pod: Doc tweak.
3145 Courtesy of Simon Glover <scog@roe.ac.uk>
3147 2002-01-13 19:34 dan
3149 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3154 works with PerlString PMCs; these should be false if they are "",
3156 are undefined, and true in every other case.
3158 Courtesy of Simon Glover <scog@roe.ac.uk>
3160 2002-01-13 19:23 dan
3162 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3163 NUMVAL_FMT to FLOATVAL_FMT.
3165 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3167 2002-01-13 17:45 jgoff
3169 * Makefile.in, global_setup.c, classes/Makefile.in,
3170 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3171 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3172 designing your own classes.
3174 2002-01-13 08:47 simon
3176 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3177 lib/Parrot/OpTrans/CPrederef.pm:
3178 Fix bsr in prederef mode.
3180 Courtesy of: Jason Gloudon <perl@gloudon.com>
3182 2002-01-12 15:33 dan
3184 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3185 string.c, encodings/singlebyte.c, encodings/utf32.c,
3186 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3187 Silence most of the unused variable warnings.
3189 Courtesy of Nicholas Clark <nick@unfortu.net>
3191 2002-01-12 15:18 dan
3193 * rx.ops: This patch fixes a warning and also changes an 'int' to
3194 an 'INTVAL'. All tests should pass on Solaris.
3196 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3198 2002-01-12 15:13 dan
3200 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3201 examples/assembly/life.pasm, include/parrot/interpreter.h,
3202 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3203 io/io_win32.c: More IO work. (Plus some misc twiddles)
3205 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3207 2002-01-12 01:14 dan
3209 * include/parrot/string.h: fix a missing name
3211 2002-01-12 00:39 grunblatt
3213 * include/parrot/string.h: Few typos.
3215 2002-01-12 00:16 grunblatt
3217 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3218 that change the program control flow.
3220 2002-01-11 23:53 brentdax
3222 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3223 ParrotPointer's guts.
3225 2002-01-11 23:03 dan
3227 * include/parrot/string.h: flags for the buffers, for GC
3229 2002-01-11 22:31 dan
3231 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3233 2002-01-11 22:21 dan
3235 * include/parrot/pmc.h: Started with PMC flags
3237 2002-01-11 19:33 dan
3239 * config_h.in, memory.c, resources.c, string.c,
3240 include/parrot/resources.h: Beginnings of a memory allocation/gc
3241 system. Without the GC part.
3243 2002-01-11 18:05 dan
3245 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3248 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3250 2002-01-11 17:50 dan
3252 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3253 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3254 a patch that makes pbc2c generated code work with the bsr opcode.
3255 It creates a new opcode 'enternative', and uses this to support a
3256 mixed model of interpretation and execution of compiled C code.
3258 Courtesy of Jason Gloudon <perl@gloudon.com>
3260 2002-01-11 17:48 dan
3262 * Makefile.in: Add life as a potential .exe target
3264 2002-01-11 17:30 dan
3266 * include/parrot/resources.h: Start of arena stuff for GC
3268 2002-01-11 05:34 brentdax
3270 * rx.ops: Docs modifications.
3272 2002-01-11 04:19 brentdax
3274 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3275 regular expressions.
3277 2002-01-11 03:44 grunblatt
3279 * jit/i386/core.jit: off by one.
3281 2002-01-11 02:25 dan
3283 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3285 Courtesy of Steve Fink <steve@fink.com>
3287 2002-01-11 00:32 brentdax
3289 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3291 2002-01-10 23:22 ajgough
3293 * string.c, docs/strings.pod: Removed all the nul termination code,
3294 as this is in general a bad idea. Note added to docs/strings.pod
3295 to warn people away from assuming termination.
3297 2002-01-10 23:14 dan
3299 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3300 testparrotsizes_c.in, include/parrot/interpreter.h,
3301 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3304 Courtesy of Steve Fink <steve@fink.com>
3306 2002-01-10 22:48 dan
3308 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3311 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3313 2002-01-10 22:46 dan
3315 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3316 t/pmc/perlhash.t: Well, actually two bugs.
3318 The first is an off-by-one error in key.c than can cause parrot
3319 to segfault if hash % NUM_BUCKETS happens to be zero.
3321 The other is a bug in the PerlHash init() code that causes new
3323 PMCs to start with the wrong size.
3325 Both fixed below; also tests to prevent them recurring.
3327 Courtesy of Simon Glover <scog@roe.ac.uk>
3329 2002-01-10 22:30 dan
3331 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3332 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3335 Courtesy of Simon Glover <scog@roe.ac.uk>
3337 2002-01-10 21:31 dan
3339 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3341 2002-01-10 20:30 grunblatt
3343 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3344 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3345 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3346 All the op codes that doesn't change the program control flow now
3347 work in the JIT by calling the code generated by the compiler when
3348 the op is not in core.jit TODO: * Make all the ops that change
3349 the program control flow (and are not on core.jit) work. *
3350 Remove the dispatch payload.
3352 2002-01-10 17:13 dan
3354 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3355 which tries to return 0 from a void function.
3357 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3359 2002-01-10 17:12 dan
3361 * t/op/macro.t: Skip tests, don't comment them out.
3363 Courtesy of Simon Glover <scog@roe.ac.uk>
3365 2002-01-10 17:10 dan
3367 * rx.c: This fixes a couple of nits in rx.c:
3369 1. There's no newline at the end, which makes gcc unhappy.
3370 2. We should use NULL, not 0 or "", for creating null pointers.
3372 Courtesy of Simon Glover <scog@roe.ac.uk>
3374 2002-01-10 17:09 dan
3376 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3380 Courtesy of Simon Glover <scog@roe.ac.uk>
3382 2002-01-10 16:54 ajgough
3384 * resources.c: Made free_string check that there was a string to
3385 free. In reponse to a bug spotted by Joshua Nye.
3387 2002-01-09 22:44 dan
3389 * global_setup.c: Forgot the setup
3391 2002-01-09 22:35 dan
3393 * rx.ops: Forgot this one
3395 2002-01-09 22:35 dan
3397 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3398 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3399 Tests don't work, though.
3401 Courtesy of "Brent Dax" <brentdax@cpan.org>
3403 2002-01-09 21:48 dan
3405 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3407 2002-01-09 21:22 dan
3409 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3410 Generic pointer holder class
3412 Courtesy of "Brent Dax" <brentdax@cpan.org>
3414 2002-01-09 21:19 dan
3416 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3419 2002-01-09 19:54 dan
3421 * io/io_unix.c: Whoops. Forgot one
3423 2002-01-09 19:43 dan
3425 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3426 t/pmc/perlhash.t: Fix hash crash bugs
3428 Courtesy of Simon Glover <scog@roe.ac.uk>
3430 2002-01-09 19:13 dan
3432 * memory.c: Signedness whoops.
3434 Courtesy of Simon Glover <scog@roe.ac.uk>
3436 2002-01-09 18:23 dan
3438 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3439 io/io_stdio.c, io/io_win32.c: Changes:
3441 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3442 will be using the Win32 API and company rather than the unix-ish
3443 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3444 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3445 stuff is there. Soon we should be able to start using these
3446 rather than fprintf(stderr, ...) and remove stdio linkage.
3448 Courtesy of <mrjoltcola@mindspring.com>
3450 2002-01-09 17:26 dan
3452 * test_main.c: Fixes bad code gen on x86.
3454 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3456 2002-01-09 17:24 dan
3458 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3459 classes/perlnum.pmc: This patch adds macros to the config.h file
3460 for INTVAL and NUMVAL printf formats.
3462 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3464 2002-01-08 22:55 ajgough
3466 * docs/vtables.pod: Clarify what get_string should do.
3468 2002-01-08 20:05 dan
3470 * key.c: Keep comments in sync.
3472 Courtesy of Simon Glover <scog@roe.ac.uk>
3474 2002-01-08 19:50 dan
3476 * memory.c, include/parrot/memory.h: Need a realloc
3478 2002-01-08 17:24 gregor
3480 * .cvsignore, Configure.pl, Makefile.in:
3481 Added 'reconfig' make target and corresponding --reconfig option to
3482 Configure.pl, so its very easy to re-run Configure.pl with the last
3483 (command-line) options you passed it.
3485 2002-01-08 16:33 dan
3487 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3488 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3489 in core.ops. Potential help for optimizers and JITters.
3491 Courtesy of gregor@linux1.kennedytech.com
3493 2002-01-08 16:32 dan
3495 * key.c: Grab key length from the right spot
3497 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3499 2002-01-08 13:27 ajgough
3501 * test_main.c: Fix slight thinko in realloc usage for reading from
3504 2002-01-08 11:34 ajgough
3506 * test_main.c: Allow test_parrot to read bytecode stream from
3507 stdin, adds -f command line option, with "-f -" doing the stdin
3510 2002-01-08 06:34 jgoff
3512 * key.c, include/parrot/key.h: key.c - Added simple implementation
3513 of buckets. include/parrot/key.h - Added enum_key_bucket type
3515 2002-01-08 03:21 jgoff
3517 * include/parrot/key.h: Added an undef type to the key structure,
3518 so we can delete keys without confusion.
3520 2002-01-07 22:09 dan
3522 * key.c, packfile.c, string.c, include/parrot/key.h,
3523 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3524 about index being redefined
3526 Courtesy of Nick Clark
3528 2002-01-07 21:15 dan
3530 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3532 Courtesy of Steve Fink <steve@fink.com>
3534 2002-01-07 20:48 dan
3536 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3539 Courtesy of "Brent Dax" <brentdax@cpan.org>
3541 2002-01-07 20:43 dan
3543 * docs/intro.pod: Missing a comma
3545 Courtesy of "coral" <coral@eekeek.org>
3547 2002-01-07 20:41 dan
3549 * global_setup.c: Quiet a warning
3551 Courtesy of Simon Glover <scog@roe.ac.uk>
3553 2002-01-07 18:58 gregor
3556 Ignore intermediate test files.
3558 2002-01-07 17:01 gregor
3561 Print a warning if an .ops file is mentioned more than once on the
3564 2002-01-07 16:12 ajgough
3566 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3567 these shouldn't fail.
3569 2002-01-07 15:15 simon
3571 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3574 2002-01-07 15:11 simon
3577 Fix zero-termination bug in hash function.
3579 2002-01-07 13:37 ajgough
3581 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3582 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3584 2002-01-07 11:53 brentdax
3586 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3587 (:add{foo}) and a new deleting thing (:rem{foo})
3589 2002-01-07 11:43 simon
3592 Gobble the + before concatenating.
3594 2002-01-07 03:53 dan
3596 * Makefile.in: Dependency fix for new ops setup.
3598 2002-01-07 03:33 jgoff
3600 * classes/perlarray.pmc: Add negative indices, and fix a small
3603 2002-01-06 23:54 ajgough
3605 * hints/os2.pl: Makes the hints file take account of ldflags and
3606 ccflags being split. This hints file is still very specific to
3607 builds with gnu tools, but a proper solution can wait. Thanks to
3610 2002-01-06 22:12 dan
3612 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3613 -changes Parrot::OpLib::core's dependencies to reflect the new
3614 selectable ops files -allows some of the special forms of 'goto'
3615 inside the PREAMBLE of an opcode file
3617 Courtesy of "Brent Dax" <brentdax@cpan.org>
3619 2002-01-06 19:59 simon
3624 2002-01-06 18:19 dan
3626 * classes/perlhash.pmc: Fix some type issues.
3628 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3630 2002-01-06 18:03 dan
3632 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3633 for a list of opcode files to use. The default is everything
3634 available except for obscure.ops.
3636 In addition, it makes it so that if your answer to a question
3637 starts with '+', it will concatenate it to the default. For
3640 What C compiler do you want to use? [cl] +HAHAHA!!!
3642 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3643 is not terribly useful, it is quite useful with things like
3644 command-line flags and the like.
3646 Finally, it contains a couple tweaks so that my syntax-highlighting
3647 editor recognizes some heredocs correctly. :^)
3649 Courtesy of "Brent Dax" <brentdax@cpan.org>
3651 2002-01-06 17:59 dan
3653 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3655 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3657 2002-01-06 17:58 dan
3659 * MANIFEST: We're missing a couple of files from the MANIFEST.
3661 Courtesy of Simon Glover <scog@roe.ac.uk>
3663 2002-01-06 17:57 dan
3665 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3666 Compiler directives, etc. in files other than core.ops will now
3667 work. 2. Compiler warnings will now display the file and line
3668 number of the opcode file.
3670 Courtesy of "Brent Dax" <brentdax@cpan.org>
3672 2002-01-06 17:52 dan
3674 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3676 Courtesy of Simon Glover <scog@roe.ac.uk>
3678 2002-01-06 17:36 dan
3680 * docs/intro.pod: Lots of updates
3682 Courtesy of Simon Glover <scog@roe.ac.uk>
3684 2002-01-06 02:34 gregor
3687 Add some internal documentation on the theory of operation of the
3690 2002-01-06 02:17 gregor
3693 Removed unnecessary include.
3695 2002-01-05 12:37 simon
3697 * classes/.cvsignore:
3698 Ignore generated .h files.
3700 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3702 2002-01-05 12:37 simon
3705 Make lcc happier by adding a dummy structure.
3707 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3709 2002-01-05 12:35 simon
3711 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3712 Make perlundef work. (And coincidentally stop segfaults in the
3715 Courtesy of: Jason Gloudon <perl@gloudon.com>
3717 2002-01-05 04:59 dan
3719 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3721 2002-01-05 04:55 jgoff
3723 * classes/perlhash.pmc: Added perlhash class definition
3725 2002-01-05 04:48 dan
3727 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3729 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3731 2002-01-05 03:57 jgoff
3733 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3734 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3735 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3736 t/pmc/pmc.t: Initial hash commit.
3738 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3739 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3740 set_{integer,number,string}_index_s
3742 This does not yet do collision resolution, but will soon.
3744 2002-01-05 02:54 dan
3746 * interpreter.c: More unsigned fixes
3748 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3750 2002-01-04 22:13 dan
3752 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3753 test programs happier.
3755 Courtesy of "Jason Diamond" <jason@injektilo.org>
3757 2002-01-04 19:00 dan
3759 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3762 2002-01-04 18:27 dan
3764 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3765 Fixes to get things configuring and building on Win32 Native.
3767 Courtesy of "Jason Diamond" <jason@injektilo.org>
3769 2002-01-04 17:39 dan
3771 * hints/vms.pl: debug cleanup
3773 2002-01-04 16:53 dan
3775 * docs/parrot.pod: The enclosed patch brings the list of
3776 documentation in parrot.pod
3779 Courtesy of Simon Glover <scog@roe.ac.uk>
3781 2002-01-04 16:47 dan
3783 * test_main.c, Parrot/Jit/i386-linux.pm,
3784 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3787 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3789 2002-01-04 16:44 dan
3791 * Configure.pl, Makefile.in: Fixed linking to use linker.
3793 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3795 2002-01-04 16:39 dan
3797 * io/io_stdio.c: Added CVS tag info
3799 2002-01-04 16:35 dan
3801 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3804 2002-01-04 16:26 dan
3806 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3809 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3811 2002-01-04 16:17 dan
3813 * chartypes/unicode.c: Silence some warnings.
3815 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3817 2002-01-04 16:09 dan
3819 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3820 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3821 into generated files
3822 but the $Id$ string gets mangled when it's committed.
3823 This patch fixes the existing .pmc files and fixes genclass.pl.
3825 - Makes capitalization in .pmc header match actual filenames
3827 - The command for calling genclass.pl in vtables.pod is incorrect,
3828 since it assumes you're running in classes/ but genclass.pl
3830 it's being run from the main directory. I changed genclass.pl to
3834 Courtesy of Steve Fink <steve@fink.com>
3836 2002-01-04 03:57 dan
3838 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3839 me--I *had* the files:wq!
3841 2002-01-04 03:40 dan
3843 * MANIFEST: Whoops--remove files not really there
3845 2002-01-04 03:37 dan
3847 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3848 my sig adds a new_stack() function to take care of the allocation
3849 and setup of "generic" stacks.
3851 Courtesy of "Brent Dax" <brentdax@cpan.org>
3853 2002-01-04 02:36 dan
3855 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3857 writes a load of junk in core_ops.pod. Applied patch fixes.
3859 Courtesy of Simon Glover <scog@roe.ac.uk>
3861 2002-01-04 02:35 dan
3863 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3864 logical-or is using get_integer instead of get_bool for logical
3865 operations. This patch corrects that.
3867 Perlnum and perlstring have working get_bool's, so the default
3868 logical_or and logical_and should be sufficient. The empty methods
3869 are pointed to the default logical_or.
3871 Courtesy of Jason Gloudon <perl@gloudon.com>
3873 2002-01-04 02:31 dan
3875 * Makefile.in: docs/Makefile should be removed by realclean, but
3878 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3880 2002-01-04 02:29 dan
3882 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3884 Courtesy of Steve Fink <steve@fink.com>
3886 2002-01-04 00:51 dan
3888 * docs/vtables.pod: More docs
3890 Courtesy of Steve Fink <steve@fink.com>
3892 2002-01-04 00:47 dan
3894 * Configure.pl: Updated 64-bit patch
3896 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3898 2002-01-04 00:43 dan
3900 * Configure.pl: 64-bit Fix.
3902 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3904 2002-01-03 22:37 dan
3906 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3907 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3908 some buffering work. Additional work on other layers.
3910 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3912 2002-01-03 19:41 gregor
3914 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3915 Updated copyright messages on top-level files.
3917 2002-01-03 04:23 robert
3919 * make.pl: Add author information. Bonsai test.
3921 2002-01-03 04:02 dan
3923 * io/io_os.c: Twig Bonsai
3925 2002-01-03 03:45 dan
3927 * io/: io_os.c, io_os.c: Twig Bonsai
3929 2002-01-03 03:41 dan
3931 * io/io_os.c: Twig Bonsai
3933 2002-01-02 21:42 gregor
3935 * packfile.c, include/parrot/packfile.h:
3936 Get rid of warnings in packfile.[hc]
3938 2002-01-02 20:39 gregor
3941 Bracketed translated patterns with ^ and $.
3943 2002-01-02 20:11 dan
3945 * io/io_os.c: silence a warning
3947 2002-01-02 19:52 grunblatt
3949 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3950 op_assembly to jit_struct.h, so that we get the real number of ops.
3951 Removed some warnings.
3953 2002-01-02 19:31 tom
3955 * string.c: Fix string transcoding so that it actually works.
3957 Patch from Peter Gibbs <peter@emkel.co.za>
3959 2002-01-02 19:20 gregor
3962 A program to check the MANIFEST file, accounting for .cvsignore
3965 2002-01-02 19:19 dan
3967 * t/harness: twig bonsai
3969 2002-01-02 19:13 dan
3971 * t/harness: twig bonsai
3973 2002-01-02 18:54 dan
3975 * t/harness: Tweak to test Bonsai
3977 2002-01-02 16:27 dan
3979 * Configure.pl: Allow 64-bit build of parrot on systems with a
3980 mixed 32/64 bit perl
3982 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3984 2002-01-02 15:33 simon
3986 * MANIFEST, docs/Makefile:
3987 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3989 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3991 2002-01-02 13:51 simon
3994 Die on broken manifest.
3996 2002-01-02 13:48 simon
3998 * jit2h.pl, examples/assembly/mops.pasm:
3999 Clear up JIT warnings.
4001 Courtesy of: Nick Clark <nick@unfortu.net>
4003 2002-01-02 04:10 dan
4005 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4006 only once, so new interp creation works again
4008 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4010 2002-01-02 03:32 dan
4012 * t/op/interp.t: Stubbed the test out, since it's hanging at the
4015 2002-01-02 00:55 dan
4017 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4018 io/io_os.c: Initial IO system patches
4020 Courtesy of <mrjoltcola@mindspring.com>
4022 2002-01-01 22:55 ajgough
4024 * classes/default.pmc: On second thoughts, and some prodding, the
4025 set_* methods now only set the appropriate part of the cache, and
4028 2002-01-01 22:29 ajgough
4030 * classes/default.pmc: Wrote a whole host of default pmc methods.
4032 set_* create appropriate Perl* result.
4033 get_* simply grabs needed bit of cache.*_val
4035 Other methods do the rightest thing I can think of, at the moment.
4037 None yet cope with overflow, the modulus operation needs to be
4039 I don't know quite which semantics we really want.
4043 2002-01-01 20:23 dan
4045 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4046 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4047 rid of unneeded tmp var and eliminated const from encode prototype
4048 since it does make changes to the string.
4050 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4052 2002-01-01 20:11 dan
4054 * Makefile.in: Make clean now tosses pdump.o
4056 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4058 2002-01-01 19:49 dan
4060 * pdump.c, test_main.c: Warnings cleanup
4062 Courtesy of Josh Wilmes <josh@sky.net>
4064 2002-01-01 19:45 dan
4066 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4067 hints/mswin32.pl, languages/jako/Makefile.in,
4068 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4071 Courtesy of "Jason Diamond" <jason@injektilo.org>
4073 2002-01-01 19:41 dan
4075 * include/parrot/register.h: Clean up some warnings
4077 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4079 2002-01-01 19:10 simon
4081 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4082 Hack-around to enable compilation of code using vtable ops.
4084 2002-01-01 18:43 dan
4086 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4087 checks on unsigned things
4089 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4091 2002-01-01 18:26 dan
4093 * runops_cores.c: More warning silences.
4095 Courtesy of Nicholas Clark <nick@unfortu.net>
4097 2002-01-01 18:25 dan
4099 * trace.c: Shuts up a warning.
4101 Courtesy of Nicholas Clark <nick@unfortu.net>
4103 2002-01-01 18:24 dan
4105 * encodings/singlebyte.c: Clean up some warnings.
4107 Courtesy of Nicholas Clark <nick@unfortu.net>
4109 2002-01-01 18:20 dan
4111 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4114 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4116 2002-01-01 18:17 dan
4118 * packfile.c: Warning cleanup
4120 Courtesy of Nicholas Clark <nick@unfortu.net>
4122 2002-01-01 17:53 dan
4124 * string.c: New string size should be based on output encoding's
4125 size, not input encoding's size.
4127 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4129 2002-01-01 17:22 dan
4131 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4132 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4133 include/parrot/interpreter.h, include/parrot/memory.h,
4134 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4137 Courtesy of Chip Turner <cturner@redhat.com>
4139 2002-01-01 17:09 dan
4141 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4142 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4143 now unsigned, as is proper.
4145 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4146 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4148 2002-01-01 16:59 dan
4150 * include/parrot/trace.h: Useless debugging prototype removed
4152 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4154 2002-01-01 16:58 dan
4156 * MANIFEST: We forgot a file.
4158 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4160 2002-01-01 03:53 dan
4162 * Configure.pl: Okay, I give. Removed some warnings because the
4163 darned system headers were triggering them. Sloppy, sloppy
4166 2002-01-01 03:48 dan
4168 * config_h.in: Add in an unsigned INTVAL.
4170 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4172 2002-01-01 03:46 dan
4174 * global_setup.c: Clean up some compiler warnings.
4176 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4178 2002-01-01 03:43 dan
4180 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4181 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4182 include/parrot/op.h: Cleaned up some things to make the compiler
4185 Courtesy of Nicholas Clark <nick@unfortu.net>
4187 2002-01-01 03:14 dan
4189 * Configure.pl: Quad updates.
4191 Courtesy of Nicholas Clark <nick@unfortu.net>
4193 2001-12-31 22:53 dan
4195 * include/parrot/op.h: Typedef had parameters backwards. Threw
4196 core.ops for a big whiny warnings loop.
4198 2001-12-31 22:37 dan
4200 * Makefile.in, resources.c: Tweaks to try and get things to build
4203 2001-12-31 21:58 dan
4205 * Configure.pl: Stupid thinko fix
4207 2001-12-31 21:34 dan
4209 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4211 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4213 2001-12-31 21:32 dan
4215 * Configure.pl: Fix for non-gcc systems
4217 2001-12-31 20:22 dan
4219 * interpreter.c: Tweak so we can build on non-JIT platforms
4221 2001-12-31 20:11 dan
4223 * Configure.pl: Force the time on some copied files to be 'now' to
4224 make the Win builds much less annoying.
4226 Courtesy of "Jason Diamond" <jason@injektilo.org>
4228 2001-12-31 20:07 dan
4230 * Configure.pl: Nuke all object files in the parrot tree that
4231 matter when configuring. Shouldn't be necessary with good
4232 dependencies in the makefile, but we don't have those yet.
4234 2001-12-31 20:00 gregor
4236 * chartypes/unicode.c:
4237 Silence unused variable warnings.
4239 2001-12-31 19:40 dan
4241 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4243 2001-12-31 19:37 gregor
4245 * interpreter.c, jit.c, include/parrot/jit.h:
4246 Created a prototype for JIT functions and used it in interpreter.c.
4248 2001-12-31 19:31 dan
4250 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4251 detection) with really cranky warnings if we find we're using it.
4253 Courtesy of: Nicholas Clark <nick@unfortu.net>
4255 2001-12-31 18:01 gregor
4257 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4259 Fixed a few warnings wrt prototypes, etc.
4261 2001-12-31 17:23 dan
4263 * string.c: Silenced most of the compiler whines
4265 2001-12-31 17:15 gregor
4268 Get the ccname from either ccname or just cc config var.
4270 2001-12-31 17:14 gregor
4272 * Parrot/Op.pm, lib/Parrot/Op.pm:
4273 Another intermediate opbody notation. Could come in handy. Explicit
4276 2001-12-31 17:05 dan
4278 * string.c: Minor warnings update
4280 2001-12-31 17:00 dan
4282 * include/parrot/string.h: Warnings cleanup
4284 2001-12-31 16:00 simon
4286 * encodings/utf8.c, include/parrot/encoding.h:
4287 Remove a couple more.
4289 2001-12-31 15:58 simon
4291 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4292 include/parrot/op.h:
4293 Rid ourselves of a few warnings.
4295 2001-12-31 15:32 dan
4297 * Configure.pl: Made GCC ever so much pickier.
4299 Switch list courtesy of Jarkko.
4301 2001-12-31 15:22 dan
4303 * string.c: Tightened up initial allocation.
4305 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4307 2001-12-31 06:48 dan
4309 * Configure.pl: Minor Windows tweak
4311 2001-12-31 05:32 dan
4313 * core.ops: Unused temp variable tossed.
4315 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4317 2001-12-31 05:09 grunblatt
4319 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4320 supported plataforms
4322 2001-12-31 03:05 dan
4324 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4325 platform-independent quote substitution for the makefiles.
4326 Hopefully this'll make the Win32 builds happier.
4328 2001-12-30 21:08 dan
4330 * string.c, include/parrot/string.h: More string system tweaks.
4332 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4334 2001-12-30 20:45 dan
4336 * core.ops: Some pod cleanup
4338 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4340 2001-12-30 20:22 ajgough
4342 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4343 we aren't using them right now. Clarified the workings of set Px,
4344 Py and clone Px, Py.
4346 2001-12-30 20:15 grunblatt
4348 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4349 Added readjit() to read *.jit files Updated core.jit to the new
4352 2001-12-30 20:14 ajgough
4354 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4356 2001-12-30 19:52 dan
4358 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4359 include/parrot/trace.h, platforms/generic.c: Compiler whine
4362 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4364 2001-12-30 19:13 dan
4366 * Configure.pl, Makefile.in: Make GCC pickier by default.
4368 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4370 2001-12-30 18:41 dan
4372 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4373 ntoi opcodes to sets.
4375 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4377 2001-12-30 17:58 gregor
4380 'make' no longer builds the mops test. Use 'make mops' for that. To
4381 run the test, you can do 'make mopstest'.
4383 2001-12-30 17:30 gregor
4386 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4389 2001-12-30 17:26 gregor
4391 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4392 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4393 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4394 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4395 Build enhancements. Originally to support building shared
4396 libraries, but now of broader impact.
4398 * .cvsignore: Ignore the blib/ directory, about which more later.
4402 * Got rid of TAB formatting and lined a few things up.
4404 * Added header comment with CVS Id variable, and a few other
4405 block header comments.
4407 * Uses new Parrot::BuildUtil module to determine the Parrot
4410 * Reworded a few messages, added a couple, and wrapped
4414 * Added 2002 to the Copyright statement.
4416 * Added new configure variables: VERSION, MAJOR, MINOR and
4419 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4421 than 5.6.0, but the comment implies it isn't.
4425 * Added $(SO), $(A) and $(AR_CRS) defines for library
4428 * Added $(RM_RF) define for removing directory trees
4430 * Grouped generated files into two classes: "sticky" (made by
4432 persisting across 'make clean') and 'fluid' (made during
4434 process, deleted by 'make clean').
4436 * Added header comments.
4438 * Added target for test_prog linked with shared library.
4440 * Added rules to build shared libraries in blib/lib. The
4442 built with trailing version numbers in their file names,
4444 symbolic links are created for shorter and no version tag
4447 * Added some missing dependencies
4449 * Added some missing 'make clean' targets.
4451 * Added 'make realclean' target that deletes files created by
4452 Configure.pl (including Makefile), forcing a re-configure.
4454 * Added a 'status' CVS target.
4456 * VERSION: New file, contains only the version. This version
4458 propagated to a few places, such as the core oplib version
4460 reduces the amount of coordination that has to happen to get
4462 number stuff throughout the tree in sync and updated prior to
4464 a new release. Feel free to grep for '0.0.3' to see the other
4466 that contain the version number (but, do that in a fresh CVS
4468 after doing 'make realclean').
4470 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4472 since the oplib and Parrot itself share a version number now.
4474 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4478 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4480 specifying the version by hand. Non-core oplibs will set this
4482 a quoted dot-string with three natural number components
4486 * interpreter.c: Make use of PARROT_VERSION to simplify some
4488 to get the complete version number in the resulting strings
4492 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4496 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4498 * ops2c.pl: Account for the PATCH version, too. This affects the
4500 oplib init function, and the oplib info struct initializer.
4502 * Parrot/BuildUtil.pm: New file for reading in and validating the
4504 the new VERSION file. Other build utilities could go here in
4507 * Parrot/OpsFile.pm:
4509 * Allow three components in version number, and require that
4511 be in double quotes.
4513 * Allow "VERSION = PARROT_VERSION", substituting the shared
4515 VERSION in that case.
4517 * include/parrot/oplib.h: Add the patch_version member.
4519 2001-12-30 12:16 simon
4521 * MANIFEST, Makefile.in:
4522 More stuff forgotten from MANIFEST.
4524 2001-12-30 12:13 simon
4529 2001-12-30 12:12 simon
4534 2001-12-30 12:12 simon
4539 2001-12-30 12:04 simon
4541 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4542 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4543 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4544 include/parrot/string.h, t/op/string.t:
4545 * Expand the strings test suite to be more complete * Make string
4546 commands more consistent (i.e, now the only string command that
4547 actually changes the original is chopn) * Significantly reduce the
4548 number of memory allocations and eliminate reallocations.
4550 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4552 2001-12-29 22:12 dan
4554 * interpreter.c, key.c, register.c, stacks.c, string.c,
4555 test_main.c, trace.c: Updates to match the coding standards.
4557 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4559 2001-12-29 20:42 grunblatt
4561 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4562 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4563 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4564 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4565 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4566 Kitover <caelum@debian.org>
4568 2001-12-28 21:20 dan
4570 * core.ops: Okay, now print takes a preceding file handle.
4572 I feel so dirty now.
4574 2001-12-28 20:46 dan
4576 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4577 changing the open op to use fopen under the hood.
4579 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4581 2001-12-28 18:20 ajgough
4583 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4584 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4585 include/parrot/exceptions.h, include/parrot/string.h,
4586 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4587 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4588 vtables appropriately. Also tests for same, new pmc_perlstring.t
4589 to hold tests specific to PerlStrings, as the pmc.t file is taking
4590 too long to run and slowing down my thought processes.
4592 Changes to strings.c etc to take string functions.
4594 Some changes to the strings docs, but not yet complete.
4596 Also, PerlString was copying pointers to strings, rather than
4597 strings themselves, so some action-at-a-distance bugs were creeping
4598 in, I think I've fixed this so everything works nicely.
4600 2001-12-28 04:56 gregor
4602 * examples/assembly/pmcmops.pasm:
4603 PMC-using version of mops.pasm.
4605 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4607 2001-12-28 04:56 gregor
4609 * examples/assembly/.cvsignore:
4610 Small tinkering. Removed old stuff, etc.
4612 2001-12-28 01:26 gregor
4614 * examples/mops/mops.scheme:
4615 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4616 to the very un-scheme-like implementation.
4618 2001-12-28 01:19 gregor
4620 * examples/mops/mops.c:
4621 Some people's picky compilers don't like us redefineing time(), so
4622 we call it time_n(). :)
4624 2001-12-28 00:28 gregor
4626 * examples/mops/: README, mops.ps:
4627 Added a PostScript example and a README.
4629 2001-12-27 23:57 gregor
4632 Build the C mops translation in examples/mops/mops.c
4634 2001-12-27 23:56 gregor
4636 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4637 Some translations of mops.pasm into other languages, for inner loop
4638 performance comparisons.
4640 2001-12-27 22:40 gregor
4642 * examples/assembly/mops.pasm:
4643 Fixed erroneous file name in header comment.
4645 2001-12-27 21:18 gregor
4648 One-liner to avoid no-op gotos to the next op.
4650 2001-12-27 21:06 gregor
4653 Fixed -p (profiling). Slow runops core was doing unconditional
4654 tracing, when it should have been checking the flags.
4656 2001-12-27 18:50 ajgough
4658 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4659 classes/perlstring.pmc, include/parrot/chartype.h,
4660 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4661 dded get_digit() to chartypes * Added string_bool() to strings *
4662 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4663 to perlstring.pmc * Tests for above, also a for couple of other
4666 The unicode chartype has only had placeholders added for get_digit,
4667 string_to_num has been updated to use type->get_digit rather than
4668 the previous ascii-isms. Some remain, but we need to carefully
4669 define what we mean by a number before we let thousands of code
4670 points act as a minus sign.
4672 2001-12-27 18:32 dan
4674 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4677 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4679 2001-12-27 18:23 dan
4681 * t/op/bitwise.t: More tests.
4683 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4685 2001-12-27 17:08 gregor
4687 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4688 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4689 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4690 include/parrot/interpreter.h, include/parrot/oplib.h,
4691 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4692 platforms/win32.c, platforms/win32.h:
4693 Initial code for dynamic loading of oplibs, applied for now to the
4694 loading of the core_prederef oplib when the -P flag is passed to
4697 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4701 * Added libcore_prederef_0_3.so to the shared target.
4702 * Added build rule for libcore_prederef_0_3.so.
4703 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4704 to Parrot/OpLib/core.pm, core_ops.c and
4705 core_ops_prederef.c.
4707 * config_h.in: Added defines for constants used to locate the
4708 core oplib's init function, and the core_prederef oplib for
4711 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4712 required by Parrot/OpsFile.pm.
4716 * Added init_prederef() and stop_prederef() functions to load
4717 and unload the core_prederef oplib when we are in prederef
4720 NOTE: In all likelihood, the prederef stuff has a rapidly
4721 dwindling time-to-live. The JIT should provide vastly
4723 performance, and loading an alternate set of core_ops isn't
4724 the real direction for the dynaloading stuff. Loading
4725 *additional* ops is. It does provide a handy test case for
4727 general idea for now, though.
4729 * Gets the core copcode table, etc. via the core oplibs oplib
4730 info pointer, as returned by the core oplib's init
4735 * Make use of the version, major version and minor version
4736 stuff parsed by Parrot/OpsFile.pm
4738 * The only exported symbol in the generated files is the init
4739 function now, since that returns an oplib info struct
4740 pointer, and all the important stuff can be found there.
4742 * ops2pm.pl: Put the oplib version in the generated .pm file.
4744 * test_main.c: Small changes necessitated by changes in the names
4745 of some members of the interpreter struct.
4747 * trace.c: Small changes necessitated by changes in the names
4748 of some members of the interpreter struct.
4750 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4753 * include/parrot/interp_guts.h: Small changes necessitated by
4754 changes in the names of some members of the interpreter struct.
4756 * include/parrot/interpreter.h: Include the new
4757 include/parrot/oplib.h header. Small changes to the oplib-
4760 * include/parrot/oplib.h: Define the type of the oplib init
4761 function, and the struct type for the oplib info.
4763 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4764 since not all platforms have it. For those that do, a default
4765 second argument is provided.
4767 2001-12-26 05:12 gregor
4770 Make jitarch calculation not get tripped up by extra components to
4773 2001-12-24 21:23 gregor
4775 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4776 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4777 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4778 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4779 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4780 Some more JIT work from Daniel Grunblatt.
4782 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4786 * Added JUMP(END) to place the number of bytes to the end of the
4790 * The *.jit files syntax changed.
4792 * Added jit/i386/lib.jit to place handly functions as jump that
4794 argument the address where is the opcode number to jump to.
4796 * There is a bug at some point, but I will start writing
4797 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4799 calls, which make the jit as slow as the interpreter.
4801 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4803 2001-12-24 03:46 dan
4805 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4806 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4807 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4808 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4809 Perls before 5.6.0 don't like it.
4811 2001-12-22 16:02 ajgough
4813 * t/op/stacks.t: stopped skipping tests we can run now. added
4816 2001-12-21 21:13 gregor
4818 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4819 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4820 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4821 Fixed some package name goofs.
4823 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4825 2001-12-21 19:32 gregor
4827 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4828 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4829 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4830 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4831 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4832 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4833 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4834 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4835 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4836 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4839 * Removed ops2c-prederef.pl
4841 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4843 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4844 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4845 for old functionality of ops2c-prederef.pl), and
4846 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4848 "OpTrans" == "Op Transformation"
4850 * Makefile.in modifications to call "ops2c.pl C" where it used
4851 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4852 to be "ops2c-prederef.pl".
4854 * core.ops and obscure.ops changes to syntax. Semantics are
4855 identical with previous version:
4857 return HALT --> HALT()
4858 return AUTO --> goto NEXT()
4859 return RETREL(...) --> goto OFFSET(...)
4860 return RESTART(*) --> restart NEXT()
4862 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4863 for dest-less branch ops replaced with new notation "goto
4865 which uses the new pop_dest() function in stacks.c. This also
4866 allowed these ops to become 'inline' ops, since they no longer
4867 have local variables.
4869 The 'ret' op also became simplified to just "goto POP()", and
4870 also became an inline op.
4872 * interpreter.c reflects the change in type name:
4874 prederef_op_func_t --> op_func_prederef_t
4876 that occurred in include/parrot/op.h
4878 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4881 * ops2c.pl is now generic. Its first argument is the last
4882 package name component of a subclass of Parrot::OpTrans. These
4883 subclasses all have full names of the form Parrot::OpTrans::*.
4884 An instance of the class is created and later consulted for
4885 various bits of information needed to generate the C code.
4887 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4888 contain its transformation rules.
4890 * stacks.c has a new function pop_dest() that pops a destination
4891 off the control stack. include/parrot/stacks.h has the
4894 * Parrot/Op.pm now supports the syntax generated by
4896 for the "goto POP" case.
4898 Also, the source() method now expects its second argument to be
4899 an object that ISA Parrot::OpTrans. Methods of this object are
4900 called to perform the substitutions.
4902 * Parrot/OpsFile.pm supports the change in notation mentioned
4905 * docs/intro.pod reflects these changes.
4907 * include/parrot/op.h: Renamed type prederef_op_func_t to
4908 op_func_prederef_t because it made the implementation of the
4909 shared ops2c.pl easier.
4911 2001-12-21 13:47 gregor
4913 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4914 Both test_parrot (via test_main.c) and the intepreter itself (via
4915 interpreter.c) use the JIT_CAPABLE config to decide whether to
4916 actually attempt JIT operation, or to complain.
4918 2001-12-20 23:25 gregor
4920 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4921 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4922 Changes to the format of *.ops files. An attempt to provide hints
4923 for future opfunc processing logic that wants to know if an opfunc
4924 is simple enough to JIT (e.g.) inline, or not.
4926 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4927 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4930 2001-12-20 21:28 gregor
4932 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4936 * A fix to Gregor's last Configure.pl update.
4938 * Remove the need for hardcoded "\n" at the end of the "%f"
4939 format for printing floating-point numbers.
4941 * New, improved *.jit syntax for references to registers,
4944 * Support for C() improved.
4946 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4948 2001-12-20 16:55 dan
4950 * MANIFEST: Added jit.c to the manifest.
4952 2001-12-20 15:24 simon
4955 Off-by-one error fixed.
4957 2001-12-20 14:18 simon
4959 * jit/i386/core.jit:
4960 Just a noop. It's the only machine code I know.
4962 2001-12-20 13:10 gregor
4964 * Configure.pl, Makefile.in, jit2h.pl:
4965 Attempt to fix Win32 builds.
4967 * No more empty braces in include/parrot/jit_struct.h
4971 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4975 2001-12-20 11:56 simon
4980 2001-12-20 01:57 gregor
4982 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4983 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4984 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4985 include/parrot/.cvsignore, include/parrot/interpreter.h,
4986 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4987 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4988 lib/Parrot/Jit/i386-nojit.pm:
4989 Initial JIT implementation.
4991 * Enabled with test_parrot -j. 20x speed boosts seen.
4993 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4997 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4999 2001-12-20 01:53 jgoff
5001 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5002 core.ops - Removed key operators, they should be hidden from the
5003 assembler. t/op/key.t - No need to test the nonexistent key
5006 2001-12-20 00:13 ajgough
5008 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5009 that asking for type of entry at depth causes segfault as stack is
5010 zero based, fixed cmp in core.ops to reflect this. Last test is
5011 skipped as we don't do exceptions right yet.
5013 2001-12-19 19:11 ajgough
5015 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5016 non-being was causing Irix "issues".
5018 2001-12-19 03:37 jgoff
5020 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5021 004_combined.t: Changed tests to make sure they pass with the
5022 addition of the clone operator.
5024 2001-12-18 20:06 gregor
5026 * interpreter.c, include/parrot/interp_guts.h:
5027 Performance improvements to the predereferencing code path
5028 suggested to me over lunch yesterday by my friend John Kennedy.
5029 The goal is to remove the additional test in the inner loop that
5030 was checking for NULL to decide whether or not to call the
5031 prederef() function. Also moved pc & pc_prederef syncing outside
5034 * Changed the prototype of the prederef() function in
5035 interpreter.c to match that of an opfunc.
5037 * Instead of initializing the prederef void * array with NULL,
5038 we initialize it with pointers to prederef().
5040 * prederef() now returns the prederef_pc passed in, so that
5041 after predereferencing, the same location is executed, but now
5042 with the real code being called.
5044 Thanks to: John Kennedy
5046 2001-12-18 19:59 ajgough
5048 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5049 (including some more in the skipped string -> int tests).
5051 2001-12-18 07:06 jgoff
5053 * MANIFEST: Forgot to add classes/perlarray.pmc
5055 2001-12-18 07:05 jgoff
5057 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5058 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5059 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5060 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5061 t/pmc/pmc.t: Big update... Makefile.in - Added
5062 classes/perlarray.pmc core.ops - Added new series of set() ops for
5063 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5064 Added perlarray.pmc classes/*.pmc - Added
5065 set_{integer,number,string}_index and
5066 get_{integer,number,string}_index include/parrot/pmc.h - Added new
5067 type t/op/pmc.t - Added basic array test
5069 classes/perlarray.pmc - Added
5071 2001-12-17 05:29 jgoff
5073 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5074 generator to use clone operator instead of set Px,Py
5076 2001-12-17 05:25 jgoff
5078 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5079 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5080 PMC,PMC operator. Uses the clone() vtable entries.
5082 2001-12-17 04:51 jgoff
5084 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5087 2001-12-17 04:41 jgoff
5089 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5092 2001-12-17 04:41 jgoff
5094 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5096 2001-12-17 04:39 jgoff
5098 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5099 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5102 2001-12-17 04:27 jgoff
5104 * languages/miniperl/Miniperl.pm: Latest version of the driver.
5105 Admittedly it's a little thin on true OO, but the algorithms are
5108 2001-12-17 04:24 jgoff
5110 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5111 003_generator.t, 004_combined.t: Much more comprehensive test suite
5112 for the codegen et al
5114 2001-12-17 04:22 jgoff
5116 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5117 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5120 2001-12-17 04:20 jgoff
5122 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5125 2001-12-17 04:17 jgoff
5127 * languages/miniperl/foo.mpl: Test file that'll be outdated by
5128 changes to the new compiler
5130 2001-12-17 04:11 jgoff
5132 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5135 2001-12-16 14:11 simon
5137 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5139 Fix bogus assumption that multiplying an integer by an integer
5142 2001-12-16 12:48 simon
5144 * make_vtable_ops.pl:
5147 2001-12-16 12:45 simon
5149 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5150 Expand multimethod vtable ops.
5152 2001-12-16 12:04 simon
5155 Added 'cvsclean' which doesn't zap CVS/* directories.
5157 2001-12-15 01:50 dan
5159 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5162 Thanks to grunblatt fom #parrot for the catch
5164 2001-12-15 01:39 dan
5166 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5167 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5168 languages/miniperl/Makefile.in,
5169 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5170 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5173 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5175 2001-12-14 17:39 dan
5177 * t/op/trans.t: More trans tests.
5179 Courtesy of: Simon Glover <scog@roe.ac.uk>
5181 2001-12-14 07:41 robert
5183 * make.pl: - define MAKE macro - topological sort and subgraph
5184 order - start of timestamp stuff (still badly broken)
5186 2001-12-14 06:06 jgoff
5188 * optimizer.pl: Hopefully this should do the trick..
5190 2001-12-14 06:04 jgoff
5192 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5194 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5196 The optimizer performs its work on a file post-macro expansion.
5197 Run it on a .pasm file, preferably with some trivially reducible
5199 like 'add I0,5,-6' or 'mul I0,I1,0'
5201 2001-12-14 05:48 robert
5203 * Makefile.in: case error EXE -> exe
5205 2001-12-14 05:42 robert
5207 * Makefile.in: remove legacy PDISASM macro
5209 2001-12-14 04:01 dan
5211 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5214 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5216 2001-12-13 22:03 dan
5218 * Configure.pl, Makefile.in, Parrot/Test.pm,
5219 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5220 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5221 can change it without having to change the world.
5223 2001-12-13 21:57 dan
5225 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5226 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5227 file/line/package to interp structure, with ops to get and set
5228 them. Now we can know where we are!
5230 2001-12-13 19:43 dan
5232 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5233 WinXP builds work out of the box
5235 2001-12-13 17:05 dan
5237 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5238 name again--makes case-insensitive systems much happier.
5240 2001-12-13 16:21 dan
5242 * core.ops, key.c, string.c, test_main.c, trace.c,
5243 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5246 Courtesy of: Josh Wilmes <josh@sky.net>
5248 2001-12-13 13:33 gregor
5250 * languages/jako/Makefile.in:
5251 Improved the method of calling the assembler.
5253 2001-12-13 13:30 gregor
5255 * languages/jako/Makefile.in:
5256 Improve the build process. It now works from the main parrot dir,
5257 and from the languages/jako directory. Now uses the .SUFFIXES
5258 target and generic build rules to reduce clutter in the
5261 2001-12-13 13:29 gregor
5263 * languages/jako/.cvsignore:
5264 Ignore the (now generated Makefile), and don't ignore .list files
5265 anymore, since we aren't generating them.
5267 2001-12-13 13:11 gregor
5269 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5270 languages/Makefile.in, languages/jako/Makefile,
5271 languages/jako/Makefile.in:
5272 Added a 'languages' target to the top-level Makefile.in, and
5273 modified the jako build procedure to involve Makefile.in -->
5274 Makefile too (done by Configure.pl).
5276 NOTE: languages/jako and language/scheme are built.
5277 languages/miniperl wasn't building right, so it was left off for
5280 2001-12-13 12:15 gregor
5283 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5286 2001-12-13 12:12 gregor
5288 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5289 ops2c-prederef.pl, ops2c.pl, test_main.c,
5290 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5291 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5292 Welcome to the Just-in-Time Predereferencing Patch!
5294 This patch implements a "predereferencing" mode for parrot. That
5295 means that a lot of the dereferencing you see in DO_OP and in the
5296 opfuncs is done up front (really, JIT) rather than as and each time
5297 we execute each op in the byte code stream.
5299 This works by creating an array of void pointers with the same
5300 number of elements as the byte code array. This array starts out
5301 life zero-initialized. Each time we go to execute an op, we check
5302 first to see if we have a NULL pointer at *cur_opcode. If so, we
5303 know we haven't done our predereferencing yet (this is the JIT
5304 part), so we call the prederef() function with sufficient args that
5305 it can go look up opfunc pointers and op arg types and put the
5306 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5307 where N is the number of args (counting the op itself as one arg).
5309 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5310 to have inline INTVAL constants.
5312 I've been getting about a 22% speed increase over vanilla code path
5313 when I compile with -O0. Advantage decreases at -O9 here. I tested
5314 with mops.pbc, and also by temporarily putting the -P flag in
5315 Parrot/Test.pm and running all the tests. So, this code is as
5316 correct as the test suite can detect.
5318 Here's how it plays out in the code:
5320 * New script ops2c-prederef.pl
5322 Copy-paste code reuse from ops2c.pl. Modified to expect the
5324 a void ** cur_opcode and to return a void **.
5328 * opfuncs are now static. Who needs to call them by name from
5330 anyway? They are accessed via the opfunc table.
5332 * Some MACRO stuff to make things work whether we prederef or
5334 may be possible to get rid of these some day if other folks
5336 that we should be using CODE object pointers + offsets as
5338 rather than raw pointers to either opcode_t's or (void *)'s
5339 (depending on prederef mode or no).
5341 * core.ops modified to be usable to build both kinds of opfuncs.
5345 * calls to push_generic_entry(... cur_opcode ...) were
5347 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5349 macro that does the right thing in both kinds of ops.c
5352 This is applicable to the bsr op. If we treated
5354 (Code PMC + local offset) rather than as
5355 pointer-to-memory-somewhere,
5356 this wouldn't be a big deal. We may need to do that at some
5358 anyway, so that when you jump around and return not only do
5360 the right PC (pointer, today), but you also have the
5362 knowing what chunk of bytecode it is in at all times
5364 allow reflection, as in ops that query or affect the
5367 * runinterp was modified. Instead of copying the top-level
5369 and blasting its byte_code pointer, we simply call runops
5371 interp, passing in the pointer to the current interp's code
5373 offset into that code at which to start (this last arg used
5375 pointer PC, now its an offset PC).
5377 * include/parrot/op.h
5379 * new typedef for prederef opfuncs (they return void **)
5381 * include/parrot/interp_guts.h
5383 * New DO_OP_PREDEREF() macro described above.
5385 * include/parrot/interpreter.h
5387 * New prototype of runops() -- see below.
5389 * resume_addr field changed to resume_flag and resume_offset
5391 We might be resuming from interp using prederef to one not
5393 so pointers between the two don't play nice together.
5394 Offsets are beautiful.
5396 * New PARROT_PREDEREF_FLAG constant
5400 * include "parrot/oplib/core_ops_prederef.h"
5402 * prederef() function described above.
5404 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5407 * runops() modified to take size_t CODE-relative offset PC
5409 pointer PC. This made other things workable and doesn't
5411 anything important (IMO).
5415 * New flag '-P' to enable predereferencing.
5417 * Makefile modified to build core_ops_prederef.c from core.ops
5421 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5423 Added core_ops_prederef$(O) to O_FILES
5425 2001-12-13 12:12 gregor
5427 * languages/jako/MAINTAINER:
5428 Thought it would be nice to put this right in the code...
5430 2001-12-13 04:36 jgoff
5432 * languages/miniperl/Miniperl/Generator.pm: Commented out
5433 debugging, fixed register spillover algorithm
5435 2001-12-13 04:23 jgoff
5437 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5438 line) Restructured a bit of the dependency generator to fix a
5441 2001-12-13 03:43 robert
5443 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5445 2001-12-13 03:03 jgoff
5447 * make.pl: Added make.pl
5449 2001-12-13 02:44 jgoff
5451 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5452 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5453 special flags... - Dies on undefined macros
5454 such as $(PDISASM) in current make - Dies on
5455 recursive macro expansions (Doesn't test for
5456 mutual or multipart loops) - In general it
5457 seems to be a little less lenient... Missing bits - File
5458 mod/creation times aren't being looked at - Actions
5459 aren't being taken - The few funky variables ($@, $<)
5460 aren't being dealt with Bugs - Line numbers are slipping a bit.
5462 2001-12-13 02:29 jgoff
5464 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5465 Reconstructing files to make the parser flow a little better.
5467 2001-12-13 00:51 dan
5469 * resources.c: Be a bit less wasteful with resources that don't
5472 2001-12-12 18:22 dan
5474 * Makefile.in: D'oh! Fixed looping makefile bug.
5476 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5478 2001-12-12 16:23 jgoff
5480 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5482 2001-12-12 16:22 jgoff
5484 * MANIFEST: Manifest additions for languages/miniperl
5486 2001-12-12 16:19 jgoff
5488 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5489 tests. These are left over from the Scheme suite and shouldn't be
5492 2001-12-12 16:18 jgoff
5494 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5495 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5496 modules. Miniperl/ is where the real work gets done. t/ is largely
5497 vacant because it isn't ready to survive real tests yet.
5499 2001-12-12 16:17 jgoff
5501 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5502 mpc: Final go-round, hopefully.
5504 languages/miniperl/Makefile - Used basically to run tests, as there
5505 is nothing here that needs to be
5506 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5507 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5508 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5511 2001-12-12 16:09 dan
5513 * Configure.pl: Setting a variable with the make command name is
5516 2001-12-12 15:07 simon
5518 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5519 Recursive make considered "ow, don't do that".
5521 2001-12-12 14:45 dan
5523 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5524 non-portable code) Killing builds on Win32 native. Small patch
5525 applied which hopefully fixes it.
5527 2001-12-12 06:12 ajgough
5529 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5531 2001-12-12 06:08 ajgough
5533 * Makefile.in: perl is $(PERL).
5535 2001-12-12 06:00 ajgough
5537 * t/op/integer.t: Added tests to integer.t so that all permutations
5538 of arguments are actually called at some point.
5540 2001-12-12 05:18 ajgough
5542 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5543 Tests for sleep i|ic
5545 2001-12-12 05:09 ajgough
5547 * t/op/stacks.t: Added pushp and popp register stack tests.
5549 2001-12-12 04:51 ajgough
5551 * t/op/stacks.t: Added tests for save and restore, for all register
5552 types. Let there be Haiku.
5554 2001-12-12 04:27 ajgough
5556 * t/op/basic.t: bsr_i test. You know you want it.
5558 2001-12-12 02:55 ajgough
5560 * MANIFEST: Added hints/os2.pl to MANIFEST.
5562 2001-12-12 02:52 jgoff
5564 * core.ops, key.c: Final checkin... These are actually the correct
5567 2001-12-12 02:12 jgoff
5569 * include/parrot/key.h: key.c - Removed a few functions,
5570 generalized set_element_value and element_value to accept
5571 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5572 core.ops - Modified to accept the new return style.
5574 This is a prelude to adding virtual-table methods to allow hashing
5575 &c. Expect at least one or two more redesigns before this settles
5576 down. However, it still passes the original tests.
5578 2001-12-11 13:35 gregor
5583 2001-12-11 12:03 gregor
5586 Don't ignore test_prog, but do ignore parrot.
5588 2001-12-11 12:03 gregor
5590 * classes/.cvsignore:
5591 Ignore the generated file default.h
5593 2001-12-11 04:07 jgoff
5597 2001-12-11 04:05 jgoff
5599 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5601 2001-12-11 04:00 jgoff
5603 * core.ops: Added new key aggregate operations to core ops.
5605 2001-12-11 04:00 jgoff
5607 * include/parrot/parrot.h: Added key.h to header list
5609 2001-12-11 03:59 jgoff
5611 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5613 2001-12-11 03:58 jgoff
5615 * Makefile.in: Added implementation of key aggregates.
5617 2001-12-08 23:07 simon
5622 2001-12-08 23:05 simon
5624 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5625 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5626 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5627 test_prog? What is test_prog?
5629 2001-12-08 22:57 simon
5633 Oops, the changelog commit was on *this* machine.
5635 2001-12-08 22:56 simon
5638 Updates to NEWS and ChangeLog pre-release.
5640 2001-12-08 22:07 simon
5642 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5643 classes/perlnum.pmc, classes/pmc2c.pl:
5644 Add "default" PMC vtable so you can inherit implied stuff.
5646 2001-12-08 21:24 simon
5648 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5649 docs/vtables.pod, lib/Parrot/PackFile.pm:
5650 Getting the documentation up to scratch.
5652 2001-12-08 21:21 simon
5655 Allow inheriting from default class.
5657 2001-12-07 20:43 gregor
5659 * examples/assembly/queens.pasm:
5660 Regenerated the file with the latest jakoc.
5662 2001-12-07 20:29 simon
5664 * core.ops, t/op/stacks.t:
5665 Rename "rotate" to "rotate_up".
5667 2001-12-07 20:15 simon
5670 Some tests for rotate.
5672 2001-12-07 00:55 gregor
5675 Cast the result of the pointer arithmetic, since without the cast
5676 there are warnings with some compilers, and without the parens
5677 around the pointer arithmetic, precedence breaks the meaning and
5680 2001-12-06 23:37 simon
5683 Temporary. I prefer compiler warnings to segfaults, thanks.
5685 2001-12-06 23:34 simon
5688 Make "trace" work again.
5690 2001-12-06 21:23 dan
5692 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5694 2001-12-06 21:22 dan
5696 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5697 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5699 2001-12-06 19:22 simon
5702 Yet another "How the *%$! did that compile?" moment.
5704 2001-12-06 18:28 dan
5706 * hints/vms.pl: Fix to build, with a HERE logical required
5708 2001-12-06 17:48 dan
5710 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5711 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5712 changes to the interpreter--flags are now part of the interp
5715 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5717 2001-12-06 14:02 gregor
5720 s/little_languages/languages/ in Jako section.
5722 2001-12-06 13:15 simon
5725 Ensure the documentation gets made.
5727 2001-12-06 13:12 simon
5729 * MANIFEST, docs/intro.pod:
5730 Documentation! Added the "Some Assembly Required" article with
5733 2001-12-06 00:39 simon
5738 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5740 2001-12-06 00:37 simon
5743 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5745 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5747 2001-12-06 00:11 tom
5749 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5750 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5751 include/parrot/chartype.h, include/parrot/encoding.h,
5752 include/parrot/parrot.h: Moved string to number conversion code out
5753 of the encoding layer and into the main string layer as neither the
5754 encoding layer nor the character type layer knows enough on it's
5755 own to do the conversion correctly.
5757 2001-12-05 23:12 tom
5759 * Makefile.in: Rebuild the classes directory if any of the object
5760 files for the classes are missing rather than only when perlint.o
5763 2001-12-05 19:43 gregor
5765 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5766 * Reworked the constantize_string() stuff a little bit because it
5768 puking on things like "\033[H\033[2J\0" (which occurs in the
5769 languages/jako/mandelzoom.jako example).
5771 2001-12-05 19:39 gregor
5773 * languages/jako/: Makefile, mandelzoom.jako:
5774 Added 'mandelzoom' example.
5776 2001-12-05 19:38 gregor
5778 * languages/jako/jakoc:
5781 * Changed some instances of die() to confess()
5783 2001-12-05 18:34 gregor
5785 * t/: op/pmc.t, pmc/pmc.t:
5786 s/sting->int/string->int/
5788 2001-12-05 18:08 gregor
5790 * Parrot/.cvsignore:
5793 2001-12-05 18:05 gregor
5795 * classes/.cvsignore:
5796 Ignore the generated files.
5798 2001-12-05 17:19 gregor
5801 * Reverted recent changes, since they broke the script. Real fix
5805 2001-12-05 17:03 simon
5807 * classes/Makefile.in:
5808 Remember: change Makefile.in, not Makefile. D'oh.
5810 2001-12-05 17:02 simon
5813 Ensure PMC.pm gets remade.
5815 2001-12-05 16:58 simon
5817 * MANIFEST, Makefile.in, classes/Makefile.in,
5818 classes/perlundef.pmc, include/parrot/pmc.h:
5819 Add perlundef class.
5821 2001-12-05 16:45 simon
5824 Document "new P0, foo"
5826 2001-12-05 16:43 simon
5828 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5829 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5830 Allow assembler to know about PMC class names.
5832 2001-12-04 13:39 ajgough
5834 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5836 2001-12-04 05:02 ajgough
5838 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5841 2001-12-04 04:24 ajgough
5843 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5844 broken form of strtod and appropriate tests. Does not yet check
5847 2001-12-04 01:31 ajgough
5849 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5850 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5851 to extract_num and extract_int string vtables, without this it
5852 would be impossible to have strings with nulls in while still
5853 knowing where they ended.
5855 2001-12-03 18:40 ajgough
5857 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5858 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5859 include/parrot/string.h: Moved pmc string to number conversion into
5860 the string encoding tables.
5862 2001-12-03 00:21 ajgough
5864 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5867 2001-12-02 23:09 jgoff
5869 * classes/Makefile.in: Removed some redundant targets.
5871 2001-12-02 19:02 ajgough
5873 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5874 equality macro rather than using perl to generate expected output,
5875 all tests now have <<OUTPUT.
5877 2001-12-02 17:44 ajgough
5879 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5880 for pmc.t as well. Will probably move macros into another file at
5881 some point, although this might be best left until the tests are
5884 2001-12-02 06:16 jgoff
5886 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5887 within Parrot_Perl{Class}_init.
5889 2001-12-02 06:09 jgoff
5891 * classes/Makefile.in: I seem to have removed *$(O) twice..
5893 2001-12-02 05:06 jgoff
5895 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5896 Configure.pl - Removed '-I./include', added classes/Makefile
5897 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5898 Removed old classes/* make stuff Added target for
5901 2001-12-02 04:48 jgoff
5903 * classes/Makefile.in: Going to be used shortly...
5905 2001-12-02 04:40 jgoff
5907 * docs/Makefile: Configure.pl - Added automatic makefile creation
5908 for docs/ and classes/ Removed '-I./include' because
5909 it was getting incorrectly passed to classes/
5910 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5911 - Removed classes/ build stuff, replaced with classes/Makefile.in
5912 Added '-I./include' locally docs/Makefile - Should no
5913 longer be used, but I'm not brave enough to do a
5916 2001-12-02 01:21 ajgough
5918 * t/op/trans.t: Refactored trans math tests to have hard coded
5919 expected return values and be more ready to be unperled at some
5920 point in the future. Added $fp_equality_macro which is a
5921 "nearly-equal-to" function.
5923 2001-12-02 01:18 ajgough
5925 * Makefile.in: Humph. People really ought to use Makefile
5926 variables, s/perl/$(PERL)/ throughout.
5928 2001-12-01 18:15 jgoff
5930 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5931 figure out what to do vis-a-vis the lack of snprintf.
5933 2001-11-30 13:14 ajgough
5935 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5938 2001-11-30 13:14 ajgough
5940 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5943 2001-11-30 10:36 simon
5946 Rewrite print_p to do the right thing.
5948 2001-11-30 06:21 jgoff
5950 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5951 concat, integer/number/string math
5953 2001-11-30 06:20 jgoff
5955 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5956 classes/perlint.pmc - Fixes and expanding for concat and math with
5957 strings classes/perlnum.pmc - Fixes and expanding for concat and
5958 math with strings classes/perlstring.pmc - Fixes and expanding for
5959 concat and math with strings
5961 2001-11-29 15:21 ajgough
5963 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5964 $^X lies, which confused bash which make uses to run things when
5967 2001-11-29 04:58 jgoff
5969 * classes/perlstring.pmc: Removed C++-style comments for good
5972 2001-11-29 04:51 jgoff
5974 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5976 2001-11-29 04:28 jgoff
5978 * global_setup.c: Initialize PMC strings
5980 2001-11-29 04:25 jgoff
5982 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5985 2001-11-29 04:24 jgoff
5987 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5988 files to properly upgrade int to num, do calculations. Also added
5989 basic string operations. Currently errors out on anything but set
5990 operations, but this will be fixed soon.
5992 2001-11-29 04:22 jgoff
5994 * Makefile.in: PMC .c files weren't getting cleaned out.
5996 2001-11-28 17:00 simon
6000 Make csh-glob happy.
6002 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6004 2001-11-28 16:40 simon
6006 * classes/perlnum.pmc:
6010 2001-11-28 15:22 simon
6014 Fixes Alex's string concat worry.
6016 2001-11-28 14:27 ajgough
6018 * t/op/string.t: test "null onto null" incorrectly passing as it
6019 produced no output. Output provided.
6021 2001-11-28 11:14 simon
6023 * include/parrot/pmc.h:
6027 2001-11-26 21:03 dan
6029 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6031 2001-11-26 17:29 simon
6033 * classes/perlint.pmc:
6035 Various subtle but non-showstopper bugs.
6037 2001-11-26 11:23 simon
6041 Replace dependency on Text::Balanced
6043 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6045 2001-11-26 05:22 jgoff
6047 * global_setup.c: Last file that should need to be committed. I
6050 2001-11-26 05:09 jgoff
6052 * core.ops: Let's try this again... Changes to core.ops required
6054 2001-11-26 04:58 jgoff
6056 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6057 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6058 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6059 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6060 functions classes/perlnum.pmc - Set up basic number functions
6061 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6062 tests against numbers and numbers+integers
6064 2001-11-25 13:18 simon
6067 Windows XP make doesn't like $<
6069 2001-11-25 12:56 simon
6071 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6072 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6073 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6074 examples/assembly/mops_p.pasm:
6077 Courtesy of: Angel Faus <afaus@corp.vlex.com>
6079 I (Simon) also added a couple more integer methods, but no tests
6080 since I'm a Bad Person.
6082 2001-11-25 08:40 brentdax
6084 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6085 lib/Parrot/OpsFile.pm: Allow _ in op names
6087 2001-11-25 05:54 jgoff
6089 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6090 Added basic math ops t/op/pmc.t - Added tests of basic math ops
6092 2001-11-23 18:27 simon
6094 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6095 Add everything you need to make MOPS use PMCs.
6097 2001-11-23 18:06 simon
6100 Eh, you'll need this for rewriting mops.pasm.
6102 2001-11-23 17:55 simon
6104 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6106 More work on integer PMCs.
6108 2001-11-23 17:29 simon
6111 Surprise! Whitespace! HLAGHLAGHLAGH
6113 2001-11-23 17:28 simon
6115 * Makefile.in, ops2c.pl, ops2pm.pl:
6116 Add vtables.ops to the core
6118 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6120 2001-11-22 18:39 simon
6122 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6124 We can now create PMCs.
6126 2001-11-21 05:49 jgoff
6128 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6130 2001-11-20 16:00 simon
6132 * docs/vtables.pod, include/parrot/pmc.h:
6133 Reorder PMC flags so there's a fixed number of user-defined flags.
6135 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6137 2001-11-19 03:39 jgoff
6139 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6140 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6141 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6142 escaped quotes, and proper handling of newlines.
6144 2001-11-16 22:03 simon
6146 * classes/perlint.c:
6147 More work on the Perl Integer class. More needed, though.
6149 2001-11-16 21:57 simon
6151 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6152 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6154 2001-11-16 20:49 simon
6156 * interpreter.c, runops_cores.c, trace.c,
6157 include/parrot/runops_cores.h:
6158 Kill superfluous runops cores.
6160 2001-11-16 17:50 simon
6162 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6163 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6164 include/parrot/parrot.h, include/parrot/pmc.h:
6165 Skeleton for Perl scalar types, done right.
6167 2001-11-16 16:15 simon
6169 * classes/genclass.pl:
6170 This tidies up genclass to deal with the new-style multimethods.
6172 2001-11-16 15:29 simon
6174 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6175 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6176 Rework multimethods to be *true* multimethods - that is, have
6179 2001-11-15 22:29 simon
6181 * MANIFEST, Makefile.in, pmc.c:
6182 pmc.c linkage and support. Oh, and making it compile.
6184 2001-11-15 22:26 dan
6186 * t/op/interp.t: Forgot to tell CVS about the test...
6188 2001-11-15 22:10 dan
6190 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6191 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6192 for PMC registers for the interpreter.
6194 Added in the docs for the runinterp opcode.
6196 Added in code for both the newinterp and runinterp opcodes, so we
6197 can now create new interpreters from within parrot and have them do
6198 things. (Though we can't pass data back and forth. Yet)
6200 2001-11-15 21:24 simon
6202 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6203 More documentation, and other changes as discussed with Dan.
6205 2001-11-15 19:51 simon
6207 * classes/scalarclass.c:
6210 2001-11-15 19:50 simon
6212 * classes/scalarclass.c:
6213 A little code tidiness.
6215 2001-11-15 19:33 simon
6217 * include/parrot/pmc.h:
6218 Missed this in the previous commit - un-constantize the base for
6219 user-defined PMC flags.
6221 2001-11-15 19:28 simon
6223 * classes/scalarclass.c:
6226 2001-11-15 17:09 simon
6228 * classes/scalarclass.c:
6229 It seems I have completely forgotten how to write C.
6231 2001-11-15 16:53 simon
6234 Start of the PMC classes documentation.
6236 2001-11-15 14:46 simon
6238 * classes/scalarclass.c:
6239 Changing to use a Perl-style struct instead of the union cache.
6241 2001-11-13 23:56 tom
6243 * string.c: Removed leading _ from string_index as function names
6244 starting with _ are reserved to implementors by the C standard.
6246 Also fixed string_index to use the encoding routines instead of
6247 assuming a single byte encoding.
6249 2001-11-13 12:59 jgoff
6251 * string.c: Patched string_concat to accept null strings. That
6252 test was failing. Nothing to do with ord().
6254 2001-11-13 12:43 jgoff
6256 * string.c: string_ord function, string_concat fixes
6258 2001-11-13 04:52 jgoff
6260 * core.ops: Added ord to core.ops
6262 2001-11-13 04:35 jgoff
6264 * docs/strings.pod, include/parrot/exceptions.h,
6265 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6266 operator, documentation string.c - Added string_ord, _string_index
6267 (_string_index is a static helper) Patched
6268 string_concat to handle null strings properly. docs/strings.pod -
6269 Description of string_ord include/parrot/exceptions.h - Added
6270 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6271 string_ord() t/op/string.t - Added full set of test for
6272 ord_i_(s|sc)(_(i|ic))?
6274 string.c contains a bit of documentation explaining the logic
6275 behind _string_index, primarily having to do with multiple encoding
6278 2001-11-12 22:30 simon
6283 2001-11-12 22:28 simon
6286 Add a rule to compile "platform"
6288 2001-11-12 22:26 simon
6291 Tidy up distclean target.
6293 2001-11-12 16:54 dan
6295 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6296 t/op/macro.t: Fixes to the assembler's macro facility and a test
6298 Courtesy of: Jeff <jgoff@speakeasy.net>
6300 2001-11-12 16:50 dan
6302 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6305 Courtesy of: Jeff <jgoff@speakeasy.net>
6307 2001-11-12 16:36 dan
6309 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6312 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6314 2001-11-12 11:22 simon
6316 * examples/assembly/mops.pasm:
6318 Trivial tightening of mops loop.
6320 2001-11-07 23:57 ajgough
6322 * docs/tests.pod: This is a basic quide to writing tests with
6325 2001-11-07 22:29 dan
6327 * stacks.c: Added a little documentation on the cleanup parameter
6330 2001-11-07 14:43 dan
6332 * MANIFEST, platforms/generic.c, platforms/linux.c,
6333 platforms/linux.h: Portability patches.
6335 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6337 2001-11-06 19:51 tom
6339 * Makefile.in: Clean up object files in the subdirectories as well
6340 as those in the top level directory.
6342 Enhanced version of patch from Daniel Grunblatt
6343 <daniel@grunblatt.com.ar>
6345 2001-11-06 16:14 dan
6347 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6348 platforms/generic.c, platforms/generic.h: Made things a bit more
6349 platform-independent. Makefile still needs work to pick up changes
6350 to the platform-specific files.
6352 2001-11-05 21:32 dan
6354 * docs/parrot_assembly.pod: Added docs for the GC control ops
6356 2001-11-04 02:52 gregor
6358 * platforms/: win32.c, win32.h:
6359 * win32 dynamic loading functions.
6361 Courtesy of Jason Diamond <jason@injektilo.org>
6363 2001-11-04 00:04 brentdax
6365 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6366 allows an absolute path to be used and gives a useful error message
6367 if the original source file can't be found
6369 2001-11-02 12:37 gregor
6371 * platforms/: linux.c, linux.h:
6372 * Beginning of dynamic loading support. Linux only for now.
6374 2001-11-02 12:13 gregor
6376 * MANIFEST, time.c, include/parrot/time.h:
6377 * Removed time.[hc], since they have been superseded by the new
6381 2001-11-02 12:11 gregor
6383 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6384 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6385 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6386 platforms/win32.c, platforms/win32.h:
6387 Patch from Jason Diamond to make win32 platform stuff work:
6389 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6390 platform specific files in the platforms directory gets copied to
6391 the correct directories. The Makefile will re-copy the platform.h
6392 and .c files if the original is modified.
6394 * #include platform.h in parrot.h instead of time.h.
6396 * Removed time.h and time.obj from the Makefile. time.h and time.c
6397 aren't being used anymore since that code was moved to linux.c and
6400 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6401 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6402 windows.h. This required updating several files besides parrot.h.
6404 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6405 instead of the missing identifiers (on Windows) in core.ops in the
6408 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6409 platform files and called those from core.ops. The Linux code for
6410 these functions came from core.ops so they should hopefully work.
6412 Courtesy of Jason Diamond <jason@injektilo.org>
6414 2001-11-02 06:43 brentdax
6416 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6417 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6419 2001-11-02 02:26 gregor
6421 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6422 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6424 * Beginnings of platform support files in platform/*.[hc]
6426 2001-11-01 23:37 tom
6428 * classes/intclass.c: Added missing *'s to STRING arguments and
6429 return values to avoid compiler warnings.
6431 2001-11-01 22:21 gregor
6433 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6434 include/parrot/parrot.h, include/parrot/time.h:
6435 Initial "fix" of time(n) op for Win32:
6437 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6439 * time.c and include/parrot/time.h
6441 First attempt at getting this working across platforms. The
6442 macro WIN32 being tested might not be right.
6444 * New functions Parrot_intval_time() and Parrot_floatval_time()
6445 wrap the appropriate functionality depending upon platform.
6446 Changed core.ops to call these.
6448 Added obscure.ops with obscure transcendental ops.
6450 Added simple file I/O ops (close, open, read, write):
6452 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6454 * I changed some arg ordering stuff.
6456 * I added read/write of INTVALs and FLOATVALs.
6458 Added environment variable ops (getenv, setenv)
6460 Added system error ops (err(i) and err(s) for accessing errno and
6463 Moved print ops in with other "temporary" developer ops, since
6464 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6466 2001-10-31 22:51 tom
6468 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6469 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6470 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6471 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6472 encodings/utf8.c, include/parrot/chartype.h,
6473 include/parrot/encoding.h, include/parrot/exceptions.h,
6474 include/parrot/parrot.h, include/parrot/string.h,
6475 include/parrot/strnative.h, include/parrot/strutf16.h,
6476 include/parrot/strutf32.h, include/parrot/strutf8.h,
6477 include/parrot/transcode.h: Reworked the string code in line with
6478 Dan's latest design that separates character sets from encodings.
6480 2001-10-31 19:53 dan
6482 * docs/parrot_assembly.pod: Finished I/O section of docs
6484 2001-10-31 16:51 dan
6486 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6487 Moved includes out of core.ops and into parrot.h where they belong
6488 (suitably guarded with #ifdefs). Also some updates to
6491 2001-10-30 21:43 dan
6493 * core.ops, stacks.c, docs/parrot_assembly.pod,
6494 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6495 of the entry on the stack
6497 2001-10-29 18:30 dan
6499 * stacks.c: You can turn off stack entry type validation on pop by
6500 passing in a type of 0 now. (For those cases where you just want to
6501 throw the darned thing away)
6503 2001-10-29 14:37 gregor
6505 * core.ops, languages/jako/jakoc:
6506 * New variants of the save ops to save constants on the stack.
6508 useful for saving zero arg and result counts on the stack, for
6511 * Modified jakoc to to adapt to the newly announced calling
6513 Even though Jako source code appears to show subroutines with
6515 numbers of arguments and results, they are implemented with the
6516 variable count calling convention. Future modifications will be
6518 to ensure that an exception is raised if the stack frame is of
6520 wrong size (or, at least that we pop the complete frame off).
6522 also have to make more changes to support the true
6524 and fixed-result-count parts of the calling convention spec.
6526 2001-10-28 16:53 simon
6528 * MANIFEST, stacks.c, classes/scalarclass.c,
6529 include/parrot/stacks.h:
6530 Unbelievably bad errors of mine, plus a type incompatibility of
6533 2001-10-28 08:30 simon
6535 * classes/scalarclass.c:
6536 Beginning of a scalar class.
6538 2001-10-28 08:29 simon
6540 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6541 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6542 include/parrot/pmc.h:
6543 This fixes the problem with vtables and pointer arithmetic.
6545 2001-10-26 19:58 dan
6547 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6548 include/parrot/stacks.h: Split the generic stack into a user push
6549 stack and a control stack
6551 2001-10-26 02:59 bdwheele
6553 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6555 2001-10-24 20:27 dan
6557 * languages/scheme/: Makefile, Scheme.pm, schemec,
6558 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6559 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6560 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6563 2001-10-24 20:23 dan
6565 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6566 interpreter needs in pdump.c. Added scheme bits to manifest
6568 2001-10-24 16:43 gregor
6570 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6571 * Make the assembler handle octal character code escapes in
6575 2001-10-24 15:56 dan
6577 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6578 play the game of life
6580 2001-10-24 15:54 dan
6582 * core.ops: Added sleep. We'll need to override this to do events
6583 properly anyway, so...
6585 2001-10-24 14:03 gregor
6587 * Makefile.in, pbc2c.pl, pdump.c:
6588 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6590 pointer into string functions.
6592 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6594 2001-10-23 20:09 gregor
6596 * languages/jako/jakoc:
6597 * Terminological refinement in regexp capture comment.
6599 2001-10-23 15:23 simon
6601 * classes/genclass.pl:
6602 Use a saner ANSI C construct to make MIPSPro happy.
6604 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6606 2001-10-23 00:34 tom
6608 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6609 strutf8.c, include/parrot/string.h: Make sure the interpreter
6610 structure is passed to the transcoder as necessary, including
6611 passing it to string_compare().
6613 2001-10-23 00:32 tom
6615 * Makefile.in: Make pdump build again by including resources.o in
6618 2001-10-22 22:43 dan
6620 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6621 strutf32.c, strutf8.c, test_main.c, transcode.c,
6622 include/parrot/packfile.h, include/parrot/parrot.h,
6623 include/parrot/resources.h, include/parrot/string.h,
6624 include/parrot/transcode.h: Everything now uses the allocators and
6625 deallocators in resources.c.
6627 Unfortunately we lost standalone string-test mode, but I can cope
6630 Please note that until we have a real allocation/deallocation/GC
6631 system, this'll leak. A *lot*.
6633 2001-10-22 20:27 dan
6635 * MANIFEST, Makefile.in, pmc.c, resources.c,
6636 include/parrot/resources.h: First cut to handle arena allocation of
6637 PMC headers. (Amongst other things)
6639 2001-10-22 19:02 dan
6641 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6642 Now each register type has its own mask macro, which is the right
6645 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6647 2001-10-21 23:40 tom
6649 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6650 stack chunk and add a test to test this rollover in future.
6652 Courtesy of Jason Gloudon <perl@gloudon.com>.
6654 2001-10-21 19:14 dan
6656 * include/parrot/string.h: Changed string 'unused' field to the
6659 2001-10-21 18:18 gregor
6661 * languages/jako/: Makefile, mops.jako:
6662 * Makefile: 'clean' target removes .list files, too. And, it does
6664 with wildcards rather than listing things explicitly.
6666 * mops.jako actually prints out the
6667 millions-of-operations-per-second
6668 (mops) value instead of just the operations-per-second value.
6670 2001-10-21 18:03 simon
6672 * classes/intclass.o:
6675 2001-10-21 17:47 simon
6677 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6678 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6679 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6680 lib/Parrot/Vtable.pm:
6681 Initial work on PMCs. Explanation to follow
6683 2001-10-21 15:20 gregor
6685 * examples/assembly/queens.pasm:
6686 * Modernize the calling conventions in queens.pasm. It was using
6688 which now must be rotate. Also, changed to use return values on
6690 stack instead of in I0.
6692 2001-10-19 18:14 gregor
6694 * core.ops, stacks.c, include/parrot/stacks.h,
6695 languages/jako/jakoc:
6696 Per Dan's request, replacing 'swap' op by 'rotate'.
6698 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6700 * stacks.c and stacks.h: Removed swap-related functions from my
6701 prior commit, replacing them with stack_depth(), stack_entry()
6702 and rotate_entries().
6704 NOTE: The stack_depth() and rotate_entries() routines could
6705 be made more efficient through the caching of the sum of chunk
6706 'used' members from lower chunks in a field in the upper
6707 chunks. Also, if the interpreter's stack_base was changed to
6708 hold the pointer to the *top* chunk (since we usually come
6709 at the stack from the top down) instead of the *bottom*
6710 chunk. The code here at least works, and we can decide about
6711 bigger changes separately.
6713 For now, rotate only handles rotates in one direction and
6714 of magnituded one. A fully general rotate would do handle
6715 rotates in both directions and of arbitrary amounts. Again,
6716 this implementation is sufficient for current applications,
6717 and a feature-complete version can be developed if this turns
6718 out to be otherwise the right type of implementation.
6720 This change includes a new exception for ERROR_STACK_SHALLOW,
6721 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6723 * jakoc: Changed the calling convention to use rotate instead
6724 of swap (of course). Also changed the convention for return
6725 value passing to use the stack as well.
6727 2001-10-19 13:36 gregor
6729 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6730 examples/assembly/queens.pasm, include/parrot/stacks.h,
6731 languages/jako/.cvsignore, languages/jako/Makefile,
6732 languages/jako/bench.jako, languages/jako/euclid.jako,
6733 languages/jako/fact.jako, languages/jako/jakoc,
6734 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6735 languages/jako/primes.jako, languages/jako/queens.jako,
6736 languages/jako/sub.jako:
6737 * New stack functions push_entry(), pop_entry() and swap_entry().
6738 The first two exist for the support of the last one. These
6739 functions don't care what is in the stack entries. These exist
6740 to support the new 'swap' op (see next bullet).
6742 * New op 'swap' for swapping the top two elements on the stack.
6743 This is necessary for passing arguments to functions, since
6744 the return address will be on top of any arguments that have
6745 been pushed on the stack. This way, you can use a (swap, pop)
6746 pair to retrieve each argument (for subroutine linkage).
6748 * Disassembler now prints numbers in decimal by default, with
6749 a new '-x' flag to turn on hexadecimal display. Since other
6750 members of the Parrot Tool Set use decimal by default, this
6751 makes it easier to compare output from the various tools.
6753 * Jako compiler has more explanatory comments and the following
6756 * Lexically scoped variables.
6758 * Subroutines that take arguments and return values:
6760 sub int foo(int bar) {
6767 * ... if (...) and ... unless (...) statement modifiers
6768 can be used on next, last and redo.
6770 * Bitwise and (&, &=) and or (|, |=) ops.
6772 * Type names are just 'int', 'num', 'str', and 'poly' now.
6773 The old long names 'integer', 'number', 'string', and
6774 'polytype' are no longer valid.
6776 * Integer variable assignments can now use 0b (binary),
6777 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6779 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6780 solving the eight-queens problem. The assembly example is a
6781 hand-modified version of the assembly code produced by the
6782 Jako compiler from queens.jako. A few unnecessary ops have
6783 been removed, lots of unnecessary labels have been removed,
6784 and all the Jako source code comments have been removed.
6786 * Makefile and .cvsignore in languages/jako modified so that
6787 the assembler produces listings when assembling the programs,
6788 yet the *.list files are ignored by CVS.
6790 * Made the default target in languages/jako/Makefile 'all'.
6792 * Modified some of the Jako examples to use some of the new
6793 features of Jako, such as subroutines and lexical variable
6796 2001-10-19 02:43 gregor
6798 * runops_cores.c, include/parrot/runops_cores.h:
6799 Bug fix (gcc doesn't complain, but MIPSpro does):
6801 * Added missing extern to runops_cores array declaration in
6802 include/parrot/runops_cores.h
6804 * Also added 'const' there and in runops_cores.c
6806 2001-10-18 15:18 gregor
6808 * .cvsignore, include/parrot/oplib/.cvsignore:
6809 * Ignore the vtable-related generated files.
6811 2001-10-18 15:14 gregor
6814 * left and right shifts now allow the 2nd argument to be a
6817 2001-10-18 14:55 simon
6819 * make_vtable_ops.pl:
6820 This is C, not Perl. How on earth did that even compile?
6822 2001-10-18 14:54 simon
6824 * make_vtable_ops.pl:
6827 2001-10-18 12:33 simon
6829 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6830 Initial stab at vtable opcode creation stuff.
6832 2001-10-18 02:15 gregor
6834 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6835 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6836 include/parrot/trace.h: Preparation for autogenerated runops cores:
6838 * Split tracing and runops core stuff out of interpreter.c into
6839 trace.c and runops_cores.c
6841 * Similar split of stuff from include/parrot/interpreter.h
6843 * Manifest and Makefile.in updates to make things still compile.
6845 2001-10-18 01:21 gregor
6847 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6849 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6851 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6853 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6855 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6857 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6859 copy of $ops->preamble.
6861 2001-10-17 22:32 bdwheele
6863 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6866 2001-10-17 22:08 gregor
6868 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6869 * Now handles label-and-comment-only lines.
6871 2001-10-17 22:04 bdwheele
6873 * interpreter.c: added more comprehensive trace output
6875 2001-10-17 16:50 tom
6877 * Makefile.in: Removed the explicit rule for building mops.o from
6878 mops.c so that the implicit rule for compiling C files is used
6879 instead. This means that the chosen C flags are used, including any
6880 optimisation options.
6882 2001-10-17 15:24 tom
6884 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6885 op explosion logic to be able to handle exploding this:
6895 without also generating this unwanted version:
6899 The enhanced version rejects any expansion where there is more than
6900 one expanded argument and all the expanded arguments are constants.
6902 2001-10-17 14:20 simon
6904 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6905 Build fixes to use correct Perl version and ensure that things are
6906 running in the right directory.
6908 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6910 2001-10-17 13:16 simon
6913 core.pm is more critical than that.
6915 2001-10-17 13:05 simon
6917 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6918 "Explode" ops into multiple versions for different parameters.
6920 Courtesy of: Tom Hughes <tom@compton.nu>
6922 2001-10-17 12:54 simon
6925 Fix dependencies and cleaning.
6927 2001-10-17 12:45 simon
6929 * Configure.pl, Makefile.in:
6930 Fixes to make Parrot compile without the temporary build hack
6932 Courtesy of: Jason Gloudon <perl@gloudon.com>
6934 2001-10-16 20:43 gregor
6937 * Fixed dependencies for building Parrot/OpLib/core.pm
6939 2001-10-16 19:35 bdwheele
6941 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6942 added test, thanks to Alex Gough
6944 2001-10-16 16:49 bdwheele
6946 * core.ops: added opcode variants for constants and 3 arg concat
6948 2001-10-16 15:12 bdwheele
6950 * core.ops: added "set Sx,Sy" as a string copy to match the other
6951 register-to-register copies available
6953 2001-10-16 13:09 gregor
6956 * Added #include <sys/time.h> in the preamble for gettimeofday().
6958 2001-10-16 13:09 gregor
6961 * Removed cd t; make, which no longer applies
6963 2001-10-16 03:18 bdwheele
6965 * core.ops: fix save & restore operations to push correct type onto
6966 stack. [good eye to Jason Gloudon for noticing this]
6968 2001-10-16 01:38 bdwheele
6970 * core.ops, register.c, examples/assembly/fact.pasm,
6971 include/parrot/register.h: send in the clones: clone routines for
6972 parrot + example program
6974 2001-10-15 22:37 gregor
6976 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6977 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6978 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6979 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6980 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6981 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6982 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6983 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6984 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6985 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6987 renames so the names match what they demonstrate.
6989 2001-10-15 22:18 gregor
6991 * core.ops, t/test.pasm:
6992 * time_n uses gettimeofday() to get sub-second times.
6994 * t/test.pasm uses time_n directly rather than doing int stuff
6996 converting to num later.
6998 2001-10-15 12:28 gregor
7000 * t/: test.pasm, test2.pasm, trace.pasm:
7001 * t/test.pasm prints using string constants instead of string
7004 * t/test2.pasm assembles (using implicit op modes)
7006 * t/trace.pasm updated for new behavior of trace_ic, which does
7008 require an 'end' after 'trace'.
7010 2001-10-15 00:47 gregor
7012 * core.ops, interpreter.c, test_main.c,
7013 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
7016 * New runops cores to handle profiling
7018 * Support for -p flag in test_prog to enable profiling
7020 * New profile_ic op to control profiling at run-time
7022 2001-10-14 21:54 gregor
7024 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7025 lib/Parrot/OpsFile.pm: Integrated op documentation.
7027 * core.ops now contains POD documentation of ops, interspersed
7031 * Ops are organized into POD =head2 sections
7033 * Parrot/OpsFile.pm now treats the preamble of the ops file as
7035 up to the first POD directive OR op definition.
7037 * docs/Makefile now generates core_ops.pod from core.ops vi
7040 2001-10-14 11:58 simon
7043 Unbreak Digital Un^W^WTru64
7045 2001-10-14 11:00 simon
7050 2001-10-14 10:56 tom
7052 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7053 op_info.c no longer exists and op.h is no longer a generated file.
7055 2001-10-14 10:54 tom
7057 * Makefile.in: Added vtable.h to the list of things removed by the
7060 2001-10-14 01:43 gregor
7062 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7063 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7064 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7065 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7066 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7067 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7068 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7069 include/parrot/.cvsignore, include/parrot/interp_guts.h,
7070 include/parrot/interpreter.h, include/parrot/op.h,
7071 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7072 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7073 t/op/stacks.t, t/op/string.t, t/op/trans.t:
7076 * basic_opcodes.ops and opcode_table replaced by core.ops
7078 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7079 and ops2c.pl. These convert *.ops to *_ops.c and
7080 include/parrot/oplib/*_ops.h
7082 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7084 * disassemble.pl modified to use
7086 * interpreter.c modified to use structures in core_ops.c instead
7087 of the old op_info and op_func stuff. We're not yet to the
7088 point of handling multiple oplibs at a time, but we are getting
7091 Fingerprinting stuff disabled for now. We used to go off
7092 opcode_table. We need to rethink this. I have some ideas to
7093 make it unnecessary, but it remains to be seen whether others
7094 will like the direction they take us.
7096 Termination condition for while(){} loop in runops is now
7097 (pc) instead of (*pc). Any op can cause a HALT by returning
7098 a NULL pointer. Ops end, bounds and trace all do this. So, now
7099 the 'end' op body is actually executed, although all it does
7102 * Makefile.in modified to perform a test build using pbc2c.pl,
7103 which is the bytecode --> C compiler I've posted to the
7106 * Op full names are now autogenerated. Op root names must not
7107 contain underscores, so some op renamings have happened.
7108 Such as clear_i becoming cleari.
7110 2001-10-13 11:49 simon
7112 * Configure.pl, MANIFEST:
7113 Make parrot actually build again.
7115 2001-10-12 21:34 dan
7117 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7120 2001-10-12 20:56 dan
7122 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7123 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7124 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7125 generic stack now in. We also have subroutines, of a simple sort!
7127 2001-10-12 19:15 tom
7129 * t/op/string.t: Improved string comparison tests try all string
7130 combinations with each of the comparison ops.
7132 2001-10-12 19:09 dan
7134 * interpreter.c: Properly sets up generic stack now
7136 2001-10-12 19:09 dan
7138 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7139 interpreter structure
7141 2001-10-12 18:59 dan
7143 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7144 changes to get the generic stack working
7146 2001-10-12 18:59 dan
7148 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7149 hints/vms.pl: Made the changes to figure out mask bits for various
7150 register and stack chunks
7152 2001-10-11 22:09 dan
7154 * docs/parrot_assembly.pod: Tossed the parameter for return
7156 2001-10-11 19:28 tom
7158 * strnative.c: Assignment, not comparison. (Plus formatted for
7161 Courtesy of Bryan C. Warnock
7163 2001-10-10 19:21 tom
7165 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7166 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7167 include/parrot/string.h, t/op/string.t: Added support for string
7168 comparisons and extended the comparison ops to include comparison
7171 2001-10-10 17:58 dan
7173 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7175 2001-10-10 17:54 dan
7177 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7178 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7179 vtable type entries properly
7181 2001-10-10 15:37 dan
7183 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7184 parse new vtable.tbl file now that I've actually checked *in* the
7185 new format vtable.tbl file...
7187 2001-10-10 15:32 dan
7189 * vtable.tbl: New Column to indicate the type of the vtabel entry
7190 so we can know how many slots it takes
7192 2001-10-10 05:26 thgibbs
7194 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7195 allow parrot to compile. PACKAGE is not defined, therefore, I
7196 added a struct before it to have it not complain until we define
7197 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7198 semicolon at the end of the struct declaration.
7200 2001-10-10 05:09 thgibbs
7202 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7203 string constants of the form U"string" become unicode encoded
7204 parrot strings and the form N"string" become native encoded parrot
7207 Courtesy of: Tom Hughes <tom@compton.nu>
7209 2001-10-10 04:55 dan
7211 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7212 support for generating the vtable function table offset macros
7214 2001-10-10 01:05 simon
7217 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7218 compiles into the mod op, not the cmod_i op, hence wasn't testing
7219 what it thought it was.
7221 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7223 2001-10-09 03:45 thgibbs
7225 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7226 assembler to generate unicode strings.
7228 Courtesy of: Tom Hughes <tom@compton.nu>
7230 2001-10-08 19:30 brentdax
7232 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7233 info for Parrot::Config to remember, more flexible test.c stuff
7235 2001-10-08 15:04 gregor
7237 * basic_opcodes.ops:
7238 * Removed trash from early mod_i experiments (pardon our dust)
7240 2001-10-08 14:56 gregor
7242 * basic_opcodes.ops:
7243 * Fixed a couple of typos.
7245 2001-10-08 14:45 gregor
7247 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7248 Arithmetic enhancements:
7250 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7252 NOTE: This "uncorrected mod" algorithm uses the C language's
7254 mod operator (x % y), which is
7256 ... the remainder when x is divided by y, and thus is zero
7260 The direction of truncation for / and teh sign of the
7262 are machine-dependent for negative operands, as is the
7264 on overflow or underflow.
7270 ... if the second operand is 0, the result is undefined.
7272 is always true that (a/b)*b + a%b is equal to z. I both
7274 non-negative, then teh remainder is non-negative and
7276 divisor; if not, it is guaranteed only that the absolute
7278 remainder is smaller than the absolute value of the
7283 This op is provided for those who need it (such as
7285 applications with heavy use of mod, but using it only with
7287 arguments), but a more mathematically useful numeric mod based
7289 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7291 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7293 Language*, Second Edition. Prentice Hall, 1988.
7295 * Added "corrected" mod_i:
7297 NOTE: This "corrected mod" algorithm is based on the C code on
7299 of [1]. Assuming correct behavior of C's built-in mod operator
7301 positive arguments, this algorithm implements a mathematically
7303 version of mod, defined thus:
7305 x mod y = x - y * floor(x / y)
7307 For more information on this definition of mod, see section 3.4
7313 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7314 Millennium* Springer, 1999.
7316 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7318 Mathematics*, Second Edition. Addison-Wesley, 1994.
7320 * Added mod_n, using the same formula as above, but with FLOATVAL
7323 * Added cmod_n, using the C math library's fmod() function:
7325 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7327 fmod() function, which computes
7329 ... the remainder of dividing x by y. The return value is x
7331 where n is the quotient of x / y, rounded towards zero to
7334 -- fmod() manpage on RedHat
7337 In addition, fmod() returns
7339 the remainder, unless y is zero, when the function fails
7343 According to page 251 of [1], the result when y is zero is
7347 This op is provided for those who need it, but a more
7349 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7351 defined with y == 0 is provided by the mod_n op.
7353 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7355 Language*, Second Edition. Prentice Hall, 1988.
7357 * Added and modified tests as appropriate for the above.
7359 2001-10-08 08:49 thgibbs
7361 * include/parrot/exceptions.h, include/parrot/parrot.h,
7362 include/parrot/string.h, include/parrot/strutf16.h,
7363 include/parrot/strutf32.h, include/parrot/strutf8.h,
7364 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7365 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7366 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7367 strings for utf8, utf16, and utf32.
7369 Courtesy of: Tom Hughes <tom@compton.nu>
7371 2001-10-08 08:10 thgibbs
7373 * memory.c: Fixed uninitialized variables.
7375 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7377 2001-10-08 01:21 gregor
7379 * packfile.c: * Casting a return value
7381 * Potential uninitialized variable fix
7383 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7385 2001-10-08 01:15 gregor
7387 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7388 a few tweaks of my own):
7392 * Printf format fixes
7394 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7396 2001-10-07 22:39 thgibbs
7398 * build_interp_starter.pl: No longer adds (void*) casts to
7399 interp_guts.c function table as they are not necessary in ANSI C.
7401 2001-10-07 16:27 gregor
7403 * basic_opcodes.ops, interpreter.c, opcode_table,
7404 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7406 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7407 interpreter->flags and set interpreter->resume_addr.
7409 * Two new runops core variants, so now we cover the relevant
7410 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7412 * Runops core selection that converts the flags into an index
7414 a core table (runops_cores) to get the core function pointer.
7416 * A new trace_op variant that doesn't do bounds checking (used by
7417 the non-bounds-checking-but-tracing runops core).
7419 * PC is passed into the cores so that they can be used when
7420 resuming (they used to assume starting at the beginning of the
7421 code, which would thwart resumption).
7423 * runops() itself is changed to have a while() loop in it so that
7424 any time we drop out of the core, we'll resume if we have an
7425 interpreter->resume_addr set (after reselecting the core,
7428 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7429 interpreter->resume_addr. This is used by the new ops. The new
7430 ops still return the new PC as the next op (which MUST be an
7431 'end' op to force the core loop to terminate -- *pc being false
7432 is the only termination condition we can count on for all
7435 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7436 bounds checking core selection.
7438 * test_prog now has a '-b' flag in addition to the '-t' flag.
7440 bounds checking is off by default (I saw a performance boost:
7441 6.3 Mop/s with -b, 7.0 Mop/s without).
7443 * A new sample/test program: t/trace.pasm that twiddles the trace
7444 flag while it is running.
7446 2001-10-07 15:41 gregor
7448 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7449 include/parrot/.cvsignore, include/parrot/interpreter.h:
7450 Now that 0.0.2 is released, I can clear out the backlog of approved
7451 but uncommitted patches. Here's one Dan approved on 2001-09-21
7454 * test_prog and pdump are linked with only the files the need,
7458 * build_interp_starter.pl writes out op_info.[hc], too. These
7460 contain op name, arg count and arg type information. This will
7462 useful for multiple things in the future, including better
7464 output and the crystalizing loader.
7466 * The DO_OP macro is now simpler and doesn't require explicit
7469 * interpreter.c is modified to use the new op info in tracing
7472 * The interpreter just points its opcode_funcs and opcode_info
7473 members at the default tables rather than allocating memory on
7476 2001-10-07 03:58 thgibbs
7478 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7479 comment and adding vtable.h to .cvsignore as it is produced by
7482 2001-10-06 20:58 thgibbs
7484 * vtable.tbl: Added * to REGEX type.
7486 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7488 2001-10-06 13:41 simon
7490 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7491 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7492 Framework for vtable functions.
7494 2001-10-06 06:52 thgibbs
7496 * make_op_header.pl: Removed confusing and unused typedef.
7498 2001-10-06 06:31 thgibbs
7500 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7503 2001-10-06 06:26 thgibbs
7505 * disassemble.pl: Changed intval to op in disassembler.
7507 2001-10-06 06:21 thgibbs
7509 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7510 Assembler, local labels, and integer constants.
7512 2001-10-06 03:11 ask
7514 * Makefile.in: make `make test` actually run the tests on
7517 2001-10-06 02:04 thgibbs
7519 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7520 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7521 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7522 include/parrot/register.h, lib/Parrot/Assembler.pm,
7523 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7524 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7525 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7528 2001-10-06 02:02 thgibbs
7530 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7531 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7532 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7533 include/parrot/register.h, lib/Parrot/Assembler.pm,
7534 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7535 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7536 t/op/integer.t: oops...this messed something up. I must have
7537 missed something in the patch...I have reverted.
7539 2001-10-06 01:57 thgibbs
7541 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7542 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7543 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7544 include/parrot/register.h, lib/Parrot/Assembler.pm,
7545 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7546 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7547 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7548 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7549 This patch ensures that all bytecode is of type opcode_t except for
7550 the constant table constants. That means that almost all of the
7551 INTVALs in the code were replaced with opcode_t and the i pack type
7552 was replaced with the op pack type in calls to pack_arg and such.
7553 Also, since it has been declared that ALL integer constants are to
7554 be 32 bits, some test cases were changed to ensure that an integer
7555 constant was no bigger than 2 ** 31.
7557 process_opfunc.pl was also cleaned up to no longer look at either
7558 opcode_table or interp_guts.h but gather all of its information
7561 The Assembler.pm module was changed to do late binding of arguments
7562 so that 0 could be treated like 0.0 without having to be so
7563 declared. Also, only strings now use the [sc:N] intermediate form
7564 as it was unnecessary for integer and float types.
7566 2001-10-05 21:59 gregor
7568 * MANIFEST, languages/jako/Makefile:
7569 Fixed things due to the movement of little_languages/* to
7572 2001-10-05 18:31 gregor
7575 Updated MANIFEST to reflect recent additions for Jako.
7577 2001-10-05 17:54 gregor
7579 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7580 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7581 mops.jako, primes.jako, sub.jako:
7584 * User-defined subroutines.
7585 * Generates assembly code with the Jako code in comments.
7586 * "end;" no longer required at the end of programs.
7587 * Better handling of const-reg and reg-const.
7588 * Optimizes const-const operations to compile-time
7590 * Constants in addition to variables.
7592 * Allow leading minus signs in integer and number constants
7596 * New sample programs:
7598 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7600 * mandelbrot.jako (based on Leon Brocard's translation of
7601 Glenn Rhodes' C code)
7602 * mops.jako (based on t/test.pasm)
7603 * primes.jako (based on Leon Brocard's primes.pasm example)
7604 * sub.jako (demonstrates a simple user-defined subroutine)
7606 2001-10-05 12:54 gregor
7608 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7609 * Removed mysterious extra copy of code after POD.
7611 2001-10-05 12:46 gregor
7613 * basic_opcodes.ops, t/op/string.t:
7614 * Enabled the previously SKIPped test of printing string regs
7618 * Made print_s do nothing if the STRING pointer in the register
7622 2001-10-04 21:19 dan
7624 * Configure.pl: VMS tweaks
7626 2001-10-04 21:17 dan
7628 * hints/vms.pl: Hints file for VMS
7630 2001-10-04 00:58 bdwheele
7632 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7633 Assembler which stopped equates from working.
7635 2001-10-03 21:50 gregor
7637 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7639 * More documentation updates for the packfile stuff.
7641 2001-10-03 21:37 gregor
7643 * docs/parrotbyte.pod:
7644 * Pointed the reader at Parrot::PackFile.
7646 2001-10-03 21:34 gregor
7648 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7649 * Updated documentation to match current implementation.
7651 2001-10-03 18:30 gregor
7653 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7654 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7655 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7657 * Added new syntax to the assembler to allow square-bracket
7658 arithmetic expressions involving (global) labels, the current
7659 instructions base address ('@'), numeric constants (not
7661 and basic arithmetic operators (+, -, *, / -- although + and -
7662 are likely to be the only ones used in practice).
7664 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7666 fail (argument passing wasn't working).
7668 * Enabled t/op/basic.t's last test, which is actually a copy of
7670 code from t/call.pasm. Now all tests there are enabled and
7673 * Added new example/test program t/call.pasm to demonstrate
7675 macros and poor-man's subroutine calls
7677 * Added header comments to t/*.pasm
7679 2001-10-03 18:00 simon
7682 Needed, since it's in the MANIFEST.
7684 2001-10-03 17:56 simon
7686 * t/op/: string.t, time.t:
7687 Small fixes to help Win32 on its way.
7689 2001-10-03 17:41 simon
7694 2001-10-03 17:39 simon
7696 * MANIFEST, NEWS, README:
7697 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7700 2001-10-03 17:21 simon
7702 * basic_opcodes.ops, interpreter.c, packfile.c:
7703 Evil printf bandaid (which allows Sparc64 to pass tests)
7705 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7707 2001-10-03 16:58 simon
7709 * string.c, t/op/string.t:
7710 chop fixes for n < 0 and tests
7712 Courtesy of: Alex Gough <alex@rcon.org>
7714 2001-10-03 15:51 thgibbs
7716 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7718 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7720 2001-10-02 17:48 dan
7722 * include/parrot/stacks.h: Fix typo in function name
7724 2001-10-02 17:35 dan
7726 * include/parrot/stacks.h: changed to support new stack stuff
7729 2001-10-02 15:01 simon
7731 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7732 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7733 process_opfunc.pl, register.c, string.c, strnative.c,
7734 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7735 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7736 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7737 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7738 include/parrot/memory.h, include/parrot/packfile.h,
7739 include/parrot/parrot.h, include/parrot/register.h,
7740 include/parrot/stacks.h, include/parrot/string.h,
7741 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7745 2001-10-02 12:49 gregor
7747 * process_opfunc.pl:
7748 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7750 2001-10-02 12:40 simon
7752 * basic_opcodes.ops, process_opfunc.pl, register.c,
7753 include/parrot/register.h:
7754 Move preprocessing of register accessors to process_opfunc.pl
7756 Courtesy of: Jason Gloudon <perl@gloudon.com>
7758 2001-10-02 01:20 ask
7760 * README: add a few lines about lists.
7762 2001-10-01 23:00 brentdax
7764 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7765 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7767 2001-10-01 22:50 brentdax
7769 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7771 2001-10-01 21:51 simon
7773 * process_opfunc.pl:
7774 Michael Fischer's patch broke conditionals.
7776 2001-10-01 15:38 simon
7778 * process_opfunc.pl:
7779 Small hack to keep process_opfunc.pl from generating extra return()
7782 Courtesy of: Michael Fischer <michael@visv.net>
7784 2001-10-01 15:32 simon
7786 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7789 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7791 2001-10-01 01:49 simon
7794 Simon is an idiot. Don't trust him with your code.
7796 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7798 2001-10-01 00:59 simon
7800 * Parrot/String.pm, lib/Parrot/String.pm:
7801 Was in manifest, but not in CVS.
7803 2001-09-30 21:25 simon
7805 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7806 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7807 Parrot/Assembler.pm, Parrot/PackFile.pm,
7808 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7809 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7810 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7811 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7812 include/parrot/packfile.h, include/parrot/string.h:
7813 Move NVs to the constant table. * Changes to Types_pm.in to make
7814 life easier for some of the packing/etc. I'm doing elsewhere.
7815 Also, we now pack 'n' as 'i'.
7817 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7818 eventually we can use all these tools together inside scripts
7819 rather than call out to the shell to run the programs.
7821 * As I was tracking down problems, I converted the internal
7822 documentation of the assembler to POD from comments.
7824 * Changed the numeric regexp in the assembler to detect leading
7825 signs and trailing exponents.
7827 * Updated basic_opcodes.ops to fetch numeric constants from the
7830 * Enhanced the disassembler in a number of ways to make my life
7831 easier while tracking down bugs (try it out). It now puts in
7832 labels for ops that are the destinations of flow control ops.
7834 * packfile.c now has a TRACE_PACKFILE switch that can be set
7835 to get it to print info as it processes. I needed this while
7836 debugging, but I can remove it or change it before committing
7839 * Updated pdump.c because it was missing a call to init_world().
7841 * Updated process_opfunc.pl to deal with numeric constants
7842 being stored in the constant table instead of inline.
7844 * Added multiple type support to Parrot/PackFile/Constant.pm
7846 * Added Parrot/String.pm, to be used for constants.
7848 * Added packfile.[hc] functions for allocating new constants
7851 * Made string_copy visible to the world in parrot/string.h.
7855 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7857 2001-09-29 15:56 gregor
7859 * languages/jako/Makefile:
7860 Removed assumption that '.' is on the path.
7862 2001-09-29 15:55 gregor
7864 * languages/jako/Makefile:
7865 Removed references to leibnitz test program.
7867 2001-09-29 15:21 thgibbs
7869 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7870 math ops args to work on Solaris.
7872 2001-09-27 15:15 thgibbs
7874 * assemble.pl: Added case insensitive matches to hex and binary
7877 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7879 2001-09-27 04:46 thgibbs
7881 * assemble.pl: This patch makes integer constants of the form
7882 0b[01]+ work with perl 5.005. The oct function in versions of perl
7883 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7884 returning 0. To fix this, I added a from_binary function that
7885 would take a binary string and return its decimal representation.
7886 Now, instead of blindly calilng oct, it makes a distinction between
7887 0/0x numbers and 0b numbers.
7889 2001-09-26 19:30 thgibbs
7891 * assemble.pl: Error now returns a non-zero status
7893 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7895 2001-09-26 19:13 gregor
7897 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7898 interpreter.c, packfile.c, pdump.c, test_main.c,
7899 include/parrot/bytecode.h, include/parrot/interpreter.h,
7900 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7902 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7903 packfile/bytecode file from C. May be renamed in the future.
7905 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7906 of 'PackFile *', just like the interpreter, etc.
7908 * Constants are accessed via the interpreter's 'code' member
7909 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7910 provided to access constants by index and the number of
7911 constants, respectively (assumes a variable 'interpreter' of
7912 the appropriate type is in scope).
7914 * Byte Code is accessed via the interpreter's 'code' member.
7916 * Changed PackFile_Constant to point to a STRING instead of
7918 members for the string_make() arguments. Also has a 'type' IV
7919 in preparation for allowing multiple types of constants in
7922 * Removed hardcoded example program from test_main.c. We have
7923 plenty of test programs elsewhere.
7925 * test_prog now uses a PackFile to deal with the program before
7926 sending it on to the interpreter.
7928 * Added missing 'end' ops to some tests in t/op/integer.t and
7931 2001-09-26 18:38 thgibbs
7933 * assemble.pl: Separated code into functions and added comments.
7935 2001-09-26 18:29 simon
7938 Fix 64-bit chunk-base issue.
7940 2001-09-26 06:55 thgibbs
7942 * t/op/bitwise.t: Added end to bitwise tests.
7944 2001-09-26 00:54 dan
7946 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7947 and interpreter creation. Skeleton only, but it's something to peer
7950 2001-09-25 21:44 thgibbs
7952 * t/op/trans.t: Removed loops in transcendtal op test.
7954 2001-09-25 10:12 simon
7956 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7957 t/op/string.t, t/op/time.t:
7960 Courtesy of: Alex Gough <alex@rcon.org>
7962 2001-09-24 19:08 gregor
7965 * Enabled the clear_n test.
7967 2001-09-24 18:56 gregor
7969 * Parrot/.cvsignore:
7970 * Ignore the generated Types.pm file.
7972 2001-09-24 18:52 gregor
7974 * languages/jako/Makefile, t/op/number.t:
7975 * No need to skip the inc and dec numeric tests anymore. I fixed
7977 assembler earlier today.
7979 2001-09-24 18:21 simon
7981 * MANIFEST, t/op/stacks.t:
7984 2001-09-24 18:19 simon
7986 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7987 include/parrot/exceptions.h, include/parrot/interpreter.h,
7988 lib/Parrot/Test.pm, t/op/string.t:
7989 1) captured error output, so can test errors, this might be bad,
7990 not sure. 2) basic tests for register stack frames, including some
7991 errors 3) I think we can stop skipping one of the string tests 4) I
7992 added some more substr tests, but substr was broken, so 5) changed
7993 substr to work with out of range values, or 6) throw an error if
7994 they're far too silly
7996 Courtesy of: Alex Gough <alex@rcon.org>
7998 2001-09-24 17:27 gregor
8000 * basic_opcodes.ops, opcode_table, t/op/number.t:
8001 * Op set_n was missing. Added it and a test for it. We now have
8003 same int and num ops, except mod is int-only.
8005 2001-09-24 17:01 gregor
8008 * Fixed a typo: s/Line/line/
8010 2001-09-24 16:02 gregor
8012 * basic_opcodes.ops:
8013 * Fixed dec_n_nc opcode, which had += where it should have had
8016 2001-09-24 15:34 gregor
8019 * Fixed handling of constants starting with '0' that should not
8021 sent through oct(). For example 'set N2 0.1' was being
8023 as 'set N2 0' (naughty).
8025 As reported by Leon Brocard <acme@astray.com> in the comments
8027 his mandelbrot.pasm example.
8029 2001-09-24 02:21 bdwheele
8031 * assemble.pl: fixed dumb code when --include was not specified.
8033 2001-09-24 02:17 simon
8038 2001-09-24 01:56 bdwheele
8040 * assemble.pl: * Added --include=dir option to assembler to provide
8041 a path to look for included files. * Error message of a macro is
8042 defined inside of a macro
8044 2001-09-23 21:29 bdwheele
8046 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8048 2001-09-23 15:50 simon
8051 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8053 2001-09-23 02:03 ask
8055 * Configure.pl, test_c.in: fix missing newline at the end of test.c
8056 Courtesy of: acme@astray.com (Leon Brocard)
8058 rename 'test' executable used in Configure process to test_siz.
8060 2001-09-23 01:03 simon
8062 * process_opfunc.pl:
8063 iPaq fix. No, really.
8065 2001-09-23 00:47 simon
8068 Missed several, in fact.
8070 2001-09-23 00:46 simon
8075 2001-09-22 21:13 simon
8078 Assembler register numbering rigour.
8080 Courtesy of: Leon Brocard <acme@astray.com>
8082 2001-09-22 18:20 simon
8084 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8086 I'm sick of having to install Test::More everywhere. Temporary
8087 measure until we remove this silly dependency.
8089 Also a typo in Makefile.in which suggests some things were only
8090 happening correctly by sheer chance. :)
8092 2001-09-22 18:06 simon
8095 test.pasm is dead, long like make test.
8097 2001-09-22 17:47 simon
8100 De-fang overzealous floating point test.
8102 2001-09-22 17:39 simon
8104 * process_opfunc.pl:
8105 Remove hard-coded NV size assumption. Tru64 is nearly there!
8107 2001-09-22 17:18 simon
8109 * assemble.pl, disassemble.pl:
8110 More portability fixups.
8112 2001-09-22 16:44 simon
8114 * assemble.pl, Parrot/PackFile/Constant.pm,
8115 lib/Parrot/PackFile/Constant.pm:
8116 And I *think* this fixes Tru64.
8118 2001-09-22 16:37 simon
8120 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8124 2001-09-22 16:36 simon
8126 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8127 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8128 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8130 More removal of hard-coded pack formats.
8132 2001-09-22 15:21 simon
8136 Grrr. Why isn't this working?
8138 2001-09-22 15:18 simon
8140 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8141 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8143 Make assemble use the PackFile modules; also fixed some bugs in
8146 2001-09-22 14:38 simon
8148 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8150 Abstract the argument and opcode packing types and functions out
8151 into a separate module. This *should* help us maintain consistency
8152 when we change the various types.
8154 2001-09-22 00:46 brentdax
8156 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8157 test program finishes.
8159 2001-09-21 21:24 brentdax
8161 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8162 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8164 2001-09-21 21:09 gregor
8166 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8167 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8169 * Fixed pad calculation (similar to recent bug fix on C library)
8171 2001-09-21 20:23 simon
8174 Pack types and sizes have gone askew.
8176 2001-09-21 20:18 brentdax
8178 * Configure.pl: Fix typo in setting stuff from the C test program
8180 2001-09-21 10:25 simon
8182 * basic_opcodes.ops, process_opfunc.pl:
8185 Courtesy of: Leon Brocard <acme@astray.com>
8187 2001-09-21 06:06 ask
8189 * Config_pm.in, assemble.pl: fix 5.005_03.
8191 2001-09-21 06:03 ask
8193 * Configure.pl: make the ivsize detection work for us normal people
8194 without . in our PATH. :-)
8196 2001-09-21 05:56 brentdax
8198 * test_main.c: Change _read to read for portability to Tru64
8199 (Damien Neil <neild@misago.org> and likely many others)
8201 2001-09-21 05:46 ask
8203 * Makefile.in: "update" target to update from cvs.
8205 2001-09-21 05:44 brentdax
8207 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8209 2001-09-21 02:43 brentdax
8211 * Configure.pl: Fix a typo that forced the -g flag on
8213 2001-09-20 22:41 dan
8215 * packfile.c: Had some no-value returns. Naughty
8217 2001-09-20 22:40 dan
8219 * t/test.pasm: Added labels to output
8221 2001-09-20 15:39 simon
8223 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8225 This patch does two only somewhat related things.
8227 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8228 = 2*sizeof(iv) to a PConfig-type computed value.
8230 Parrot/Test.pm: Change it to run with the perl that was used to
8231 generate this version of Parrot. This is useful if, for example,
8232 you want to use bleadperl to build and test parrot (e.g. to try out
8233 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8234 installed as the default 'perl' on your system. Since perl-5.7.x
8235 is installed 'version-only', a plain 'perl' is quite likely to pick
8236 up the older perl in such cases. Such an older perl might well not
8237 understand pack('q') used in the assembler.
8239 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8241 2001-09-20 15:14 gregor
8244 * Fixed a typo in pad calculation that throwing off unpack and
8247 2001-09-20 15:03 thgibbs
8249 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8250 tests now cover all registers.
8252 Courtesy of: Damien Neil neild@misago.org
8254 2001-09-20 14:48 thgibbs
8256 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8259 2001-09-20 14:35 simon
8261 * Configure.pl, assemble.pl:
8264 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8266 2001-09-20 14:06 gregor
8268 * languages/jako/jakoc:
8269 * Fixed a tyop in the string interpolation regex.
8271 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8273 2001-09-20 13:56 gregor
8275 * languages/jako/jakoc:
8276 * Updated jakoc to work with the single-destination comp ops.
8278 2001-09-20 05:08 bdwheele
8280 * assemble.pl: macro expansion. Here's the test macro I was using:
8282 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8283 label. testi macro num,got,want print "Test #"
8284 print num print "..." set I32,want set
8285 I31,got eq I32,I31,$ok print "NG\n" branch
8286 $end $ok: print "OK\n" $end: endm
8290 Test1: testi 1,I3,I2
8292 2001-09-20 03:52 dan
8294 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8295 generic stack support
8297 2001-09-20 02:49 bdwheele
8299 * assemble.pl: Added include processing to assemble.pl the syntax
8300 is: include 'file.to.include'
8302 2001-09-19 23:57 thgibbs
8304 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8305 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8306 function to only use 2 args, but the opcode_table still had three
8307 listed. Fixed integer.t and number.t to use the new comparison
8308 operators. Improved assemble.pl ability to grok operators by
8309 constructing a function set and comparing operator types.
8311 2001-09-19 22:42 dan
8313 * assemble.pl: Binmodes the output filehandles now. (No more
8314 bytecode munching...)
8316 2001-09-19 22:32 dan
8318 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8319 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8320 conditional branches take a single argument, and fall through
8323 2001-09-19 21:19 thgibbs
8325 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8328 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8330 2001-09-19 21:04 thgibbs
8332 * include/parrot/interpreter.h, Configure.pl,
8333 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8334 process_opfunc.pl: Changed opcode_t from a union to a configurable
8337 2001-09-19 20:54 thgibbs
8339 * assemble.pl: Missed a couple of changes for 64 bit portability.
8341 2001-09-19 20:37 gregor
8343 * packfile.c, include/parrot/packfile.h:
8344 * Added "methods" for setting and getting all the various
8346 probably sufficient for an assembler to use the library.
8348 2001-09-19 20:04 thgibbs
8350 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8351 a 64 bit platform manually change the setting for 'i' from 'l' to
8352 'q'. This should be automatically done by a Configure setting in
8355 2001-09-19 19:10 thgibbs
8357 * config_h.in: changed c++ comment to c comment.
8359 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8361 2001-09-19 17:48 gregor
8363 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8364 include/parrot/packfile.h:
8365 * C code for dealing with PackFiles as if they were objects.
8367 read-only interface for now, but it would not be hard to make
8369 read-write. [packfile.c, include/parrot/packfile.h]
8371 * PackFile Dumping program that falls short of disassembling, but
8372 tests the above code and provides a hex listing of the byte
8374 contents of the PackFile. [pdump.c]
8376 * New Makefile target 'pdump' for the above program, and related
8377 Makefile.in changes.
8379 * Updated MANIFEST to reflect the added files
8381 * Update .cvsignore to ignore pdump.
8383 2001-09-19 14:55 thgibbs
8385 * MANIFEST: Added number.t and trans.t to MANIFEST
8387 2001-09-19 05:40 thgibbs
8389 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8390 of union opcode_t. I hope this will be more portable for set_n_nc.
8392 2001-09-19 05:39 thgibbs
8394 * t/op/integer.t: Added end to test 1.
8396 2001-09-19 00:09 thgibbs
8398 * t/op/number.t: Added end to each test
8400 2001-09-19 00:00 simon
8405 Courtesy of: Damien Neil <neild@misago.org>
8407 2001-09-18 23:52 thgibbs
8409 * interpreter.c: Added casts to appropriate types to make -Wall not
8410 complain on certain printf formats
8412 2001-09-18 23:31 thgibbs
8414 * t/op/integer.t: Added end to each test.
8416 2001-09-18 22:54 thgibbs
8418 * t/op/trans.t: Added trans.t for transcendental math function
8421 2001-09-18 22:28 simon
8424 MANIFEST updates. (And notice how I carefully snuck in the
8425 t/op/integer.t there...)
8427 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8429 2001-09-18 22:26 simon
8431 * t/: integer.t, op/integer.t:
8432 Except it doesn't go there. Duh.
8434 2001-09-18 22:25 simon
8437 Tests for integer ops.
8439 Courtesy of: Damien Neil <neild@misago.org>
8441 2001-09-18 22:03 thgibbs
8443 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8444 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8445 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8446 opcode_t union for operators. This required a few perl script
8447 changes to output the correct type. There were also some changes
8448 to allow -pedantic in gcc
8450 2001-09-18 21:07 gregor
8452 * disassemble.pl, Parrot/PackFile.pm,
8453 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8454 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8455 lib/Parrot/PackFile/Constant.pm:
8456 Converted the disassembler to use the Parrot::PackFile Perl classes
8459 2001-09-18 19:18 brentdax
8461 * Makefile.in: Fix missing functions for real this time. (I
8464 2001-09-18 18:49 brentdax
8466 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8467 <doughera@lafayette.edu>}
8469 2001-09-18 18:47 brentdax
8471 * Makefile.in: Fix bugs with missing math, etc. functions
8473 2001-09-18 14:42 thgibbs
8475 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8478 2001-09-18 13:59 thgibbs
8480 * strnative.c: Removed unnecessary IV cast in concat.
8482 2001-09-18 13:58 thgibbs
8484 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8485 to concat test in string.t
8487 2001-09-18 12:07 gregor
8489 * languages/jako/jakoc:
8490 * var num ... no longer requires assignment
8491 * automatic casting between int and num
8492 * Fixed an error message
8494 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8496 2001-09-18 11:57 simon
8499 Gonna have to start thinking of more things to do, soon.
8501 2001-09-18 10:42 simon
8504 Introduce a little more tidiness into the opcode table.
8506 2001-09-18 03:06 gregor
8508 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8509 Resurrected register-const ops per Dan's request.
8511 2001-09-18 02:20 gregor
8513 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8514 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8515 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8516 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8517 Committed some files that were missed in the last *.h moving
8520 2001-09-18 02:17 gregor
8522 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8524 2001-09-18 02:16 gregor
8526 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8527 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8528 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8529 missed in last commit for the move of *.h to include/parrot.
8531 2001-09-18 01:32 simon
8534 Trivial "clean" target to t/Makefile.
8536 2001-09-18 01:32 simon
8538 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8539 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8540 Change icky Digest::MD5 for nice simple unpack()
8542 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8544 2001-09-18 00:35 simon
8546 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8548 New concat op. Hey, if I'm going to talk about it in an article,
8549 better implement it...
8551 2001-09-17 22:54 gregor
8553 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8554 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8555 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8556 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8558 Functions for reading, writing and manipulating Parrot Pack Files.
8559 NOTE: This is a proposed term based on the fact that the file
8560 contains more than just byte code, and another language (Java)
8561 calls its binary files by a broader notion of what's in them (Class
8562 Files). Since Perl has packages, and since we use pack() to write
8563 them, we'll call them PackFiles (at least for now).
8565 That does, however, beg the question of file extension. Should we
8566 name the files "foo.pack" instead of "foo.pbc"?
8568 2001-09-17 20:23 thgibbs
8570 * interpreter.c, test_main.c: Uncuddled else statements for coding
8573 2001-09-17 19:57 gregor
8575 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8576 Added a $revision variable, parsing of the CVS Id line in
8577 opcode_table and a &revision() subroutine.
8579 2001-09-17 19:53 gregor
8582 Added a CVS Id tag to it.
8584 2001-09-17 18:58 thgibbs
8586 * interpreter.c: Cleared interpreter flags on creation.
8588 2001-09-17 18:38 gregor
8590 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8591 interpreter.h, test_main.c:
8592 * Provides macros in interp_guts.h for setting up arrays with
8593 op names and op arg counts (done via build_interp_starter.pl).
8595 These are used in the op tracing
8597 * The functions in bytecode.[hc] pass around a pointer to the
8599 of the bytecode so that later when we get to runops, we know
8600 how much bytecode we've got and we can detect out-of-bounds
8601 jumping. The documentation is updated, too.
8603 * runops in interpreter.c now looks at interpreter->flags to
8604 decide if the core of runops should be runops_trace_core or
8605 runops_notrace_core. These new functions contain just the
8606 while-loop portion of runops. A new function runops_generic
8607 does any other setup (such as checking the bytecode
8608 fingerprint) or wrapup (such as complaining if we ended up
8609 out-of-bounds). NOTE: I didn't know what we should do for
8610 functions in here that are not part of the api, so I gave
8611 them docs with 'TODO' marks mentioning they really aren't
8612 part of the api. Guidance appreciated.
8614 * test_main.c now checks for '-t' arg and sets the tracing flag
8615 on its interpreter instance as appropriate.
8617 2001-09-17 17:47 bdwheele
8619 * assemble.pl: added some default equates, and if they're sub
8620 references, they are computed each time it is referenced.
8622 2001-09-17 16:15 dan
8626 Added flags to the interpreter structure and defined a few.
8628 2001-09-17 15:51 simon
8630 * bytecode.h, string.h:
8631 VAR_SCOPE on globals.
8633 2001-09-17 15:20 simon
8636 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8638 2001-09-17 15:05 gregor
8640 * t/jump.pasm, MANIFEST:
8641 Added a test program to demonstrate jump_i.
8643 2001-09-17 14:44 thgibbs
8645 * register.c: Fixed register pop not using correct offset (off by
8648 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8650 2001-09-17 13:56 thgibbs
8652 * interpreter.c, register.c: Added code to call Parrot_clear_s
8653 during initialization and Parrot_clear_s and Parrot_clear_p when a
8654 new stack frame is pushed.
8656 2001-09-17 13:51 gregor
8658 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8659 fib.jako, hello.jako: Added bench.pasm to "clean"
8661 2001-09-17 13:49 gregor
8663 * languages/jako/: jakoc, Makefile:
8666 2001-09-17 13:49 gregor
8668 * languages/jako/jakoc:
8671 Courtesy of: Buggs <buggs-perl6@splashground.de>
8673 2001-09-17 13:29 gregor
8675 * MANIFEST, opcheck.pl:
8676 Added an opcode_table checker to make sure that all opcodes listed
8677 there conform to a simple set of naming rules (rules themselves, of
8678 course, are subject to change).
8680 2001-09-17 13:23 thgibbs
8682 * string.c: Modified string.c to correctly use the return value of
8685 2001-09-17 05:26 brentdax
8687 * Makefile.in: Making the Makefile smarter
8689 2001-09-16 23:06 brentdax
8691 * hints/mswin32.pl: Finishing the Configure hints
8693 2001-09-16 23:05 brentdax
8695 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8696 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8697 Configure hints, 5.005 compatibility, MANIFEST checking
8699 2001-09-16 19:25 bdwheele
8701 * assemble.pl: parrot assembly equates
8703 2001-09-16 18:03 gregor
8706 Added 'test' target to run new test suite.
8708 2001-09-16 17:33 simon
8710 * basic_opcodes.ops:
8711 'not' was being !, rather than ~. Too many Perl programmers here, I
8714 Courtesy of: Tom Hughes <tom@compton.nu>
8716 2001-09-16 17:21 simon
8718 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8720 A *real* test suite!
8722 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8724 2001-09-16 16:49 gregor
8726 * basic_opcodes.ops, opcode_table:
8727 At Dan's request, my new register-constant comparison ops have been
8730 2001-09-16 16:40 gregor
8732 * languages/jako/jakoc:
8733 Fixed a copy-paste error in one of jakoc's error messages.
8735 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8737 2001-09-16 16:37 gregor
8739 * languages/jako/jakoc:
8740 Modified comparison implementation to use temporary registers in
8741 the case of register-constant and constant-register comparisons.
8742 This will allow the compiler to emit code that works when the
8743 constant-comparison ops are backed out of Parrot. If the ops ever
8744 make their way back in, then jakoc can emit more efficient code
8747 2001-09-16 16:19 bdwheele
8749 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8750 ... though not subroutine based like the documentation wants, they
8751 are local to the last non-local label defined.
8753 2001-09-16 14:02 simon
8756 And remember, when you add stuff, keep the manifest up to date.
8758 2001-09-16 02:55 ask
8760 * Makefile.in: a "shared" target for building libparrot.so
8762 2001-09-16 02:45 thgibbs
8764 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8765 global_setup.h, interpreter.c, interpreter.h, io.h,
8766 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8767 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8768 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8769 use the coding standard PDD. Also changed Perl_Interp to
8772 2001-09-16 02:21 ask
8774 * README: emphasise the bits about the license not being worked out
8777 2001-09-15 22:21 simon
8779 * process_opfunc.pl:
8780 basic_opcodes.c should *scream* that it's autogenerated.
8782 2001-09-15 21:58 gregor
8784 * languages/jako/Makefile:
8785 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8788 2001-09-15 21:58 gregor
8790 * languages/jako/: jako_compiler.pl, jakoc:
8791 Renamed the Jako compiler to jakoc from jako_compiler.pl
8793 2001-09-15 21:51 gregor
8795 * languages/jako/: Makefile, bench.jako, euclid.jako,
8797 Added a new bench.jako example based on Leon Brocard's Bench.java.
8799 Jako Compiler: * fix a bug in assignment handling * add some
8800 more conditionals to while and if * revert to using implicit
8801 opcodes in a few cases that were broken before the assembler
8802 patch went in recently.
8804 2001-09-15 21:46 gregor
8806 * assemble.pl, basic_opcodes.ops, opcode_table:
8807 New ops for register-constant INTEGER comparisons:
8809 {eq,ne,lt,le,gt,ge}_ic_ic
8811 New ops for register-register and register-constant NUMERIC
8815 {ne,lt,le,gt,ge}_{n,nc}_ic
8819 Allow uppercase and underscores in labels.
8821 Tweaks to the op infer code to make it work with the examples
8825 2001-09-15 19:16 thgibbs
8827 * README: Updated README to include Configure.pl
8829 2001-09-15 17:05 simon
8831 * build_interp_starter.pl:
8834 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8836 2001-09-15 16:45 simon
8839 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8841 2001-09-15 16:40 simon
8844 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8847 2001-09-15 12:26 simon
8850 Fixed to match the coding standards.
8852 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8854 2001-09-15 01:57 ask
8856 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8857 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8860 2001-09-15 01:48 ask
8862 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8865 2001-09-15 01:42 gregor
8867 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8869 Compiler: Added variable interpolation in double-quoted strings.
8870 Examples: Made use of variable interpolation.
8872 2001-09-15 01:28 gregor
8874 * Parrot/.cvsignore:
8875 Ignore the Config.pm generated file.
8877 2001-09-15 01:22 gregor
8879 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8880 fib.jako, hello.jako, jako_compiler.pl:
8881 gnp: Added some more sample Jako files and added many more
8882 operators to the compiler. Preparations for supporting all the Math
8885 2001-09-14 19:06 simon
8887 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8888 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8889 lib/Parrot/Opcode.pm:
8890 Move common table reading stuff to a module.
8892 Courtesy of: Damien Neil <neild@misago.org>
8894 2001-09-14 17:42 simon
8897 More .cvsignore foo.
8899 2001-09-14 17:40 simon
8901 * assemble.pl, config_h.in:
8904 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8906 2001-09-14 17:38 simon
8908 * assemble.pl, t/Makefile:
8909 Make assemble.pl look in its parent directory if the data files it
8910 needs aren't in the current one. Plus a Makefile that lets "make
8913 Courtesy of: Rocco Caputo <troc@netrus.net>
8915 2001-09-14 16:29 simon
8917 * make_op_header.pl:
8918 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8919 probably segfault everywhere else.)
8921 2001-09-14 15:58 dan
8923 * languages/jako/: euclid.jako, jako_compiler.pl:
8925 Added in the first mini-language that targets Parrot.
8927 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8929 2001-09-14 15:20 dan
8931 * memory.c: Was misaligning returned memory. Fixed.
8933 2001-09-14 15:08 simon
8935 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8936 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8937 register.c, register.h, string.c, string.h, strnative.c,
8939 Fixes to include <parrot/foo.h>
8941 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8943 2001-09-14 12:05 simon
8948 2001-09-14 12:01 simon
8953 2001-09-14 11:54 simon
8958 2001-09-14 11:45 simon
8963 2001-09-14 11:39 simon
8966 Tru64 cc doesn't like -Wall
8968 2001-09-14 10:57 simon
8970 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8971 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8972 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8973 Configure now generates Makefile
8975 Courtesy of: Brent Dax <brentdax@cpan.org>
8977 2001-09-14 10:08 simon
8982 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8984 2001-09-14 10:07 simon
8987 * uses Getopt::Long for options. -c is now --checksyntax.
8989 sure how to keep compatible (patches welcome!) * options
8990 include: --help --version
8991 --verbose --output=file
8992 --listing=file --checksyntax * produces
8993 verbose listing of what the assembler saw :) Only one nitpick with
8994 it: unknown symbols are given as 0xffffffff, unfortunately, this
8995 includes symbols which may be defined later in the file (i.e.
8998 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9000 2001-09-14 10:06 simon
9005 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9007 2001-09-14 10:03 simon
9009 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9010 register.c, string.c, strnative.c, test_main.c:
9011 Coding standards conformance
9013 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9015 2001-09-14 09:46 simon
9018 Make the assembler grok transcendental maths again. Courtesy of:
9019 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9021 2001-09-13 17:29 simon
9024 Better opcode guessing, from Brian Wheeler. (Again!)
9026 2001-09-13 17:20 dan
9028 * docs/parrot_assembly.pod:
9030 Took out duplicate entries for iton, ntoi, and tostring.
9032 2001-09-13 17:16 simon
9034 * assemble.pl, basic_opcodes.ops, opcode_table:
9037 This patch gives the assembler support of '\a','\n','\r','\t', and
9038 '\\' in string constants.
9040 In addition, it changes (for all registers) "I reg %li is ..." to
9041 just the value of the register. Printing constants is also
9042 supported, but alas, you have to specify the type (print_sc,
9043 print_ic, print_nc).
9045 2001-09-13 15:38 simon
9048 Why don't I actually *test* this stuff before applying it, eh?
9050 2001-09-13 15:34 simon
9052 * TODO, t/euclid.pasm:
9053 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9054 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9057 2001-09-13 14:42 simon
9060 A new assembler, from Brian Wheeler.
9062 2001-09-13 09:44 simon
9064 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9066 Two more from Tom Hughes: Patch to fix C++ style comments
9067 Patch to remove use of structure constant/cast
9069 2001-09-13 09:39 simon
9071 * TODO, docs/strings.pod:
9074 2001-09-13 09:36 simon
9076 * Makefile, basic_opcodes.ops:
9077 Tom Hughes Patch to link with the maths library Tom Hughes
9078 Patch to fix += on rvalue
9080 2001-09-13 08:57 simon
9083 I guess nobody's been using the nightly builds...
9085 2001-09-13 08:27 simon
9087 * assemble.pl, basic_opcodes.ops, opcode_table:
9088 Bitwise ops, from Brian Wheeler.
9090 2001-09-13 08:23 simon
9092 * .cvsignore, t/.cvsignore:
9093 .cvsignore's, from Gregor Purdy.
9095 2001-09-13 08:22 simon
9098 Euclidean test and test output rearranging from Gregor Purdy.
9100 2001-09-13 08:21 simon
9102 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9103 Math ops from Gibbs Tanton.
9105 2001-09-13 08:14 simon
9107 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9109 String substr op; also rearranged "encoding" to be a vtable
9110 pointer, not an array index. Haven't changed docs to reflect this,
9115 2001-09-12 19:48 dan
9117 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9120 2001-09-12 19:39 dan
9122 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9124 2001-09-12 19:23 dan
9126 * interpreter.h, parrot.h: Quick placeholder entry for string
9129 2001-09-12 18:58 dan
9131 * memory.c: Added in a cast to make gcc happy.
9133 2001-09-12 16:44 dan
9135 * docs/parrot_assembly.pod:
9137 PDD describing parrot's assembly language and the opcodes in it
9139 2001-09-12 14:20 dan
9142 Fixed alignment issues with allocation
9144 2001-09-12 10:54 simon
9146 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9147 make_op_header.pl, opcode_table, process_opfunc.pl:
9148 Brian Wheeler's big patch:
9150 * Changes the opcode_table file to provide additional information
9151 about the operands. Case shouldn't be a problem since that data
9152 never becomes a C symbol [this is pretty much as before]
9154 * Padding errors solved: assemble.pl and bytecode.c were padding
9155 the constants incorrectly. It should have been 4-(size % 4), not
9156 just (size % 4). It is now fixed in both places.
9158 * assembler has less special cases, and should be easier to hang
9161 * disassembler dumps constant table and the format is a bit
9162 prettier, including register names, etc.
9164 2001-09-11 23:21 dan
9166 * build_interp_starter.pl, interpreter.c:
9168 Abstracted the runops function core into a macro for easy
9171 2001-09-11 10:43 simon
9173 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9174 Configure system from Brent Dax <brentdax@cpan.org>
9176 2001-09-11 09:38 simon
9178 * assemble.pl, test.pbc:
9179 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9180 assembler deferred output
9182 Also got rid of the bytecode, since that's probably way out of
9185 2001-09-11 09:26 simon
9187 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9188 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9191 2001-09-10 23:20 simon
9194 And that move needs a MANIFEST change. So many things to remember!
9196 2001-09-10 23:18 simon
9198 * t/: test.pasm, test2.pasm, test3.pasm:
9199 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9201 2001-09-10 23:18 simon
9203 * test.pasm, test2.pasm, test3.pasm:
9206 2001-09-10 23:04 dan
9210 Register push/pop test
9212 2001-09-10 22:47 simon
9214 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9215 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9216 (Modified to avoid conflict with Dan's changes.)
9218 2001-09-10 22:45 dan
9222 Happier about blanks in opcode_table
9224 2001-09-10 22:40 dan
9226 * interpreter.c, register.c:
9228 Yanked out debugging code, since these work OK. The bug I want is
9231 2001-09-10 22:30 simon
9234 Uhm. We want make_op_header.pl. We really, really do.
9236 2001-09-10 22:26 simon
9238 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9239 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9240 opcode_table, process_opfunc.pl:
9241 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9242 This means we can add lots more opcodes without fiddling about with
9243 the numbers. Hooray!
9245 Don't forget that "end" needs to be op zero, else the interpreter
9246 falls off the end of the code. This is Bad, and I wonder if there's
9249 2001-09-10 19:49 simon
9251 * MANIFEST, make_op_table_build.pl:
9252 Hey! This doesn't do anything...
9254 2001-09-10 19:46 simon
9257 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9259 2001-09-10 18:31 simon
9262 You know what this means...
9264 2001-09-10 18:30 simon
9267 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9268 wait for a release...? :)
9270 2001-09-10 18:13 simon
9275 2001-09-10 17:56 simon
9278 A *real* README file, which doesn't claim it isn't for public
9281 2001-09-10 17:02 simon
9286 2001-09-10 16:56 dan
9288 * TODO: Added in assembler gripe. Also added a few blank lines for
9291 2001-09-10 16:49 dan
9293 * register.h, register.c: Renamed the core functions so the opcodes
9294 can find 'em OK. (There were some conflicts)
9296 2001-09-10 16:48 dan
9298 * basic_opcodes.ops, opcode_table: Added register window ops
9300 2001-09-10 11:07 simon
9305 2001-09-10 11:05 simon
9307 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9308 note "-s" flag to test prog.
9310 2001-09-10 11:01 simon
9313 New string documentation.
9315 2001-09-10 11:01 simon
9317 * basic_opcodes.ops, opcode_table:
9320 2001-09-10 10:53 simon
9325 2001-09-10 10:51 simon
9328 Just some more aliases for now. Used by string handling stuff.
9330 2001-09-10 10:50 simon
9332 * assemble.pl, bytecode.c, bytecode.h:
9333 Temporary hack to store string constants in bytecode and recreate
9336 2001-09-10 10:48 simon
9339 op.h is now generated by the Makefile; remove it.
9341 2001-09-10 10:47 simon
9344 clean and op.h Makefile targets.
9346 2001-09-10 10:45 simon
9348 * string.c, string.h, strnative.c:
9349 More string vtable stuff.
9351 2001-09-07 21:07 dan
9355 Much less picky about whitespace in the opcode_table now. (Doesn't
9356 whine on blank lines)
9358 2001-09-07 16:23 dan
9360 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9361 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9362 this takes) Added global_setup.h to declare init_world function
9364 Moved variable declarations out of the interpreter loop for small
9367 Changed end opcode to now be opcode #0. A function is provided for
9368 it, but isn't ever executed.
9370 When the interpreter sees an opcode 0 in the stream it means the
9371 end of stream. Things were coring on Cygwin otherwise. (I think I
9372 was dereferencing a zero, which is bad)
9374 2001-09-06 22:07 dan
9376 * basic_opcodes.ops, process_opfunc.pl:
9378 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9379 are minor changes now that things are in a fixed state.
9381 2001-09-06 16:13 dan
9383 * basic_opcodes.c, test_opcodes.c:
9384 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9386 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9387 should be nuked. So it is. :)
9389 2001-09-06 03:35 dan
9391 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9392 Scripts to build the header file that holds the function table
9393 creation code, as well as the script to turn an opcode file to C
9394 source. (And the basic opcode functions turned into an opcode
9397 2001-09-06 03:31 dan
9399 * Makefile, interpreter.c:
9400 Changes to support the autogeneration of the opcode function
9401 pointer table in interpreter.c, along with the changes to the
9404 2001-09-05 13:27 simon
9406 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9407 docs/parrotbyte.pod, docs/vtables.pod:
9408 Added stubs for the documents; working on them this week. (What's
9409 left of it.) config.h change is just to type VTABLE, and the
9410 bytecode thing you might want to revoke. It's apidoc for the
9413 2001-09-03 18:26 simon
9416 A start on the string API documentation.
9418 2001-09-03 17:43 simon
9421 Since we specify the opcode number, we can rearrange to a more
9422 human-friendly ordering.
9424 2001-09-03 17:42 simon
9427 Coupl'a logic bugs. (I think)
9429 2001-09-03 17:41 simon
9431 * string.c, string.h, strnative.c:
9432 Tidying up the string vtables.
9434 2001-09-03 17:38 simon
9436 * make_op_header.pl:
9437 Spit out the whole of op.h, not just the bit in the middle.
9439 2001-08-29 13:16 ask
9441 * README: it seems like we indeed can commit. What about sending
9444 2001-08-29 13:07 simon
9446 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9447 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9448 global_setup.c, interpreter.c, interpreter.h, io.h,
9449 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9450 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9451 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9452 test.pbc, test_main.c, test_opcodes.c:
9453 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9454 I'm still working on the string stuff, though.
9456 2001-08-29 12:44 ask
9458 * README: update README with list address
9460 2001-08-29 12:36 ask
9462 * README: first readme.