31 2009.06.16 Whiteknight
55 2008.12.16 Whiteknight
151 * changed 'name' method on namespaces to 'get_name' per pdd21
158 * added C<isnull> opcode
165 * added :init pragma functionality to subs
168 * added :vtable pragma functionality to subs
171 * added Parrot::Embed under ext/Parrot-Embed
174 * remove the None PMC - if needed it can trivially be reimplemented
175 in languages from r14189
178 Merged Software Transactional Memory branch into trunk, adds:
179 * several new opcodes whose names start with stm_
180 * read-only PMC support
181 * several new PMC types (whose names start with STM*)
182 * support for threads (again)
189 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
190 there are opcodes now that want the real "in PMC".
191 * namespace and global opcodes now accept name arrays again, as
192 well as keys; the corresponding namespace PMC methods are gone.
195 * Parrot_exit, Parrot_on_exit take now an Interp * argument
198 * add experimental op find_type_i_p
199 * fix longstanding bug that sometimes didn't encode pasm keys as
200 Key PMCs (specifically "[S0]" and "['stringliteral']").
203 further implementation of new pdd21:
204 * new opcodes {get,set}*global
205 (old {find,store}*global will be supported for a short while)
208 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
210 (at the moment code is checking for 2.0 -- ambs)
213 partial implementation of new pdd21:
214 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
215 * get_namespace and find_global opcodes no longer accept arrays
216 of strings. To use arrays, call namespace object methods.
223 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
230 * Make the Perl PMCs dynamic and move them to src/dynpmc
237 * Shifted argument type bits left by 2 according to r11754
238 change of docs/pdds/pdd03_calling_conventions.pod
239 * if you are creating PASM then code needs adjustment
246 * rename src/dynclasses to src/dynpmc
247 * rename src/classes to src/pmc
251 * find_global and friends returns a .Null PMC instead of .Undef on
252 lookup failure, iff lookup exceptions are off
259 * renamed all .imc files to .pir
260 * modified all doc references to .pir as well
263 * moved jit/ directory to src/jit/
266 * moved io/ directory to src/io/
267 * moved classes/ directory to src/classes/
268 * moved dynclasses/ directory to src/dynclasses/
271 * moved types/ directory to src/types/
272 * moved pf/ directory to src/packfile/
273 * moved ops/ directory to src/ops/
276 * moved charset/ directory to src/charset/
277 * moved encodings/ directory to src/encodings/
280 * moved imcc/ directory to compilers/imcc/
283 * moved util/ directory to tools/util/
284 * removed imcc/examples/ directory
285 * moved ast/ directory to compilers/ast/
288 * moved imcc/docs/ directory to docs/imcc/
289 * moved build_tools/ directory to tools/build/
290 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
294 * See NEWS for changes
298 * See NEWS for changes
302 * See NEWS for changes
306 * See NEWS for changes
310 * See NEWS for changes
314 * allow short names for object attributes
315 * string encoding and charset can now be set independently
316 * experimental mmap IO layer for slurping files
317 * enable compile opcode support for compilers written in PASM/PIR
318 * improved HLL support with .HLL and n_operators pragmas
319 * simplified hash code
320 * more strength reduce optimizations
321 * distinct debug and trace flag settings
322 * glob support in PGE
323 * new character classification opcodes and interfaces
324 * numerous bug fixes and enhancements
328 * parrot repository is now under subversion
329 * MMD (Multi Method Dispatch) enhanced
330 * new unary and infix opcodes that return new result PMCs
331 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
332 * more unification of PMCs and ParrotObjects
333 * tailcalls for functions and methods
334 * PGE (Parrot Grammar Engine) reworked
335 * Pugs creates Parrot code and Pugs is a registered compiler now
337 * the usual bug fixes and improvements
341 * big rewrite of string code, not yet finished but ...
342 * partial implementation of a generational garbage collector
343 * indirect register frame addressing
344 * .return(args) PIR syntax
345 * moved most of the Python code to dynclasses
346 * a lot more Python functionality
347 * precalculate opcodes with all constants
348 * PGE - Parrot Grammar Engine
349 * scalar classes refactoring
350 * much more tests and big test system cleanup
351 * improved documentation
352 * and as always a lot more
356 * Need Perl 5.6 now for building
357 * Basic AST support, PAST file parser, bits of code generation
358 * BigInt PMC using GMP
360 * Dynamic loading improved including bundles of PMC classes
361 * Experimental support for "make install"
362 * IA64 and hppa JIT support
363 * ICU unicode support
364 * IO layer handling code
365 * IO readline and buffered IO fixes
367 * Internal pythonic functions: filter, map, reduce, max, min ...
368 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
369 * Library updates, Stream and SDL library
370 * MMD - multi method dispatch for binary vtable methods
371 * Many new array PMCs
372 * Method call syntax in PIR obj."meth"(...)
373 * More OS stuff: stat, exec, system, gmtime, piped read and write
374 * New Python PMCs like Enumerate, None
375 * Non-branching compare opcodes
376 * PIR support for += and friends
377 * Python language subdir
378 * Python types mapped to existing PMCs
379 * Slices and range support
380 * Tons of bug fixes, documentation updates, new tests
381 * Win32 COFF exec support
386 * "Ladies and gentlemen, I give you... objects!"
387 * Huge documentation overhaul
388 * More supported platforms, s. PLATFORMS
389 * Basic thread support for pthread based architectures
390 * Basic event handling for timers and signals including:
391 * PASM callbacks for NCI (native C) functions.
392 * Improved platform configuration
393 * COW stacks now working, stacks code redone
394 * Structure handling vastly improved
395 * Random PMC and rand primitives
396 * Better subroutine call syntax in PIR
397 * Make PIR subroutines compliant with pdd03
398 * Improved profiling (DOD, GC timings)
399 * Hash code improvements, incl. random key order support
400 * Experimental freeze/thaw code for some PMC types
401 * IO improvements for buffered layer and Win32
403 * String bitwise vtables
405 * Support for JIT, where malloced memory isn't executable
406 * Priority DOD scheme for objects that need timely destruction
407 * Improved bytecode loading (e.g. onLoad functions)
408 * Language updates: forth, Perl6/P6C, m4
409 * Libraries: Getopt_Long, SDL, Dumper, Sort
411 * Unified imcc and parrot test handling
412 * Many new tests (make test reports 1386 tests)
418 * Yep thirteen - haunted by the ghost of 0.0.12
419 * Build imcc as parrot
420 * Objects more finished
421 * Delegate vtable methods to byte code
422 * Binary multi-method dispatching
423 * Isa and does methods for PMCs
424 * Call byte code from C
425 * Start of extension interface
426 * Experimental struct handling
427 * Catch access to NULL PMCs
428 * Experimental network socket interface code and opcodes
429 * IO fixes and improvements
430 * Dynamic opcode libraries
431 * Fix-assigned opcode numbers
432 * Argument flattening for function calls
433 * More native call interface (NCI) signatures
434 * Ncurses, postgres, and pcre interface libraries
435 * Forth language is vastly improved
436 * BSD and Win32 build improvements
437 * Many new tests and fixes
440 * imcc moved from parrot/languages/ to parrot/
444 * updated the native_pbc test files (from Leo)
445 * built 0.0.11.1 release tarball
449 * CHANGES BUNDLED INTO 0.0.11:
451 * Dynamic PMC registration
452 * Trial exception system
453 * Beginnings of object system
456 * I/O system improvements
458 * Documentation for basic PMC types
459 * IMCC support of Parrot Calling Conventions
460 * Runtime loading of chartypes (and other string improvements)
461 * Conditional breakpoints
462 * Dramatically accelerated sweeps for finalizable objects
463 * Small PMCs (PMCs split into core and extensions)
464 * Loadable bytecode packfiles
466 * Sub variants that deal with the stack correctly
467 * Switched runops core
468 * Line numbers in warnings
470 * Many documentation cleanups
471 * Conversion to CPS style!
472 * BASIC debugger and many other wacky features
473 * Filename, line number parsing support in IMCC
475 2003-07-21 17:31 chromatic
476 * applied copyright patch from Josh Wilmes
479 * Moved the registers out of the context structure, since they
480 really aren't context
481 * Changed the register stack frames to hold only 16 registers
482 rather than 32, added half-set push and pop ops, and reworked
483 the full set push/pops to do two half-set push/pops. Should
484 speed up saving register data on calls, since we usually only
485 care about the top half of the registers anyway.
486 * Started committing some of the new class/object framework
487 * Remembered to finally start updating the Changelog
492 Update Yet Another copyright statements to reflect the (no longer
495 2003-03-11 22:06 chip
497 * Configure.pl: print help on non-option command line args
499 2002-12-18 20:38 sfink: changes since 0.0.8
501 - Allow suppression of cgoto core to save memory during compile
502 * Native function calling interface
503 * Major rewrite of stack and list aggregates
505 * Scratchpads implemented
507 - Internal memory subsystem documentation
508 * Preliminary DotGNU support
509 - Packfile fingerprinting
510 * Buffer/PMC unification (into PObjs)
511 * stabs debugging information support
512 * Major Jako overhaul, including:
514 - native function calling
515 - Perl6 string interpolation
516 - languages/regex now targets IMCC
517 * Optional Lea memory allocator
518 * Full sprintf implementation
519 * Many, many new tests
522 - runtime-controllable gc debugging
525 * JIT: various improvements
526 - register usage tracking
527 - block register allocation
531 - architecture abstraction layer
533 * Beginning support for extensible packfiles
534 * Much better key support, generally
536 * Restructured PMC hierarchy with better functionality inheritance
537 * IMCC: many, many improvements. See imcc/ChangeLog
538 * Perl6: index map grep join reverse defined
539 * Scheme with functions!
542 2002-03-19 22:54 nicholas
544 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
546 We can now get usage information for test_parrot without having to
549 2002-03-19 22:53 simon
552 Parrot is called parrot.
554 2002-03-19 22:53 nicholas
556 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
558 1. There are tests in t/pmc as well as t/op now.
559 2. Adds a comment about Parrot::Test
563 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
564 messes up automated builds
566 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
568 2002-03-19 00:33 mrjoltcola
570 * core.ops: Doc cleanup from Simon Glover.
572 2002-03-18 23:52 mrjoltcola
574 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
578 * include/parrot/resources.h: Checked in old version
582 * include/parrot/resources.h: Forgot a prototype
586 * resources.c: D'oh! Thinko, fixed.
588 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
590 2002-03-18 17:33 josh
592 * Configure.pl: Lowering the bar a bit.
594 2002-03-18 17:33 sfink
596 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
597 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
598 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
599 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
600 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
601 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
602 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
603 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
604 t/example.t: Whoops, wrong time to check this in.
608 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
609 least we consider the PMC and Buffer free pools worth collecting,
610 and initialize the Buffer pool stuff. Still not 100% correct,
613 2002-03-18 15:35 simon
618 2002-03-18 07:45 brentdax
620 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
623 2002-03-18 00:09 sfink
625 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
626 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
627 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
628 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
629 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
630 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
631 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
632 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
633 t/example.t: Buggy 1st version of regex compiler implementation.
634 Warning: the test code depends on features of the assembler that do
637 2002-03-17 21:35 ajgough
639 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
640 through addition and subtraction. Also added the ability to run
641 all the tests, including the ones which deal with overflow and
642 underflow. These fail, but that's expected. Soon they'll pass.
643 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
644 passsssssssings tesssstsssss.
646 2002-03-17 20:06 ajgough
648 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
649 check_(under|over)flow to test bignumbers, rather than values.
650 context now carries E_limit, from which max and min exp are found.
652 Added a default-context-creating function (although this isn't the
653 same as either of the default contexts defined in the eda).
655 2002-03-17 13:31 ajgough
657 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
658 exported version matches prototypes of other public functions.
660 2002-03-17 06:44 josh
662 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
663 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
664 last-minute re-indenting.
666 2002-03-17 05:07 mrjoltcola
668 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
670 2002-03-16 23:17 nicholas
672 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
675 default.pmc: In function `Parrot_default_get_integer_keyed':
676 default.pmc:50: warning: control reaches end of non-void function
677 default.pmc: In function `Parrot_default_get_number_keyed':
678 default.pmc:58: warning: control reaches end of non-void function
679 default.pmc: In function `Parrot_default_get_string_keyed':
680 default.pmc:67: warning: control reaches end of non-void function
681 default.pmc: In function `Parrot_default_get_pmc_keyed':
682 default.pmc:87: warning: control reaches end of non-void function
684 2002-03-16 18:50 ajgough
686 * types/: bignum.c, bignum.h: Lots of prototypes changed in
687 readiness for nicely telling your caller about any oddness you've
688 caused in the persuit of flow.
692 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
693 include/parrot/interpreter.h, include/parrot/resources.h: Now we
694 can control the GC and DOD, to stop it when we don't really want
699 * resources.c, vtable.tbl, classes/default.pmc,
700 include/parrot/resources.h: Added the last code to let PMCs control
701 their marking at DOD time
703 2002-03-16 16:57 ajgough
705 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
706 feel a little more virtuous now. Really I do. You might not
707 believe me, but you should. perl -pne 's/\t/ /g', if you're
710 2002-03-16 16:57 josh
712 * packfile.c, packout.c: M-x untabify is my new friend.
714 2002-03-16 16:50 josh
716 * trace.c, resources.c: Minor whitespace tweak for the benefit of
717 check_source_standards.pl
719 2002-03-16 16:50 ajgough
721 * types/: bignum.c, bignum.h: More documentation, separate
722 functions into public and private sorts, some initial stuff to cope
723 with over and underflow correctly.
725 2002-03-16 16:49 josh
727 * resources.c: Re-indented (sorry bout the big diff)
729 2002-03-16 16:47 bdwheele
731 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
732 assemble again, both with Simon's new assembler and with the old
735 2002-03-16 16:33 mrjoltcola
737 * io/TODO: Get the TODO up-to-date for 0.0.4.
739 2002-03-16 16:11 josh
741 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
742 silly people (such as me) running Configure with
743 /usr/local/bin/perl (which is 5.004_05) and not realising their
744 mistake until the pmc subdirectory, where the first qr// is
747 Syntax error messages don't tell you what you did wrong. This does:
749 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
750 only version 5.00405, stopped at Configure.pl line 10.
752 2002-03-16 14:38 ajgough
754 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
757 2002-03-16 11:45 simon
759 * MANIFEST, examples/assembly/xml_parser.pasm:
760 Added Clint Pierce's XML parser.
762 2002-03-15 22:24 simon
765 Don't need that function.
767 2002-03-15 21:56 simon
769 * Makefile.in, include/parrot/packfile.h:
770 Rebuild packout.o, since it'll be used for the Packfile XS module
774 * include/parrot/: memory.h, pmc.h: Another add-in for GC
778 * core.ops: No string to int for some reason
782 * string.c, t/op/string.t: Fix 0-length substr problem
786 * core.ops, interpreter.c, resources.c, classes/array.pmc,
787 classes/perlarray.pmc, examples/assembly/life.pasm,
788 include/parrot/interpreter.h, include/parrot/resources.h: Added in
789 a counter for copied memory, with a display in life.pasm
791 2002-03-14 03:16 mrjoltcola
793 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
795 2002-03-13 23:43 simon
800 2002-03-13 23:43 simon
805 2002-03-13 21:31 simon
810 2002-03-13 18:06 simon
814 Fix string_compare screw-up.
816 2002-03-13 18:02 brentdax
818 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
819 and add a new question/answer pair.
821 2002-03-12 22:53 mrjoltcola
823 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
825 2002-03-12 22:48 mrjoltcola
827 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
830 2002-03-12 22:29 ajgough
832 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
834 2002-03-12 22:24 ajgough
836 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
837 version 1.1, Don't know if this is the correct number, but I don't
838 want this stuck on my harddrive where it will get lost, so 14 it is
841 2002-03-12 11:35 simon
843 * MANIFEST, packdump.c, packout.c:
845 Just so the functionality doesn't disappear.
847 2002-03-12 11:33 simon
849 * Makefile.in, chartype.c, encoding.c, packfile.c,
850 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
851 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
852 include/parrot/chartype.h, include/parrot/encoding.h,
853 include/parrot/packfile.h:
857 2002-03-11 23:06 nicholas
859 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
861 Core.ops documentation nits
863 2002-03-11 23:05 nicholas
865 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
867 Most of the PerlUndef tests in pmc.t appear to have been added
869 Enclosed patch removes the duplicates.
871 2002-03-10 23:40 nicholas
873 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
875 More tests for the PerlString test-suite.
877 2002-03-10 23:40 nicholas
879 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
881 test for sleep with negative argument
883 2002-03-10 21:58 nicholas
885 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
887 Enclosed patch fixes up a few more holes in our test coverage.
889 2002-03-10 21:18 mrjoltcola
891 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
892 classes/parrotpointer.pmc, classes/perlarray.pmc,
893 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
894 classes/perlstring.pmc, classes/perlundef.pmc,
895 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
896 argument to the init() vtable method so PMCs have the option to
897 know how to size themselves at creation. size could be N elements
898 or a byte count, depending on the PMC or it may simply be ignored.
899 Overloaded 'new' opcode for optional arg.
901 2002-03-10 21:15 mrjoltcola
903 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
904 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
907 Also added small hack for .sub directive (which simply translates
908 to a label, however we might eventually want to collect these to
911 2002-03-10 15:09 ajgough
913 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
914 Added round_floor and round_ceiling. 3403 tests pass, none fail.
916 2002-03-10 03:56 ajgough
918 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
919 divide, divide integer and remainder. All filled in functions now
920 have special values capability.
922 Much remains to be done though, and the pdd needs to catch up.
924 2002-03-10 01:36 ajgough
926 * types/bignum.c: Added extended stuff to _add, _subtract.
928 2002-03-10 00:14 nicholas
930 * t/op/: integer.t, number.t: Patch from Simon Glover
933 The enclosed patch fixes a few of the holes in our test coverage
934 uncovered by Josh Wilmes
936 2002-03-09 23:03 ajgough
938 * types/: bignum.c, bignum.h: Modified compare to work with
939 extended values. Made a couple of changes here and there to allow
940 BN_comp to take a context, so that an is_zero check doesn't clobber
943 2002-03-09 22:19 ajgough
945 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
946 Unary plus now copes with special values.
948 2002-03-09 04:25 ajgough
950 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
951 traps and flags are now enabled and tested for all the standard
952 tests for all the functions which are currently implemented. Test
953 harness faffed with to allow these to be tested.
955 2002-03-09 02:29 josh
957 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
958 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
961 2002-03-09 02:22 josh
963 * config_h.in: tab-blastin'
965 2002-03-09 02:21 josh
967 * check_source_standards.pl: Play nicer with M-x compile- don't
968 bother giving line numbers for things you don't want to look at.
970 2002-03-09 02:10 josh
972 * examples/mops/mops.c: re-indented
974 2002-03-09 02:07 josh
976 * classes/pmc2c.pl: Use the usual header so that we can detect the
979 2002-03-09 02:05 josh
981 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
984 2002-03-09 01:59 josh
986 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
987 patch- re-indent io/*.c.
989 2002-03-09 01:52 ajgough
991 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
992 special values to the string conversion functions, some other
993 functions now need context (to let -0 pass through really_zero)
994 which have also been added.
996 2002-03-09 01:47 josh
998 * test_main.c: Re-indented.
1000 2002-03-09 01:41 josh
1002 * rx.c: killed a stray tab
1004 2002-03-09 01:38 josh
1006 * rx.c: Re-indented.
1008 2002-03-09 01:36 josh
1010 * misc.c: Oops, some tabs remained- cleaned up.
1012 2002-03-09 01:31 josh
1014 * misc.c: Re-indented (major patch, sorry)
1016 2002-03-09 00:59 josh
1018 * embed.c: Re-indented.
1020 2002-03-08 23:08 simon
1022 * MANIFEST, docs/pdds/pdd10_embedding.pod,
1023 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1024 docs/pdds/pdd13_bytecode.pod:
1027 2002-03-08 21:12 ajgough
1029 * include/parrot/string.h: Added private flags to string.h, mostly
1030 so that other GCed stuff can also have its very own private flags.
1032 2002-03-08 19:53 simon
1037 2002-03-08 19:41 robert
1039 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1040 pdd6.pod, pdd7.pod: Renamed...
1042 2002-03-08 18:51 simon
1044 * MANIFEST, docs/pdds/pdd08_keys.pod:
1047 2002-03-08 18:20 ajgough
1049 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1050 Introduced exception handlers and exception flags to context, will
1051 allow support of extended standard. Unified exception checking
1052 mechanism (sort of) and made minimal changes to bulk of code to use
1053 this. Tests pass, I'm happy, and further changes will happen more
1056 2002-03-08 04:38 josh
1058 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1061 2002-03-08 04:37 josh
1063 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1065 2002-03-08 04:24 josh
1067 * embed.c: A bit more re-indenting
1069 2002-03-08 04:20 josh
1071 * embed.c: Indenting fixes
1073 2002-03-08 04:14 josh
1075 * jit.c: Re-indented (run_indent.pl)
1077 2002-03-08 03:36 josh
1079 * ops2c.pl: Fix the line numbers which get reported while compiling
1082 2002-03-08 03:22 josh
1084 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1085 The variable "type" is set but never used.
1089 2002-03-08 03:04 josh
1091 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1092 io/io_unix.c: Clean up unused and set-but-not-referenced variables
1093 noticed by the sgi compiler.
1095 2002-03-08 03:02 josh
1097 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1098 misc.c, Line = 417 The indicated type qualifier is meaningless on
1105 2002-03-08 02:55 josh
1107 * Makefile.in: Clean up one of the object files it was missing
1109 2002-03-08 01:15 josh
1111 * include/parrot/interpreter.h: Fixes the following error (tcc):
1112 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
1113 comma at end of list.
1115 2002-03-06 22:15 simon
1118 Tidy up stack chunk allocation.
1120 2002-03-06 21:00 simon
1123 Create strings only once we've got string register heads set up.
1125 2002-03-06 20:31 simon
1127 * classes/perlarray.pmc:
1128 malloc(0) considered harmful.
1130 2002-03-06 20:24 simon
1132 * include/parrot/resources.h:
1133 I like it when Parrot compiles.
1135 2002-03-06 17:02 dan
1137 * classes/array.pmc: Changed over to data pointing to a Buffer.
1139 2002-03-06 15:45 dan
1141 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1142 packfile.c, pbc2c.pl, pdump.c, resources.c,
1143 include/parrot/interpreter.h, include/parrot/memory.h,
1144 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1145 and opcode_t > longs will now be even more suspect than what they
1146 were beforehand. 2) Feel free to bicker with names. I don't think
1147 we've come to *any* sort of agreement with these, although we
1148 really, really, need to. 3) I forget the third thing. 4) But I
1149 thought of a fourth. 5) I've now remembered the third thing: IIRC,
1150 ANSI C states that enums will fit within the smallest type (int or
1151 greater) that can hold the values. Is that actually correct, and
1152 does it state whether unsigned is preferred to signed for
1153 non-negative enums? 6) Since I'm no longer constrained by "three"
1154 or "quick", I'm going size_t happy for a lot of memory-related
1155 storage. (That's good. No sense wasting the size or performance
1156 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1157 a couple other internal things (like the GC stat counters, seen
1158 here). Size and performance, again, and unpromotable to a bigint,
1159 so we know that we (theoretically) will wrap. However, size_t
1160 isn't the best choice for the type. (Not that there's anything
1161 wrong with size_t, just that it shouldn't be called size_t.) Any
1162 thoughts? I was thinking of just doing unsigned int, because,
1163 IIRC, int is usually the natural word size, and will be most
1164 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1165 of was while writing down the others. Sorry.
1167 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1169 2002-03-06 15:26 dan
1171 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1172 include/parrot/resources.h: Now we allocate generic Buffers from
1175 2002-03-05 21:42 brentdax
1177 * Configure.pl: Minor cleanup and enhancements.
1179 2002-03-05 21:25 dan
1181 * resources.c: non-special GC now works with PMCs
1183 2002-03-05 19:48 brentdax
1185 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1186 Parrot now "knows" if it's a development version or a release
1187 version. See the instructions in the DEVELOPING file.
1189 2002-03-05 18:05 brentdax
1191 * MANIFEST: pasm.vim wasn't in the manifest.
1193 2002-03-05 17:57 simon
1196 Now, through much evilness, make distclean and make cvsclean work
1199 2002-03-05 17:38 dan
1201 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1202 include/parrot/interpreter.h, include/parrot/pmc.h,
1203 include/parrot/resources.h: PMC tracing complete
1205 2002-03-05 16:28 gregor
1207 * languages/jako/Makefile.in:
1208 Changed -I ../../ to -I ../../lib when calling the assembler, since
1209 the perl modules have moved.
1211 2002-03-05 05:30 josh
1213 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1214 string.c: More re-indenting via run_indent.pl.
1216 2002-03-05 05:17 josh
1218 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1221 2002-03-05 04:26 josh
1223 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1224 using run_indent.pl and some minor tweaking.
1226 2002-03-05 04:21 josh
1228 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1229 interpreter.c: Re-indented using run_indent.pl and some minor
1232 2002-03-05 03:30 josh
1234 * include/parrot/trace.h: These functions are no longer used (or
1237 2002-03-04 18:21 josh
1239 * include/parrot/trace.h: Fix a typo in the argument type.
1241 Patch from <daniel.ritz@gmx.ch>
1243 2002-03-04 03:39 josh
1245 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1246 header to jit_struct.h so we don't try to check it for conformance.
1247 (no way will it conform)
1249 2002-03-04 03:38 josh
1251 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1252 unicode.h, warnings.h: Remove some remaining tabs and split some of
1253 the remaining long lines.
1255 2002-03-04 03:17 josh
1257 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1258 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1259 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1260 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1261 string_funcs.h, trace.h, warnings.h: This is the first batch of
1262 re-indenting. This patch is the result of running run_indent.pl
1263 on the header files and manually tweaking the results where errors
1264 were noticed. This should get us closed, but some refinement may
1267 2002-03-04 03:06 josh
1269 * resources.c: Return without parens, as mentioned in PDD 7
1271 2002-03-04 03:01 josh
1273 * core.ops: POD fixes.
1275 2002-03-04 02:58 josh
1277 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1278 on autogenerated files- used by the check_source_standards.pl
1279 script (for now) to exempt autogenerated files from the checks.
1281 2002-03-04 02:51 josh
1283 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1284 warnings.c: Added the editor "boilerplate" footer to a few files
1285 which were missing it.
1287 2002-03-04 02:34 josh
1289 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1290 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1291 c preprocessor directive indentation to comply with pdd 7.
1293 (also fixes the check for this indentation in
1294 check_source_standards.pl)
1296 2002-03-04 02:32 josh
1298 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1301 perl t/harness t/op/basic..........Use of uninitialized value at
1302 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1303 line 6) # got: undef # expected: ''
1305 2002-03-04 02:30 josh
1307 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1308 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1309 "indent" program to enforce some of the code style standards
1312 Usage: ./run_indent.pl <file>
1314 2002-03-03 19:04 simon
1316 * examples/mops/mops.c:
1317 Let's make it compile, huh?
1319 2002-03-03 19:04 simon
1321 * examples/mops/mops.cs:
1324 2002-03-03 18:11 simon
1326 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1327 Added C# and MS-IL versions of mops tester.
1329 2002-03-03 14:52 simon
1332 Add a sub() op to make mops_p work.
1334 2002-03-02 18:12 nicholas
1336 * examples/mops/mops.c, include/parrot/embed.h,
1337 include/parrot/interp_guts.h, include/parrot/jit.h,
1338 include/parrot/misc.h, include/parrot/packfile.h,
1339 include/parrot/rx.h, include/parrot/warnings.h,
1340 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1341 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1342 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1343 indent variables correctly.
1345 2002-03-02 17:41 nicholas
1347 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1348 patch to fix a compiler warning.
1350 2002-03-01 22:35 dan
1352 * memory.c, resources.c, include/parrot/pmc.h,
1353 include/parrot/resources.h: PMCs now come out of arenas.
1355 2002-03-01 06:15 dan
1358 A non-existing buffer + a non-existing buffer should be a
1359 non-existing buffer, not "", which is really '\0'.
1361 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1363 2002-03-01 06:02 dan
1365 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1367 TMTOWTDI, but strcmp is probably the worse.
1369 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1371 2002-03-01 02:32 brentdax
1373 * embed.c: Debug mode now prints out the GC data.
1375 2002-02-28 23:44 dan
1377 * core.ops, resources.c, include/parrot/resources.h: Added collect
1380 2002-02-28 22:58 dan
1382 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1385 2002-02-28 22:50 dan
1387 * core.ops, interpreter.c, resources.c,
1388 examples/assembly/life.pasm, include/parrot/interpreter.h,
1389 include/parrot/resources.h: Add some stat gathering to the resource
1392 Also add an interpreter info retrieval op, and teach it about the
1393 different things it can retrieve.
1395 Finally, add some stat info to life.pasm as an example
1397 2002-02-28 21:27 dan
1399 * editor/pasm.vim: VIM mode commands for parrot assembly files
1401 Courtesy of Scott Beck <scott@gossamer-threads.com>
1403 2002-02-28 19:20 dan
1405 * examples/assembly/life.pasm: Fix a creeping string length leak.
1407 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1409 2002-02-28 18:26 dan
1411 * string.c: When you clone a constant, it ain't constant no mo'.
1413 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1415 2002-02-28 00:51 dan
1417 * MANIFEST: Add missing files
1419 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1421 2002-02-28 00:49 dan
1423 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1424 CVS seems to have several chunks missing out of it, too. This
1425 patch is simply an administrative patch, with the differences
1426 between my last version, and the one currently in there. There
1427 will be a forthcoming patch for some minor tweaking to the PDD, but
1428 I wanted a common baseline before I make any (potential) semantic
1431 There's only one semi-major change, which noone needs to worry
1432 about just yet. That's a change from PDD Format 1 to PDD Format
1433 6.0 - rationale can be found under 'Standard (Version #)' of the
1434 STANDARDS TRACK infomation. Don't worry about this yet, because it
1435 should be 6.0.0, and we need to discuss Perl versus Parrot with
1438 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1440 2002-02-28 00:27 dan
1442 * packfile.c, resources.c, examples/assembly/life.pasm,
1443 include/parrot/register.h, include/parrot/resources.h,
1444 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1447 This patch now implements a real copying collector. We trace from
1448 our root set and compact the contents of Buffer structs.
1452 *) It's very STRING-centric and doesn't handle memory stuffed in
1453 Buffers. But, then, we don't have pool allocation for Buffers
1454 either, and we need to have that soonish for this to work.
1456 *) Doesn't trace PMCs, so if you trigger a collection and there's
1457 memory or STRING structs only accessible from PMCs, you'll fail
1458 horribly. That needs fixing too
1460 *) Better algorithms for when to trace or collect vs when to just
1461 go allocate more memory from the system. Should probably be more
1464 2002-02-27 21:04 dan
1466 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1467 examples/assembly/life.pasm, include/parrot/resources.h,
1468 include/parrot/string.h, include/parrot/string_funcs.h,
1469 jit/i386/core.jit: Start of GC in
1471 2002-02-26 16:41 dan
1473 * jit/i386/string.jit: Fix a typo
1475 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1477 2002-02-26 16:37 dan
1479 * interpreter.c: Fix solaris test failures
1481 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1483 2002-02-26 16:36 dan
1485 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1486 unicode.h, warnings.h: Fixes various warts in header files, such
1487 as: * macros -added parens to prevent problems with operator
1488 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1489 is no longer used * added some more INLINE definitions for MSVC and
1492 Courtesy of Brian Lee Ray <blray@ualr.edu>
1494 2002-02-26 16:20 dan
1496 * Configure.pl: Turns out we were using a warning flag which
1497 doesn't exist on 2.7. Simple tweak though:
1499 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1501 2002-02-25 22:58 dan
1503 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1505 2002-02-25 17:36 dan
1507 * include/parrot/pmc.h: Fix the bits
1509 2002-02-23 21:57 dan
1511 * include/parrot/resources.h: Another 1.5% never hurts
1513 2002-02-23 21:44 dan
1515 * global_setup.c, memory.c, resources.c, string.c,
1516 include/parrot/resources.h: Allocate STRING headers from an arena
1517 with freelist rather than with the system malloc. First step in a
1518 good (or even a bad) GC system.
1520 2002-02-23 20:37 brentdax
1522 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1524 2002-02-22 14:59 ajgough
1526 * types/bignum.c: BN_multiply split into BN_multiply and
1527 BN_imultiply, the internal version to be used by idivide so that
1528 rounding isn't performed during intermediate stages of division.
1530 following test scripts now all pass: divide divideint add multiply
1531 subtract remainder compare rounding plus minus (these are all the
1532 operations currently implemented, rescale and power must still be
1533 written, so don't pass right now).
1535 2002-02-22 13:13 ajgough
1537 * types/bignum_atest.pl: Test harness modified to understand
1538 comments better, and be able to run unary (and rounding) tests.
1539 Currently a few rounding tests fail, which are being investigated.
1541 2002-02-22 01:41 dan
1543 * key.c: Although there's more work being done on the key stuff and
1544 this isn't the final fix, applying this patch does get parrot to
1545 build with two more compilers, so it's probably worthwhile.
1547 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1549 2002-02-22 00:53 dan
1551 * config_h.in, misc.c, include/parrot/embed.h,
1552 include/parrot/exceptions.h, include/parrot/interpreter.h,
1553 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1554 include/parrot/resources.h, include/parrot/rx.h,
1555 include/parrot/string.h, include/parrot/unicode.h,
1556 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1557 io/io_win32.c: Fixes the following (lcc) warnings:
1559 - interpreter.c:470: warning: expression with no effect elided
1560 (related to the way warnings flags were defined)
1562 - misc.c:352: warning: unreachable code
1563 misc.c:483: warning: unreachable code
1564 (i introduced these with some overzealous de-linting)
1566 - numerous warnings like this:
1567 io/io_unix.c:383: warning: conversion from pointer to void' to
1569 pointer to struct _ParrotIO function(pointer to struct
1570 Parrot_Interp,pointer
1571 to struct _ParrotIOLayer,pointer to const char,pointer to const
1573 to pointer to void)' is compiler dependent
1575 Fixes the following nits: - remove bad indenting (tabs) in the
1578 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1580 2002-02-21 21:12 ajgough
1582 * types/: bignum.c, bignum.h: These might look like massive
1583 changes, but really it's just he imposition of coding standards.
1584 The file still isn't entirely compliant, but is now much more so.
1588 o a few more comments
1589 o BN_compare uses internal BN_comp to compare
1590 o lost_digits behaviour is now correct (test harness modified to
1594 All binary functions now pass all the tests in the basic standard.
1595 Unary functions not yet tested, will be soon.
1597 2002-02-21 18:20 dan
1599 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1600 was no longer needed, and the ssize_t thing really shouldn't be
1603 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1605 2002-02-21 18:15 dan
1607 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1608 include/parrot/parrot.h: this patch adds support for the freely
1609 available borland c++ 5.5.1 compiler
1611 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1612 working borland compiler (compiler must know where to find headers
1613 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1614 cc='cl.exe' - a working make utility (borland make doesn't work,
1617 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1618 hints/mswin32.pl - remove a space from Configure.pl (very very
1619 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1620 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1621 (win32 knows it, linux not)
1623 and the why: - parrot is MUCH faster when compiled with borland c
1624 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1627 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1629 2002-02-21 18:09 dan
1631 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1632 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1633 cuddled elses, as required by PDD 7.
1635 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1637 2002-02-21 18:04 dan
1639 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1640 a new Makefile target called "check_source". This target scans all
1641 the .c and .h files in the directory and checks for conformance to
1642 a number of the standards outlined in PDD 7.
1644 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1646 2002-02-21 16:38 ajgough
1648 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1649 allow arithmetic with numbers with a fixed fractional part, buffer
1650 structures now more ready to be integrated into the parrot memory
1651 allocation game, test harness modified to allow lost_digits
1652 condition to be checked. Some more comments.
1654 2002-02-21 15:53 simon
1659 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1661 2002-02-20 16:41 dan
1663 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1665 2002-02-18 18:25 dan
1667 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1669 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1671 2002-02-18 18:21 dan
1673 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1674 CPrederef.pm to make to generated code compile with the MS
1677 fixes: - ms compiler allows inline only for c++, for c there's
1678 __inline - ms header files knows nothing about ssize_t
1680 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1682 2002-02-18 17:49 dan
1684 * MANIFEST: Add the PDDs
1686 2002-02-18 17:47 dan
1688 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1689 coding standards PDD.
1691 2002-02-18 17:40 dan
1693 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1695 2002-02-18 12:41 gregor
1698 Remove warning about exit() not being declared.
1700 2002-02-18 08:29 simon
1702 * misc.c, warnings.c, include/parrot/misc.h,
1703 include/parrot/warnings.h:
1704 This patch adds some missing const's to silence a number of gcc
1707 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1709 2002-02-18 08:26 simon
1711 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1712 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1713 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1714 include/parrot/parrot.h, include/parrot/rx.h,
1715 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1716 lib/Parrot/OpTrans/CPrederef.pm:
1717 - add makefile target and script to test for external libc
1719 - fix return values in hash and array PMCs (returning 0 in a
1721 - remove unnecessary data pointer <=> function pointer
1723 outside of the JIT code.
1724 - move the definition of the "INLINE" macro out of the rx header
1726 available for general use on C++ compilers and gcc.
1727 - remove a few unused variables
1729 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1731 2002-02-17 16:29 simon
1733 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1734 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1735 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1736 We're organised and responsible. Honest.
1738 2002-02-17 02:46 sfink
1740 * Makefile.in: Remove $^ for nmake compatibility.
1742 2002-02-16 09:20 brentdax
1744 * config_h.in, test_main.c, include/parrot/chartype.h,
1745 include/parrot/embed.h, include/parrot/encoding.h,
1746 include/parrot/string.h, include/parrot/string_funcs.h: Better
1747 embedding exposure and hiding, part 1.
1749 2002-02-16 04:38 dan
1751 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1752 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1753 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1754 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1755 typecasts in various places throughout the code. It probably won't
1756 work for Windows yet. The libparrot.a target might need to be
1757 modified to at least prevent it from confusing make on Windows; I
1760 Preliminary instructions for using pbc2c.pl are in
1761 docs/running.pod. I'll try to do better later.
1763 Courtesy of Steve Fink <steve@fink.com>
1765 2002-02-16 04:15 dan
1767 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1769 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1771 2002-02-16 00:03 simon
1773 * classes/: perlarray.pmc, perlhash.pmc:
1775 pmc is already defined!
1777 2002-02-15 23:20 brentdax
1779 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1780 include/parrot/exceptions.h: Far more informative panic messages.
1782 2002-02-15 03:24 dan
1784 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1785 much more extensive patch that fixes it to work properly, and
1786 deletes a bazillion casts as well. It also points to the question
1787 "can we make the byte_code be an opcode_t* already?"
1789 Oh, and it makes some of the formatting prettier, so it's gotta be
1792 Courtesy of * Steve Fink <steve@fink.com>
1794 2002-02-15 02:30 dan
1796 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1797 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1798 of the things it finds. Attaching the patch as well as the current
1801 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1803 2002-02-15 01:59 dan
1805 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1808 2002-02-15 01:48 dan
1810 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1812 2002-02-15 01:40 dan
1814 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1817 2002-02-14 23:30 dan
1819 * resources.c: Added comment for buffer tag routine. D'oh!
1821 2002-02-14 23:28 dan
1823 * resources.c, include/parrot/resources.h: Added buffer mark
1826 2002-02-14 23:17 dan
1828 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1829 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1830 Rejigged memory system a bit. Now should be ready for the horror
1831 that is garbage collection.
1833 2002-02-14 19:33 gregor
1835 * ops2c.pl, include/parrot/oplib.h:
1836 Added code to automatically generate a function within an oplib to
1837 lookup opinfos given the op name. This will come in handy in future
1838 when we want to twiddle opcode tables at run time and possibly at
1841 2002-02-14 19:25 gregor
1843 * examples/assembly/queens.pasm:
1844 Regenerated queens.pasm from queens.jako since the clone_* stuff
1847 2002-02-14 17:12 dan
1849 * resources.c, include/parrot/resources.h: Finished up the
1850 interface for memory and tracked interpreter thingies.
1852 2002-02-14 16:53 dan
1854 * memory.c, include/parrot/memory.h: intercept free and realloc
1856 2002-02-14 05:53 dan
1858 * interpreter.c, runops_cores.c: The type changes in struct
1859 Packfile break the pointer math used in a few places to calculate
1860 the address of the end of the loaded byte code. This causes
1861 segfaults in build_asm in jit.c when using -j. It also breaks the
1862 bounds checking on opcode address in runops_slow_core.
1864 The patch adds the necessary cast to correct the code_end
1867 Courtesy of Jason Gloudon <perl@gloudon.com>
1869 2002-02-14 01:01 ajgough
1871 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1872 BigInt operations (I think), tests for normal operation continue to
1873 pass. Also a shed load of comments.
1875 2002-02-13 01:34 ajgough
1877 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1878 is a (mostly) working bignumber library. There remains much work
1879 to do though, some functions are not yet implemented and headers
1880 need to find their way to the correct place RSN. Also support for
1881 bigints and a sensible error reporting mechanism are needed.
1883 2002-02-12 18:51 dan
1885 * misc.c: Fix some warnings
1887 2002-02-12 17:10 dan
1889 * misc.c: Run through indent -kr -nce so I can read it
1891 2002-02-12 16:49 dan
1893 * misc.c: Need standard header/footer comments
1895 2002-02-11 20:32 simon
1897 * classes/array.pmc:
1898 get and set pmc methods.
1900 2002-02-11 20:19 simon
1902 * classes/array.pmc:
1903 Maybe the keys aren't integer...
1905 2002-02-11 20:03 simon
1907 * core.ops, vtable.tbl, classes/default.pmc:
1910 2002-02-11 19:07 simon
1912 * vtable.tbl, classes/default.pmc:
1913 Add set_pmc. Usee with caution.
1915 2002-02-11 18:20 dan
1917 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1920 2002-02-11 17:59 simon
1922 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1923 classes/perlarray.pmc, classes/perlhash.pmc:
1926 2002-02-11 17:57 simon
1928 * packfile.c, include/parrot/packfile.h:
1931 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1933 2002-02-11 17:55 dan
1935 * docs/parrot_assembly.pod: Document some key ops
1937 2002-02-11 09:20 brentdax
1939 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1942 2002-02-11 00:34 simon
1944 * core.ops, include/parrot/exceptions.h:
1945 This is what keyed set ops look like. Remember, however, that for
1946 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1947 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1948 obviously ambiguous that you ought to use the 4-arg version
1951 2002-02-10 23:12 jgoff
1953 * classes/: array.pmc, perlarray.pmc: Properly allocate
1954 SELF->data's array of PMC* data in array and perlarray.pmc. This
1955 isn't tested yet, but should be fairly straightforward. PerlHash
1956 needs to be finished before the system will compile again, and that
1957 should be done in the next few days.
1959 2002-02-09 04:46 jgoff
1961 * classes/: array.pmc, default.pmc, intqueue.pmc,
1962 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1963 Added basic _keyed member functions. Unfortunately this still
1964 doesn't fix the problems that are causing the build to break. It's
1965 a start though. I'm not implementing the PMC add functions just
1968 2002-02-08 15:59 simon
1970 * classes/array.pmc:
1971 Some more work on getting the array stuff up to date.
1973 2002-02-08 12:23 simon
1975 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1976 lib/Parrot/Vtable.pm:
1977 Got array->get_integer_keyed doing what I think it ought to. One
1978 down, all the rest to go.
1980 2002-02-08 11:47 simon
1983 Although I didn't intend it to be quite that broken...
1985 2002-02-08 11:42 simon
1987 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1988 Completely break Parrot, but at least we get the key stuff right
1991 2002-02-08 06:25 dan
1993 * hints/darwin.pl: Silences the warning about passing in
1994 -flat_namespace to the compile. That's a link-only flag.
1996 2002-02-08 04:52 jgoff
1998 * classes/: array.pmc, default.pmc, intqueue.pmc,
1999 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
2000 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
2001 return values in *.pmc, added some missing casts to the repeat_foo
2002 members, and deleted the _index members from the perlscalar
2003 classes. Basic cleanup, and getting ready for _keyed functions.
2005 2002-02-07 04:49 mrjoltcola
2007 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
2008 added a nested subroutine call.
2010 2002-02-07 04:32 jgoff
2012 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
2013 changes in order to give the whitespace rules a little workout, and
2014 do a little bit more testing. No actual structural changes were
2015 made. lib/Parrot/Vtable.pm got an interface change, and more
2016 importantly should be ready to support the new '_keyed' attribute,
2017 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
2018 src_value' followed by 'KEY* src_key'. This will be how the new
2019 _keyed operators will function, and those should be written within
2022 2002-02-06 18:00 doughera
2024 * misc.c: Change C++-style comments to C comments (again). Remove
2025 unused perl5 code that was in #if 0/#endif.
2027 2002-02-06 17:59 doughera
2029 * warnings.c: Add trailing newline.
2031 2002-02-06 04:14 mrjoltcola
2033 * include/parrot/io.h, io/io.c: Minor cleanup.
2035 2002-02-06 03:11 mrjoltcola
2037 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2038 couple of loose end in win32 IO stuff. Open behaves now but needs
2041 2002-02-05 21:02 brentdax
2043 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2044 which showed up in Purify builds.
2046 2002-02-05 17:15 simon
2051 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2053 2002-02-05 17:08 doughera
2055 * misc.c: Avoid C++-style comments.
2057 2002-02-05 17:07 doughera
2059 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2060 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
2061 thanks to Jason Gloudon <perl@gloudon.com>.
2063 2002-02-05 14:04 simon
2066 Make the problem different, perhaps even better.
2068 2002-02-05 13:49 simon
2071 Possibly fix a `short int' is promoted to `int' when passed through
2072 `...' scary error, possibly make things absolutely worse.
2074 2002-02-05 13:15 simon
2079 2002-02-05 13:12 simon
2082 Not going to get far without this one...
2084 2002-02-05 11:41 simon
2087 Don't barf when handed null pointers.
2089 2002-02-05 10:04 simon
2091 * misc.c, include/parrot/misc.h:
2092 Fix some trivial bugs in warnings code.
2094 2002-02-05 09:27 simon
2097 Oops, forgot this one; also added %P support.
2099 2002-02-05 09:20 simon
2101 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2102 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2103 include/parrot/interpreter.h, include/parrot/misc.h,
2104 include/parrot/parrot.h, include/parrot/warnings.h:
2107 Courtesy of: Brent Dax <brentdax@cpan.org>
2109 2002-02-05 05:41 jgoff
2111 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2112 format of vtable.tbl to get rid of the tab-dependence. The format
2113 now looks roughly like this:
2115 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2116 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2117 assumed here, but note the C-like prototyping. Also had to disable
2118 one test that depended upon 'concat_p_p_s', which isn't necessary
2121 Vtable.pm will change again when the type '_keyed' is added,
2122 because that requires remapping parameters slightly differently
2123 again. Also, note that it assumes 'value' is the first parameter
2124 in the list. This assumption will go away at the same time.
2126 2002-02-04 16:57 ajgough
2128 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2129 functions. Thanks to Simon Glover.
2131 2002-02-04 02:47 ajgough
2133 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2134 needed. I suspect that the entire hints file isn't really needed,
2135 but there's no one to actually tell us this.
2137 2002-02-02 15:45 ask
2139 * docs/ParrotFAQ.htm: fix internal links
2141 2002-02-02 04:06 jgoff
2143 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2144 Moving the internal KEY structure from the cache.struct_val member,
2145 where it doesn't really belong, to the internal SELF->data member.
2146 This frees up the cache/type members for other usage.
2148 This is the first step in moving PMCs to the point where we can do
2149 multidimensional PMC handles. The next step is to change the
2150 assembler to accept the syntax of 'set P0["foo"],7'.
2152 2002-02-02 00:13 nicholas
2154 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2155 prototype Parrot_Array_class_init
2157 2002-02-02 00:13 nicholas
2159 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2160 time to sum_time to avoid warning on FreeBSD about tracking a
2161 global [No, this warning does not appear on Linux. Yes, it is real
2164 2002-02-01 23:02 nicholas
2166 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2169 2002-02-01 20:20 nicholas
2171 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2173 2002-02-01 18:20 nicholas
2175 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2178 2002-02-01 13:22 nicholas
2180 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2182 2002-02-01 12:19 simon
2184 * core.ops, t/op/ifunless.t, t/op/integer.t:
2187 2002-02-01 12:11 simon
2189 * lib/Parrot/Test.pm:
2192 2002-02-01 01:38 nicholas
2194 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2195 and a manitest target to Makefile.in that lets one test the
2198 2002-02-01 00:03 dan
2200 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2203 2002-01-31 21:46 gregor
2205 * Configure.pl, Makefile.in, hints/mswin32.pl:
2206 A few more things are now configable, so we are closer to win32
2207 shared library builds. Not there yet, but closer.
2209 2002-01-31 21:00 dan
2211 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2212 include/parrot/pmc.h: First step in dynamically loading PMC classes
2214 2002-01-31 19:38 dan
2216 * Makefile.in: Dependencies in the Makefile are currently too broad
2217 brush. I don't enjoy waiting for everything to recompile every
2218 time I try to tweak the jit. The only file that #includes
2219 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2220 should reflect this, and not cause a gratuitous recompile of
2221 everything. There are probably other auto-generated header files
2222 that world+dog should not depend on.
2224 Courtesy of Nicholas Clark <nick@unfortu.net>
2226 2002-01-31 19:03 gregor
2228 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2229 Added two new make targets:
2231 * testp: Like 'make test', but passes -P to t/harness, so you get
2233 see how broken predereferencing is.
2235 * testj: Like 'make test', but passes -j to t/harness, so you get
2237 see how broken JIT is.
2239 Now, anyone who wants to see how good all three ways of running are
2240 can do so, at the cost of about 3x the time.
2242 2002-01-31 17:09 brentdax
2244 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2246 2002-01-31 03:41 grunblatt
2248 * docs/jit.pod: Update jit.pod
2250 2002-01-31 03:20 grunblatt
2252 * jit/i386/core.jit: Hold this until we get an assemble tool,
2253 because of the different objdump problems.
2255 2002-01-31 03:13 grunblatt
2257 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2258 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2259 of: Jason Gloudon <perl@gloudon.com>
2261 2002-01-31 02:22 grunblatt
2263 * jit/i386/core.jit: Continue if the register is null
2265 2002-01-30 23:50 grunblatt
2267 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2268 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2269 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2272 2002-01-30 23:35 mrjoltcola
2274 * io/io_win32.c: Change implementation of isatty on win32,
2275 suggested by Hong Zhang.
2277 2002-01-30 23:19 sfink
2279 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2280 Op::may_jump boolean method.
2282 Replaced jit2h's hardcoded pattern match to decide what ops might
2283 change the control flow.
2285 2002-01-30 22:13 dan
2287 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2288 parrot to mostly-build with tcc. It allows one to skip compiling
2289 the JIT stuff (by specifying --define jitcapable=0), and it
2290 introduces a test program which gives a friendlier error in this
2291 case for compilers which are as picky as tcc is about function
2294 If anyone figures out the proper way to cast these function
2295 pointers this may not be necessary.
2297 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2299 2002-01-30 20:54 dan
2301 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2302 Here's an update to docs/running.pod to better reflect the current
2303 state (both the test_parrot and assemble.pl improvements, plus
2304 documentation of a few more things.) And also a speling fiks
2305 s/POST_MORTERM/POST_MORTEM/.
2307 I could also replace some "perl foo" calls with "./foo" if someone
2308 wanted to set the executable flag in CVS on assemble.pl,
2311 Courtesy of Steve Fink <steve@fink.com>
2313 2002-01-30 20:43 dan
2315 * core.ops: find_global doesn't work, so stub out the wrong code
2317 2002-01-30 19:08 dan
2319 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2321 can read it and just tidies it up generally. It also adds
2323 for the constantize_integer and constantize_number functions.
2325 Courtesy of Simon Glover <scog@roe.ac.uk>
2327 2002-01-30 18:02 dan
2329 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2330 classes/genclass.pl, classes/pmc2c.pl,
2331 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2332 distribution (including assemble.pl !)
2333 can no longer find the Parrot::* modules. Enclosed patch fixes
2335 it would be nice if there were an easier way to do this).
2337 Courtesy of Simon Glover <scog@roe.ac.uk>
2339 2002-01-30 16:00 mrjoltcola
2341 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2344 2002-01-30 15:50 mrjoltcola
2346 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2348 2002-01-30 15:42 grunblatt
2350 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2353 2002-01-30 15:38 grunblatt
2355 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2356 the manifest, and also puts it back into alphabetical order.
2358 Courtesy of: Simon Glover <scog@roe.ac.uk>
2360 2002-01-30 14:41 nicholas
2362 * embed.c: Patch from Simon Glover to clean up warnings where
2363 prototype is () not (void)
2365 2002-01-30 13:54 nicholas
2367 * include/parrot/embed.h, test_main.c: Add void as an explicit
2368 parameter in test_main.c's usage(), version(void) and embed.h's
2369 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2370 warning: function declaration isn't a prototype
2372 2002-01-30 12:08 simon
2374 * lib/Parrot/.cvsignore:
2375 Ignore generated Perl modules.
2377 2002-01-30 12:07 simon
2380 Run the PMC tests as well.
2382 2002-01-30 12:04 simon
2385 Fix MANIFEST after recent t/pmc rejig.
2387 2002-01-30 11:42 simon
2389 * lib/Parrot/Test.pm:
2390 Report non-zero exit codes.
2392 Courtesy of: Michael G Schwern <schwern@pobox.com>
2394 2002-01-30 11:39 simon
2397 Skip final test, TODO doesn't work yet.
2399 2002-01-30 09:54 brentdax
2401 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2402 predereferencing works.
2404 2002-01-30 09:38 brentdax
2406 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2409 2002-01-30 09:37 brentdax
2411 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2413 2002-01-30 09:37 brentdax
2415 * config_h.in: Expose another flag for embedders.
2417 2002-01-30 05:07 jgoff
2419 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2420 location for Parrot/, and t/harness wasn't able to run the new
2421 op/pmc tests. Both problems fixed, so I think I'm going to declare
2422 the build suitable for public consumption.
2424 2002-01-30 04:34 robert
2426 * docs/Makefile.in: update for CVS movement
2428 2002-01-30 04:32 robert
2430 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2431 .in file, not the real Makefile)
2433 2002-01-30 04:20 robert
2435 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2436 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2437 related to moving files around
2439 2002-01-30 04:10 robert
2441 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2443 2002-01-30 04:07 robert
2445 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2447 2002-01-30 03:56 robert
2449 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2450 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2451 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2452 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2453 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2454 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2455 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2456 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2459 2002-01-30 03:46 robert
2461 * languages/miniperl/miniperlc: renamed to mpc
2463 2002-01-30 03:45 robert
2465 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2466 pmc_perlstring.t: Moved to t/op/pmc/
2468 2002-01-30 03:40 robert
2470 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2472 2002-01-30 03:14 jgoff
2474 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2475 Fixed some problems with PerlArray and added tests. Previously,
2476 only integers could be accessed by negative indices. After this
2477 change, all basic types can be accessed by negative indices, and
2478 they can also be set at negative indices.
2480 2002-01-29 22:13 brentdax
2482 * TODO: Just look at the stupid diff.
2484 2002-01-29 21:53 simon
2486 * TODO, docs/vtables.pod:
2487 New TODO, and tiny addition to vtables.pod
2489 2002-01-29 21:47 mrjoltcola
2491 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2493 2002-01-29 21:38 mrjoltcola
2495 * Makefile.in: Makefile.in tweak for io depend.
2497 2002-01-29 21:15 brentdax
2499 * embed.c: Fix a segfault and some profiling formatting nits.
2501 2002-01-29 20:54 brentdax
2505 2002-01-29 20:50 brentdax
2507 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2510 2002-01-29 20:17 mrjoltcola
2512 * interpreter.c, core.ops, io.ops: CVS missed this.
2514 2002-01-29 20:17 mrjoltcola
2516 * io/io.c: These should have gone in Sunday with the rest. CVS is
2519 2002-01-29 18:39 brentdax
2521 * platforms/win32.h: Fix Win32 whoops.
2523 2002-01-29 18:29 brentdax
2525 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2527 2002-01-29 17:51 simon
2529 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2530 include/parrot/embed.h, include/parrot/parrot.h:
2531 Embedding support. Cool.
2533 Courtesy of: <brentdax@cpan.org>
2535 2002-01-29 15:40 grunblatt
2537 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2538 Gloudon <perl@gloudon.com>
2540 2002-01-29 14:42 simon
2542 * include/parrot/parrot.h:
2543 Platform stuff has to be included *after* system headers.
2545 2002-01-29 14:05 grunblatt
2547 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2548 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2549 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2550 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2551 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2553 2002-01-29 10:56 simon
2555 * platforms/generic.h:
2556 If we don't have a S_ISREG, produce something close to it.
2558 2002-01-29 06:01 dan
2560 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2562 2002-01-29 04:38 jgoff
2564 * classes/array.pmc: Forgot to remove some C++-isms from the
2565 get_{foo}_index routines.
2567 2002-01-29 04:26 jgoff
2569 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2570 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2571 t/pmc/array.t: Added array class that languages other than perl can
2572 use for a basis. It has no features like preextension, and the
2573 array index starts at 0.
2575 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2576 and classes/Makefile.in - Added array.pmc to the makefile.
2577 (Assuming rules like .pmc.o are portable (or even possible) I might
2578 alter classes/Makefile.in to autobuild the appropriate files.
2580 2002-01-29 02:32 dan
2582 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2583 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2584 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2585 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2586 Update to Test::More 0.41 which adds Test::Builder
2588 Delete the vestigal Test::Utils
2590 Change Parrot::Test so it uses Test::Builder instead of Evil
2594 output_* now returns whether the test passes or fails
2596 Parrot::Test no longer exports Test::More's functions. Instead
2598 can simply be used together. The few tests which used
2600 features (ie. skip) have 'use Test::More' added.
2602 I ditched the export_to_level() crutch. Do we expect parrot to
2604 5.004? (literally 5.004, not 5.004_04)
2606 Courtesy of Michael G Schwern <schwern@pobox.com>
2608 2002-01-28 21:04 dan
2610 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2611 pointer should actually be to
2612 parrot_assembly.pod, as the canonical documentation.
2614 Courtesy of Simon Glover <scog@roe.ac.uk>
2616 2002-01-28 20:21 dan
2618 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2621 2002-01-28 19:18 dan
2623 * core.ops, register.c: clone[insp] is dead
2625 2002-01-28 17:46 grunblatt
2627 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2628 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2630 2002-01-28 16:45 dan
2632 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2633 the requirement for fink at the moment.
2635 2002-01-28 15:59 simon
2638 People might try and run a directory file, with spectacular
2639 results. We don't want that. No.
2641 2002-01-28 14:58 doughera
2643 * core.ops: Avoid C++-style comments.
2645 2002-01-28 14:16 grunblatt
2647 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2648 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2651 2002-01-28 13:47 doughera
2653 * include/parrot/register.h: Avoid C++-style comment.
2655 2002-01-28 06:03 dan
2657 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2658 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2659 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2660 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2661 include/parrot/parrot.h, include/parrot/regfuncs.h,
2662 include/parrot/register.h, include/parrot/register_funcs.h,
2663 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2664 are now stored in the interpreter structure itself, rather than
2665 just a pointer to the top of the register structure. Pushes and
2666 pops now involve memcpys, but register access has one fewer
2669 Fails four of the register stack tests, though, so not perfect.
2670 Needs fixing, but this is a good place to start.
2672 2002-01-28 04:40 mrjoltcola
2674 * test_main.c: cvs commit missed this. ??
2676 2002-01-28 04:27 mrjoltcola
2678 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2679 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2680 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2681 interpreter now (at least in theory). IO handle array added. Misc
2682 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2683 we don't conflict with system libraries. Still have broken
2684 stuff in win32 and stdio layer.
2686 2002-01-28 04:01 mrjoltcola
2688 * include/parrot/chartype.h: Typo in chartype.h include guard.
2690 2002-01-28 03:41 mrjoltcola
2692 * t/op/interp.t: Fix flag for interp so we don't get "info"
2693 messages which break tests.
2695 2002-01-28 01:54 dan
2697 * include/parrot/string.h: A few more buffer/string flags
2699 2002-01-27 11:33 nicholas
2701 * chartypes/unicode.c: Cast unsigned argument to int in call to
2702 isdigit to silence gcc warning.
2704 2002-01-26 23:18 grunblatt
2706 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2709 2002-01-26 23:17 grunblatt
2711 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2712 jit/i386/core.jit: [no log message]
2714 2002-01-26 22:18 simon
2716 * jit/i386/core.jit:
2717 Jumping to 0x0 is a recipe for segfaults.
2719 2002-01-26 18:35 simon
2722 Allow user to select which tests to harness
2724 Courtesy of: Nicholas Clark <nick@unfortu.net>
2726 2002-01-26 17:20 grunblatt
2728 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2729 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2730 to make the jit work in linux again.
2732 2002-01-26 16:52 dan
2734 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2735 headers can't cope with this. Darwin-only
2737 2002-01-26 16:04 dan
2739 * include/parrot/parrot.h: Quick note to remind folks that this
2740 isn't the file they're looking for if they're writing extensions or
2743 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2745 2002-01-26 00:41 mrjoltcola
2749 2002-01-26 00:37 mrjoltcola
2751 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2754 2002-01-25 01:31 grunblatt
2756 * jit/alpha/core.jit: There is no neg or fneg.
2758 2002-01-25 01:27 grunblatt
2760 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2761 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2762 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2763 t/op/number.t: Added Parrot_neg. Erase t.s
2765 2002-01-24 23:26 dan
2767 * interpreter.c: Best make sure unused elements are NULL
2769 2002-01-24 23:24 dan
2771 * interpreter.c: Fix stupid thinko
2773 2002-01-24 18:37 doughera
2775 * Makefile.in: Add a few missing dollar signs in the lifetest
2776 section so that ${exe} and the like get properly interpolated.
2778 2002-01-24 18:15 mrjoltcola
2780 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2781 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2782 Simon Glover <scog@roe.ac.uk>
2784 2002-01-24 06:43 mrjoltcola
2786 * io/io_stdio.c: Oops.
2788 2002-01-24 06:34 mrjoltcola
2790 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2791 of work on the buffering layer. Decided to use shared read/write
2792 buffer (as do most implementations) for now since its the simplest
2793 way to keep everything synced, (flush on seeks, flush read on
2796 2002-01-24 03:38 mrjoltcola
2798 * test_main.c: Cleaned up option handling code a bit for main().
2800 2002-01-23 23:22 dan
2802 * interpreter.c, include/parrot/interpreter.h,
2803 include/parrot/resources.h: Now each interpreter gets its own hash
2806 2002-01-23 20:45 dan
2808 * Configure.pl: Fix a warning when there's no - in an architecture
2810 2002-01-22 23:57 grunblatt
2812 * docs/running.pod: [no log message]
2814 2002-01-22 20:29 doughera
2816 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2817 appears to be a generic problem (if sizeof(long double) >
2818 sizeof(double)), not an x86-specific one.
2820 2002-01-22 16:57 doughera
2822 * runops_cores.c: Change variable name from time to starttime to
2823 avoid gcc warning about variable name shadowing.
2825 2002-01-22 16:55 doughera
2827 * classes/pmc2c.pl: Include class_init prototype too.
2829 2002-01-22 16:01 doughera
2831 * MANIFEST: [no log message]
2833 2002-01-22 01:04 ajgough
2835 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2836 classes/parrotpointer.pmc, classes/perlarray.pmc,
2837 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2838 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2839 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2840 warnings from pmc files. Message-ID:
2841 <20020121224719.GE1726@Bagpuss.unfortu.net>
2843 2002-01-22 00:53 ajgough
2845 * test_main.c: Clears up a couple of warnings in test_main.c.
2846 Thanks to Nick Clark. Message-ID:
2847 <20020121190457.GB1726@Bagpuss.unfortu.net>
2849 2002-01-22 00:47 ajgough
2851 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2852 include/parrot/chartype.h: Cause all codepoints to be treated as
2853 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2854 Nick Clark, see also: Message-ID:
2855 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2857 2002-01-22 00:24 dan
2859 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2861 Appended patch cures these warnings:
2863 key.c: In function `debug_key': key.c:29: warning: int format,
2864 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2865 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2866 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2867 format, INTVAL arg (arg 4)
2869 Courtesy of Nicholas Clark <nick@unfortu.net>
2871 2002-01-21 12:41 mrjoltcola
2873 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2876 2002-01-21 06:37 mrjoltcola
2878 * io/io.c: Cleanup a warning
2880 2002-01-21 06:28 mrjoltcola
2882 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2883 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2884 ops. Various other IO twiddlings.
2886 2002-01-21 03:25 grunblatt
2888 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2889 Melvin Smith for the catch up.
2891 2002-01-20 23:13 sfink
2893 * stacks.c: Fixed logic errors, need tests
2895 2002-01-20 22:17 brentdax
2897 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2898 prepare for /i to work.
2900 2002-01-20 20:52 grunblatt
2902 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2903 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2904 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2905 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2906 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2907 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2908 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2909 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2910 jit/alpha/string.jit:
2911 - Added support for ALPHA, by now linux and bsd.
2913 - Reduced jit2h.pl execution time by precompiling the call to the
2916 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2917 Parrot/Jit/${cpuarch}Generic.pm
2919 - Changed the way to detect quads to what is written in "man
2922 2002-01-20 17:23 brentdax
2924 * rx.ops: There's no such thing as rx_allocateinfo.
2926 2002-01-19 08:26 brentdax
2928 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2930 2002-01-19 07:12 mrjoltcola
2932 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2933 into io.ops, leave the STDIO wrappers in core.ops until they
2934 disappear. Added debug op for switching on VM debug flag
2936 2002-01-19 01:55 mrjoltcola
2938 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2939 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2941 2002-01-19 00:55 brentdax
2943 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2944 include/parrot/rxstacks.h: Add regex-specific stacks for
2947 2002-01-18 23:58 dan
2949 * Configure.pl: I think the optimal fix here is simply to remove
2950 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2951 man pages say "There is no reason to use this option [-pedantic];
2952 it exists only to satisfy pedants."
2954 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2956 2002-01-18 23:23 dan
2958 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2959 docs/running.pod, which lists the various executables Parrot
2960 currently includes, examples of running them, and mentions of where
2961 they fail to work. It's more of a cry for help than a useful
2962 reference. :-) I've been having trouble recently when making
2963 changes in figuring out whether I broke anything, because any
2964 non-default way of running the system seems to be already broken. I
2965 can't tell what brokenness is expected and what isn't.
2967 Courtesy of Steve Fink <steve@fink.com>
2969 2002-01-15 22:13 brentdax
2971 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2972 substring use and enhance performance.
2974 2002-01-15 21:03 ajgough
2976 * string.c: Fix problem with string_transcode, &dest not being
2977 updated if src was already in desired encoding.
2979 2002-01-15 16:54 brentdax
2981 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2982 warnings. Leaves only one warning, at rx.ops line 409, that I
2983 can't manage to get rid of.
2985 2002-01-15 16:50 dan
2987 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2988 code. Also patches pbc2c.pl to work with rx.ops.
2990 Courtesy of Jason Gloudon <perl@gloudon.com>
2992 2002-01-15 16:15 dan
2994 * classes/Makefile.in: All the C files in classes/ weren't being
2995 compiled with an of the gcc warnings flags. With this patch they
2996 are, and there are an awful lot of warnings, more than I could hope
2997 to understand and clear up (within any sensible time period before
2998 submitting a rash of patches, by which time everyone else would
2999 have moved the code on)
3001 Courtesy of Nicholas Clark <nick@unfortu.net>
3003 2002-01-15 16:10 dan
3005 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
3006 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
3007 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
3008 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
3009 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
3010 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
3011 chartypes/usascii.c: This patch adds a few more macros for .ops
3012 files to use. In addition to the existing
3026 This is intended mainly for use in helper functions in .ops files,
3027 but also for ops that need to eg push the address of the next
3028 opcode onto a stack. The only place this currently happens (outside
3029 of my private code) is in the bsr opcode, which previously
3030 hardcoded the computation.
3032 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3033 higher in the generated file so that it can be used by static
3034 functions in the preamble.
3036 Finally, I ran into a parentheses matching problem -- should goto
3037 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
3038 \bgoto\s+OFFSET\((.*?)\)
3040 It was done inconsistently for the different calculations, and of
3041 course neither are correct because you really want matching
3042 parentheses. But that seems like too much bother. (Currently,
3043 there's only one place that uses anything other than $n in the
3044 parentheses, and that's the enternative() op.) So I made them all
3045 .*? but emulated recent POD by also allowing (( ... )) (that's two
3046 parenthesis with a space padding the body.)
3048 The generated core_ops.c and core_ops_prederef.c files after this
3049 patch are identical except for the CUR_OPCODE and REL_PC macros
3050 getting moved a little higher, and the bsr in the regular path (not
3051 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3053 In summary, this is a big wad of meaningless changes for the
3054 current code. But it will make adding some opcodes easier in the
3055 future, and cleans up a small nit in the current bsr.
3057 Courtesy of Steve Fink <steve@fink.com>
3059 2002-01-15 08:48 brentdax
3061 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3064 2002-01-15 08:45 brentdax
3066 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3068 2002-01-15 05:00 brentdax
3070 * rx.ops: Speed up rx_literal--roughly doubles benchmark
3073 2002-01-14 20:18 dan
3075 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3077 Courtesy of Nicholas Clark <nick@unfortu.net>
3079 2002-01-14 20:03 dan
3081 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3082 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3083 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3084 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3085 classes/parrotpointer.pmc, classes/perlarray.pmc,
3086 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3087 classes/perlstring.pmc, classes/perlundef.pmc,
3088 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3089 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3090 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3091 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3092 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3093 patch cleans up most of the MSVC-warnings when using warning level
3094 4 (the highest, one above the default level 3). It turns off two
3095 level-4 warnings for 'unreferenced formal parameter' and 'named
3096 type definition in parentheses', the latter of which was turning up
3097 warnings in MS VC headers. Level 4 warnings also helped me find a
3098 couple of other lurking bugs in the parrot code.
3100 Replaces the various fprintf/exit combos with calls to
3101 internal_exception, which uses var_args to emulate printf. Various
3102 exception types were added as well. These are probably temporary
3103 until a real exception system arrives.
3105 Fixed some places in the IO code where wrong functions were being
3106 called, or put into the vtable.
3108 Courtesy of "Michel Lambert" <mlambert@legendent.com>
3110 2002-01-14 19:00 dan
3112 * MANIFEST: D'oh! Forgot a file.
3114 Courtesy of Andy Dougherty <doughera@lafayette.edu>
3116 2002-01-14 18:44 brentdax
3118 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3119 sense (and a few other enhancements to regexes).
3121 2002-01-14 07:07 brentdax
3123 * interpreter.c, runops_cores.c, test_main.c,
3124 include/parrot/interpreter.h: Make profiling a little more useful.
3126 2002-01-13 19:44 dan
3128 * Configure.pl: Turn off unsed things warnings for now
3130 2002-01-13 19:39 dan
3132 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
3134 classes/perlarray.c: * get_string: is casting
3135 SELF->cache.struct_val to a STRING*, while all other methods are
3136 using it as a KEY*; don't know what a perlarray stringifies to,
3137 so replacing with NULL * get_bool: the default behaviour does not
3140 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3142 2002-01-13 19:37 dan
3144 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
3145 flags to LDFLAGS, so that Configure.pl --debugging works with
3148 classes/Makefile.in make easier to add pmb2c.pl flags to all
3151 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3153 2002-01-13 19:36 dan
3155 * io/io_win32.c: according to my MSVC docs, you should use
3159 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3161 2002-01-13 19:35 dan
3163 * docs/intro.pod: Doc tweak.
3165 Courtesy of Simon Glover <scog@roe.ac.uk>
3167 2002-01-13 19:34 dan
3169 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3174 works with PerlString PMCs; these should be false if they are "",
3176 are undefined, and true in every other case.
3178 Courtesy of Simon Glover <scog@roe.ac.uk>
3180 2002-01-13 19:23 dan
3182 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3183 NUMVAL_FMT to FLOATVAL_FMT.
3185 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3187 2002-01-13 17:45 jgoff
3189 * Makefile.in, global_setup.c, classes/Makefile.in,
3190 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3191 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3192 designing your own classes.
3194 2002-01-13 08:47 simon
3196 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3197 lib/Parrot/OpTrans/CPrederef.pm:
3198 Fix bsr in prederef mode.
3200 Courtesy of: Jason Gloudon <perl@gloudon.com>
3202 2002-01-12 15:33 dan
3204 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3205 string.c, encodings/singlebyte.c, encodings/utf32.c,
3206 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3207 Silence most of the unused variable warnings.
3209 Courtesy of Nicholas Clark <nick@unfortu.net>
3211 2002-01-12 15:18 dan
3213 * rx.ops: This patch fixes a warning and also changes an 'int' to
3214 an 'INTVAL'. All tests should pass on Solaris.
3216 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3218 2002-01-12 15:13 dan
3220 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3221 examples/assembly/life.pasm, include/parrot/interpreter.h,
3222 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3223 io/io_win32.c: More IO work. (Plus some misc twiddles)
3225 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3227 2002-01-12 01:14 dan
3229 * include/parrot/string.h: fix a missing name
3231 2002-01-12 00:39 grunblatt
3233 * include/parrot/string.h: Few typos.
3235 2002-01-12 00:16 grunblatt
3237 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3238 that change the program control flow.
3240 2002-01-11 23:53 brentdax
3242 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3243 ParrotPointer's guts.
3245 2002-01-11 23:03 dan
3247 * include/parrot/string.h: flags for the buffers, for GC
3249 2002-01-11 22:31 dan
3251 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3253 2002-01-11 22:21 dan
3255 * include/parrot/pmc.h: Started with PMC flags
3257 2002-01-11 19:33 dan
3259 * config_h.in, memory.c, resources.c, string.c,
3260 include/parrot/resources.h: Beginnings of a memory allocation/gc
3261 system. Without the GC part.
3263 2002-01-11 18:05 dan
3265 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3268 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3270 2002-01-11 17:50 dan
3272 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3273 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3274 a patch that makes pbc2c generated code work with the bsr opcode.
3275 It creates a new opcode 'enternative', and uses this to support a
3276 mixed model of interpretation and execution of compiled C code.
3278 Courtesy of Jason Gloudon <perl@gloudon.com>
3280 2002-01-11 17:48 dan
3282 * Makefile.in: Add life as a potential .exe target
3284 2002-01-11 17:30 dan
3286 * include/parrot/resources.h: Start of arena stuff for GC
3288 2002-01-11 05:34 brentdax
3290 * rx.ops: Docs modifications.
3292 2002-01-11 04:19 brentdax
3294 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3295 regular expressions.
3297 2002-01-11 03:44 grunblatt
3299 * jit/i386/core.jit: off by one.
3301 2002-01-11 02:25 dan
3303 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3305 Courtesy of Steve Fink <steve@fink.com>
3307 2002-01-11 00:32 brentdax
3309 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3311 2002-01-10 23:22 ajgough
3313 * string.c, docs/strings.pod: Removed all the nul termination code,
3314 as this is in general a bad idea. Note added to docs/strings.pod
3315 to warn people away from assuming termination.
3317 2002-01-10 23:14 dan
3319 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3320 testparrotsizes_c.in, include/parrot/interpreter.h,
3321 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3324 Courtesy of Steve Fink <steve@fink.com>
3326 2002-01-10 22:48 dan
3328 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3331 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3333 2002-01-10 22:46 dan
3335 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3336 t/pmc/perlhash.t: Well, actually two bugs.
3338 The first is an off-by-one error in key.c than can cause parrot
3339 to segfault if hash % NUM_BUCKETS happens to be zero.
3341 The other is a bug in the PerlHash init() code that causes new
3343 PMCs to start with the wrong size.
3345 Both fixed below; also tests to prevent them recurring.
3347 Courtesy of Simon Glover <scog@roe.ac.uk>
3349 2002-01-10 22:30 dan
3351 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3352 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3355 Courtesy of Simon Glover <scog@roe.ac.uk>
3357 2002-01-10 21:31 dan
3359 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3361 2002-01-10 20:30 grunblatt
3363 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3364 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3365 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3366 All the op codes that doesn't change the program control flow now
3367 work in the JIT by calling the code generated by the compiler when
3368 the op is not in core.jit TODO: * Make all the ops that change
3369 the program control flow (and are not on core.jit) work. *
3370 Remove the dispatch payload.
3372 2002-01-10 17:13 dan
3374 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3375 which tries to return 0 from a void function.
3377 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3379 2002-01-10 17:12 dan
3381 * t/op/macro.t: Skip tests, don't comment them out.
3383 Courtesy of Simon Glover <scog@roe.ac.uk>
3385 2002-01-10 17:10 dan
3387 * rx.c: This fixes a couple of nits in rx.c:
3389 1. There's no newline at the end, which makes gcc unhappy.
3390 2. We should use NULL, not 0 or "", for creating null pointers.
3392 Courtesy of Simon Glover <scog@roe.ac.uk>
3394 2002-01-10 17:09 dan
3396 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3400 Courtesy of Simon Glover <scog@roe.ac.uk>
3402 2002-01-10 16:54 ajgough
3404 * resources.c: Made free_string check that there was a string to
3405 free. In reponse to a bug spotted by Joshua Nye.
3407 2002-01-09 22:44 dan
3409 * global_setup.c: Forgot the setup
3411 2002-01-09 22:35 dan
3413 * rx.ops: Forgot this one
3415 2002-01-09 22:35 dan
3417 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3418 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3419 Tests don't work, though.
3421 Courtesy of "Brent Dax" <brentdax@cpan.org>
3423 2002-01-09 21:48 dan
3425 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3427 2002-01-09 21:22 dan
3429 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3430 Generic pointer holder class
3432 Courtesy of "Brent Dax" <brentdax@cpan.org>
3434 2002-01-09 21:19 dan
3436 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3439 2002-01-09 19:54 dan
3441 * io/io_unix.c: Whoops. Forgot one
3443 2002-01-09 19:43 dan
3445 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3446 t/pmc/perlhash.t: Fix hash crash bugs
3448 Courtesy of Simon Glover <scog@roe.ac.uk>
3450 2002-01-09 19:13 dan
3452 * memory.c: Signedness whoops.
3454 Courtesy of Simon Glover <scog@roe.ac.uk>
3456 2002-01-09 18:23 dan
3458 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3459 io/io_stdio.c, io/io_win32.c: Changes:
3461 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3462 will be using the Win32 API and company rather than the unix-ish
3463 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3464 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3465 stuff is there. Soon we should be able to start using these
3466 rather than fprintf(stderr, ...) and remove stdio linkage.
3468 Courtesy of <mrjoltcola@mindspring.com>
3470 2002-01-09 17:26 dan
3472 * test_main.c: Fixes bad code gen on x86.
3474 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3476 2002-01-09 17:24 dan
3478 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3479 classes/perlnum.pmc: This patch adds macros to the config.h file
3480 for INTVAL and NUMVAL printf formats.
3482 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3484 2002-01-08 22:55 ajgough
3486 * docs/vtables.pod: Clarify what get_string should do.
3488 2002-01-08 20:05 dan
3490 * key.c: Keep comments in sync.
3492 Courtesy of Simon Glover <scog@roe.ac.uk>
3494 2002-01-08 19:50 dan
3496 * memory.c, include/parrot/memory.h: Need a realloc
3498 2002-01-08 17:24 gregor
3500 * .cvsignore, Configure.pl, Makefile.in:
3501 Added 'reconfig' make target and corresponding --reconfig option to
3502 Configure.pl, so its very easy to re-run Configure.pl with the last
3503 (command-line) options you passed it.
3505 2002-01-08 16:33 dan
3507 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3508 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3509 in core.ops. Potential help for optimizers and JITters.
3511 Courtesy of gregor@linux1.kennedytech.com
3513 2002-01-08 16:32 dan
3515 * key.c: Grab key length from the right spot
3517 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3519 2002-01-08 13:27 ajgough
3521 * test_main.c: Fix slight thinko in realloc usage for reading from
3524 2002-01-08 11:34 ajgough
3526 * test_main.c: Allow test_parrot to read bytecode stream from
3527 stdin, adds -f command line option, with "-f -" doing the stdin
3530 2002-01-08 06:34 jgoff
3532 * key.c, include/parrot/key.h: key.c - Added simple implementation
3533 of buckets. include/parrot/key.h - Added enum_key_bucket type
3535 2002-01-08 03:21 jgoff
3537 * include/parrot/key.h: Added an undef type to the key structure,
3538 so we can delete keys without confusion.
3540 2002-01-07 22:09 dan
3542 * key.c, packfile.c, string.c, include/parrot/key.h,
3543 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3544 about index being redefined
3546 Courtesy of Nick Clark
3548 2002-01-07 21:15 dan
3550 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3552 Courtesy of Steve Fink <steve@fink.com>
3554 2002-01-07 20:48 dan
3556 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3559 Courtesy of "Brent Dax" <brentdax@cpan.org>
3561 2002-01-07 20:43 dan
3563 * docs/intro.pod: Missing a comma
3565 Courtesy of "coral" <coral@eekeek.org>
3567 2002-01-07 20:41 dan
3569 * global_setup.c: Quiet a warning
3571 Courtesy of Simon Glover <scog@roe.ac.uk>
3573 2002-01-07 18:58 gregor
3576 Ignore intermediate test files.
3578 2002-01-07 17:01 gregor
3581 Print a warning if an .ops file is mentioned more than once on the
3584 2002-01-07 16:12 ajgough
3586 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3587 these shouldn't fail.
3589 2002-01-07 15:15 simon
3591 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3594 2002-01-07 15:11 simon
3597 Fix zero-termination bug in hash function.
3599 2002-01-07 13:37 ajgough
3601 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3602 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3604 2002-01-07 11:53 brentdax
3606 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3607 (:add{foo}) and a new deleting thing (:rem{foo})
3609 2002-01-07 11:43 simon
3612 Gobble the + before concatenating.
3614 2002-01-07 03:53 dan
3616 * Makefile.in: Dependency fix for new ops setup.
3618 2002-01-07 03:33 jgoff
3620 * classes/perlarray.pmc: Add negative indices, and fix a small
3623 2002-01-06 23:54 ajgough
3625 * hints/os2.pl: Makes the hints file take account of ldflags and
3626 ccflags being split. This hints file is still very specific to
3627 builds with gnu tools, but a proper solution can wait. Thanks to
3630 2002-01-06 22:12 dan
3632 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3633 -changes Parrot::OpLib::core's dependencies to reflect the new
3634 selectable ops files -allows some of the special forms of 'goto'
3635 inside the PREAMBLE of an opcode file
3637 Courtesy of "Brent Dax" <brentdax@cpan.org>
3639 2002-01-06 19:59 simon
3644 2002-01-06 18:19 dan
3646 * classes/perlhash.pmc: Fix some type issues.
3648 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3650 2002-01-06 18:03 dan
3652 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3653 for a list of opcode files to use. The default is everything
3654 available except for obscure.ops.
3656 In addition, it makes it so that if your answer to a question
3657 starts with '+', it will concatenate it to the default. For
3660 What C compiler do you want to use? [cl] +HAHAHA!!!
3662 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3663 is not terribly useful, it is quite useful with things like
3664 command-line flags and the like.
3666 Finally, it contains a couple tweaks so that my syntax-highlighting
3667 editor recognizes some heredocs correctly. :^)
3669 Courtesy of "Brent Dax" <brentdax@cpan.org>
3671 2002-01-06 17:59 dan
3673 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3675 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3677 2002-01-06 17:58 dan
3679 * MANIFEST: We're missing a couple of files from the MANIFEST.
3681 Courtesy of Simon Glover <scog@roe.ac.uk>
3683 2002-01-06 17:57 dan
3685 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3686 Compiler directives, etc. in files other than core.ops will now
3687 work. 2. Compiler warnings will now display the file and line
3688 number of the opcode file.
3690 Courtesy of "Brent Dax" <brentdax@cpan.org>
3692 2002-01-06 17:52 dan
3694 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3696 Courtesy of Simon Glover <scog@roe.ac.uk>
3698 2002-01-06 17:36 dan
3700 * docs/intro.pod: Lots of updates
3702 Courtesy of Simon Glover <scog@roe.ac.uk>
3704 2002-01-06 02:34 gregor
3707 Add some internal documentation on the theory of operation of the
3710 2002-01-06 02:17 gregor
3713 Removed unnecessary include.
3715 2002-01-05 12:37 simon
3717 * classes/.cvsignore:
3718 Ignore generated .h files.
3720 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3722 2002-01-05 12:37 simon
3725 Make lcc happier by adding a dummy structure.
3727 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3729 2002-01-05 12:35 simon
3731 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3732 Make perlundef work. (And coincidentally stop segfaults in the
3735 Courtesy of: Jason Gloudon <perl@gloudon.com>
3737 2002-01-05 04:59 dan
3739 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3741 2002-01-05 04:55 jgoff
3743 * classes/perlhash.pmc: Added perlhash class definition
3745 2002-01-05 04:48 dan
3747 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3749 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3751 2002-01-05 03:57 jgoff
3753 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3754 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3755 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3756 t/pmc/pmc.t: Initial hash commit.
3758 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3759 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3760 set_{integer,number,string}_index_s
3762 This does not yet do collision resolution, but will soon.
3764 2002-01-05 02:54 dan
3766 * interpreter.c: More unsigned fixes
3768 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3770 2002-01-04 22:13 dan
3772 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3773 test programs happier.
3775 Courtesy of "Jason Diamond" <jason@injektilo.org>
3777 2002-01-04 19:00 dan
3779 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3782 2002-01-04 18:27 dan
3784 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3785 Fixes to get things configuring and building on Win32 Native.
3787 Courtesy of "Jason Diamond" <jason@injektilo.org>
3789 2002-01-04 17:39 dan
3791 * hints/vms.pl: debug cleanup
3793 2002-01-04 16:53 dan
3795 * docs/parrot.pod: The enclosed patch brings the list of
3796 documentation in parrot.pod
3799 Courtesy of Simon Glover <scog@roe.ac.uk>
3801 2002-01-04 16:47 dan
3803 * test_main.c, Parrot/Jit/i386-linux.pm,
3804 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3807 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3809 2002-01-04 16:44 dan
3811 * Configure.pl, Makefile.in: Fixed linking to use linker.
3813 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3815 2002-01-04 16:39 dan
3817 * io/io_stdio.c: Added CVS tag info
3819 2002-01-04 16:35 dan
3821 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3824 2002-01-04 16:26 dan
3826 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3829 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3831 2002-01-04 16:17 dan
3833 * chartypes/unicode.c: Silence some warnings.
3835 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3837 2002-01-04 16:09 dan
3839 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3840 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3841 into generated files
3842 but the $Id$ string gets mangled when it's committed.
3843 This patch fixes the existing .pmc files and fixes genclass.pl.
3845 - Makes capitalization in .pmc header match actual filenames
3847 - The command for calling genclass.pl in vtables.pod is incorrect,
3848 since it assumes you're running in classes/ but genclass.pl
3850 it's being run from the main directory. I changed genclass.pl to
3854 Courtesy of Steve Fink <steve@fink.com>
3856 2002-01-04 03:57 dan
3858 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3859 me--I *had* the files:wq!
3861 2002-01-04 03:40 dan
3863 * MANIFEST: Whoops--remove files not really there
3865 2002-01-04 03:37 dan
3867 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3868 my sig adds a new_stack() function to take care of the allocation
3869 and setup of "generic" stacks.
3871 Courtesy of "Brent Dax" <brentdax@cpan.org>
3873 2002-01-04 02:36 dan
3875 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3877 writes a load of junk in core_ops.pod. Applied patch fixes.
3879 Courtesy of Simon Glover <scog@roe.ac.uk>
3881 2002-01-04 02:35 dan
3883 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3884 logical-or is using get_integer instead of get_bool for logical
3885 operations. This patch corrects that.
3887 Perlnum and perlstring have working get_bool's, so the default
3888 logical_or and logical_and should be sufficient. The empty methods
3889 are pointed to the default logical_or.
3891 Courtesy of Jason Gloudon <perl@gloudon.com>
3893 2002-01-04 02:31 dan
3895 * Makefile.in: docs/Makefile should be removed by realclean, but
3898 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3900 2002-01-04 02:29 dan
3902 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3904 Courtesy of Steve Fink <steve@fink.com>
3906 2002-01-04 00:51 dan
3908 * docs/vtables.pod: More docs
3910 Courtesy of Steve Fink <steve@fink.com>
3912 2002-01-04 00:47 dan
3914 * Configure.pl: Updated 64-bit patch
3916 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3918 2002-01-04 00:43 dan
3920 * Configure.pl: 64-bit Fix.
3922 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3924 2002-01-03 22:37 dan
3926 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3927 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3928 some buffering work. Additional work on other layers.
3930 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3932 2002-01-03 19:41 gregor
3934 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3935 Updated copyright messages on top-level files.
3937 2002-01-03 04:23 robert
3939 * make.pl: Add author information. Bonsai test.
3941 2002-01-03 04:02 dan
3943 * io/io_os.c: Twig Bonsai
3945 2002-01-03 03:45 dan
3947 * io/: io_os.c, io_os.c: Twig Bonsai
3949 2002-01-03 03:41 dan
3951 * io/io_os.c: Twig Bonsai
3953 2002-01-02 21:42 gregor
3955 * packfile.c, include/parrot/packfile.h:
3956 Get rid of warnings in packfile.[hc]
3958 2002-01-02 20:39 gregor
3961 Bracketed translated patterns with ^ and $.
3963 2002-01-02 20:11 dan
3965 * io/io_os.c: silence a warning
3967 2002-01-02 19:52 grunblatt
3969 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3970 op_assembly to jit_struct.h, so that we get the real number of ops.
3971 Removed some warnings.
3973 2002-01-02 19:31 tom
3975 * string.c: Fix string transcoding so that it actually works.
3977 Patch from Peter Gibbs <peter@emkel.co.za>
3979 2002-01-02 19:20 gregor
3982 A program to check the MANIFEST file, accounting for .cvsignore
3985 2002-01-02 19:19 dan
3987 * t/harness: twig bonsai
3989 2002-01-02 19:13 dan
3991 * t/harness: twig bonsai
3993 2002-01-02 18:54 dan
3995 * t/harness: Tweak to test Bonsai
3997 2002-01-02 16:27 dan
3999 * Configure.pl: Allow 64-bit build of parrot on systems with a
4000 mixed 32/64 bit perl
4002 Courtesy of David M. Lloyd <dmlloyd@tds.net>
4004 2002-01-02 15:33 simon
4006 * MANIFEST, docs/Makefile:
4007 Fixed up MANIFEST. (And I removed the Makefile in docs/)
4009 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
4011 2002-01-02 13:51 simon
4014 Die on broken manifest.
4016 2002-01-02 13:48 simon
4018 * jit2h.pl, examples/assembly/mops.pasm:
4019 Clear up JIT warnings.
4021 Courtesy of: Nick Clark <nick@unfortu.net>
4023 2002-01-02 04:10 dan
4025 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4026 only once, so new interp creation works again
4028 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4030 2002-01-02 03:32 dan
4032 * t/op/interp.t: Stubbed the test out, since it's hanging at the
4035 2002-01-02 00:55 dan
4037 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4038 io/io_os.c: Initial IO system patches
4040 Courtesy of <mrjoltcola@mindspring.com>
4042 2002-01-01 22:55 ajgough
4044 * classes/default.pmc: On second thoughts, and some prodding, the
4045 set_* methods now only set the appropriate part of the cache, and
4048 2002-01-01 22:29 ajgough
4050 * classes/default.pmc: Wrote a whole host of default pmc methods.
4052 set_* create appropriate Perl* result.
4053 get_* simply grabs needed bit of cache.*_val
4055 Other methods do the rightest thing I can think of, at the moment.
4057 None yet cope with overflow, the modulus operation needs to be
4059 I don't know quite which semantics we really want.
4063 2002-01-01 20:23 dan
4065 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4066 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4067 rid of unneeded tmp var and eliminated const from encode prototype
4068 since it does make changes to the string.
4070 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4072 2002-01-01 20:11 dan
4074 * Makefile.in: Make clean now tosses pdump.o
4076 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4078 2002-01-01 19:49 dan
4080 * pdump.c, test_main.c: Warnings cleanup
4082 Courtesy of Josh Wilmes <josh@sky.net>
4084 2002-01-01 19:45 dan
4086 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4087 hints/mswin32.pl, languages/jako/Makefile.in,
4088 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4091 Courtesy of "Jason Diamond" <jason@injektilo.org>
4093 2002-01-01 19:41 dan
4095 * include/parrot/register.h: Clean up some warnings
4097 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4099 2002-01-01 19:10 simon
4101 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4102 Hack-around to enable compilation of code using vtable ops.
4104 2002-01-01 18:43 dan
4106 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4107 checks on unsigned things
4109 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4111 2002-01-01 18:26 dan
4113 * runops_cores.c: More warning silences.
4115 Courtesy of Nicholas Clark <nick@unfortu.net>
4117 2002-01-01 18:25 dan
4119 * trace.c: Shuts up a warning.
4121 Courtesy of Nicholas Clark <nick@unfortu.net>
4123 2002-01-01 18:24 dan
4125 * encodings/singlebyte.c: Clean up some warnings.
4127 Courtesy of Nicholas Clark <nick@unfortu.net>
4129 2002-01-01 18:20 dan
4131 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4134 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4136 2002-01-01 18:17 dan
4138 * packfile.c: Warning cleanup
4140 Courtesy of Nicholas Clark <nick@unfortu.net>
4142 2002-01-01 17:53 dan
4144 * string.c: New string size should be based on output encoding's
4145 size, not input encoding's size.
4147 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4149 2002-01-01 17:22 dan
4151 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4152 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4153 include/parrot/interpreter.h, include/parrot/memory.h,
4154 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4157 Courtesy of Chip Turner <cturner@redhat.com>
4159 2002-01-01 17:09 dan
4161 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4162 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4163 now unsigned, as is proper.
4165 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4166 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4168 2002-01-01 16:59 dan
4170 * include/parrot/trace.h: Useless debugging prototype removed
4172 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4174 2002-01-01 16:58 dan
4176 * MANIFEST: We forgot a file.
4178 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4180 2002-01-01 03:53 dan
4182 * Configure.pl: Okay, I give. Removed some warnings because the
4183 darned system headers were triggering them. Sloppy, sloppy
4186 2002-01-01 03:48 dan
4188 * config_h.in: Add in an unsigned INTVAL.
4190 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4192 2002-01-01 03:46 dan
4194 * global_setup.c: Clean up some compiler warnings.
4196 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4198 2002-01-01 03:43 dan
4200 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4201 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4202 include/parrot/op.h: Cleaned up some things to make the compiler
4205 Courtesy of Nicholas Clark <nick@unfortu.net>
4207 2002-01-01 03:14 dan
4209 * Configure.pl: Quad updates.
4211 Courtesy of Nicholas Clark <nick@unfortu.net>
4213 2001-12-31 22:53 dan
4215 * include/parrot/op.h: Typedef had parameters backwards. Threw
4216 core.ops for a big whiny warnings loop.
4218 2001-12-31 22:37 dan
4220 * Makefile.in, resources.c: Tweaks to try and get things to build
4223 2001-12-31 21:58 dan
4225 * Configure.pl: Stupid thinko fix
4227 2001-12-31 21:34 dan
4229 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4231 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4233 2001-12-31 21:32 dan
4235 * Configure.pl: Fix for non-gcc systems
4237 2001-12-31 20:22 dan
4239 * interpreter.c: Tweak so we can build on non-JIT platforms
4241 2001-12-31 20:11 dan
4243 * Configure.pl: Force the time on some copied files to be 'now' to
4244 make the Win builds much less annoying.
4246 Courtesy of "Jason Diamond" <jason@injektilo.org>
4248 2001-12-31 20:07 dan
4250 * Configure.pl: Nuke all object files in the parrot tree that
4251 matter when configuring. Shouldn't be necessary with good
4252 dependencies in the makefile, but we don't have those yet.
4254 2001-12-31 20:00 gregor
4256 * chartypes/unicode.c:
4257 Silence unused variable warnings.
4259 2001-12-31 19:40 dan
4261 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4263 2001-12-31 19:37 gregor
4265 * interpreter.c, jit.c, include/parrot/jit.h:
4266 Created a prototype for JIT functions and used it in interpreter.c.
4268 2001-12-31 19:31 dan
4270 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4271 detection) with really cranky warnings if we find we're using it.
4273 Courtesy of: Nicholas Clark <nick@unfortu.net>
4275 2001-12-31 18:01 gregor
4277 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4279 Fixed a few warnings wrt prototypes, etc.
4281 2001-12-31 17:23 dan
4283 * string.c: Silenced most of the compiler whines
4285 2001-12-31 17:15 gregor
4288 Get the ccname from either ccname or just cc config var.
4290 2001-12-31 17:14 gregor
4292 * Parrot/Op.pm, lib/Parrot/Op.pm:
4293 Another intermediate opbody notation. Could come in handy. Explicit
4296 2001-12-31 17:05 dan
4298 * string.c: Minor warnings update
4300 2001-12-31 17:00 dan
4302 * include/parrot/string.h: Warnings cleanup
4304 2001-12-31 16:00 simon
4306 * encodings/utf8.c, include/parrot/encoding.h:
4307 Remove a couple more.
4309 2001-12-31 15:58 simon
4311 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4312 include/parrot/op.h:
4313 Rid ourselves of a few warnings.
4315 2001-12-31 15:32 dan
4317 * Configure.pl: Made GCC ever so much pickier.
4319 Switch list courtesy of Jarkko.
4321 2001-12-31 15:22 dan
4323 * string.c: Tightened up initial allocation.
4325 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4327 2001-12-31 06:48 dan
4329 * Configure.pl: Minor Windows tweak
4331 2001-12-31 05:32 dan
4333 * core.ops: Unused temp variable tossed.
4335 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4337 2001-12-31 05:09 grunblatt
4339 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4340 supported plataforms
4342 2001-12-31 03:05 dan
4344 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4345 platform-independent quote substitution for the makefiles.
4346 Hopefully this'll make the Win32 builds happier.
4348 2001-12-30 21:08 dan
4350 * string.c, include/parrot/string.h: More string system tweaks.
4352 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4354 2001-12-30 20:45 dan
4356 * core.ops: Some pod cleanup
4358 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4360 2001-12-30 20:22 ajgough
4362 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4363 we aren't using them right now. Clarified the workings of set Px,
4364 Py and clone Px, Py.
4366 2001-12-30 20:15 grunblatt
4368 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4369 Added readjit() to read *.jit files Updated core.jit to the new
4372 2001-12-30 20:14 ajgough
4374 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4376 2001-12-30 19:52 dan
4378 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4379 include/parrot/trace.h, platforms/generic.c: Compiler whine
4382 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4384 2001-12-30 19:13 dan
4386 * Configure.pl, Makefile.in: Make GCC pickier by default.
4388 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4390 2001-12-30 18:41 dan
4392 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4393 ntoi opcodes to sets.
4395 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4397 2001-12-30 17:58 gregor
4400 'make' no longer builds the mops test. Use 'make mops' for that. To
4401 run the test, you can do 'make mopstest'.
4403 2001-12-30 17:30 gregor
4406 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4409 2001-12-30 17:26 gregor
4411 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4412 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4413 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4414 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4415 Build enhancements. Originally to support building shared
4416 libraries, but now of broader impact.
4418 * .cvsignore: Ignore the blib/ directory, about which more later.
4422 * Got rid of TAB formatting and lined a few things up.
4424 * Added header comment with CVS Id variable, and a few other
4425 block header comments.
4427 * Uses new Parrot::BuildUtil module to determine the Parrot
4430 * Reworded a few messages, added a couple, and wrapped
4434 * Added 2002 to the Copyright statement.
4436 * Added new configure variables: VERSION, MAJOR, MINOR and
4439 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4441 than 5.6.0, but the comment implies it isn't.
4445 * Added $(SO), $(A) and $(AR_CRS) defines for library
4448 * Added $(RM_RF) define for removing directory trees
4450 * Grouped generated files into two classes: "sticky" (made by
4452 persisting across 'make clean') and 'fluid' (made during
4454 process, deleted by 'make clean').
4456 * Added header comments.
4458 * Added target for test_prog linked with shared library.
4460 * Added rules to build shared libraries in blib/lib. The
4462 built with trailing version numbers in their file names,
4464 symbolic links are created for shorter and no version tag
4467 * Added some missing dependencies
4469 * Added some missing 'make clean' targets.
4471 * Added 'make realclean' target that deletes files created by
4472 Configure.pl (including Makefile), forcing a re-configure.
4474 * Added a 'status' CVS target.
4476 * VERSION: New file, contains only the version. This version
4478 propagated to a few places, such as the core oplib version
4480 reduces the amount of coordination that has to happen to get
4482 number stuff throughout the tree in sync and updated prior to
4484 a new release. Feel free to grep for '0.0.3' to see the other
4486 that contain the version number (but, do that in a fresh CVS
4488 after doing 'make realclean').
4490 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4492 since the oplib and Parrot itself share a version number now.
4494 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4498 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4500 specifying the version by hand. Non-core oplibs will set this
4502 a quoted dot-string with three natural number components
4506 * interpreter.c: Make use of PARROT_VERSION to simplify some
4508 to get the complete version number in the resulting strings
4512 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4516 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4518 * ops2c.pl: Account for the PATCH version, too. This affects the
4520 oplib init function, and the oplib info struct initializer.
4522 * Parrot/BuildUtil.pm: New file for reading in and validating the
4524 the new VERSION file. Other build utilities could go here in
4527 * Parrot/OpsFile.pm:
4529 * Allow three components in version number, and require that
4531 be in double quotes.
4533 * Allow "VERSION = PARROT_VERSION", substituting the shared
4535 VERSION in that case.
4537 * include/parrot/oplib.h: Add the patch_version member.
4539 2001-12-30 12:16 simon
4541 * MANIFEST, Makefile.in:
4542 More stuff forgotten from MANIFEST.
4544 2001-12-30 12:13 simon
4549 2001-12-30 12:12 simon
4554 2001-12-30 12:12 simon
4559 2001-12-30 12:04 simon
4561 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4562 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4563 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4564 include/parrot/string.h, t/op/string.t:
4565 * Expand the strings test suite to be more complete * Make string
4566 commands more consistent (i.e, now the only string command that
4567 actually changes the original is chopn) * Significantly reduce the
4568 number of memory allocations and eliminate reallocations.
4570 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4572 2001-12-29 22:12 dan
4574 * interpreter.c, key.c, register.c, stacks.c, string.c,
4575 test_main.c, trace.c: Updates to match the coding standards.
4577 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4579 2001-12-29 20:42 grunblatt
4581 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4582 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4583 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4584 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4585 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4586 Kitover <caelum@debian.org>
4588 2001-12-28 21:20 dan
4590 * core.ops: Okay, now print takes a preceding file handle.
4592 I feel so dirty now.
4594 2001-12-28 20:46 dan
4596 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4597 changing the open op to use fopen under the hood.
4599 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4601 2001-12-28 18:20 ajgough
4603 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4604 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4605 include/parrot/exceptions.h, include/parrot/string.h,
4606 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4607 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4608 vtables appropriately. Also tests for same, new pmc_perlstring.t
4609 to hold tests specific to PerlStrings, as the pmc.t file is taking
4610 too long to run and slowing down my thought processes.
4612 Changes to strings.c etc to take string functions.
4614 Some changes to the strings docs, but not yet complete.
4616 Also, PerlString was copying pointers to strings, rather than
4617 strings themselves, so some action-at-a-distance bugs were creeping
4618 in, I think I've fixed this so everything works nicely.
4620 2001-12-28 04:56 gregor
4622 * examples/assembly/pmcmops.pasm:
4623 PMC-using version of mops.pasm.
4625 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4627 2001-12-28 04:56 gregor
4629 * examples/assembly/.cvsignore:
4630 Small tinkering. Removed old stuff, etc.
4632 2001-12-28 01:26 gregor
4634 * examples/mops/mops.scheme:
4635 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4636 to the very un-scheme-like implementation.
4638 2001-12-28 01:19 gregor
4640 * examples/mops/mops.c:
4641 Some people's picky compilers don't like us redefineing time(), so
4642 we call it time_n(). :)
4644 2001-12-28 00:28 gregor
4646 * examples/mops/: README, mops.ps:
4647 Added a PostScript example and a README.
4649 2001-12-27 23:57 gregor
4652 Build the C mops translation in examples/mops/mops.c
4654 2001-12-27 23:56 gregor
4656 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4657 Some translations of mops.pasm into other languages, for inner loop
4658 performance comparisons.
4660 2001-12-27 22:40 gregor
4662 * examples/assembly/mops.pasm:
4663 Fixed erroneous file name in header comment.
4665 2001-12-27 21:18 gregor
4668 One-liner to avoid no-op gotos to the next op.
4670 2001-12-27 21:06 gregor
4673 Fixed -p (profiling). Slow runops core was doing unconditional
4674 tracing, when it should have been checking the flags.
4676 2001-12-27 18:50 ajgough
4678 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4679 classes/perlstring.pmc, include/parrot/chartype.h,
4680 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4681 dded get_digit() to chartypes * Added string_bool() to strings *
4682 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4683 to perlstring.pmc * Tests for above, also a for couple of other
4686 The unicode chartype has only had placeholders added for get_digit,
4687 string_to_num has been updated to use type->get_digit rather than
4688 the previous ascii-isms. Some remain, but we need to carefully
4689 define what we mean by a number before we let thousands of code
4690 points act as a minus sign.
4692 2001-12-27 18:32 dan
4694 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4697 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4699 2001-12-27 18:23 dan
4701 * t/op/bitwise.t: More tests.
4703 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4705 2001-12-27 17:08 gregor
4707 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4708 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4709 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4710 include/parrot/interpreter.h, include/parrot/oplib.h,
4711 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4712 platforms/win32.c, platforms/win32.h:
4713 Initial code for dynamic loading of oplibs, applied for now to the
4714 loading of the core_prederef oplib when the -P flag is passed to
4717 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4721 * Added libcore_prederef_0_3.so to the shared target.
4722 * Added build rule for libcore_prederef_0_3.so.
4723 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4724 to Parrot/OpLib/core.pm, core_ops.c and
4725 core_ops_prederef.c.
4727 * config_h.in: Added defines for constants used to locate the
4728 core oplib's init function, and the core_prederef oplib for
4731 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4732 required by Parrot/OpsFile.pm.
4736 * Added init_prederef() and stop_prederef() functions to load
4737 and unload the core_prederef oplib when we are in prederef
4740 NOTE: In all likelihood, the prederef stuff has a rapidly
4741 dwindling time-to-live. The JIT should provide vastly
4743 performance, and loading an alternate set of core_ops isn't
4744 the real direction for the dynaloading stuff. Loading
4745 *additional* ops is. It does provide a handy test case for
4747 general idea for now, though.
4749 * Gets the core copcode table, etc. via the core oplibs oplib
4750 info pointer, as returned by the core oplib's init
4755 * Make use of the version, major version and minor version
4756 stuff parsed by Parrot/OpsFile.pm
4758 * The only exported symbol in the generated files is the init
4759 function now, since that returns an oplib info struct
4760 pointer, and all the important stuff can be found there.
4762 * ops2pm.pl: Put the oplib version in the generated .pm file.
4764 * test_main.c: Small changes necessitated by changes in the names
4765 of some members of the interpreter struct.
4767 * trace.c: Small changes necessitated by changes in the names
4768 of some members of the interpreter struct.
4770 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4773 * include/parrot/interp_guts.h: Small changes necessitated by
4774 changes in the names of some members of the interpreter struct.
4776 * include/parrot/interpreter.h: Include the new
4777 include/parrot/oplib.h header. Small changes to the oplib-
4780 * include/parrot/oplib.h: Define the type of the oplib init
4781 function, and the struct type for the oplib info.
4783 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4784 since not all platforms have it. For those that do, a default
4785 second argument is provided.
4787 2001-12-26 05:12 gregor
4790 Make jitarch calculation not get tripped up by extra components to
4793 2001-12-24 21:23 gregor
4795 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4796 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4797 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4798 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4799 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4800 Some more JIT work from Daniel Grunblatt.
4802 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4806 * Added JUMP(END) to place the number of bytes to the end of the
4810 * The *.jit files syntax changed.
4812 * Added jit/i386/lib.jit to place handly functions as jump that
4814 argument the address where is the opcode number to jump to.
4816 * There is a bug at some point, but I will start writing
4817 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4819 calls, which make the jit as slow as the interpreter.
4821 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4823 2001-12-24 03:46 dan
4825 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4826 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4827 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4828 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4829 Perls before 5.6.0 don't like it.
4831 2001-12-22 16:02 ajgough
4833 * t/op/stacks.t: stopped skipping tests we can run now. added
4836 2001-12-21 21:13 gregor
4838 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4839 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4840 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4841 Fixed some package name goofs.
4843 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4845 2001-12-21 19:32 gregor
4847 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4848 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4849 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4850 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4851 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4852 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4853 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4854 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4855 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4856 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4859 * Removed ops2c-prederef.pl
4861 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4863 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4864 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4865 for old functionality of ops2c-prederef.pl), and
4866 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4868 "OpTrans" == "Op Transformation"
4870 * Makefile.in modifications to call "ops2c.pl C" where it used
4871 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4872 to be "ops2c-prederef.pl".
4874 * core.ops and obscure.ops changes to syntax. Semantics are
4875 identical with previous version:
4877 return HALT --> HALT()
4878 return AUTO --> goto NEXT()
4879 return RETREL(...) --> goto OFFSET(...)
4880 return RESTART(*) --> restart NEXT()
4882 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4883 for dest-less branch ops replaced with new notation "goto
4885 which uses the new pop_dest() function in stacks.c. This also
4886 allowed these ops to become 'inline' ops, since they no longer
4887 have local variables.
4889 The 'ret' op also became simplified to just "goto POP()", and
4890 also became an inline op.
4892 * interpreter.c reflects the change in type name:
4894 prederef_op_func_t --> op_func_prederef_t
4896 that occurred in include/parrot/op.h
4898 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4901 * ops2c.pl is now generic. Its first argument is the last
4902 package name component of a subclass of Parrot::OpTrans. These
4903 subclasses all have full names of the form Parrot::OpTrans::*.
4904 An instance of the class is created and later consulted for
4905 various bits of information needed to generate the C code.
4907 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4908 contain its transformation rules.
4910 * stacks.c has a new function pop_dest() that pops a destination
4911 off the control stack. include/parrot/stacks.h has the
4914 * Parrot/Op.pm now supports the syntax generated by
4916 for the "goto POP" case.
4918 Also, the source() method now expects its second argument to be
4919 an object that ISA Parrot::OpTrans. Methods of this object are
4920 called to perform the substitutions.
4922 * Parrot/OpsFile.pm supports the change in notation mentioned
4925 * docs/intro.pod reflects these changes.
4927 * include/parrot/op.h: Renamed type prederef_op_func_t to
4928 op_func_prederef_t because it made the implementation of the
4929 shared ops2c.pl easier.
4931 2001-12-21 13:47 gregor
4933 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4934 Both test_parrot (via test_main.c) and the intepreter itself (via
4935 interpreter.c) use the JIT_CAPABLE config to decide whether to
4936 actually attempt JIT operation, or to complain.
4938 2001-12-20 23:25 gregor
4940 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4941 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4942 Changes to the format of *.ops files. An attempt to provide hints
4943 for future opfunc processing logic that wants to know if an opfunc
4944 is simple enough to JIT (e.g.) inline, or not.
4946 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4947 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4950 2001-12-20 21:28 gregor
4952 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4956 * A fix to Gregor's last Configure.pl update.
4958 * Remove the need for hardcoded "\n" at the end of the "%f"
4959 format for printing floating-point numbers.
4961 * New, improved *.jit syntax for references to registers,
4964 * Support for C() improved.
4966 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4968 2001-12-20 16:55 dan
4970 * MANIFEST: Added jit.c to the manifest.
4972 2001-12-20 15:24 simon
4975 Off-by-one error fixed.
4977 2001-12-20 14:18 simon
4979 * jit/i386/core.jit:
4980 Just a noop. It's the only machine code I know.
4982 2001-12-20 13:10 gregor
4984 * Configure.pl, Makefile.in, jit2h.pl:
4985 Attempt to fix Win32 builds.
4987 * No more empty braces in include/parrot/jit_struct.h
4991 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4995 2001-12-20 11:56 simon
5000 2001-12-20 01:57 gregor
5002 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
5003 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
5004 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
5005 include/parrot/.cvsignore, include/parrot/interpreter.h,
5006 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
5007 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
5008 lib/Parrot/Jit/i386-nojit.pm:
5009 Initial JIT implementation.
5011 * Enabled with test_parrot -j. 20x speed boosts seen.
5013 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
5017 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
5019 2001-12-20 01:53 jgoff
5021 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
5022 core.ops - Removed key operators, they should be hidden from the
5023 assembler. t/op/key.t - No need to test the nonexistent key
5026 2001-12-20 00:13 ajgough
5028 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5029 that asking for type of entry at depth causes segfault as stack is
5030 zero based, fixed cmp in core.ops to reflect this. Last test is
5031 skipped as we don't do exceptions right yet.
5033 2001-12-19 19:11 ajgough
5035 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5036 non-being was causing Irix "issues".
5038 2001-12-19 03:37 jgoff
5040 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5041 004_combined.t: Changed tests to make sure they pass with the
5042 addition of the clone operator.
5044 2001-12-18 20:06 gregor
5046 * interpreter.c, include/parrot/interp_guts.h:
5047 Performance improvements to the predereferencing code path
5048 suggested to me over lunch yesterday by my friend John Kennedy.
5049 The goal is to remove the additional test in the inner loop that
5050 was checking for NULL to decide whether or not to call the
5051 prederef() function. Also moved pc & pc_prederef syncing outside
5054 * Changed the prototype of the prederef() function in
5055 interpreter.c to match that of an opfunc.
5057 * Instead of initializing the prederef void * array with NULL,
5058 we initialize it with pointers to prederef().
5060 * prederef() now returns the prederef_pc passed in, so that
5061 after predereferencing, the same location is executed, but now
5062 with the real code being called.
5064 Thanks to: John Kennedy
5066 2001-12-18 19:59 ajgough
5068 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5069 (including some more in the skipped string -> int tests).
5071 2001-12-18 07:06 jgoff
5073 * MANIFEST: Forgot to add classes/perlarray.pmc
5075 2001-12-18 07:05 jgoff
5077 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5078 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5079 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5080 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5081 t/pmc/pmc.t: Big update... Makefile.in - Added
5082 classes/perlarray.pmc core.ops - Added new series of set() ops for
5083 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5084 Added perlarray.pmc classes/*.pmc - Added
5085 set_{integer,number,string}_index and
5086 get_{integer,number,string}_index include/parrot/pmc.h - Added new
5087 type t/op/pmc.t - Added basic array test
5089 classes/perlarray.pmc - Added
5091 2001-12-17 05:29 jgoff
5093 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5094 generator to use clone operator instead of set Px,Py
5096 2001-12-17 05:25 jgoff
5098 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5099 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5100 PMC,PMC operator. Uses the clone() vtable entries.
5102 2001-12-17 04:51 jgoff
5104 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5107 2001-12-17 04:41 jgoff
5109 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5112 2001-12-17 04:41 jgoff
5114 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5116 2001-12-17 04:39 jgoff
5118 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5119 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5122 2001-12-17 04:27 jgoff
5124 * languages/miniperl/Miniperl.pm: Latest version of the driver.
5125 Admittedly it's a little thin on true OO, but the algorithms are
5128 2001-12-17 04:24 jgoff
5130 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5131 003_generator.t, 004_combined.t: Much more comprehensive test suite
5132 for the codegen et al
5134 2001-12-17 04:22 jgoff
5136 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5137 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5140 2001-12-17 04:20 jgoff
5142 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5145 2001-12-17 04:17 jgoff
5147 * languages/miniperl/foo.mpl: Test file that'll be outdated by
5148 changes to the new compiler
5150 2001-12-17 04:11 jgoff
5152 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5155 2001-12-16 14:11 simon
5157 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5159 Fix bogus assumption that multiplying an integer by an integer
5162 2001-12-16 12:48 simon
5164 * make_vtable_ops.pl:
5167 2001-12-16 12:45 simon
5169 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5170 Expand multimethod vtable ops.
5172 2001-12-16 12:04 simon
5175 Added 'cvsclean' which doesn't zap CVS/* directories.
5177 2001-12-15 01:50 dan
5179 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5182 Thanks to grunblatt fom #parrot for the catch
5184 2001-12-15 01:39 dan
5186 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5187 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5188 languages/miniperl/Makefile.in,
5189 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5190 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5193 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5195 2001-12-14 17:39 dan
5197 * t/op/trans.t: More trans tests.
5199 Courtesy of: Simon Glover <scog@roe.ac.uk>
5201 2001-12-14 07:41 robert
5203 * make.pl: - define MAKE macro - topological sort and subgraph
5204 order - start of timestamp stuff (still badly broken)
5206 2001-12-14 06:06 jgoff
5208 * optimizer.pl: Hopefully this should do the trick..
5210 2001-12-14 06:04 jgoff
5212 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5214 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5216 The optimizer performs its work on a file post-macro expansion.
5217 Run it on a .pasm file, preferably with some trivially reducible
5219 like 'add I0,5,-6' or 'mul I0,I1,0'
5221 2001-12-14 05:48 robert
5223 * Makefile.in: case error EXE -> exe
5225 2001-12-14 05:42 robert
5227 * Makefile.in: remove legacy PDISASM macro
5229 2001-12-14 04:01 dan
5231 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5234 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5236 2001-12-13 22:03 dan
5238 * Configure.pl, Makefile.in, Parrot/Test.pm,
5239 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5240 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5241 can change it without having to change the world.
5243 2001-12-13 21:57 dan
5245 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5246 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5247 file/line/package to interp structure, with ops to get and set
5248 them. Now we can know where we are!
5250 2001-12-13 19:43 dan
5252 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5253 WinXP builds work out of the box
5255 2001-12-13 17:05 dan
5257 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5258 name again--makes case-insensitive systems much happier.
5260 2001-12-13 16:21 dan
5262 * core.ops, key.c, string.c, test_main.c, trace.c,
5263 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5266 Courtesy of: Josh Wilmes <josh@sky.net>
5268 2001-12-13 13:33 gregor
5270 * languages/jako/Makefile.in:
5271 Improved the method of calling the assembler.
5273 2001-12-13 13:30 gregor
5275 * languages/jako/Makefile.in:
5276 Improve the build process. It now works from the main parrot dir,
5277 and from the languages/jako directory. Now uses the .SUFFIXES
5278 target and generic build rules to reduce clutter in the
5281 2001-12-13 13:29 gregor
5283 * languages/jako/.cvsignore:
5284 Ignore the (now generated Makefile), and don't ignore .list files
5285 anymore, since we aren't generating them.
5287 2001-12-13 13:11 gregor
5289 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5290 languages/Makefile.in, languages/jako/Makefile,
5291 languages/jako/Makefile.in:
5292 Added a 'languages' target to the top-level Makefile.in, and
5293 modified the jako build procedure to involve Makefile.in -->
5294 Makefile too (done by Configure.pl).
5296 NOTE: languages/jako and language/scheme are built.
5297 languages/miniperl wasn't building right, so it was left off for
5300 2001-12-13 12:15 gregor
5303 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5306 2001-12-13 12:12 gregor
5308 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5309 ops2c-prederef.pl, ops2c.pl, test_main.c,
5310 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5311 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5312 Welcome to the Just-in-Time Predereferencing Patch!
5314 This patch implements a "predereferencing" mode for parrot. That
5315 means that a lot of the dereferencing you see in DO_OP and in the
5316 opfuncs is done up front (really, JIT) rather than as and each time
5317 we execute each op in the byte code stream.
5319 This works by creating an array of void pointers with the same
5320 number of elements as the byte code array. This array starts out
5321 life zero-initialized. Each time we go to execute an op, we check
5322 first to see if we have a NULL pointer at *cur_opcode. If so, we
5323 know we haven't done our predereferencing yet (this is the JIT
5324 part), so we call the prederef() function with sufficient args that
5325 it can go look up opfunc pointers and op arg types and put the
5326 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5327 where N is the number of args (counting the op itself as one arg).
5329 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5330 to have inline INTVAL constants.
5332 I've been getting about a 22% speed increase over vanilla code path
5333 when I compile with -O0. Advantage decreases at -O9 here. I tested
5334 with mops.pbc, and also by temporarily putting the -P flag in
5335 Parrot/Test.pm and running all the tests. So, this code is as
5336 correct as the test suite can detect.
5338 Here's how it plays out in the code:
5340 * New script ops2c-prederef.pl
5342 Copy-paste code reuse from ops2c.pl. Modified to expect the
5344 a void ** cur_opcode and to return a void **.
5348 * opfuncs are now static. Who needs to call them by name from
5350 anyway? They are accessed via the opfunc table.
5352 * Some MACRO stuff to make things work whether we prederef or
5354 may be possible to get rid of these some day if other folks
5356 that we should be using CODE object pointers + offsets as
5358 rather than raw pointers to either opcode_t's or (void *)'s
5359 (depending on prederef mode or no).
5361 * core.ops modified to be usable to build both kinds of opfuncs.
5365 * calls to push_generic_entry(... cur_opcode ...) were
5367 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5369 macro that does the right thing in both kinds of ops.c
5372 This is applicable to the bsr op. If we treated
5374 (Code PMC + local offset) rather than as
5375 pointer-to-memory-somewhere,
5376 this wouldn't be a big deal. We may need to do that at some
5378 anyway, so that when you jump around and return not only do
5380 the right PC (pointer, today), but you also have the
5382 knowing what chunk of bytecode it is in at all times
5384 allow reflection, as in ops that query or affect the
5387 * runinterp was modified. Instead of copying the top-level
5389 and blasting its byte_code pointer, we simply call runops
5391 interp, passing in the pointer to the current interp's code
5393 offset into that code at which to start (this last arg used
5395 pointer PC, now its an offset PC).
5397 * include/parrot/op.h
5399 * new typedef for prederef opfuncs (they return void **)
5401 * include/parrot/interp_guts.h
5403 * New DO_OP_PREDEREF() macro described above.
5405 * include/parrot/interpreter.h
5407 * New prototype of runops() -- see below.
5409 * resume_addr field changed to resume_flag and resume_offset
5411 We might be resuming from interp using prederef to one not
5413 so pointers between the two don't play nice together.
5414 Offsets are beautiful.
5416 * New PARROT_PREDEREF_FLAG constant
5420 * include "parrot/oplib/core_ops_prederef.h"
5422 * prederef() function described above.
5424 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5427 * runops() modified to take size_t CODE-relative offset PC
5429 pointer PC. This made other things workable and doesn't
5431 anything important (IMO).
5435 * New flag '-P' to enable predereferencing.
5437 * Makefile modified to build core_ops_prederef.c from core.ops
5441 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5443 Added core_ops_prederef$(O) to O_FILES
5445 2001-12-13 12:12 gregor
5447 * languages/jako/MAINTAINER:
5448 Thought it would be nice to put this right in the code...
5450 2001-12-13 04:36 jgoff
5452 * languages/miniperl/Miniperl/Generator.pm: Commented out
5453 debugging, fixed register spillover algorithm
5455 2001-12-13 04:23 jgoff
5457 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5458 line) Restructured a bit of the dependency generator to fix a
5461 2001-12-13 03:43 robert
5463 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5465 2001-12-13 03:03 jgoff
5467 * make.pl: Added make.pl
5469 2001-12-13 02:44 jgoff
5471 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5472 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5473 special flags... - Dies on undefined macros
5474 such as $(PDISASM) in current make - Dies on
5475 recursive macro expansions (Doesn't test for
5476 mutual or multipart loops) - In general it
5477 seems to be a little less lenient... Missing bits - File
5478 mod/creation times aren't being looked at - Actions
5479 aren't being taken - The few funky variables ($@, $<)
5480 aren't being dealt with Bugs - Line numbers are slipping a bit.
5482 2001-12-13 02:29 jgoff
5484 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5485 Reconstructing files to make the parser flow a little better.
5487 2001-12-13 00:51 dan
5489 * resources.c: Be a bit less wasteful with resources that don't
5492 2001-12-12 18:22 dan
5494 * Makefile.in: D'oh! Fixed looping makefile bug.
5496 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5498 2001-12-12 16:23 jgoff
5500 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5502 2001-12-12 16:22 jgoff
5504 * MANIFEST: Manifest additions for languages/miniperl
5506 2001-12-12 16:19 jgoff
5508 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5509 tests. These are left over from the Scheme suite and shouldn't be
5512 2001-12-12 16:18 jgoff
5514 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5515 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5516 modules. Miniperl/ is where the real work gets done. t/ is largely
5517 vacant because it isn't ready to survive real tests yet.
5519 2001-12-12 16:17 jgoff
5521 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5522 mpc: Final go-round, hopefully.
5524 languages/miniperl/Makefile - Used basically to run tests, as there
5525 is nothing here that needs to be
5526 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5527 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5528 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5531 2001-12-12 16:09 dan
5533 * Configure.pl: Setting a variable with the make command name is
5536 2001-12-12 15:07 simon
5538 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5539 Recursive make considered "ow, don't do that".
5541 2001-12-12 14:45 dan
5543 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5544 non-portable code) Killing builds on Win32 native. Small patch
5545 applied which hopefully fixes it.
5547 2001-12-12 06:12 ajgough
5549 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5551 2001-12-12 06:08 ajgough
5553 * Makefile.in: perl is $(PERL).
5555 2001-12-12 06:00 ajgough
5557 * t/op/integer.t: Added tests to integer.t so that all permutations
5558 of arguments are actually called at some point.
5560 2001-12-12 05:18 ajgough
5562 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5563 Tests for sleep i|ic
5565 2001-12-12 05:09 ajgough
5567 * t/op/stacks.t: Added pushp and popp register stack tests.
5569 2001-12-12 04:51 ajgough
5571 * t/op/stacks.t: Added tests for save and restore, for all register
5572 types. Let there be Haiku.
5574 2001-12-12 04:27 ajgough
5576 * t/op/basic.t: bsr_i test. You know you want it.
5578 2001-12-12 02:55 ajgough
5580 * MANIFEST: Added hints/os2.pl to MANIFEST.
5582 2001-12-12 02:52 jgoff
5584 * core.ops, key.c: Final checkin... These are actually the correct
5587 2001-12-12 02:12 jgoff
5589 * include/parrot/key.h: key.c - Removed a few functions,
5590 generalized set_element_value and element_value to accept
5591 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5592 core.ops - Modified to accept the new return style.
5594 This is a prelude to adding virtual-table methods to allow hashing
5595 &c. Expect at least one or two more redesigns before this settles
5596 down. However, it still passes the original tests.
5598 2001-12-11 13:35 gregor
5603 2001-12-11 12:03 gregor
5606 Don't ignore test_prog, but do ignore parrot.
5608 2001-12-11 12:03 gregor
5610 * classes/.cvsignore:
5611 Ignore the generated file default.h
5613 2001-12-11 04:07 jgoff
5617 2001-12-11 04:05 jgoff
5619 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5621 2001-12-11 04:00 jgoff
5623 * core.ops: Added new key aggregate operations to core ops.
5625 2001-12-11 04:00 jgoff
5627 * include/parrot/parrot.h: Added key.h to header list
5629 2001-12-11 03:59 jgoff
5631 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5633 2001-12-11 03:58 jgoff
5635 * Makefile.in: Added implementation of key aggregates.
5637 2001-12-08 23:07 simon
5642 2001-12-08 23:05 simon
5644 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5645 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5646 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5647 test_prog? What is test_prog?
5649 2001-12-08 22:57 simon
5653 Oops, the changelog commit was on *this* machine.
5655 2001-12-08 22:56 simon
5658 Updates to NEWS and ChangeLog pre-release.
5660 2001-12-08 22:07 simon
5662 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5663 classes/perlnum.pmc, classes/pmc2c.pl:
5664 Add "default" PMC vtable so you can inherit implied stuff.
5666 2001-12-08 21:24 simon
5668 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5669 docs/vtables.pod, lib/Parrot/PackFile.pm:
5670 Getting the documentation up to scratch.
5672 2001-12-08 21:21 simon
5675 Allow inheriting from default class.
5677 2001-12-07 20:43 gregor
5679 * examples/assembly/queens.pasm:
5680 Regenerated the file with the latest jakoc.
5682 2001-12-07 20:29 simon
5684 * core.ops, t/op/stacks.t:
5685 Rename "rotate" to "rotate_up".
5687 2001-12-07 20:15 simon
5690 Some tests for rotate.
5692 2001-12-07 00:55 gregor
5695 Cast the result of the pointer arithmetic, since without the cast
5696 there are warnings with some compilers, and without the parens
5697 around the pointer arithmetic, precedence breaks the meaning and
5700 2001-12-06 23:37 simon
5703 Temporary. I prefer compiler warnings to segfaults, thanks.
5705 2001-12-06 23:34 simon
5708 Make "trace" work again.
5710 2001-12-06 21:23 dan
5712 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5714 2001-12-06 21:22 dan
5716 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5717 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5719 2001-12-06 19:22 simon
5722 Yet another "How the *%$! did that compile?" moment.
5724 2001-12-06 18:28 dan
5726 * hints/vms.pl: Fix to build, with a HERE logical required
5728 2001-12-06 17:48 dan
5730 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5731 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5732 changes to the interpreter--flags are now part of the interp
5735 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5737 2001-12-06 14:02 gregor
5740 s/little_languages/languages/ in Jako section.
5742 2001-12-06 13:15 simon
5745 Ensure the documentation gets made.
5747 2001-12-06 13:12 simon
5749 * MANIFEST, docs/intro.pod:
5750 Documentation! Added the "Some Assembly Required" article with
5753 2001-12-06 00:39 simon
5758 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5760 2001-12-06 00:37 simon
5763 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5765 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5767 2001-12-06 00:11 tom
5769 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5770 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5771 include/parrot/chartype.h, include/parrot/encoding.h,
5772 include/parrot/parrot.h: Moved string to number conversion code out
5773 of the encoding layer and into the main string layer as neither the
5774 encoding layer nor the character type layer knows enough on it's
5775 own to do the conversion correctly.
5777 2001-12-05 23:12 tom
5779 * Makefile.in: Rebuild the classes directory if any of the object
5780 files for the classes are missing rather than only when perlint.o
5783 2001-12-05 19:43 gregor
5785 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5786 * Reworked the constantize_string() stuff a little bit because it
5788 puking on things like "\033[H\033[2J\0" (which occurs in the
5789 languages/jako/mandelzoom.jako example).
5791 2001-12-05 19:39 gregor
5793 * languages/jako/: Makefile, mandelzoom.jako:
5794 Added 'mandelzoom' example.
5796 2001-12-05 19:38 gregor
5798 * languages/jako/jakoc:
5801 * Changed some instances of die() to confess()
5803 2001-12-05 18:34 gregor
5805 * t/: op/pmc.t, pmc/pmc.t:
5806 s/sting->int/string->int/
5808 2001-12-05 18:08 gregor
5810 * Parrot/.cvsignore:
5813 2001-12-05 18:05 gregor
5815 * classes/.cvsignore:
5816 Ignore the generated files.
5818 2001-12-05 17:19 gregor
5821 * Reverted recent changes, since they broke the script. Real fix
5825 2001-12-05 17:03 simon
5827 * classes/Makefile.in:
5828 Remember: change Makefile.in, not Makefile. D'oh.
5830 2001-12-05 17:02 simon
5833 Ensure PMC.pm gets remade.
5835 2001-12-05 16:58 simon
5837 * MANIFEST, Makefile.in, classes/Makefile.in,
5838 classes/perlundef.pmc, include/parrot/pmc.h:
5839 Add perlundef class.
5841 2001-12-05 16:45 simon
5844 Document "new P0, foo"
5846 2001-12-05 16:43 simon
5848 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5849 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5850 Allow assembler to know about PMC class names.
5852 2001-12-04 13:39 ajgough
5854 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5856 2001-12-04 05:02 ajgough
5858 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5861 2001-12-04 04:24 ajgough
5863 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5864 broken form of strtod and appropriate tests. Does not yet check
5867 2001-12-04 01:31 ajgough
5869 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5870 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5871 to extract_num and extract_int string vtables, without this it
5872 would be impossible to have strings with nulls in while still
5873 knowing where they ended.
5875 2001-12-03 18:40 ajgough
5877 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5878 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5879 include/parrot/string.h: Moved pmc string to number conversion into
5880 the string encoding tables.
5882 2001-12-03 00:21 ajgough
5884 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5887 2001-12-02 23:09 jgoff
5889 * classes/Makefile.in: Removed some redundant targets.
5891 2001-12-02 19:02 ajgough
5893 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5894 equality macro rather than using perl to generate expected output,
5895 all tests now have <<OUTPUT.
5897 2001-12-02 17:44 ajgough
5899 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5900 for pmc.t as well. Will probably move macros into another file at
5901 some point, although this might be best left until the tests are
5904 2001-12-02 06:16 jgoff
5906 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5907 within Parrot_Perl{Class}_init.
5909 2001-12-02 06:09 jgoff
5911 * classes/Makefile.in: I seem to have removed *$(O) twice..
5913 2001-12-02 05:06 jgoff
5915 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5916 Configure.pl - Removed '-I./include', added classes/Makefile
5917 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5918 Removed old classes/* make stuff Added target for
5921 2001-12-02 04:48 jgoff
5923 * classes/Makefile.in: Going to be used shortly...
5925 2001-12-02 04:40 jgoff
5927 * docs/Makefile: Configure.pl - Added automatic makefile creation
5928 for docs/ and classes/ Removed '-I./include' because
5929 it was getting incorrectly passed to classes/
5930 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5931 - Removed classes/ build stuff, replaced with classes/Makefile.in
5932 Added '-I./include' locally docs/Makefile - Should no
5933 longer be used, but I'm not brave enough to do a
5936 2001-12-02 01:21 ajgough
5938 * t/op/trans.t: Refactored trans math tests to have hard coded
5939 expected return values and be more ready to be unperled at some
5940 point in the future. Added $fp_equality_macro which is a
5941 "nearly-equal-to" function.
5943 2001-12-02 01:18 ajgough
5945 * Makefile.in: Humph. People really ought to use Makefile
5946 variables, s/perl/$(PERL)/ throughout.
5948 2001-12-01 18:15 jgoff
5950 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5951 figure out what to do vis-a-vis the lack of snprintf.
5953 2001-11-30 13:14 ajgough
5955 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5958 2001-11-30 13:14 ajgough
5960 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5963 2001-11-30 10:36 simon
5966 Rewrite print_p to do the right thing.
5968 2001-11-30 06:21 jgoff
5970 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5971 concat, integer/number/string math
5973 2001-11-30 06:20 jgoff
5975 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5976 classes/perlint.pmc - Fixes and expanding for concat and math with
5977 strings classes/perlnum.pmc - Fixes and expanding for concat and
5978 math with strings classes/perlstring.pmc - Fixes and expanding for
5979 concat and math with strings
5981 2001-11-29 15:21 ajgough
5983 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5984 $^X lies, which confused bash which make uses to run things when
5987 2001-11-29 04:58 jgoff
5989 * classes/perlstring.pmc: Removed C++-style comments for good
5992 2001-11-29 04:51 jgoff
5994 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5996 2001-11-29 04:28 jgoff
5998 * global_setup.c: Initialize PMC strings
6000 2001-11-29 04:25 jgoff
6002 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
6005 2001-11-29 04:24 jgoff
6007 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
6008 files to properly upgrade int to num, do calculations. Also added
6009 basic string operations. Currently errors out on anything but set
6010 operations, but this will be fixed soon.
6012 2001-11-29 04:22 jgoff
6014 * Makefile.in: PMC .c files weren't getting cleaned out.
6016 2001-11-28 17:00 simon
6020 Make csh-glob happy.
6022 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6024 2001-11-28 16:40 simon
6026 * classes/perlnum.pmc:
6030 2001-11-28 15:22 simon
6034 Fixes Alex's string concat worry.
6036 2001-11-28 14:27 ajgough
6038 * t/op/string.t: test "null onto null" incorrectly passing as it
6039 produced no output. Output provided.
6041 2001-11-28 11:14 simon
6043 * include/parrot/pmc.h:
6047 2001-11-26 21:03 dan
6049 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6051 2001-11-26 17:29 simon
6053 * classes/perlint.pmc:
6055 Various subtle but non-showstopper bugs.
6057 2001-11-26 11:23 simon
6061 Replace dependency on Text::Balanced
6063 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6065 2001-11-26 05:22 jgoff
6067 * global_setup.c: Last file that should need to be committed. I
6070 2001-11-26 05:09 jgoff
6072 * core.ops: Let's try this again... Changes to core.ops required
6074 2001-11-26 04:58 jgoff
6076 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6077 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6078 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6079 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6080 functions classes/perlnum.pmc - Set up basic number functions
6081 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6082 tests against numbers and numbers+integers
6084 2001-11-25 13:18 simon
6087 Windows XP make doesn't like $<
6089 2001-11-25 12:56 simon
6091 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6092 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6093 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6094 examples/assembly/mops_p.pasm:
6097 Courtesy of: Angel Faus <afaus@corp.vlex.com>
6099 I (Simon) also added a couple more integer methods, but no tests
6100 since I'm a Bad Person.
6102 2001-11-25 08:40 brentdax
6104 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6105 lib/Parrot/OpsFile.pm: Allow _ in op names
6107 2001-11-25 05:54 jgoff
6109 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6110 Added basic math ops t/op/pmc.t - Added tests of basic math ops
6112 2001-11-23 18:27 simon
6114 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6115 Add everything you need to make MOPS use PMCs.
6117 2001-11-23 18:06 simon
6120 Eh, you'll need this for rewriting mops.pasm.
6122 2001-11-23 17:55 simon
6124 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6126 More work on integer PMCs.
6128 2001-11-23 17:29 simon
6131 Surprise! Whitespace! HLAGHLAGHLAGH
6133 2001-11-23 17:28 simon
6135 * Makefile.in, ops2c.pl, ops2pm.pl:
6136 Add vtables.ops to the core
6138 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6140 2001-11-22 18:39 simon
6142 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6144 We can now create PMCs.
6146 2001-11-21 05:49 jgoff
6148 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6150 2001-11-20 16:00 simon
6152 * docs/vtables.pod, include/parrot/pmc.h:
6153 Reorder PMC flags so there's a fixed number of user-defined flags.
6155 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6157 2001-11-19 03:39 jgoff
6159 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6160 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6161 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6162 escaped quotes, and proper handling of newlines.
6164 2001-11-16 22:03 simon
6166 * classes/perlint.c:
6167 More work on the Perl Integer class. More needed, though.
6169 2001-11-16 21:57 simon
6171 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6172 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6174 2001-11-16 20:49 simon
6176 * interpreter.c, runops_cores.c, trace.c,
6177 include/parrot/runops_cores.h:
6178 Kill superfluous runops cores.
6180 2001-11-16 17:50 simon
6182 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6183 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6184 include/parrot/parrot.h, include/parrot/pmc.h:
6185 Skeleton for Perl scalar types, done right.
6187 2001-11-16 16:15 simon
6189 * classes/genclass.pl:
6190 This tidies up genclass to deal with the new-style multimethods.
6192 2001-11-16 15:29 simon
6194 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6195 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6196 Rework multimethods to be *true* multimethods - that is, have
6199 2001-11-15 22:29 simon
6201 * MANIFEST, Makefile.in, pmc.c:
6202 pmc.c linkage and support. Oh, and making it compile.
6204 2001-11-15 22:26 dan
6206 * t/op/interp.t: Forgot to tell CVS about the test...
6208 2001-11-15 22:10 dan
6210 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6211 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6212 for PMC registers for the interpreter.
6214 Added in the docs for the runinterp opcode.
6216 Added in code for both the newinterp and runinterp opcodes, so we
6217 can now create new interpreters from within parrot and have them do
6218 things. (Though we can't pass data back and forth. Yet)
6220 2001-11-15 21:24 simon
6222 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6223 More documentation, and other changes as discussed with Dan.
6225 2001-11-15 19:51 simon
6227 * classes/scalarclass.c:
6230 2001-11-15 19:50 simon
6232 * classes/scalarclass.c:
6233 A little code tidiness.
6235 2001-11-15 19:33 simon
6237 * include/parrot/pmc.h:
6238 Missed this in the previous commit - un-constantize the base for
6239 user-defined PMC flags.
6241 2001-11-15 19:28 simon
6243 * classes/scalarclass.c:
6246 2001-11-15 17:09 simon
6248 * classes/scalarclass.c:
6249 It seems I have completely forgotten how to write C.
6251 2001-11-15 16:53 simon
6254 Start of the PMC classes documentation.
6256 2001-11-15 14:46 simon
6258 * classes/scalarclass.c:
6259 Changing to use a Perl-style struct instead of the union cache.
6261 2001-11-13 23:56 tom
6263 * string.c: Removed leading _ from string_index as function names
6264 starting with _ are reserved to implementors by the C standard.
6266 Also fixed string_index to use the encoding routines instead of
6267 assuming a single byte encoding.
6269 2001-11-13 12:59 jgoff
6271 * string.c: Patched string_concat to accept null strings. That
6272 test was failing. Nothing to do with ord().
6274 2001-11-13 12:43 jgoff
6276 * string.c: string_ord function, string_concat fixes
6278 2001-11-13 04:52 jgoff
6280 * core.ops: Added ord to core.ops
6282 2001-11-13 04:35 jgoff
6284 * docs/strings.pod, include/parrot/exceptions.h,
6285 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6286 operator, documentation string.c - Added string_ord, _string_index
6287 (_string_index is a static helper) Patched
6288 string_concat to handle null strings properly. docs/strings.pod -
6289 Description of string_ord include/parrot/exceptions.h - Added
6290 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6291 string_ord() t/op/string.t - Added full set of test for
6292 ord_i_(s|sc)(_(i|ic))?
6294 string.c contains a bit of documentation explaining the logic
6295 behind _string_index, primarily having to do with multiple encoding
6298 2001-11-12 22:30 simon
6303 2001-11-12 22:28 simon
6306 Add a rule to compile "platform"
6308 2001-11-12 22:26 simon
6311 Tidy up distclean target.
6313 2001-11-12 16:54 dan
6315 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6316 t/op/macro.t: Fixes to the assembler's macro facility and a test
6318 Courtesy of: Jeff <jgoff@speakeasy.net>
6320 2001-11-12 16:50 dan
6322 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6325 Courtesy of: Jeff <jgoff@speakeasy.net>
6327 2001-11-12 16:36 dan
6329 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6332 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6334 2001-11-12 11:22 simon
6336 * examples/assembly/mops.pasm:
6338 Trivial tightening of mops loop.
6340 2001-11-07 23:57 ajgough
6342 * docs/tests.pod: This is a basic quide to writing tests with
6345 2001-11-07 22:29 dan
6347 * stacks.c: Added a little documentation on the cleanup parameter
6350 2001-11-07 14:43 dan
6352 * MANIFEST, platforms/generic.c, platforms/linux.c,
6353 platforms/linux.h: Portability patches.
6355 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6357 2001-11-06 19:51 tom
6359 * Makefile.in: Clean up object files in the subdirectories as well
6360 as those in the top level directory.
6362 Enhanced version of patch from Daniel Grunblatt
6363 <daniel@grunblatt.com.ar>
6365 2001-11-06 16:14 dan
6367 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6368 platforms/generic.c, platforms/generic.h: Made things a bit more
6369 platform-independent. Makefile still needs work to pick up changes
6370 to the platform-specific files.
6372 2001-11-05 21:32 dan
6374 * docs/parrot_assembly.pod: Added docs for the GC control ops
6376 2001-11-04 02:52 gregor
6378 * platforms/: win32.c, win32.h:
6379 * win32 dynamic loading functions.
6381 Courtesy of Jason Diamond <jason@injektilo.org>
6383 2001-11-04 00:04 brentdax
6385 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6386 allows an absolute path to be used and gives a useful error message
6387 if the original source file can't be found
6389 2001-11-02 12:37 gregor
6391 * platforms/: linux.c, linux.h:
6392 * Beginning of dynamic loading support. Linux only for now.
6394 2001-11-02 12:13 gregor
6396 * MANIFEST, time.c, include/parrot/time.h:
6397 * Removed time.[hc], since they have been superseded by the new
6401 2001-11-02 12:11 gregor
6403 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6404 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6405 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6406 platforms/win32.c, platforms/win32.h:
6407 Patch from Jason Diamond to make win32 platform stuff work:
6409 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6410 platform specific files in the platforms directory gets copied to
6411 the correct directories. The Makefile will re-copy the platform.h
6412 and .c files if the original is modified.
6414 * #include platform.h in parrot.h instead of time.h.
6416 * Removed time.h and time.obj from the Makefile. time.h and time.c
6417 aren't being used anymore since that code was moved to linux.c and
6420 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6421 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6422 windows.h. This required updating several files besides parrot.h.
6424 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6425 instead of the missing identifiers (on Windows) in core.ops in the
6428 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6429 platform files and called those from core.ops. The Linux code for
6430 these functions came from core.ops so they should hopefully work.
6432 Courtesy of Jason Diamond <jason@injektilo.org>
6434 2001-11-02 06:43 brentdax
6436 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6437 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6439 2001-11-02 02:26 gregor
6441 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6442 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6444 * Beginnings of platform support files in platform/*.[hc]
6446 2001-11-01 23:37 tom
6448 * classes/intclass.c: Added missing *'s to STRING arguments and
6449 return values to avoid compiler warnings.
6451 2001-11-01 22:21 gregor
6453 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6454 include/parrot/parrot.h, include/parrot/time.h:
6455 Initial "fix" of time(n) op for Win32:
6457 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6459 * time.c and include/parrot/time.h
6461 First attempt at getting this working across platforms. The
6462 macro WIN32 being tested might not be right.
6464 * New functions Parrot_intval_time() and Parrot_floatval_time()
6465 wrap the appropriate functionality depending upon platform.
6466 Changed core.ops to call these.
6468 Added obscure.ops with obscure transcendental ops.
6470 Added simple file I/O ops (close, open, read, write):
6472 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6474 * I changed some arg ordering stuff.
6476 * I added read/write of INTVALs and FLOATVALs.
6478 Added environment variable ops (getenv, setenv)
6480 Added system error ops (err(i) and err(s) for accessing errno and
6483 Moved print ops in with other "temporary" developer ops, since
6484 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6486 2001-10-31 22:51 tom
6488 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6489 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6490 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6491 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6492 encodings/utf8.c, include/parrot/chartype.h,
6493 include/parrot/encoding.h, include/parrot/exceptions.h,
6494 include/parrot/parrot.h, include/parrot/string.h,
6495 include/parrot/strnative.h, include/parrot/strutf16.h,
6496 include/parrot/strutf32.h, include/parrot/strutf8.h,
6497 include/parrot/transcode.h: Reworked the string code in line with
6498 Dan's latest design that separates character sets from encodings.
6500 2001-10-31 19:53 dan
6502 * docs/parrot_assembly.pod: Finished I/O section of docs
6504 2001-10-31 16:51 dan
6506 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6507 Moved includes out of core.ops and into parrot.h where they belong
6508 (suitably guarded with #ifdefs). Also some updates to
6511 2001-10-30 21:43 dan
6513 * core.ops, stacks.c, docs/parrot_assembly.pod,
6514 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6515 of the entry on the stack
6517 2001-10-29 18:30 dan
6519 * stacks.c: You can turn off stack entry type validation on pop by
6520 passing in a type of 0 now. (For those cases where you just want to
6521 throw the darned thing away)
6523 2001-10-29 14:37 gregor
6525 * core.ops, languages/jako/jakoc:
6526 * New variants of the save ops to save constants on the stack.
6528 useful for saving zero arg and result counts on the stack, for
6531 * Modified jakoc to to adapt to the newly announced calling
6533 Even though Jako source code appears to show subroutines with
6535 numbers of arguments and results, they are implemented with the
6536 variable count calling convention. Future modifications will be
6538 to ensure that an exception is raised if the stack frame is of
6540 wrong size (or, at least that we pop the complete frame off).
6542 also have to make more changes to support the true
6544 and fixed-result-count parts of the calling convention spec.
6546 2001-10-28 16:53 simon
6548 * MANIFEST, stacks.c, classes/scalarclass.c,
6549 include/parrot/stacks.h:
6550 Unbelievably bad errors of mine, plus a type incompatibility of
6553 2001-10-28 08:30 simon
6555 * classes/scalarclass.c:
6556 Beginning of a scalar class.
6558 2001-10-28 08:29 simon
6560 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6561 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6562 include/parrot/pmc.h:
6563 This fixes the problem with vtables and pointer arithmetic.
6565 2001-10-26 19:58 dan
6567 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6568 include/parrot/stacks.h: Split the generic stack into a user push
6569 stack and a control stack
6571 2001-10-26 02:59 bdwheele
6573 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6575 2001-10-24 20:27 dan
6577 * languages/scheme/: Makefile, Scheme.pm, schemec,
6578 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6579 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6580 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6583 2001-10-24 20:23 dan
6585 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6586 interpreter needs in pdump.c. Added scheme bits to manifest
6588 2001-10-24 16:43 gregor
6590 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6591 * Make the assembler handle octal character code escapes in
6595 2001-10-24 15:56 dan
6597 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6598 play the game of life
6600 2001-10-24 15:54 dan
6602 * core.ops: Added sleep. We'll need to override this to do events
6603 properly anyway, so...
6605 2001-10-24 14:03 gregor
6607 * Makefile.in, pbc2c.pl, pdump.c:
6608 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6610 pointer into string functions.
6612 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6614 2001-10-23 20:09 gregor
6616 * languages/jako/jakoc:
6617 * Terminological refinement in regexp capture comment.
6619 2001-10-23 15:23 simon
6621 * classes/genclass.pl:
6622 Use a saner ANSI C construct to make MIPSPro happy.
6624 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6626 2001-10-23 00:34 tom
6628 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6629 strutf8.c, include/parrot/string.h: Make sure the interpreter
6630 structure is passed to the transcoder as necessary, including
6631 passing it to string_compare().
6633 2001-10-23 00:32 tom
6635 * Makefile.in: Make pdump build again by including resources.o in
6638 2001-10-22 22:43 dan
6640 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6641 strutf32.c, strutf8.c, test_main.c, transcode.c,
6642 include/parrot/packfile.h, include/parrot/parrot.h,
6643 include/parrot/resources.h, include/parrot/string.h,
6644 include/parrot/transcode.h: Everything now uses the allocators and
6645 deallocators in resources.c.
6647 Unfortunately we lost standalone string-test mode, but I can cope
6650 Please note that until we have a real allocation/deallocation/GC
6651 system, this'll leak. A *lot*.
6653 2001-10-22 20:27 dan
6655 * MANIFEST, Makefile.in, pmc.c, resources.c,
6656 include/parrot/resources.h: First cut to handle arena allocation of
6657 PMC headers. (Amongst other things)
6659 2001-10-22 19:02 dan
6661 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6662 Now each register type has its own mask macro, which is the right
6665 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6667 2001-10-21 23:40 tom
6669 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6670 stack chunk and add a test to test this rollover in future.
6672 Courtesy of Jason Gloudon <perl@gloudon.com>.
6674 2001-10-21 19:14 dan
6676 * include/parrot/string.h: Changed string 'unused' field to the
6679 2001-10-21 18:18 gregor
6681 * languages/jako/: Makefile, mops.jako:
6682 * Makefile: 'clean' target removes .list files, too. And, it does
6684 with wildcards rather than listing things explicitly.
6686 * mops.jako actually prints out the
6687 millions-of-operations-per-second
6688 (mops) value instead of just the operations-per-second value.
6690 2001-10-21 18:03 simon
6692 * classes/intclass.o:
6695 2001-10-21 17:47 simon
6697 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6698 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6699 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6700 lib/Parrot/Vtable.pm:
6701 Initial work on PMCs. Explanation to follow
6703 2001-10-21 15:20 gregor
6705 * examples/assembly/queens.pasm:
6706 * Modernize the calling conventions in queens.pasm. It was using
6708 which now must be rotate. Also, changed to use return values on
6710 stack instead of in I0.
6712 2001-10-19 18:14 gregor
6714 * core.ops, stacks.c, include/parrot/stacks.h,
6715 languages/jako/jakoc:
6716 Per Dan's request, replacing 'swap' op by 'rotate'.
6718 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6720 * stacks.c and stacks.h: Removed swap-related functions from my
6721 prior commit, replacing them with stack_depth(), stack_entry()
6722 and rotate_entries().
6724 NOTE: The stack_depth() and rotate_entries() routines could
6725 be made more efficient through the caching of the sum of chunk
6726 'used' members from lower chunks in a field in the upper
6727 chunks. Also, if the interpreter's stack_base was changed to
6728 hold the pointer to the *top* chunk (since we usually come
6729 at the stack from the top down) instead of the *bottom*
6730 chunk. The code here at least works, and we can decide about
6731 bigger changes separately.
6733 For now, rotate only handles rotates in one direction and
6734 of magnituded one. A fully general rotate would do handle
6735 rotates in both directions and of arbitrary amounts. Again,
6736 this implementation is sufficient for current applications,
6737 and a feature-complete version can be developed if this turns
6738 out to be otherwise the right type of implementation.
6740 This change includes a new exception for ERROR_STACK_SHALLOW,
6741 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6743 * jakoc: Changed the calling convention to use rotate instead
6744 of swap (of course). Also changed the convention for return
6745 value passing to use the stack as well.
6747 2001-10-19 13:36 gregor
6749 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6750 examples/assembly/queens.pasm, include/parrot/stacks.h,
6751 languages/jako/.cvsignore, languages/jako/Makefile,
6752 languages/jako/bench.jako, languages/jako/euclid.jako,
6753 languages/jako/fact.jako, languages/jako/jakoc,
6754 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6755 languages/jako/primes.jako, languages/jako/queens.jako,
6756 languages/jako/sub.jako:
6757 * New stack functions push_entry(), pop_entry() and swap_entry().
6758 The first two exist for the support of the last one. These
6759 functions don't care what is in the stack entries. These exist
6760 to support the new 'swap' op (see next bullet).
6762 * New op 'swap' for swapping the top two elements on the stack.
6763 This is necessary for passing arguments to functions, since
6764 the return address will be on top of any arguments that have
6765 been pushed on the stack. This way, you can use a (swap, pop)
6766 pair to retrieve each argument (for subroutine linkage).
6768 * Disassembler now prints numbers in decimal by default, with
6769 a new '-x' flag to turn on hexadecimal display. Since other
6770 members of the Parrot Tool Set use decimal by default, this
6771 makes it easier to compare output from the various tools.
6773 * Jako compiler has more explanatory comments and the following
6776 * Lexically scoped variables.
6778 * Subroutines that take arguments and return values:
6780 sub int foo(int bar) {
6787 * ... if (...) and ... unless (...) statement modifiers
6788 can be used on next, last and redo.
6790 * Bitwise and (&, &=) and or (|, |=) ops.
6792 * Type names are just 'int', 'num', 'str', and 'poly' now.
6793 The old long names 'integer', 'number', 'string', and
6794 'polytype' are no longer valid.
6796 * Integer variable assignments can now use 0b (binary),
6797 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6799 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6800 solving the eight-queens problem. The assembly example is a
6801 hand-modified version of the assembly code produced by the
6802 Jako compiler from queens.jako. A few unnecessary ops have
6803 been removed, lots of unnecessary labels have been removed,
6804 and all the Jako source code comments have been removed.
6806 * Makefile and .cvsignore in languages/jako modified so that
6807 the assembler produces listings when assembling the programs,
6808 yet the *.list files are ignored by CVS.
6810 * Made the default target in languages/jako/Makefile 'all'.
6812 * Modified some of the Jako examples to use some of the new
6813 features of Jako, such as subroutines and lexical variable
6816 2001-10-19 02:43 gregor
6818 * runops_cores.c, include/parrot/runops_cores.h:
6819 Bug fix (gcc doesn't complain, but MIPSpro does):
6821 * Added missing extern to runops_cores array declaration in
6822 include/parrot/runops_cores.h
6824 * Also added 'const' there and in runops_cores.c
6826 2001-10-18 15:18 gregor
6828 * .cvsignore, include/parrot/oplib/.cvsignore:
6829 * Ignore the vtable-related generated files.
6831 2001-10-18 15:14 gregor
6834 * left and right shifts now allow the 2nd argument to be a
6837 2001-10-18 14:55 simon
6839 * make_vtable_ops.pl:
6840 This is C, not Perl. How on earth did that even compile?
6842 2001-10-18 14:54 simon
6844 * make_vtable_ops.pl:
6847 2001-10-18 12:33 simon
6849 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6850 Initial stab at vtable opcode creation stuff.
6852 2001-10-18 02:15 gregor
6854 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6855 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6856 include/parrot/trace.h: Preparation for autogenerated runops cores:
6858 * Split tracing and runops core stuff out of interpreter.c into
6859 trace.c and runops_cores.c
6861 * Similar split of stuff from include/parrot/interpreter.h
6863 * Manifest and Makefile.in updates to make things still compile.
6865 2001-10-18 01:21 gregor
6867 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6869 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6871 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6873 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6875 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6877 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6879 copy of $ops->preamble.
6881 2001-10-17 22:32 bdwheele
6883 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6886 2001-10-17 22:08 gregor
6888 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6889 * Now handles label-and-comment-only lines.
6891 2001-10-17 22:04 bdwheele
6893 * interpreter.c: added more comprehensive trace output
6895 2001-10-17 16:50 tom
6897 * Makefile.in: Removed the explicit rule for building mops.o from
6898 mops.c so that the implicit rule for compiling C files is used
6899 instead. This means that the chosen C flags are used, including any
6900 optimisation options.
6902 2001-10-17 15:24 tom
6904 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6905 op explosion logic to be able to handle exploding this:
6915 without also generating this unwanted version:
6919 The enhanced version rejects any expansion where there is more than
6920 one expanded argument and all the expanded arguments are constants.
6922 2001-10-17 14:20 simon
6924 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6925 Build fixes to use correct Perl version and ensure that things are
6926 running in the right directory.
6928 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6930 2001-10-17 13:16 simon
6933 core.pm is more critical than that.
6935 2001-10-17 13:05 simon
6937 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6938 "Explode" ops into multiple versions for different parameters.
6940 Courtesy of: Tom Hughes <tom@compton.nu>
6942 2001-10-17 12:54 simon
6945 Fix dependencies and cleaning.
6947 2001-10-17 12:45 simon
6949 * Configure.pl, Makefile.in:
6950 Fixes to make Parrot compile without the temporary build hack
6952 Courtesy of: Jason Gloudon <perl@gloudon.com>
6954 2001-10-16 20:43 gregor
6957 * Fixed dependencies for building Parrot/OpLib/core.pm
6959 2001-10-16 19:35 bdwheele
6961 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6962 added test, thanks to Alex Gough
6964 2001-10-16 16:49 bdwheele
6966 * core.ops: added opcode variants for constants and 3 arg concat
6968 2001-10-16 15:12 bdwheele
6970 * core.ops: added "set Sx,Sy" as a string copy to match the other
6971 register-to-register copies available
6973 2001-10-16 13:09 gregor
6976 * Added #include <sys/time.h> in the preamble for gettimeofday().
6978 2001-10-16 13:09 gregor
6981 * Removed cd t; make, which no longer applies
6983 2001-10-16 03:18 bdwheele
6985 * core.ops: fix save & restore operations to push correct type onto
6986 stack. [good eye to Jason Gloudon for noticing this]
6988 2001-10-16 01:38 bdwheele
6990 * core.ops, register.c, examples/assembly/fact.pasm,
6991 include/parrot/register.h: send in the clones: clone routines for
6992 parrot + example program
6994 2001-10-15 22:37 gregor
6996 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6997 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6998 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6999 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
7000 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
7001 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
7002 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
7003 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7004 t/test4.pasm, t/test5.pasm, t/trace.pasm:
7005 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
7007 renames so the names match what they demonstrate.
7009 2001-10-15 22:18 gregor
7011 * core.ops, t/test.pasm:
7012 * time_n uses gettimeofday() to get sub-second times.
7014 * t/test.pasm uses time_n directly rather than doing int stuff
7016 converting to num later.
7018 2001-10-15 12:28 gregor
7020 * t/: test.pasm, test2.pasm, trace.pasm:
7021 * t/test.pasm prints using string constants instead of string
7024 * t/test2.pasm assembles (using implicit op modes)
7026 * t/trace.pasm updated for new behavior of trace_ic, which does
7028 require an 'end' after 'trace'.
7030 2001-10-15 00:47 gregor
7032 * core.ops, interpreter.c, test_main.c,
7033 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
7036 * New runops cores to handle profiling
7038 * Support for -p flag in test_prog to enable profiling
7040 * New profile_ic op to control profiling at run-time
7042 2001-10-14 21:54 gregor
7044 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7045 lib/Parrot/OpsFile.pm: Integrated op documentation.
7047 * core.ops now contains POD documentation of ops, interspersed
7051 * Ops are organized into POD =head2 sections
7053 * Parrot/OpsFile.pm now treats the preamble of the ops file as
7055 up to the first POD directive OR op definition.
7057 * docs/Makefile now generates core_ops.pod from core.ops vi
7060 2001-10-14 11:58 simon
7063 Unbreak Digital Un^W^WTru64
7065 2001-10-14 11:00 simon
7070 2001-10-14 10:56 tom
7072 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7073 op_info.c no longer exists and op.h is no longer a generated file.
7075 2001-10-14 10:54 tom
7077 * Makefile.in: Added vtable.h to the list of things removed by the
7080 2001-10-14 01:43 gregor
7082 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7083 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7084 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7085 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7086 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7087 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7088 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7089 include/parrot/.cvsignore, include/parrot/interp_guts.h,
7090 include/parrot/interpreter.h, include/parrot/op.h,
7091 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7092 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7093 t/op/stacks.t, t/op/string.t, t/op/trans.t:
7096 * basic_opcodes.ops and opcode_table replaced by core.ops
7098 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7099 and ops2c.pl. These convert *.ops to *_ops.c and
7100 include/parrot/oplib/*_ops.h
7102 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7104 * disassemble.pl modified to use
7106 * interpreter.c modified to use structures in core_ops.c instead
7107 of the old op_info and op_func stuff. We're not yet to the
7108 point of handling multiple oplibs at a time, but we are getting
7111 Fingerprinting stuff disabled for now. We used to go off
7112 opcode_table. We need to rethink this. I have some ideas to
7113 make it unnecessary, but it remains to be seen whether others
7114 will like the direction they take us.
7116 Termination condition for while(){} loop in runops is now
7117 (pc) instead of (*pc). Any op can cause a HALT by returning
7118 a NULL pointer. Ops end, bounds and trace all do this. So, now
7119 the 'end' op body is actually executed, although all it does
7122 * Makefile.in modified to perform a test build using pbc2c.pl,
7123 which is the bytecode --> C compiler I've posted to the
7126 * Op full names are now autogenerated. Op root names must not
7127 contain underscores, so some op renamings have happened.
7128 Such as clear_i becoming cleari.
7130 2001-10-13 11:49 simon
7132 * Configure.pl, MANIFEST:
7133 Make parrot actually build again.
7135 2001-10-12 21:34 dan
7137 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7140 2001-10-12 20:56 dan
7142 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7143 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7144 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7145 generic stack now in. We also have subroutines, of a simple sort!
7147 2001-10-12 19:15 tom
7149 * t/op/string.t: Improved string comparison tests try all string
7150 combinations with each of the comparison ops.
7152 2001-10-12 19:09 dan
7154 * interpreter.c: Properly sets up generic stack now
7156 2001-10-12 19:09 dan
7158 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7159 interpreter structure
7161 2001-10-12 18:59 dan
7163 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7164 changes to get the generic stack working
7166 2001-10-12 18:59 dan
7168 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7169 hints/vms.pl: Made the changes to figure out mask bits for various
7170 register and stack chunks
7172 2001-10-11 22:09 dan
7174 * docs/parrot_assembly.pod: Tossed the parameter for return
7176 2001-10-11 19:28 tom
7178 * strnative.c: Assignment, not comparison. (Plus formatted for
7181 Courtesy of Bryan C. Warnock
7183 2001-10-10 19:21 tom
7185 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7186 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7187 include/parrot/string.h, t/op/string.t: Added support for string
7188 comparisons and extended the comparison ops to include comparison
7191 2001-10-10 17:58 dan
7193 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7195 2001-10-10 17:54 dan
7197 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7198 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7199 vtable type entries properly
7201 2001-10-10 15:37 dan
7203 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7204 parse new vtable.tbl file now that I've actually checked *in* the
7205 new format vtable.tbl file...
7207 2001-10-10 15:32 dan
7209 * vtable.tbl: New Column to indicate the type of the vtabel entry
7210 so we can know how many slots it takes
7212 2001-10-10 05:26 thgibbs
7214 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7215 allow parrot to compile. PACKAGE is not defined, therefore, I
7216 added a struct before it to have it not complain until we define
7217 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7218 semicolon at the end of the struct declaration.
7220 2001-10-10 05:09 thgibbs
7222 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7223 string constants of the form U"string" become unicode encoded
7224 parrot strings and the form N"string" become native encoded parrot
7227 Courtesy of: Tom Hughes <tom@compton.nu>
7229 2001-10-10 04:55 dan
7231 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7232 support for generating the vtable function table offset macros
7234 2001-10-10 01:05 simon
7237 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7238 compiles into the mod op, not the cmod_i op, hence wasn't testing
7239 what it thought it was.
7241 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7243 2001-10-09 03:45 thgibbs
7245 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7246 assembler to generate unicode strings.
7248 Courtesy of: Tom Hughes <tom@compton.nu>
7250 2001-10-08 19:30 brentdax
7252 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7253 info for Parrot::Config to remember, more flexible test.c stuff
7255 2001-10-08 15:04 gregor
7257 * basic_opcodes.ops:
7258 * Removed trash from early mod_i experiments (pardon our dust)
7260 2001-10-08 14:56 gregor
7262 * basic_opcodes.ops:
7263 * Fixed a couple of typos.
7265 2001-10-08 14:45 gregor
7267 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7268 Arithmetic enhancements:
7270 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7272 NOTE: This "uncorrected mod" algorithm uses the C language's
7274 mod operator (x % y), which is
7276 ... the remainder when x is divided by y, and thus is zero
7280 The direction of truncation for / and teh sign of the
7282 are machine-dependent for negative operands, as is the
7284 on overflow or underflow.
7290 ... if the second operand is 0, the result is undefined.
7292 is always true that (a/b)*b + a%b is equal to z. I both
7294 non-negative, then teh remainder is non-negative and
7296 divisor; if not, it is guaranteed only that the absolute
7298 remainder is smaller than the absolute value of the
7303 This op is provided for those who need it (such as
7305 applications with heavy use of mod, but using it only with
7307 arguments), but a more mathematically useful numeric mod based
7309 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7311 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7313 Language*, Second Edition. Prentice Hall, 1988.
7315 * Added "corrected" mod_i:
7317 NOTE: This "corrected mod" algorithm is based on the C code on
7319 of [1]. Assuming correct behavior of C's built-in mod operator
7321 positive arguments, this algorithm implements a mathematically
7323 version of mod, defined thus:
7325 x mod y = x - y * floor(x / y)
7327 For more information on this definition of mod, see section 3.4
7333 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7334 Millennium* Springer, 1999.
7336 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7338 Mathematics*, Second Edition. Addison-Wesley, 1994.
7340 * Added mod_n, using the same formula as above, but with FLOATVAL
7343 * Added cmod_n, using the C math library's fmod() function:
7345 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7347 fmod() function, which computes
7349 ... the remainder of dividing x by y. The return value is x
7351 where n is the quotient of x / y, rounded towards zero to
7354 -- fmod() manpage on RedHat
7357 In addition, fmod() returns
7359 the remainder, unless y is zero, when the function fails
7363 According to page 251 of [1], the result when y is zero is
7367 This op is provided for those who need it, but a more
7369 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7371 defined with y == 0 is provided by the mod_n op.
7373 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7375 Language*, Second Edition. Prentice Hall, 1988.
7377 * Added and modified tests as appropriate for the above.
7379 2001-10-08 08:49 thgibbs
7381 * include/parrot/exceptions.h, include/parrot/parrot.h,
7382 include/parrot/string.h, include/parrot/strutf16.h,
7383 include/parrot/strutf32.h, include/parrot/strutf8.h,
7384 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7385 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7386 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7387 strings for utf8, utf16, and utf32.
7389 Courtesy of: Tom Hughes <tom@compton.nu>
7391 2001-10-08 08:10 thgibbs
7393 * memory.c: Fixed uninitialized variables.
7395 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7397 2001-10-08 01:21 gregor
7399 * packfile.c: * Casting a return value
7401 * Potential uninitialized variable fix
7403 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7405 2001-10-08 01:15 gregor
7407 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7408 a few tweaks of my own):
7412 * Printf format fixes
7414 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7416 2001-10-07 22:39 thgibbs
7418 * build_interp_starter.pl: No longer adds (void*) casts to
7419 interp_guts.c function table as they are not necessary in ANSI C.
7421 2001-10-07 16:27 gregor
7423 * basic_opcodes.ops, interpreter.c, opcode_table,
7424 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7426 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7427 interpreter->flags and set interpreter->resume_addr.
7429 * Two new runops core variants, so now we cover the relevant
7430 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7432 * Runops core selection that converts the flags into an index
7434 a core table (runops_cores) to get the core function pointer.
7436 * A new trace_op variant that doesn't do bounds checking (used by
7437 the non-bounds-checking-but-tracing runops core).
7439 * PC is passed into the cores so that they can be used when
7440 resuming (they used to assume starting at the beginning of the
7441 code, which would thwart resumption).
7443 * runops() itself is changed to have a while() loop in it so that
7444 any time we drop out of the core, we'll resume if we have an
7445 interpreter->resume_addr set (after reselecting the core,
7448 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7449 interpreter->resume_addr. This is used by the new ops. The new
7450 ops still return the new PC as the next op (which MUST be an
7451 'end' op to force the core loop to terminate -- *pc being false
7452 is the only termination condition we can count on for all
7455 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7456 bounds checking core selection.
7458 * test_prog now has a '-b' flag in addition to the '-t' flag.
7460 bounds checking is off by default (I saw a performance boost:
7461 6.3 Mop/s with -b, 7.0 Mop/s without).
7463 * A new sample/test program: t/trace.pasm that twiddles the trace
7464 flag while it is running.
7466 2001-10-07 15:41 gregor
7468 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7469 include/parrot/.cvsignore, include/parrot/interpreter.h:
7470 Now that 0.0.2 is released, I can clear out the backlog of approved
7471 but uncommitted patches. Here's one Dan approved on 2001-09-21
7474 * test_prog and pdump are linked with only the files the need,
7478 * build_interp_starter.pl writes out op_info.[hc], too. These
7480 contain op name, arg count and arg type information. This will
7482 useful for multiple things in the future, including better
7484 output and the crystalizing loader.
7486 * The DO_OP macro is now simpler and doesn't require explicit
7489 * interpreter.c is modified to use the new op info in tracing
7492 * The interpreter just points its opcode_funcs and opcode_info
7493 members at the default tables rather than allocating memory on
7496 2001-10-07 03:58 thgibbs
7498 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7499 comment and adding vtable.h to .cvsignore as it is produced by
7502 2001-10-06 20:58 thgibbs
7504 * vtable.tbl: Added * to REGEX type.
7506 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7508 2001-10-06 13:41 simon
7510 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7511 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7512 Framework for vtable functions.
7514 2001-10-06 06:52 thgibbs
7516 * make_op_header.pl: Removed confusing and unused typedef.
7518 2001-10-06 06:31 thgibbs
7520 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7523 2001-10-06 06:26 thgibbs
7525 * disassemble.pl: Changed intval to op in disassembler.
7527 2001-10-06 06:21 thgibbs
7529 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7530 Assembler, local labels, and integer constants.
7532 2001-10-06 03:11 ask
7534 * Makefile.in: make `make test` actually run the tests on
7537 2001-10-06 02:04 thgibbs
7539 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7540 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7541 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7542 include/parrot/register.h, lib/Parrot/Assembler.pm,
7543 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7544 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7545 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7548 2001-10-06 02:02 thgibbs
7550 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7551 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7552 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7553 include/parrot/register.h, lib/Parrot/Assembler.pm,
7554 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7555 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7556 t/op/integer.t: oops...this messed something up. I must have
7557 missed something in the patch...I have reverted.
7559 2001-10-06 01:57 thgibbs
7561 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7562 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7563 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7564 include/parrot/register.h, lib/Parrot/Assembler.pm,
7565 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7566 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7567 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7568 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7569 This patch ensures that all bytecode is of type opcode_t except for
7570 the constant table constants. That means that almost all of the
7571 INTVALs in the code were replaced with opcode_t and the i pack type
7572 was replaced with the op pack type in calls to pack_arg and such.
7573 Also, since it has been declared that ALL integer constants are to
7574 be 32 bits, some test cases were changed to ensure that an integer
7575 constant was no bigger than 2 ** 31.
7577 process_opfunc.pl was also cleaned up to no longer look at either
7578 opcode_table or interp_guts.h but gather all of its information
7581 The Assembler.pm module was changed to do late binding of arguments
7582 so that 0 could be treated like 0.0 without having to be so
7583 declared. Also, only strings now use the [sc:N] intermediate form
7584 as it was unnecessary for integer and float types.
7586 2001-10-05 21:59 gregor
7588 * MANIFEST, languages/jako/Makefile:
7589 Fixed things due to the movement of little_languages/* to
7592 2001-10-05 18:31 gregor
7595 Updated MANIFEST to reflect recent additions for Jako.
7597 2001-10-05 17:54 gregor
7599 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7600 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7601 mops.jako, primes.jako, sub.jako:
7604 * User-defined subroutines.
7605 * Generates assembly code with the Jako code in comments.
7606 * "end;" no longer required at the end of programs.
7607 * Better handling of const-reg and reg-const.
7608 * Optimizes const-const operations to compile-time
7610 * Constants in addition to variables.
7612 * Allow leading minus signs in integer and number constants
7616 * New sample programs:
7618 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7620 * mandelbrot.jako (based on Leon Brocard's translation of
7621 Glenn Rhodes' C code)
7622 * mops.jako (based on t/test.pasm)
7623 * primes.jako (based on Leon Brocard's primes.pasm example)
7624 * sub.jako (demonstrates a simple user-defined subroutine)
7626 2001-10-05 12:54 gregor
7628 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7629 * Removed mysterious extra copy of code after POD.
7631 2001-10-05 12:46 gregor
7633 * basic_opcodes.ops, t/op/string.t:
7634 * Enabled the previously SKIPped test of printing string regs
7638 * Made print_s do nothing if the STRING pointer in the register
7642 2001-10-04 21:19 dan
7644 * Configure.pl: VMS tweaks
7646 2001-10-04 21:17 dan
7648 * hints/vms.pl: Hints file for VMS
7650 2001-10-04 00:58 bdwheele
7652 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7653 Assembler which stopped equates from working.
7655 2001-10-03 21:50 gregor
7657 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7659 * More documentation updates for the packfile stuff.
7661 2001-10-03 21:37 gregor
7663 * docs/parrotbyte.pod:
7664 * Pointed the reader at Parrot::PackFile.
7666 2001-10-03 21:34 gregor
7668 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7669 * Updated documentation to match current implementation.
7671 2001-10-03 18:30 gregor
7673 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7674 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7675 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7677 * Added new syntax to the assembler to allow square-bracket
7678 arithmetic expressions involving (global) labels, the current
7679 instructions base address ('@'), numeric constants (not
7681 and basic arithmetic operators (+, -, *, / -- although + and -
7682 are likely to be the only ones used in practice).
7684 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7686 fail (argument passing wasn't working).
7688 * Enabled t/op/basic.t's last test, which is actually a copy of
7690 code from t/call.pasm. Now all tests there are enabled and
7693 * Added new example/test program t/call.pasm to demonstrate
7695 macros and poor-man's subroutine calls
7697 * Added header comments to t/*.pasm
7699 2001-10-03 18:00 simon
7702 Needed, since it's in the MANIFEST.
7704 2001-10-03 17:56 simon
7706 * t/op/: string.t, time.t:
7707 Small fixes to help Win32 on its way.
7709 2001-10-03 17:41 simon
7714 2001-10-03 17:39 simon
7716 * MANIFEST, NEWS, README:
7717 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7720 2001-10-03 17:21 simon
7722 * basic_opcodes.ops, interpreter.c, packfile.c:
7723 Evil printf bandaid (which allows Sparc64 to pass tests)
7725 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7727 2001-10-03 16:58 simon
7729 * string.c, t/op/string.t:
7730 chop fixes for n < 0 and tests
7732 Courtesy of: Alex Gough <alex@rcon.org>
7734 2001-10-03 15:51 thgibbs
7736 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7738 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7740 2001-10-02 17:48 dan
7742 * include/parrot/stacks.h: Fix typo in function name
7744 2001-10-02 17:35 dan
7746 * include/parrot/stacks.h: changed to support new stack stuff
7749 2001-10-02 15:01 simon
7751 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7752 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7753 process_opfunc.pl, register.c, string.c, strnative.c,
7754 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7755 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7756 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7757 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7758 include/parrot/memory.h, include/parrot/packfile.h,
7759 include/parrot/parrot.h, include/parrot/register.h,
7760 include/parrot/stacks.h, include/parrot/string.h,
7761 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7765 2001-10-02 12:49 gregor
7767 * process_opfunc.pl:
7768 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7770 2001-10-02 12:40 simon
7772 * basic_opcodes.ops, process_opfunc.pl, register.c,
7773 include/parrot/register.h:
7774 Move preprocessing of register accessors to process_opfunc.pl
7776 Courtesy of: Jason Gloudon <perl@gloudon.com>
7778 2001-10-02 01:20 ask
7780 * README: add a few lines about lists.
7782 2001-10-01 23:00 brentdax
7784 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7785 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7787 2001-10-01 22:50 brentdax
7789 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7791 2001-10-01 21:51 simon
7793 * process_opfunc.pl:
7794 Michael Fischer's patch broke conditionals.
7796 2001-10-01 15:38 simon
7798 * process_opfunc.pl:
7799 Small hack to keep process_opfunc.pl from generating extra return()
7802 Courtesy of: Michael Fischer <michael@visv.net>
7804 2001-10-01 15:32 simon
7806 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7809 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7811 2001-10-01 01:49 simon
7814 Simon is an idiot. Don't trust him with your code.
7816 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7818 2001-10-01 00:59 simon
7820 * Parrot/String.pm, lib/Parrot/String.pm:
7821 Was in manifest, but not in CVS.
7823 2001-09-30 21:25 simon
7825 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7826 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7827 Parrot/Assembler.pm, Parrot/PackFile.pm,
7828 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7829 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7830 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7831 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7832 include/parrot/packfile.h, include/parrot/string.h:
7833 Move NVs to the constant table. * Changes to Types_pm.in to make
7834 life easier for some of the packing/etc. I'm doing elsewhere.
7835 Also, we now pack 'n' as 'i'.
7837 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7838 eventually we can use all these tools together inside scripts
7839 rather than call out to the shell to run the programs.
7841 * As I was tracking down problems, I converted the internal
7842 documentation of the assembler to POD from comments.
7844 * Changed the numeric regexp in the assembler to detect leading
7845 signs and trailing exponents.
7847 * Updated basic_opcodes.ops to fetch numeric constants from the
7850 * Enhanced the disassembler in a number of ways to make my life
7851 easier while tracking down bugs (try it out). It now puts in
7852 labels for ops that are the destinations of flow control ops.
7854 * packfile.c now has a TRACE_PACKFILE switch that can be set
7855 to get it to print info as it processes. I needed this while
7856 debugging, but I can remove it or change it before committing
7859 * Updated pdump.c because it was missing a call to init_world().
7861 * Updated process_opfunc.pl to deal with numeric constants
7862 being stored in the constant table instead of inline.
7864 * Added multiple type support to Parrot/PackFile/Constant.pm
7866 * Added Parrot/String.pm, to be used for constants.
7868 * Added packfile.[hc] functions for allocating new constants
7871 * Made string_copy visible to the world in parrot/string.h.
7875 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7877 2001-09-29 15:56 gregor
7879 * languages/jako/Makefile:
7880 Removed assumption that '.' is on the path.
7882 2001-09-29 15:55 gregor
7884 * languages/jako/Makefile:
7885 Removed references to leibnitz test program.
7887 2001-09-29 15:21 thgibbs
7889 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7890 math ops args to work on Solaris.
7892 2001-09-27 15:15 thgibbs
7894 * assemble.pl: Added case insensitive matches to hex and binary
7897 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7899 2001-09-27 04:46 thgibbs
7901 * assemble.pl: This patch makes integer constants of the form
7902 0b[01]+ work with perl 5.005. The oct function in versions of perl
7903 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7904 returning 0. To fix this, I added a from_binary function that
7905 would take a binary string and return its decimal representation.
7906 Now, instead of blindly calilng oct, it makes a distinction between
7907 0/0x numbers and 0b numbers.
7909 2001-09-26 19:30 thgibbs
7911 * assemble.pl: Error now returns a non-zero status
7913 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7915 2001-09-26 19:13 gregor
7917 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7918 interpreter.c, packfile.c, pdump.c, test_main.c,
7919 include/parrot/bytecode.h, include/parrot/interpreter.h,
7920 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7922 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7923 packfile/bytecode file from C. May be renamed in the future.
7925 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7926 of 'PackFile *', just like the interpreter, etc.
7928 * Constants are accessed via the interpreter's 'code' member
7929 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7930 provided to access constants by index and the number of
7931 constants, respectively (assumes a variable 'interpreter' of
7932 the appropriate type is in scope).
7934 * Byte Code is accessed via the interpreter's 'code' member.
7936 * Changed PackFile_Constant to point to a STRING instead of
7938 members for the string_make() arguments. Also has a 'type' IV
7939 in preparation for allowing multiple types of constants in
7942 * Removed hardcoded example program from test_main.c. We have
7943 plenty of test programs elsewhere.
7945 * test_prog now uses a PackFile to deal with the program before
7946 sending it on to the interpreter.
7948 * Added missing 'end' ops to some tests in t/op/integer.t and
7951 2001-09-26 18:38 thgibbs
7953 * assemble.pl: Separated code into functions and added comments.
7955 2001-09-26 18:29 simon
7958 Fix 64-bit chunk-base issue.
7960 2001-09-26 06:55 thgibbs
7962 * t/op/bitwise.t: Added end to bitwise tests.
7964 2001-09-26 00:54 dan
7966 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7967 and interpreter creation. Skeleton only, but it's something to peer
7970 2001-09-25 21:44 thgibbs
7972 * t/op/trans.t: Removed loops in transcendtal op test.
7974 2001-09-25 10:12 simon
7976 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7977 t/op/string.t, t/op/time.t:
7980 Courtesy of: Alex Gough <alex@rcon.org>
7982 2001-09-24 19:08 gregor
7985 * Enabled the clear_n test.
7987 2001-09-24 18:56 gregor
7989 * Parrot/.cvsignore:
7990 * Ignore the generated Types.pm file.
7992 2001-09-24 18:52 gregor
7994 * languages/jako/Makefile, t/op/number.t:
7995 * No need to skip the inc and dec numeric tests anymore. I fixed
7997 assembler earlier today.
7999 2001-09-24 18:21 simon
8001 * MANIFEST, t/op/stacks.t:
8004 2001-09-24 18:19 simon
8006 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
8007 include/parrot/exceptions.h, include/parrot/interpreter.h,
8008 lib/Parrot/Test.pm, t/op/string.t:
8009 1) captured error output, so can test errors, this might be bad,
8010 not sure. 2) basic tests for register stack frames, including some
8011 errors 3) I think we can stop skipping one of the string tests 4) I
8012 added some more substr tests, but substr was broken, so 5) changed
8013 substr to work with out of range values, or 6) throw an error if
8014 they're far too silly
8016 Courtesy of: Alex Gough <alex@rcon.org>
8018 2001-09-24 17:27 gregor
8020 * basic_opcodes.ops, opcode_table, t/op/number.t:
8021 * Op set_n was missing. Added it and a test for it. We now have
8023 same int and num ops, except mod is int-only.
8025 2001-09-24 17:01 gregor
8028 * Fixed a typo: s/Line/line/
8030 2001-09-24 16:02 gregor
8032 * basic_opcodes.ops:
8033 * Fixed dec_n_nc opcode, which had += where it should have had
8036 2001-09-24 15:34 gregor
8039 * Fixed handling of constants starting with '0' that should not
8041 sent through oct(). For example 'set N2 0.1' was being
8043 as 'set N2 0' (naughty).
8045 As reported by Leon Brocard <acme@astray.com> in the comments
8047 his mandelbrot.pasm example.
8049 2001-09-24 02:21 bdwheele
8051 * assemble.pl: fixed dumb code when --include was not specified.
8053 2001-09-24 02:17 simon
8058 2001-09-24 01:56 bdwheele
8060 * assemble.pl: * Added --include=dir option to assembler to provide
8061 a path to look for included files. * Error message of a macro is
8062 defined inside of a macro
8064 2001-09-23 21:29 bdwheele
8066 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8068 2001-09-23 15:50 simon
8071 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8073 2001-09-23 02:03 ask
8075 * Configure.pl, test_c.in: fix missing newline at the end of test.c
8076 Courtesy of: acme@astray.com (Leon Brocard)
8078 rename 'test' executable used in Configure process to test_siz.
8080 2001-09-23 01:03 simon
8082 * process_opfunc.pl:
8083 iPaq fix. No, really.
8085 2001-09-23 00:47 simon
8088 Missed several, in fact.
8090 2001-09-23 00:46 simon
8095 2001-09-22 21:13 simon
8098 Assembler register numbering rigour.
8100 Courtesy of: Leon Brocard <acme@astray.com>
8102 2001-09-22 18:20 simon
8104 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8106 I'm sick of having to install Test::More everywhere. Temporary
8107 measure until we remove this silly dependency.
8109 Also a typo in Makefile.in which suggests some things were only
8110 happening correctly by sheer chance. :)
8112 2001-09-22 18:06 simon
8115 test.pasm is dead, long like make test.
8117 2001-09-22 17:47 simon
8120 De-fang overzealous floating point test.
8122 2001-09-22 17:39 simon
8124 * process_opfunc.pl:
8125 Remove hard-coded NV size assumption. Tru64 is nearly there!
8127 2001-09-22 17:18 simon
8129 * assemble.pl, disassemble.pl:
8130 More portability fixups.
8132 2001-09-22 16:44 simon
8134 * assemble.pl, Parrot/PackFile/Constant.pm,
8135 lib/Parrot/PackFile/Constant.pm:
8136 And I *think* this fixes Tru64.
8138 2001-09-22 16:37 simon
8140 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8144 2001-09-22 16:36 simon
8146 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8147 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8148 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8150 More removal of hard-coded pack formats.
8152 2001-09-22 15:21 simon
8156 Grrr. Why isn't this working?
8158 2001-09-22 15:18 simon
8160 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8161 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8163 Make assemble use the PackFile modules; also fixed some bugs in
8166 2001-09-22 14:38 simon
8168 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8170 Abstract the argument and opcode packing types and functions out
8171 into a separate module. This *should* help us maintain consistency
8172 when we change the various types.
8174 2001-09-22 00:46 brentdax
8176 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8177 test program finishes.
8179 2001-09-21 21:24 brentdax
8181 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8182 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8184 2001-09-21 21:09 gregor
8186 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8187 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8189 * Fixed pad calculation (similar to recent bug fix on C library)
8191 2001-09-21 20:23 simon
8194 Pack types and sizes have gone askew.
8196 2001-09-21 20:18 brentdax
8198 * Configure.pl: Fix typo in setting stuff from the C test program
8200 2001-09-21 10:25 simon
8202 * basic_opcodes.ops, process_opfunc.pl:
8205 Courtesy of: Leon Brocard <acme@astray.com>
8207 2001-09-21 06:06 ask
8209 * Config_pm.in, assemble.pl: fix 5.005_03.
8211 2001-09-21 06:03 ask
8213 * Configure.pl: make the ivsize detection work for us normal people
8214 without . in our PATH. :-)
8216 2001-09-21 05:56 brentdax
8218 * test_main.c: Change _read to read for portability to Tru64
8219 (Damien Neil <neild@misago.org> and likely many others)
8221 2001-09-21 05:46 ask
8223 * Makefile.in: "update" target to update from cvs.
8225 2001-09-21 05:44 brentdax
8227 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8229 2001-09-21 02:43 brentdax
8231 * Configure.pl: Fix a typo that forced the -g flag on
8233 2001-09-20 22:41 dan
8235 * packfile.c: Had some no-value returns. Naughty
8237 2001-09-20 22:40 dan
8239 * t/test.pasm: Added labels to output
8241 2001-09-20 15:39 simon
8243 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8245 This patch does two only somewhat related things.
8247 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8248 = 2*sizeof(iv) to a PConfig-type computed value.
8250 Parrot/Test.pm: Change it to run with the perl that was used to
8251 generate this version of Parrot. This is useful if, for example,
8252 you want to use bleadperl to build and test parrot (e.g. to try out
8253 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8254 installed as the default 'perl' on your system. Since perl-5.7.x
8255 is installed 'version-only', a plain 'perl' is quite likely to pick
8256 up the older perl in such cases. Such an older perl might well not
8257 understand pack('q') used in the assembler.
8259 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8261 2001-09-20 15:14 gregor
8264 * Fixed a typo in pad calculation that throwing off unpack and
8267 2001-09-20 15:03 thgibbs
8269 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8270 tests now cover all registers.
8272 Courtesy of: Damien Neil neild@misago.org
8274 2001-09-20 14:48 thgibbs
8276 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8279 2001-09-20 14:35 simon
8281 * Configure.pl, assemble.pl:
8284 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8286 2001-09-20 14:06 gregor
8288 * languages/jako/jakoc:
8289 * Fixed a tyop in the string interpolation regex.
8291 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8293 2001-09-20 13:56 gregor
8295 * languages/jako/jakoc:
8296 * Updated jakoc to work with the single-destination comp ops.
8298 2001-09-20 05:08 bdwheele
8300 * assemble.pl: macro expansion. Here's the test macro I was using:
8302 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8303 label. testi macro num,got,want print "Test #"
8304 print num print "..." set I32,want set
8305 I31,got eq I32,I31,$ok print "NG\n" branch
8306 $end $ok: print "OK\n" $end: endm
8310 Test1: testi 1,I3,I2
8312 2001-09-20 03:52 dan
8314 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8315 generic stack support
8317 2001-09-20 02:49 bdwheele
8319 * assemble.pl: Added include processing to assemble.pl the syntax
8320 is: include 'file.to.include'
8322 2001-09-19 23:57 thgibbs
8324 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8325 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8326 function to only use 2 args, but the opcode_table still had three
8327 listed. Fixed integer.t and number.t to use the new comparison
8328 operators. Improved assemble.pl ability to grok operators by
8329 constructing a function set and comparing operator types.
8331 2001-09-19 22:42 dan
8333 * assemble.pl: Binmodes the output filehandles now. (No more
8334 bytecode munching...)
8336 2001-09-19 22:32 dan
8338 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8339 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8340 conditional branches take a single argument, and fall through
8343 2001-09-19 21:19 thgibbs
8345 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8348 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8350 2001-09-19 21:04 thgibbs
8352 * include/parrot/interpreter.h, Configure.pl,
8353 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8354 process_opfunc.pl: Changed opcode_t from a union to a configurable
8357 2001-09-19 20:54 thgibbs
8359 * assemble.pl: Missed a couple of changes for 64 bit portability.
8361 2001-09-19 20:37 gregor
8363 * packfile.c, include/parrot/packfile.h:
8364 * Added "methods" for setting and getting all the various
8366 probably sufficient for an assembler to use the library.
8368 2001-09-19 20:04 thgibbs
8370 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8371 a 64 bit platform manually change the setting for 'i' from 'l' to
8372 'q'. This should be automatically done by a Configure setting in
8375 2001-09-19 19:10 thgibbs
8377 * config_h.in: changed c++ comment to c comment.
8379 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8381 2001-09-19 17:48 gregor
8383 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8384 include/parrot/packfile.h:
8385 * C code for dealing with PackFiles as if they were objects.
8387 read-only interface for now, but it would not be hard to make
8389 read-write. [packfile.c, include/parrot/packfile.h]
8391 * PackFile Dumping program that falls short of disassembling, but
8392 tests the above code and provides a hex listing of the byte
8394 contents of the PackFile. [pdump.c]
8396 * New Makefile target 'pdump' for the above program, and related
8397 Makefile.in changes.
8399 * Updated MANIFEST to reflect the added files
8401 * Update .cvsignore to ignore pdump.
8403 2001-09-19 14:55 thgibbs
8405 * MANIFEST: Added number.t and trans.t to MANIFEST
8407 2001-09-19 05:40 thgibbs
8409 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8410 of union opcode_t. I hope this will be more portable for set_n_nc.
8412 2001-09-19 05:39 thgibbs
8414 * t/op/integer.t: Added end to test 1.
8416 2001-09-19 00:09 thgibbs
8418 * t/op/number.t: Added end to each test
8420 2001-09-19 00:00 simon
8425 Courtesy of: Damien Neil <neild@misago.org>
8427 2001-09-18 23:52 thgibbs
8429 * interpreter.c: Added casts to appropriate types to make -Wall not
8430 complain on certain printf formats
8432 2001-09-18 23:31 thgibbs
8434 * t/op/integer.t: Added end to each test.
8436 2001-09-18 22:54 thgibbs
8438 * t/op/trans.t: Added trans.t for transcendental math function
8441 2001-09-18 22:28 simon
8444 MANIFEST updates. (And notice how I carefully snuck in the
8445 t/op/integer.t there...)
8447 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8449 2001-09-18 22:26 simon
8451 * t/: integer.t, op/integer.t:
8452 Except it doesn't go there. Duh.
8454 2001-09-18 22:25 simon
8457 Tests for integer ops.
8459 Courtesy of: Damien Neil <neild@misago.org>
8461 2001-09-18 22:03 thgibbs
8463 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8464 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8465 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8466 opcode_t union for operators. This required a few perl script
8467 changes to output the correct type. There were also some changes
8468 to allow -pedantic in gcc
8470 2001-09-18 21:07 gregor
8472 * disassemble.pl, Parrot/PackFile.pm,
8473 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8474 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8475 lib/Parrot/PackFile/Constant.pm:
8476 Converted the disassembler to use the Parrot::PackFile Perl classes
8479 2001-09-18 19:18 brentdax
8481 * Makefile.in: Fix missing functions for real this time. (I
8484 2001-09-18 18:49 brentdax
8486 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8487 <doughera@lafayette.edu>}
8489 2001-09-18 18:47 brentdax
8491 * Makefile.in: Fix bugs with missing math, etc. functions
8493 2001-09-18 14:42 thgibbs
8495 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8498 2001-09-18 13:59 thgibbs
8500 * strnative.c: Removed unnecessary IV cast in concat.
8502 2001-09-18 13:58 thgibbs
8504 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8505 to concat test in string.t
8507 2001-09-18 12:07 gregor
8509 * languages/jako/jakoc:
8510 * var num ... no longer requires assignment
8511 * automatic casting between int and num
8512 * Fixed an error message
8514 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8516 2001-09-18 11:57 simon
8519 Gonna have to start thinking of more things to do, soon.
8521 2001-09-18 10:42 simon
8524 Introduce a little more tidiness into the opcode table.
8526 2001-09-18 03:06 gregor
8528 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8529 Resurrected register-const ops per Dan's request.
8531 2001-09-18 02:20 gregor
8533 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8534 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8535 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8536 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8537 Committed some files that were missed in the last *.h moving
8540 2001-09-18 02:17 gregor
8542 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8544 2001-09-18 02:16 gregor
8546 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8547 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8548 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8549 missed in last commit for the move of *.h to include/parrot.
8551 2001-09-18 01:32 simon
8554 Trivial "clean" target to t/Makefile.
8556 2001-09-18 01:32 simon
8558 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8559 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8560 Change icky Digest::MD5 for nice simple unpack()
8562 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8564 2001-09-18 00:35 simon
8566 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8568 New concat op. Hey, if I'm going to talk about it in an article,
8569 better implement it...
8571 2001-09-17 22:54 gregor
8573 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8574 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8575 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8576 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8578 Functions for reading, writing and manipulating Parrot Pack Files.
8579 NOTE: This is a proposed term based on the fact that the file
8580 contains more than just byte code, and another language (Java)
8581 calls its binary files by a broader notion of what's in them (Class
8582 Files). Since Perl has packages, and since we use pack() to write
8583 them, we'll call them PackFiles (at least for now).
8585 That does, however, beg the question of file extension. Should we
8586 name the files "foo.pack" instead of "foo.pbc"?
8588 2001-09-17 20:23 thgibbs
8590 * interpreter.c, test_main.c: Uncuddled else statements for coding
8593 2001-09-17 19:57 gregor
8595 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8596 Added a $revision variable, parsing of the CVS Id line in
8597 opcode_table and a &revision() subroutine.
8599 2001-09-17 19:53 gregor
8602 Added a CVS Id tag to it.
8604 2001-09-17 18:58 thgibbs
8606 * interpreter.c: Cleared interpreter flags on creation.
8608 2001-09-17 18:38 gregor
8610 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8611 interpreter.h, test_main.c:
8612 * Provides macros in interp_guts.h for setting up arrays with
8613 op names and op arg counts (done via build_interp_starter.pl).
8615 These are used in the op tracing
8617 * The functions in bytecode.[hc] pass around a pointer to the
8619 of the bytecode so that later when we get to runops, we know
8620 how much bytecode we've got and we can detect out-of-bounds
8621 jumping. The documentation is updated, too.
8623 * runops in interpreter.c now looks at interpreter->flags to
8624 decide if the core of runops should be runops_trace_core or
8625 runops_notrace_core. These new functions contain just the
8626 while-loop portion of runops. A new function runops_generic
8627 does any other setup (such as checking the bytecode
8628 fingerprint) or wrapup (such as complaining if we ended up
8629 out-of-bounds). NOTE: I didn't know what we should do for
8630 functions in here that are not part of the api, so I gave
8631 them docs with 'TODO' marks mentioning they really aren't
8632 part of the api. Guidance appreciated.
8634 * test_main.c now checks for '-t' arg and sets the tracing flag
8635 on its interpreter instance as appropriate.
8637 2001-09-17 17:47 bdwheele
8639 * assemble.pl: added some default equates, and if they're sub
8640 references, they are computed each time it is referenced.
8642 2001-09-17 16:15 dan
8646 Added flags to the interpreter structure and defined a few.
8648 2001-09-17 15:51 simon
8650 * bytecode.h, string.h:
8651 VAR_SCOPE on globals.
8653 2001-09-17 15:20 simon
8656 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8658 2001-09-17 15:05 gregor
8660 * t/jump.pasm, MANIFEST:
8661 Added a test program to demonstrate jump_i.
8663 2001-09-17 14:44 thgibbs
8665 * register.c: Fixed register pop not using correct offset (off by
8668 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8670 2001-09-17 13:56 thgibbs
8672 * interpreter.c, register.c: Added code to call Parrot_clear_s
8673 during initialization and Parrot_clear_s and Parrot_clear_p when a
8674 new stack frame is pushed.
8676 2001-09-17 13:51 gregor
8678 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8679 fib.jako, hello.jako: Added bench.pasm to "clean"
8681 2001-09-17 13:49 gregor
8683 * languages/jako/: jakoc, Makefile:
8686 2001-09-17 13:49 gregor
8688 * languages/jako/jakoc:
8691 Courtesy of: Buggs <buggs-perl6@splashground.de>
8693 2001-09-17 13:29 gregor
8695 * MANIFEST, opcheck.pl:
8696 Added an opcode_table checker to make sure that all opcodes listed
8697 there conform to a simple set of naming rules (rules themselves, of
8698 course, are subject to change).
8700 2001-09-17 13:23 thgibbs
8702 * string.c: Modified string.c to correctly use the return value of
8705 2001-09-17 05:26 brentdax
8707 * Makefile.in: Making the Makefile smarter
8709 2001-09-16 23:06 brentdax
8711 * hints/mswin32.pl: Finishing the Configure hints
8713 2001-09-16 23:05 brentdax
8715 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8716 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8717 Configure hints, 5.005 compatibility, MANIFEST checking
8719 2001-09-16 19:25 bdwheele
8721 * assemble.pl: parrot assembly equates
8723 2001-09-16 18:03 gregor
8726 Added 'test' target to run new test suite.
8728 2001-09-16 17:33 simon
8730 * basic_opcodes.ops:
8731 'not' was being !, rather than ~. Too many Perl programmers here, I
8734 Courtesy of: Tom Hughes <tom@compton.nu>
8736 2001-09-16 17:21 simon
8738 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8740 A *real* test suite!
8742 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8744 2001-09-16 16:49 gregor
8746 * basic_opcodes.ops, opcode_table:
8747 At Dan's request, my new register-constant comparison ops have been
8750 2001-09-16 16:40 gregor
8752 * languages/jako/jakoc:
8753 Fixed a copy-paste error in one of jakoc's error messages.
8755 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8757 2001-09-16 16:37 gregor
8759 * languages/jako/jakoc:
8760 Modified comparison implementation to use temporary registers in
8761 the case of register-constant and constant-register comparisons.
8762 This will allow the compiler to emit code that works when the
8763 constant-comparison ops are backed out of Parrot. If the ops ever
8764 make their way back in, then jakoc can emit more efficient code
8767 2001-09-16 16:19 bdwheele
8769 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8770 ... though not subroutine based like the documentation wants, they
8771 are local to the last non-local label defined.
8773 2001-09-16 14:02 simon
8776 And remember, when you add stuff, keep the manifest up to date.
8778 2001-09-16 02:55 ask
8780 * Makefile.in: a "shared" target for building libparrot.so
8782 2001-09-16 02:45 thgibbs
8784 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8785 global_setup.h, interpreter.c, interpreter.h, io.h,
8786 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8787 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8788 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8789 use the coding standard PDD. Also changed Perl_Interp to
8792 2001-09-16 02:21 ask
8794 * README: emphasise the bits about the license not being worked out
8797 2001-09-15 22:21 simon
8799 * process_opfunc.pl:
8800 basic_opcodes.c should *scream* that it's autogenerated.
8802 2001-09-15 21:58 gregor
8804 * languages/jako/Makefile:
8805 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8808 2001-09-15 21:58 gregor
8810 * languages/jako/: jako_compiler.pl, jakoc:
8811 Renamed the Jako compiler to jakoc from jako_compiler.pl
8813 2001-09-15 21:51 gregor
8815 * languages/jako/: Makefile, bench.jako, euclid.jako,
8817 Added a new bench.jako example based on Leon Brocard's Bench.java.
8819 Jako Compiler: * fix a bug in assignment handling * add some
8820 more conditionals to while and if * revert to using implicit
8821 opcodes in a few cases that were broken before the assembler
8822 patch went in recently.
8824 2001-09-15 21:46 gregor
8826 * assemble.pl, basic_opcodes.ops, opcode_table:
8827 New ops for register-constant INTEGER comparisons:
8829 {eq,ne,lt,le,gt,ge}_ic_ic
8831 New ops for register-register and register-constant NUMERIC
8835 {ne,lt,le,gt,ge}_{n,nc}_ic
8839 Allow uppercase and underscores in labels.
8841 Tweaks to the op infer code to make it work with the examples
8845 2001-09-15 19:16 thgibbs
8847 * README: Updated README to include Configure.pl
8849 2001-09-15 17:05 simon
8851 * build_interp_starter.pl:
8854 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8856 2001-09-15 16:45 simon
8859 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8861 2001-09-15 16:40 simon
8864 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8867 2001-09-15 12:26 simon
8870 Fixed to match the coding standards.
8872 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8874 2001-09-15 01:57 ask
8876 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8877 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8880 2001-09-15 01:48 ask
8882 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8885 2001-09-15 01:42 gregor
8887 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8889 Compiler: Added variable interpolation in double-quoted strings.
8890 Examples: Made use of variable interpolation.
8892 2001-09-15 01:28 gregor
8894 * Parrot/.cvsignore:
8895 Ignore the Config.pm generated file.
8897 2001-09-15 01:22 gregor
8899 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8900 fib.jako, hello.jako, jako_compiler.pl:
8901 gnp: Added some more sample Jako files and added many more
8902 operators to the compiler. Preparations for supporting all the Math
8905 2001-09-14 19:06 simon
8907 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8908 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8909 lib/Parrot/Opcode.pm:
8910 Move common table reading stuff to a module.
8912 Courtesy of: Damien Neil <neild@misago.org>
8914 2001-09-14 17:42 simon
8917 More .cvsignore foo.
8919 2001-09-14 17:40 simon
8921 * assemble.pl, config_h.in:
8924 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8926 2001-09-14 17:38 simon
8928 * assemble.pl, t/Makefile:
8929 Make assemble.pl look in its parent directory if the data files it
8930 needs aren't in the current one. Plus a Makefile that lets "make
8933 Courtesy of: Rocco Caputo <troc@netrus.net>
8935 2001-09-14 16:29 simon
8937 * make_op_header.pl:
8938 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8939 probably segfault everywhere else.)
8941 2001-09-14 15:58 dan
8943 * languages/jako/: euclid.jako, jako_compiler.pl:
8945 Added in the first mini-language that targets Parrot.
8947 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8949 2001-09-14 15:20 dan
8951 * memory.c: Was misaligning returned memory. Fixed.
8953 2001-09-14 15:08 simon
8955 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8956 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8957 register.c, register.h, string.c, string.h, strnative.c,
8959 Fixes to include <parrot/foo.h>
8961 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8963 2001-09-14 12:05 simon
8968 2001-09-14 12:01 simon
8973 2001-09-14 11:54 simon
8978 2001-09-14 11:45 simon
8983 2001-09-14 11:39 simon
8986 Tru64 cc doesn't like -Wall
8988 2001-09-14 10:57 simon
8990 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8991 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8992 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8993 Configure now generates Makefile
8995 Courtesy of: Brent Dax <brentdax@cpan.org>
8997 2001-09-14 10:08 simon
9002 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9004 2001-09-14 10:07 simon
9007 * uses Getopt::Long for options. -c is now --checksyntax.
9009 sure how to keep compatible (patches welcome!) * options
9010 include: --help --version
9011 --verbose --output=file
9012 --listing=file --checksyntax * produces
9013 verbose listing of what the assembler saw :) Only one nitpick with
9014 it: unknown symbols are given as 0xffffffff, unfortunately, this
9015 includes symbols which may be defined later in the file (i.e.
9018 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
9020 2001-09-14 10:06 simon
9025 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9027 2001-09-14 10:03 simon
9029 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9030 register.c, string.c, strnative.c, test_main.c:
9031 Coding standards conformance
9033 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9035 2001-09-14 09:46 simon
9038 Make the assembler grok transcendental maths again. Courtesy of:
9039 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9041 2001-09-13 17:29 simon
9044 Better opcode guessing, from Brian Wheeler. (Again!)
9046 2001-09-13 17:20 dan
9048 * docs/parrot_assembly.pod:
9050 Took out duplicate entries for iton, ntoi, and tostring.
9052 2001-09-13 17:16 simon
9054 * assemble.pl, basic_opcodes.ops, opcode_table:
9057 This patch gives the assembler support of '\a','\n','\r','\t', and
9058 '\\' in string constants.
9060 In addition, it changes (for all registers) "I reg %li is ..." to
9061 just the value of the register. Printing constants is also
9062 supported, but alas, you have to specify the type (print_sc,
9063 print_ic, print_nc).
9065 2001-09-13 15:38 simon
9068 Why don't I actually *test* this stuff before applying it, eh?
9070 2001-09-13 15:34 simon
9072 * TODO, t/euclid.pasm:
9073 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9074 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9077 2001-09-13 14:42 simon
9080 A new assembler, from Brian Wheeler.
9082 2001-09-13 09:44 simon
9084 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9086 Two more from Tom Hughes: Patch to fix C++ style comments
9087 Patch to remove use of structure constant/cast
9089 2001-09-13 09:39 simon
9091 * TODO, docs/strings.pod:
9094 2001-09-13 09:36 simon
9096 * Makefile, basic_opcodes.ops:
9097 Tom Hughes Patch to link with the maths library Tom Hughes
9098 Patch to fix += on rvalue
9100 2001-09-13 08:57 simon
9103 I guess nobody's been using the nightly builds...
9105 2001-09-13 08:27 simon
9107 * assemble.pl, basic_opcodes.ops, opcode_table:
9108 Bitwise ops, from Brian Wheeler.
9110 2001-09-13 08:23 simon
9112 * .cvsignore, t/.cvsignore:
9113 .cvsignore's, from Gregor Purdy.
9115 2001-09-13 08:22 simon
9118 Euclidean test and test output rearranging from Gregor Purdy.
9120 2001-09-13 08:21 simon
9122 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9123 Math ops from Gibbs Tanton.
9125 2001-09-13 08:14 simon
9127 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9129 String substr op; also rearranged "encoding" to be a vtable
9130 pointer, not an array index. Haven't changed docs to reflect this,
9135 2001-09-12 19:48 dan
9137 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9140 2001-09-12 19:39 dan
9142 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9144 2001-09-12 19:23 dan
9146 * interpreter.h, parrot.h: Quick placeholder entry for string
9149 2001-09-12 18:58 dan
9151 * memory.c: Added in a cast to make gcc happy.
9153 2001-09-12 16:44 dan
9155 * docs/parrot_assembly.pod:
9157 PDD describing parrot's assembly language and the opcodes in it
9159 2001-09-12 14:20 dan
9162 Fixed alignment issues with allocation
9164 2001-09-12 10:54 simon
9166 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9167 make_op_header.pl, opcode_table, process_opfunc.pl:
9168 Brian Wheeler's big patch:
9170 * Changes the opcode_table file to provide additional information
9171 about the operands. Case shouldn't be a problem since that data
9172 never becomes a C symbol [this is pretty much as before]
9174 * Padding errors solved: assemble.pl and bytecode.c were padding
9175 the constants incorrectly. It should have been 4-(size % 4), not
9176 just (size % 4). It is now fixed in both places.
9178 * assembler has less special cases, and should be easier to hang
9181 * disassembler dumps constant table and the format is a bit
9182 prettier, including register names, etc.
9184 2001-09-11 23:21 dan
9186 * build_interp_starter.pl, interpreter.c:
9188 Abstracted the runops function core into a macro for easy
9191 2001-09-11 10:43 simon
9193 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9194 Configure system from Brent Dax <brentdax@cpan.org>
9196 2001-09-11 09:38 simon
9198 * assemble.pl, test.pbc:
9199 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9200 assembler deferred output
9202 Also got rid of the bytecode, since that's probably way out of
9205 2001-09-11 09:26 simon
9207 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9208 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9211 2001-09-10 23:20 simon
9214 And that move needs a MANIFEST change. So many things to remember!
9216 2001-09-10 23:18 simon
9218 * t/: test.pasm, test2.pasm, test3.pasm:
9219 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9221 2001-09-10 23:18 simon
9223 * test.pasm, test2.pasm, test3.pasm:
9226 2001-09-10 23:04 dan
9230 Register push/pop test
9232 2001-09-10 22:47 simon
9234 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9235 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9236 (Modified to avoid conflict with Dan's changes.)
9238 2001-09-10 22:45 dan
9242 Happier about blanks in opcode_table
9244 2001-09-10 22:40 dan
9246 * interpreter.c, register.c:
9248 Yanked out debugging code, since these work OK. The bug I want is
9251 2001-09-10 22:30 simon
9254 Uhm. We want make_op_header.pl. We really, really do.
9256 2001-09-10 22:26 simon
9258 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9259 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9260 opcode_table, process_opfunc.pl:
9261 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9262 This means we can add lots more opcodes without fiddling about with
9263 the numbers. Hooray!
9265 Don't forget that "end" needs to be op zero, else the interpreter
9266 falls off the end of the code. This is Bad, and I wonder if there's
9269 2001-09-10 19:49 simon
9271 * MANIFEST, make_op_table_build.pl:
9272 Hey! This doesn't do anything...
9274 2001-09-10 19:46 simon
9277 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9279 2001-09-10 18:31 simon
9282 You know what this means...
9284 2001-09-10 18:30 simon
9287 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9288 wait for a release...? :)
9290 2001-09-10 18:13 simon
9295 2001-09-10 17:56 simon
9298 A *real* README file, which doesn't claim it isn't for public
9301 2001-09-10 17:02 simon
9306 2001-09-10 16:56 dan
9308 * TODO: Added in assembler gripe. Also added a few blank lines for
9311 2001-09-10 16:49 dan
9313 * register.h, register.c: Renamed the core functions so the opcodes
9314 can find 'em OK. (There were some conflicts)
9316 2001-09-10 16:48 dan
9318 * basic_opcodes.ops, opcode_table: Added register window ops
9320 2001-09-10 11:07 simon
9325 2001-09-10 11:05 simon
9327 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9328 note "-s" flag to test prog.
9330 2001-09-10 11:01 simon
9333 New string documentation.
9335 2001-09-10 11:01 simon
9337 * basic_opcodes.ops, opcode_table:
9340 2001-09-10 10:53 simon
9345 2001-09-10 10:51 simon
9348 Just some more aliases for now. Used by string handling stuff.
9350 2001-09-10 10:50 simon
9352 * assemble.pl, bytecode.c, bytecode.h:
9353 Temporary hack to store string constants in bytecode and recreate
9356 2001-09-10 10:48 simon
9359 op.h is now generated by the Makefile; remove it.
9361 2001-09-10 10:47 simon
9364 clean and op.h Makefile targets.
9366 2001-09-10 10:45 simon
9368 * string.c, string.h, strnative.c:
9369 More string vtable stuff.
9371 2001-09-07 21:07 dan
9375 Much less picky about whitespace in the opcode_table now. (Doesn't
9376 whine on blank lines)
9378 2001-09-07 16:23 dan
9380 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9381 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9382 this takes) Added global_setup.h to declare init_world function
9384 Moved variable declarations out of the interpreter loop for small
9387 Changed end opcode to now be opcode #0. A function is provided for
9388 it, but isn't ever executed.
9390 When the interpreter sees an opcode 0 in the stream it means the
9391 end of stream. Things were coring on Cygwin otherwise. (I think I
9392 was dereferencing a zero, which is bad)
9394 2001-09-06 22:07 dan
9396 * basic_opcodes.ops, process_opfunc.pl:
9398 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9399 are minor changes now that things are in a fixed state.
9401 2001-09-06 16:13 dan
9403 * basic_opcodes.c, test_opcodes.c:
9404 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9406 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9407 should be nuked. So it is. :)
9409 2001-09-06 03:35 dan
9411 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9412 Scripts to build the header file that holds the function table
9413 creation code, as well as the script to turn an opcode file to C
9414 source. (And the basic opcode functions turned into an opcode
9417 2001-09-06 03:31 dan
9419 * Makefile, interpreter.c:
9420 Changes to support the autogeneration of the opcode function
9421 pointer table in interpreter.c, along with the changes to the
9424 2001-09-05 13:27 simon
9426 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9427 docs/parrotbyte.pod, docs/vtables.pod:
9428 Added stubs for the documents; working on them this week. (What's
9429 left of it.) config.h change is just to type VTABLE, and the
9430 bytecode thing you might want to revoke. It's apidoc for the
9433 2001-09-03 18:26 simon
9436 A start on the string API documentation.
9438 2001-09-03 17:43 simon
9441 Since we specify the opcode number, we can rearrange to a more
9442 human-friendly ordering.
9444 2001-09-03 17:42 simon
9447 Coupl'a logic bugs. (I think)
9449 2001-09-03 17:41 simon
9451 * string.c, string.h, strnative.c:
9452 Tidying up the string vtables.
9454 2001-09-03 17:38 simon
9456 * make_op_header.pl:
9457 Spit out the whole of op.h, not just the bit in the middle.
9459 2001-08-29 13:16 ask
9461 * README: it seems like we indeed can commit. What about sending
9464 2001-08-29 13:07 simon
9466 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9467 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9468 global_setup.c, interpreter.c, interpreter.h, io.h,
9469 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9470 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9471 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9472 test.pbc, test_main.c, test_opcodes.c:
9473 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9474 I'm still working on the string stuff, though.
9476 2001-08-29 12:44 ask
9478 * README: update README with list address
9480 2001-08-29 12:36 ask
9482 * README: first readme.