31 2008.12.16 Whiteknight
127 * changed 'name' method on namespaces to 'get_name' per pdd21
134 * added C<isnull> opcode
141 * added :init pragma functionality to subs
144 * added :vtable pragma functionality to subs
147 * added Parrot::Embed under ext/Parrot-Embed
150 * remove the None PMC - if needed it can trivially be reimplemented
151 in languages from r14189
154 Merged Software Transactional Memory branch into trunk, adds:
155 * several new opcodes whose names start with stm_
156 * read-only PMC support
157 * several new PMC types (whose names start with STM*)
158 * support for threads (again)
165 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
166 there are opcodes now that want the real "in PMC".
167 * namespace and global opcodes now accept name arrays again, as
168 well as keys; the corresponding namespace PMC methods are gone.
171 * Parrot_exit, Parrot_on_exit take now an Interp * argument
174 * add experimental op find_type_i_p
175 * fix longstanding bug that sometimes didn't encode pasm keys as
176 Key PMCs (specifically "[S0]" and "['stringliteral']").
179 further implementation of new pdd21:
180 * new opcodes {get,set}*global
181 (old {find,store}*global will be supported for a short while)
184 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
186 (at the moment code is checking for 2.0 -- ambs)
189 partial implementation of new pdd21:
190 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
191 * get_namespace and find_global opcodes no longer accept arrays
192 of strings. To use arrays, call namespace object methods.
199 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
206 * Make the Perl PMCs dynamic and move them to src/dynpmc
213 * Shifted argument type bits left by 2 according to r11754
214 change of docs/pdds/pdd03_calling_conventions.pod
215 * if you are creating PASM then code needs adjustment
222 * rename src/dynclasses to src/dynpmc
223 * rename src/classes to src/pmc
227 * find_global and friends returns a .Null PMC instead of .Undef on
228 lookup failure, iff lookup exceptions are off
235 * renamed all .imc files to .pir
236 * modified all doc references to .pir as well
239 * moved jit/ directory to src/jit/
242 * moved io/ directory to src/io/
243 * moved classes/ directory to src/classes/
244 * moved dynclasses/ directory to src/dynclasses/
247 * moved types/ directory to src/types/
248 * moved pf/ directory to src/packfile/
249 * moved ops/ directory to src/ops/
252 * moved charset/ directory to src/charset/
253 * moved encodings/ directory to src/encodings/
256 * moved imcc/ directory to compilers/imcc/
259 * moved util/ directory to tools/util/
260 * removed imcc/examples/ directory
261 * moved ast/ directory to compilers/ast/
264 * moved imcc/docs/ directory to docs/imcc/
265 * moved build_tools/ directory to tools/build/
266 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
270 * See NEWS for changes
274 * See NEWS for changes
278 * See NEWS for changes
282 * See NEWS for changes
286 * See NEWS for changes
290 * allow short names for object attributes
291 * string encoding and charset can now be set independently
292 * experimental mmap IO layer for slurping files
293 * enable compile opcode support for compilers written in PASM/PIR
294 * improved HLL support with .HLL and n_operators pragmas
295 * simplified hash code
296 * more strength reduce optimizations
297 * distinct debug and trace flag settings
298 * glob support in PGE
299 * new character classification opcodes and interfaces
300 * numerous bug fixes and enhancements
304 * parrot repository is now under subversion
305 * MMD (Multi Method Dispatch) enhanced
306 * new unary and infix opcodes that return new result PMCs
307 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
308 * more unification of PMCs and ParrotObjects
309 * tailcalls for functions and methods
310 * PGE (Parrot Grammar Engine) reworked
311 * Pugs creates Parrot code and Pugs is a registered compiler now
313 * the usual bug fixes and improvements
317 * big rewrite of string code, not yet finished but ...
318 * partial implementation of a generational garbage collector
319 * indirect register frame addressing
320 * .return(args) PIR syntax
321 * moved most of the Python code to dynclasses
322 * a lot more Python functionality
323 * precalculate opcodes with all constants
324 * PGE - Parrot Grammar Engine
325 * scalar classes refactoring
326 * much more tests and big test system cleanup
327 * improved documentation
328 * and as always a lot more
332 * Need Perl 5.6 now for building
333 * Basic AST support, PAST file parser, bits of code generation
334 * BigInt PMC using GMP
336 * Dynamic loading improved including bundles of PMC classes
337 * Experimental support for "make install"
338 * IA64 and hppa JIT support
339 * ICU unicode support
340 * IO layer handling code
341 * IO readline and buffered IO fixes
343 * Internal pythonic functions: filter, map, reduce, max, min ...
344 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
345 * Library updates, Stream and SDL library
346 * MMD - multi method dispatch for binary vtable methods
347 * Many new array PMCs
348 * Method call syntax in PIR obj."meth"(...)
349 * More OS stuff: stat, exec, system, gmtime, piped read and write
350 * New Python PMCs like Enumerate, None
351 * Non-branching compare opcodes
352 * PIR support for += and friends
353 * Python language subdir
354 * Python types mapped to existing PMCs
355 * Slices and range support
356 * Tons of bug fixes, documentation updates, new tests
357 * Win32 COFF exec support
362 * "Ladies and gentlemen, I give you... objects!"
363 * Huge documentation overhaul
364 * More supported platforms, s. PLATFORMS
365 * Basic thread support for pthread based architectures
366 * Basic event handling for timers and signals including:
367 * PASM callbacks for NCI (native C) functions.
368 * Improved platform configuration
369 * COW stacks now working, stacks code redone
370 * Structure handling vastly improved
371 * Random PMC and rand primitives
372 * Better subroutine call syntax in PIR
373 * Make PIR subroutines compliant with pdd03
374 * Improved profiling (DOD, GC timings)
375 * Hash code improvements, incl. random key order support
376 * Experimental freeze/thaw code for some PMC types
377 * IO improvements for buffered layer and Win32
379 * String bitwise vtables
381 * Support for JIT, where malloced memory isn't executable
382 * Priority DOD scheme for objects that need timely destruction
383 * Improved bytecode loading (e.g. onLoad functions)
384 * Language updates: forth, Perl6/P6C, m4
385 * Libraries: Getopt_Long, SDL, Dumper, Sort
387 * Unified imcc and parrot test handling
388 * Many new tests (make test reports 1386 tests)
394 * Yep thirteen - haunted by the ghost of 0.0.12
395 * Build imcc as parrot
396 * Objects more finished
397 * Delegate vtable methods to byte code
398 * Binary multi-method dispatching
399 * Isa and does methods for PMCs
400 * Call byte code from C
401 * Start of extension interface
402 * Experimental struct handling
403 * Catch access to NULL PMCs
404 * Experimental network socket interface code and opcodes
405 * IO fixes and improvements
406 * Dynamic opcode libraries
407 * Fix-assigned opcode numbers
408 * Argument flattening for function calls
409 * More native call interface (NCI) signatures
410 * Ncurses, postgres, and pcre interface libraries
411 * Forth language is vastly improved
412 * BSD and Win32 build improvements
413 * Many new tests and fixes
416 * imcc moved from parrot/languages/ to parrot/
420 * updated the native_pbc test files (from Leo)
421 * built 0.0.11.1 release tarball
425 * CHANGES BUNDLED INTO 0.0.11:
427 * Dynamic PMC registration
428 * Trial exception system
429 * Beginnings of object system
432 * I/O system improvements
434 * Documentation for basic PMC types
435 * IMCC support of Parrot Calling Conventions
436 * Runtime loading of chartypes (and other string improvements)
437 * Conditional breakpoints
438 * Dramatically accelerated sweeps for finalizable objects
439 * Small PMCs (PMCs split into core and extensions)
440 * Loadable bytecode packfiles
442 * Sub variants that deal with the stack correctly
443 * Switched runops core
444 * Line numbers in warnings
446 * Many documentation cleanups
447 * Conversion to CPS style!
448 * BASIC debugger and many other wacky features
449 * Filename, line number parsing support in IMCC
451 2003-07-21 17:31 chromatic
452 * applied copyright patch from Josh Wilmes
455 * Moved the registers out of the context structure, since they
456 really aren't context
457 * Changed the register stack frames to hold only 16 registers
458 rather than 32, added half-set push and pop ops, and reworked
459 the full set push/pops to do two half-set push/pops. Should
460 speed up saving register data on calls, since we usually only
461 care about the top half of the registers anyway.
462 * Started committing some of the new class/object framework
463 * Remembered to finally start updating the Changelog
468 Update Yet Another copyright statements to reflect the (no longer
471 2003-03-11 22:06 chip
473 * Configure.pl: print help on non-option command line args
475 2002-12-18 20:38 sfink: changes since 0.0.8
477 - Allow suppression of cgoto core to save memory during compile
478 * Native function calling interface
479 * Major rewrite of stack and list aggregates
481 * Scratchpads implemented
483 - Internal memory subsystem documentation
484 * Preliminary DotGNU support
485 - Packfile fingerprinting
486 * Buffer/PMC unification (into PObjs)
487 * stabs debugging information support
488 * Major Jako overhaul, including:
490 - native function calling
491 - Perl6 string interpolation
492 - languages/regex now targets IMCC
493 * Optional Lea memory allocator
494 * Full sprintf implementation
495 * Many, many new tests
498 - runtime-controllable gc debugging
501 * JIT: various improvements
502 - register usage tracking
503 - block register allocation
507 - architecture abstraction layer
509 * Beginning support for extensible packfiles
510 * Much better key support, generally
512 * Restructured PMC hierarchy with better functionality inheritance
513 * IMCC: many, many improvements. See imcc/ChangeLog
514 * Perl6: index map grep join reverse defined
515 * Scheme with functions!
518 2002-03-19 22:54 nicholas
520 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
522 We can now get usage information for test_parrot without having to
525 2002-03-19 22:53 simon
528 Parrot is called parrot.
530 2002-03-19 22:53 nicholas
532 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
534 1. There are tests in t/pmc as well as t/op now.
535 2. Adds a comment about Parrot::Test
539 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
540 messes up automated builds
542 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
544 2002-03-19 00:33 mrjoltcola
546 * core.ops: Doc cleanup from Simon Glover.
548 2002-03-18 23:52 mrjoltcola
550 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
554 * include/parrot/resources.h: Checked in old version
558 * include/parrot/resources.h: Forgot a prototype
562 * resources.c: D'oh! Thinko, fixed.
564 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
566 2002-03-18 17:33 josh
568 * Configure.pl: Lowering the bar a bit.
570 2002-03-18 17:33 sfink
572 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
573 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
574 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
575 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
576 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
577 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
578 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
579 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
580 t/example.t: Whoops, wrong time to check this in.
584 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
585 least we consider the PMC and Buffer free pools worth collecting,
586 and initialize the Buffer pool stuff. Still not 100% correct,
589 2002-03-18 15:35 simon
594 2002-03-18 07:45 brentdax
596 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
599 2002-03-18 00:09 sfink
601 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
602 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
603 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
604 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
605 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
606 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
607 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
608 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
609 t/example.t: Buggy 1st version of regex compiler implementation.
610 Warning: the test code depends on features of the assembler that do
613 2002-03-17 21:35 ajgough
615 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
616 through addition and subtraction. Also added the ability to run
617 all the tests, including the ones which deal with overflow and
618 underflow. These fail, but that's expected. Soon they'll pass.
619 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
620 passsssssssings tesssstsssss.
622 2002-03-17 20:06 ajgough
624 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
625 check_(under|over)flow to test bignumbers, rather than values.
626 context now carries E_limit, from which max and min exp are found.
628 Added a default-context-creating function (although this isn't the
629 same as either of the default contexts defined in the eda).
631 2002-03-17 13:31 ajgough
633 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
634 exported version matches prototypes of other public functions.
636 2002-03-17 06:44 josh
638 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
639 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
640 last-minute re-indenting.
642 2002-03-17 05:07 mrjoltcola
644 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
646 2002-03-16 23:17 nicholas
648 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
651 default.pmc: In function `Parrot_default_get_integer_keyed':
652 default.pmc:50: warning: control reaches end of non-void function
653 default.pmc: In function `Parrot_default_get_number_keyed':
654 default.pmc:58: warning: control reaches end of non-void function
655 default.pmc: In function `Parrot_default_get_string_keyed':
656 default.pmc:67: warning: control reaches end of non-void function
657 default.pmc: In function `Parrot_default_get_pmc_keyed':
658 default.pmc:87: warning: control reaches end of non-void function
660 2002-03-16 18:50 ajgough
662 * types/: bignum.c, bignum.h: Lots of prototypes changed in
663 readiness for nicely telling your caller about any oddness you've
664 caused in the persuit of flow.
668 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
669 include/parrot/interpreter.h, include/parrot/resources.h: Now we
670 can control the GC and DOD, to stop it when we don't really want
675 * resources.c, vtable.tbl, classes/default.pmc,
676 include/parrot/resources.h: Added the last code to let PMCs control
677 their marking at DOD time
679 2002-03-16 16:57 ajgough
681 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
682 feel a little more virtuous now. Really I do. You might not
683 believe me, but you should. perl -pne 's/\t/ /g', if you're
686 2002-03-16 16:57 josh
688 * packfile.c, packout.c: M-x untabify is my new friend.
690 2002-03-16 16:50 josh
692 * trace.c, resources.c: Minor whitespace tweak for the benefit of
693 check_source_standards.pl
695 2002-03-16 16:50 ajgough
697 * types/: bignum.c, bignum.h: More documentation, separate
698 functions into public and private sorts, some initial stuff to cope
699 with over and underflow correctly.
701 2002-03-16 16:49 josh
703 * resources.c: Re-indented (sorry bout the big diff)
705 2002-03-16 16:47 bdwheele
707 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
708 assemble again, both with Simon's new assembler and with the old
711 2002-03-16 16:33 mrjoltcola
713 * io/TODO: Get the TODO up-to-date for 0.0.4.
715 2002-03-16 16:11 josh
717 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
718 silly people (such as me) running Configure with
719 /usr/local/bin/perl (which is 5.004_05) and not realising their
720 mistake until the pmc subdirectory, where the first qr// is
723 Syntax error messages don't tell you what you did wrong. This does:
725 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
726 only version 5.00405, stopped at Configure.pl line 10.
728 2002-03-16 14:38 ajgough
730 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
733 2002-03-16 11:45 simon
735 * MANIFEST, examples/assembly/xml_parser.pasm:
736 Added Clint Pierce's XML parser.
738 2002-03-15 22:24 simon
741 Don't need that function.
743 2002-03-15 21:56 simon
745 * Makefile.in, include/parrot/packfile.h:
746 Rebuild packout.o, since it'll be used for the Packfile XS module
750 * include/parrot/: memory.h, pmc.h: Another add-in for GC
754 * core.ops: No string to int for some reason
758 * string.c, t/op/string.t: Fix 0-length substr problem
762 * core.ops, interpreter.c, resources.c, classes/array.pmc,
763 classes/perlarray.pmc, examples/assembly/life.pasm,
764 include/parrot/interpreter.h, include/parrot/resources.h: Added in
765 a counter for copied memory, with a display in life.pasm
767 2002-03-14 03:16 mrjoltcola
769 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
771 2002-03-13 23:43 simon
776 2002-03-13 23:43 simon
781 2002-03-13 21:31 simon
786 2002-03-13 18:06 simon
790 Fix string_compare screw-up.
792 2002-03-13 18:02 brentdax
794 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
795 and add a new question/answer pair.
797 2002-03-12 22:53 mrjoltcola
799 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
801 2002-03-12 22:48 mrjoltcola
803 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
806 2002-03-12 22:29 ajgough
808 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
810 2002-03-12 22:24 ajgough
812 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
813 version 1.1, Don't know if this is the correct number, but I don't
814 want this stuck on my harddrive where it will get lost, so 14 it is
817 2002-03-12 11:35 simon
819 * MANIFEST, packdump.c, packout.c:
821 Just so the functionality doesn't disappear.
823 2002-03-12 11:33 simon
825 * Makefile.in, chartype.c, encoding.c, packfile.c,
826 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
827 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
828 include/parrot/chartype.h, include/parrot/encoding.h,
829 include/parrot/packfile.h:
833 2002-03-11 23:06 nicholas
835 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
837 Core.ops documentation nits
839 2002-03-11 23:05 nicholas
841 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
843 Most of the PerlUndef tests in pmc.t appear to have been added
845 Enclosed patch removes the duplicates.
847 2002-03-10 23:40 nicholas
849 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
851 More tests for the PerlString test-suite.
853 2002-03-10 23:40 nicholas
855 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
857 test for sleep with negative argument
859 2002-03-10 21:58 nicholas
861 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
863 Enclosed patch fixes up a few more holes in our test coverage.
865 2002-03-10 21:18 mrjoltcola
867 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
868 classes/parrotpointer.pmc, classes/perlarray.pmc,
869 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
870 classes/perlstring.pmc, classes/perlundef.pmc,
871 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
872 argument to the init() vtable method so PMCs have the option to
873 know how to size themselves at creation. size could be N elements
874 or a byte count, depending on the PMC or it may simply be ignored.
875 Overloaded 'new' opcode for optional arg.
877 2002-03-10 21:15 mrjoltcola
879 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
880 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
883 Also added small hack for .sub directive (which simply translates
884 to a label, however we might eventually want to collect these to
887 2002-03-10 15:09 ajgough
889 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
890 Added round_floor and round_ceiling. 3403 tests pass, none fail.
892 2002-03-10 03:56 ajgough
894 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
895 divide, divide integer and remainder. All filled in functions now
896 have special values capability.
898 Much remains to be done though, and the pdd needs to catch up.
900 2002-03-10 01:36 ajgough
902 * types/bignum.c: Added extended stuff to _add, _subtract.
904 2002-03-10 00:14 nicholas
906 * t/op/: integer.t, number.t: Patch from Simon Glover
909 The enclosed patch fixes a few of the holes in our test coverage
910 uncovered by Josh Wilmes
912 2002-03-09 23:03 ajgough
914 * types/: bignum.c, bignum.h: Modified compare to work with
915 extended values. Made a couple of changes here and there to allow
916 BN_comp to take a context, so that an is_zero check doesn't clobber
919 2002-03-09 22:19 ajgough
921 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
922 Unary plus now copes with special values.
924 2002-03-09 04:25 ajgough
926 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
927 traps and flags are now enabled and tested for all the standard
928 tests for all the functions which are currently implemented. Test
929 harness faffed with to allow these to be tested.
931 2002-03-09 02:29 josh
933 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
934 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
937 2002-03-09 02:22 josh
939 * config_h.in: tab-blastin'
941 2002-03-09 02:21 josh
943 * check_source_standards.pl: Play nicer with M-x compile- don't
944 bother giving line numbers for things you don't want to look at.
946 2002-03-09 02:10 josh
948 * examples/mops/mops.c: re-indented
950 2002-03-09 02:07 josh
952 * classes/pmc2c.pl: Use the usual header so that we can detect the
955 2002-03-09 02:05 josh
957 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
960 2002-03-09 01:59 josh
962 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
963 patch- re-indent io/*.c.
965 2002-03-09 01:52 ajgough
967 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
968 special values to the string conversion functions, some other
969 functions now need context (to let -0 pass through really_zero)
970 which have also been added.
972 2002-03-09 01:47 josh
974 * test_main.c: Re-indented.
976 2002-03-09 01:41 josh
978 * rx.c: killed a stray tab
980 2002-03-09 01:38 josh
984 2002-03-09 01:36 josh
986 * misc.c: Oops, some tabs remained- cleaned up.
988 2002-03-09 01:31 josh
990 * misc.c: Re-indented (major patch, sorry)
992 2002-03-09 00:59 josh
994 * embed.c: Re-indented.
996 2002-03-08 23:08 simon
998 * MANIFEST, docs/pdds/pdd10_embedding.pod,
999 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
1000 docs/pdds/pdd13_bytecode.pod:
1003 2002-03-08 21:12 ajgough
1005 * include/parrot/string.h: Added private flags to string.h, mostly
1006 so that other GCed stuff can also have its very own private flags.
1008 2002-03-08 19:53 simon
1013 2002-03-08 19:41 robert
1015 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
1016 pdd6.pod, pdd7.pod: Renamed...
1018 2002-03-08 18:51 simon
1020 * MANIFEST, docs/pdds/pdd08_keys.pod:
1023 2002-03-08 18:20 ajgough
1025 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
1026 Introduced exception handlers and exception flags to context, will
1027 allow support of extended standard. Unified exception checking
1028 mechanism (sort of) and made minimal changes to bulk of code to use
1029 this. Tests pass, I'm happy, and further changes will happen more
1032 2002-03-08 04:38 josh
1034 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
1037 2002-03-08 04:37 josh
1039 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
1041 2002-03-08 04:24 josh
1043 * embed.c: A bit more re-indenting
1045 2002-03-08 04:20 josh
1047 * embed.c: Indenting fixes
1049 2002-03-08 04:14 josh
1051 * jit.c: Re-indented (run_indent.pl)
1053 2002-03-08 03:36 josh
1055 * ops2c.pl: Fix the line numbers which get reported while compiling
1058 2002-03-08 03:22 josh
1060 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1061 The variable "type" is set but never used.
1065 2002-03-08 03:04 josh
1067 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1068 io/io_unix.c: Clean up unused and set-but-not-referenced variables
1069 noticed by the sgi compiler.
1071 2002-03-08 03:02 josh
1073 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1074 misc.c, Line = 417 The indicated type qualifier is meaningless on
1081 2002-03-08 02:55 josh
1083 * Makefile.in: Clean up one of the object files it was missing
1085 2002-03-08 01:15 josh
1087 * include/parrot/interpreter.h: Fixes the following error (tcc):
1088 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
1089 comma at end of list.
1091 2002-03-06 22:15 simon
1094 Tidy up stack chunk allocation.
1096 2002-03-06 21:00 simon
1099 Create strings only once we've got string register heads set up.
1101 2002-03-06 20:31 simon
1103 * classes/perlarray.pmc:
1104 malloc(0) considered harmful.
1106 2002-03-06 20:24 simon
1108 * include/parrot/resources.h:
1109 I like it when Parrot compiles.
1111 2002-03-06 17:02 dan
1113 * classes/array.pmc: Changed over to data pointing to a Buffer.
1115 2002-03-06 15:45 dan
1117 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1118 packfile.c, pbc2c.pl, pdump.c, resources.c,
1119 include/parrot/interpreter.h, include/parrot/memory.h,
1120 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1121 and opcode_t > longs will now be even more suspect than what they
1122 were beforehand. 2) Feel free to bicker with names. I don't think
1123 we've come to *any* sort of agreement with these, although we
1124 really, really, need to. 3) I forget the third thing. 4) But I
1125 thought of a fourth. 5) I've now remembered the third thing: IIRC,
1126 ANSI C states that enums will fit within the smallest type (int or
1127 greater) that can hold the values. Is that actually correct, and
1128 does it state whether unsigned is preferred to signed for
1129 non-negative enums? 6) Since I'm no longer constrained by "three"
1130 or "quick", I'm going size_t happy for a lot of memory-related
1131 storage. (That's good. No sense wasting the size or performance
1132 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1133 a couple other internal things (like the GC stat counters, seen
1134 here). Size and performance, again, and unpromotable to a bigint,
1135 so we know that we (theoretically) will wrap. However, size_t
1136 isn't the best choice for the type. (Not that there's anything
1137 wrong with size_t, just that it shouldn't be called size_t.) Any
1138 thoughts? I was thinking of just doing unsigned int, because,
1139 IIRC, int is usually the natural word size, and will be most
1140 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1141 of was while writing down the others. Sorry.
1143 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1145 2002-03-06 15:26 dan
1147 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1148 include/parrot/resources.h: Now we allocate generic Buffers from
1151 2002-03-05 21:42 brentdax
1153 * Configure.pl: Minor cleanup and enhancements.
1155 2002-03-05 21:25 dan
1157 * resources.c: non-special GC now works with PMCs
1159 2002-03-05 19:48 brentdax
1161 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1162 Parrot now "knows" if it's a development version or a release
1163 version. See the instructions in the DEVELOPING file.
1165 2002-03-05 18:05 brentdax
1167 * MANIFEST: pasm.vim wasn't in the manifest.
1169 2002-03-05 17:57 simon
1172 Now, through much evilness, make distclean and make cvsclean work
1175 2002-03-05 17:38 dan
1177 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1178 include/parrot/interpreter.h, include/parrot/pmc.h,
1179 include/parrot/resources.h: PMC tracing complete
1181 2002-03-05 16:28 gregor
1183 * languages/jako/Makefile.in:
1184 Changed -I ../../ to -I ../../lib when calling the assembler, since
1185 the perl modules have moved.
1187 2002-03-05 05:30 josh
1189 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1190 string.c: More re-indenting via run_indent.pl.
1192 2002-03-05 05:17 josh
1194 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1197 2002-03-05 04:26 josh
1199 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1200 using run_indent.pl and some minor tweaking.
1202 2002-03-05 04:21 josh
1204 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1205 interpreter.c: Re-indented using run_indent.pl and some minor
1208 2002-03-05 03:30 josh
1210 * include/parrot/trace.h: These functions are no longer used (or
1213 2002-03-04 18:21 josh
1215 * include/parrot/trace.h: Fix a typo in the argument type.
1217 Patch from <daniel.ritz@gmx.ch>
1219 2002-03-04 03:39 josh
1221 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1222 header to jit_struct.h so we don't try to check it for conformance.
1223 (no way will it conform)
1225 2002-03-04 03:38 josh
1227 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1228 unicode.h, warnings.h: Remove some remaining tabs and split some of
1229 the remaining long lines.
1231 2002-03-04 03:17 josh
1233 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1234 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1235 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1236 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1237 string_funcs.h, trace.h, warnings.h: This is the first batch of
1238 re-indenting. This patch is the result of running run_indent.pl
1239 on the header files and manually tweaking the results where errors
1240 were noticed. This should get us closed, but some refinement may
1243 2002-03-04 03:06 josh
1245 * resources.c: Return without parens, as mentioned in PDD 7
1247 2002-03-04 03:01 josh
1249 * core.ops: POD fixes.
1251 2002-03-04 02:58 josh
1253 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1254 on autogenerated files- used by the check_source_standards.pl
1255 script (for now) to exempt autogenerated files from the checks.
1257 2002-03-04 02:51 josh
1259 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1260 warnings.c: Added the editor "boilerplate" footer to a few files
1261 which were missing it.
1263 2002-03-04 02:34 josh
1265 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1266 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1267 c preprocessor directive indentation to comply with pdd 7.
1269 (also fixes the check for this indentation in
1270 check_source_standards.pl)
1272 2002-03-04 02:32 josh
1274 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1277 perl t/harness t/op/basic..........Use of uninitialized value at
1278 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1279 line 6) # got: undef # expected: ''
1281 2002-03-04 02:30 josh
1283 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1284 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1285 "indent" program to enforce some of the code style standards
1288 Usage: ./run_indent.pl <file>
1290 2002-03-03 19:04 simon
1292 * examples/mops/mops.c:
1293 Let's make it compile, huh?
1295 2002-03-03 19:04 simon
1297 * examples/mops/mops.cs:
1300 2002-03-03 18:11 simon
1302 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1303 Added C# and MS-IL versions of mops tester.
1305 2002-03-03 14:52 simon
1308 Add a sub() op to make mops_p work.
1310 2002-03-02 18:12 nicholas
1312 * examples/mops/mops.c, include/parrot/embed.h,
1313 include/parrot/interp_guts.h, include/parrot/jit.h,
1314 include/parrot/misc.h, include/parrot/packfile.h,
1315 include/parrot/rx.h, include/parrot/warnings.h,
1316 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1317 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1318 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1319 indent variables correctly.
1321 2002-03-02 17:41 nicholas
1323 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1324 patch to fix a compiler warning.
1326 2002-03-01 22:35 dan
1328 * memory.c, resources.c, include/parrot/pmc.h,
1329 include/parrot/resources.h: PMCs now come out of arenas.
1331 2002-03-01 06:15 dan
1334 A non-existing buffer + a non-existing buffer should be a
1335 non-existing buffer, not "", which is really '\0'.
1337 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1339 2002-03-01 06:02 dan
1341 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1343 TMTOWTDI, but strcmp is probably the worse.
1345 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1347 2002-03-01 02:32 brentdax
1349 * embed.c: Debug mode now prints out the GC data.
1351 2002-02-28 23:44 dan
1353 * core.ops, resources.c, include/parrot/resources.h: Added collect
1356 2002-02-28 22:58 dan
1358 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1361 2002-02-28 22:50 dan
1363 * core.ops, interpreter.c, resources.c,
1364 examples/assembly/life.pasm, include/parrot/interpreter.h,
1365 include/parrot/resources.h: Add some stat gathering to the resource
1368 Also add an interpreter info retrieval op, and teach it about the
1369 different things it can retrieve.
1371 Finally, add some stat info to life.pasm as an example
1373 2002-02-28 21:27 dan
1375 * editor/pasm.vim: VIM mode commands for parrot assembly files
1377 Courtesy of Scott Beck <scott@gossamer-threads.com>
1379 2002-02-28 19:20 dan
1381 * examples/assembly/life.pasm: Fix a creeping string length leak.
1383 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1385 2002-02-28 18:26 dan
1387 * string.c: When you clone a constant, it ain't constant no mo'.
1389 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1391 2002-02-28 00:51 dan
1393 * MANIFEST: Add missing files
1395 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1397 2002-02-28 00:49 dan
1399 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1400 CVS seems to have several chunks missing out of it, too. This
1401 patch is simply an administrative patch, with the differences
1402 between my last version, and the one currently in there. There
1403 will be a forthcoming patch for some minor tweaking to the PDD, but
1404 I wanted a common baseline before I make any (potential) semantic
1407 There's only one semi-major change, which noone needs to worry
1408 about just yet. That's a change from PDD Format 1 to PDD Format
1409 6.0 - rationale can be found under 'Standard (Version #)' of the
1410 STANDARDS TRACK infomation. Don't worry about this yet, because it
1411 should be 6.0.0, and we need to discuss Perl versus Parrot with
1414 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1416 2002-02-28 00:27 dan
1418 * packfile.c, resources.c, examples/assembly/life.pasm,
1419 include/parrot/register.h, include/parrot/resources.h,
1420 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1423 This patch now implements a real copying collector. We trace from
1424 our root set and compact the contents of Buffer structs.
1428 *) It's very STRING-centric and doesn't handle memory stuffed in
1429 Buffers. But, then, we don't have pool allocation for Buffers
1430 either, and we need to have that soonish for this to work.
1432 *) Doesn't trace PMCs, so if you trigger a collection and there's
1433 memory or STRING structs only accessible from PMCs, you'll fail
1434 horribly. That needs fixing too
1436 *) Better algorithms for when to trace or collect vs when to just
1437 go allocate more memory from the system. Should probably be more
1440 2002-02-27 21:04 dan
1442 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1443 examples/assembly/life.pasm, include/parrot/resources.h,
1444 include/parrot/string.h, include/parrot/string_funcs.h,
1445 jit/i386/core.jit: Start of GC in
1447 2002-02-26 16:41 dan
1449 * jit/i386/string.jit: Fix a typo
1451 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1453 2002-02-26 16:37 dan
1455 * interpreter.c: Fix solaris test failures
1457 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1459 2002-02-26 16:36 dan
1461 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1462 unicode.h, warnings.h: Fixes various warts in header files, such
1463 as: * macros -added parens to prevent problems with operator
1464 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1465 is no longer used * added some more INLINE definitions for MSVC and
1468 Courtesy of Brian Lee Ray <blray@ualr.edu>
1470 2002-02-26 16:20 dan
1472 * Configure.pl: Turns out we were using a warning flag which
1473 doesn't exist on 2.7. Simple tweak though:
1475 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1477 2002-02-25 22:58 dan
1479 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1481 2002-02-25 17:36 dan
1483 * include/parrot/pmc.h: Fix the bits
1485 2002-02-23 21:57 dan
1487 * include/parrot/resources.h: Another 1.5% never hurts
1489 2002-02-23 21:44 dan
1491 * global_setup.c, memory.c, resources.c, string.c,
1492 include/parrot/resources.h: Allocate STRING headers from an arena
1493 with freelist rather than with the system malloc. First step in a
1494 good (or even a bad) GC system.
1496 2002-02-23 20:37 brentdax
1498 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1500 2002-02-22 14:59 ajgough
1502 * types/bignum.c: BN_multiply split into BN_multiply and
1503 BN_imultiply, the internal version to be used by idivide so that
1504 rounding isn't performed during intermediate stages of division.
1506 following test scripts now all pass: divide divideint add multiply
1507 subtract remainder compare rounding plus minus (these are all the
1508 operations currently implemented, rescale and power must still be
1509 written, so don't pass right now).
1511 2002-02-22 13:13 ajgough
1513 * types/bignum_atest.pl: Test harness modified to understand
1514 comments better, and be able to run unary (and rounding) tests.
1515 Currently a few rounding tests fail, which are being investigated.
1517 2002-02-22 01:41 dan
1519 * key.c: Although there's more work being done on the key stuff and
1520 this isn't the final fix, applying this patch does get parrot to
1521 build with two more compilers, so it's probably worthwhile.
1523 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1525 2002-02-22 00:53 dan
1527 * config_h.in, misc.c, include/parrot/embed.h,
1528 include/parrot/exceptions.h, include/parrot/interpreter.h,
1529 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1530 include/parrot/resources.h, include/parrot/rx.h,
1531 include/parrot/string.h, include/parrot/unicode.h,
1532 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1533 io/io_win32.c: Fixes the following (lcc) warnings:
1535 - interpreter.c:470: warning: expression with no effect elided
1536 (related to the way warnings flags were defined)
1538 - misc.c:352: warning: unreachable code
1539 misc.c:483: warning: unreachable code
1540 (i introduced these with some overzealous de-linting)
1542 - numerous warnings like this:
1543 io/io_unix.c:383: warning: conversion from pointer to void' to
1545 pointer to struct _ParrotIO function(pointer to struct
1546 Parrot_Interp,pointer
1547 to struct _ParrotIOLayer,pointer to const char,pointer to const
1549 to pointer to void)' is compiler dependent
1551 Fixes the following nits: - remove bad indenting (tabs) in the
1554 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1556 2002-02-21 21:12 ajgough
1558 * types/: bignum.c, bignum.h: These might look like massive
1559 changes, but really it's just he imposition of coding standards.
1560 The file still isn't entirely compliant, but is now much more so.
1564 o a few more comments
1565 o BN_compare uses internal BN_comp to compare
1566 o lost_digits behaviour is now correct (test harness modified to
1570 All binary functions now pass all the tests in the basic standard.
1571 Unary functions not yet tested, will be soon.
1573 2002-02-21 18:20 dan
1575 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1576 was no longer needed, and the ssize_t thing really shouldn't be
1579 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1581 2002-02-21 18:15 dan
1583 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1584 include/parrot/parrot.h: this patch adds support for the freely
1585 available borland c++ 5.5.1 compiler
1587 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1588 working borland compiler (compiler must know where to find headers
1589 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1590 cc='cl.exe' - a working make utility (borland make doesn't work,
1593 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1594 hints/mswin32.pl - remove a space from Configure.pl (very very
1595 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1596 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1597 (win32 knows it, linux not)
1599 and the why: - parrot is MUCH faster when compiled with borland c
1600 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1603 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1605 2002-02-21 18:09 dan
1607 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1608 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1609 cuddled elses, as required by PDD 7.
1611 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1613 2002-02-21 18:04 dan
1615 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1616 a new Makefile target called "check_source". This target scans all
1617 the .c and .h files in the directory and checks for conformance to
1618 a number of the standards outlined in PDD 7.
1620 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1622 2002-02-21 16:38 ajgough
1624 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1625 allow arithmetic with numbers with a fixed fractional part, buffer
1626 structures now more ready to be integrated into the parrot memory
1627 allocation game, test harness modified to allow lost_digits
1628 condition to be checked. Some more comments.
1630 2002-02-21 15:53 simon
1635 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1637 2002-02-20 16:41 dan
1639 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1641 2002-02-18 18:25 dan
1643 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1645 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1647 2002-02-18 18:21 dan
1649 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1650 CPrederef.pm to make to generated code compile with the MS
1653 fixes: - ms compiler allows inline only for c++, for c there's
1654 __inline - ms header files knows nothing about ssize_t
1656 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1658 2002-02-18 17:49 dan
1660 * MANIFEST: Add the PDDs
1662 2002-02-18 17:47 dan
1664 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1665 coding standards PDD.
1667 2002-02-18 17:40 dan
1669 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1671 2002-02-18 12:41 gregor
1674 Remove warning about exit() not being declared.
1676 2002-02-18 08:29 simon
1678 * misc.c, warnings.c, include/parrot/misc.h,
1679 include/parrot/warnings.h:
1680 This patch adds some missing const's to silence a number of gcc
1683 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1685 2002-02-18 08:26 simon
1687 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1688 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1689 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1690 include/parrot/parrot.h, include/parrot/rx.h,
1691 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1692 lib/Parrot/OpTrans/CPrederef.pm:
1693 - add makefile target and script to test for external libc
1695 - fix return values in hash and array PMCs (returning 0 in a
1697 - remove unnecessary data pointer <=> function pointer
1699 outside of the JIT code.
1700 - move the definition of the "INLINE" macro out of the rx header
1702 available for general use on C++ compilers and gcc.
1703 - remove a few unused variables
1705 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1707 2002-02-17 16:29 simon
1709 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1710 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1711 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1712 We're organised and responsible. Honest.
1714 2002-02-17 02:46 sfink
1716 * Makefile.in: Remove $^ for nmake compatibility.
1718 2002-02-16 09:20 brentdax
1720 * config_h.in, test_main.c, include/parrot/chartype.h,
1721 include/parrot/embed.h, include/parrot/encoding.h,
1722 include/parrot/string.h, include/parrot/string_funcs.h: Better
1723 embedding exposure and hiding, part 1.
1725 2002-02-16 04:38 dan
1727 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1728 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1729 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1730 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1731 typecasts in various places throughout the code. It probably won't
1732 work for Windows yet. The libparrot.a target might need to be
1733 modified to at least prevent it from confusing make on Windows; I
1736 Preliminary instructions for using pbc2c.pl are in
1737 docs/running.pod. I'll try to do better later.
1739 Courtesy of Steve Fink <steve@fink.com>
1741 2002-02-16 04:15 dan
1743 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1745 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1747 2002-02-16 00:03 simon
1749 * classes/: perlarray.pmc, perlhash.pmc:
1751 pmc is already defined!
1753 2002-02-15 23:20 brentdax
1755 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1756 include/parrot/exceptions.h: Far more informative panic messages.
1758 2002-02-15 03:24 dan
1760 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1761 much more extensive patch that fixes it to work properly, and
1762 deletes a bazillion casts as well. It also points to the question
1763 "can we make the byte_code be an opcode_t* already?"
1765 Oh, and it makes some of the formatting prettier, so it's gotta be
1768 Courtesy of * Steve Fink <steve@fink.com>
1770 2002-02-15 02:30 dan
1772 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1773 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1774 of the things it finds. Attaching the patch as well as the current
1777 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1779 2002-02-15 01:59 dan
1781 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1784 2002-02-15 01:48 dan
1786 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1788 2002-02-15 01:40 dan
1790 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1793 2002-02-14 23:30 dan
1795 * resources.c: Added comment for buffer tag routine. D'oh!
1797 2002-02-14 23:28 dan
1799 * resources.c, include/parrot/resources.h: Added buffer mark
1802 2002-02-14 23:17 dan
1804 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1805 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1806 Rejigged memory system a bit. Now should be ready for the horror
1807 that is garbage collection.
1809 2002-02-14 19:33 gregor
1811 * ops2c.pl, include/parrot/oplib.h:
1812 Added code to automatically generate a function within an oplib to
1813 lookup opinfos given the op name. This will come in handy in future
1814 when we want to twiddle opcode tables at run time and possibly at
1817 2002-02-14 19:25 gregor
1819 * examples/assembly/queens.pasm:
1820 Regenerated queens.pasm from queens.jako since the clone_* stuff
1823 2002-02-14 17:12 dan
1825 * resources.c, include/parrot/resources.h: Finished up the
1826 interface for memory and tracked interpreter thingies.
1828 2002-02-14 16:53 dan
1830 * memory.c, include/parrot/memory.h: intercept free and realloc
1832 2002-02-14 05:53 dan
1834 * interpreter.c, runops_cores.c: The type changes in struct
1835 Packfile break the pointer math used in a few places to calculate
1836 the address of the end of the loaded byte code. This causes
1837 segfaults in build_asm in jit.c when using -j. It also breaks the
1838 bounds checking on opcode address in runops_slow_core.
1840 The patch adds the necessary cast to correct the code_end
1843 Courtesy of Jason Gloudon <perl@gloudon.com>
1845 2002-02-14 01:01 ajgough
1847 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1848 BigInt operations (I think), tests for normal operation continue to
1849 pass. Also a shed load of comments.
1851 2002-02-13 01:34 ajgough
1853 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1854 is a (mostly) working bignumber library. There remains much work
1855 to do though, some functions are not yet implemented and headers
1856 need to find their way to the correct place RSN. Also support for
1857 bigints and a sensible error reporting mechanism are needed.
1859 2002-02-12 18:51 dan
1861 * misc.c: Fix some warnings
1863 2002-02-12 17:10 dan
1865 * misc.c: Run through indent -kr -nce so I can read it
1867 2002-02-12 16:49 dan
1869 * misc.c: Need standard header/footer comments
1871 2002-02-11 20:32 simon
1873 * classes/array.pmc:
1874 get and set pmc methods.
1876 2002-02-11 20:19 simon
1878 * classes/array.pmc:
1879 Maybe the keys aren't integer...
1881 2002-02-11 20:03 simon
1883 * core.ops, vtable.tbl, classes/default.pmc:
1886 2002-02-11 19:07 simon
1888 * vtable.tbl, classes/default.pmc:
1889 Add set_pmc. Usee with caution.
1891 2002-02-11 18:20 dan
1893 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1896 2002-02-11 17:59 simon
1898 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1899 classes/perlarray.pmc, classes/perlhash.pmc:
1902 2002-02-11 17:57 simon
1904 * packfile.c, include/parrot/packfile.h:
1907 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1909 2002-02-11 17:55 dan
1911 * docs/parrot_assembly.pod: Document some key ops
1913 2002-02-11 09:20 brentdax
1915 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1918 2002-02-11 00:34 simon
1920 * core.ops, include/parrot/exceptions.h:
1921 This is what keyed set ops look like. Remember, however, that for
1922 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1923 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1924 obviously ambiguous that you ought to use the 4-arg version
1927 2002-02-10 23:12 jgoff
1929 * classes/: array.pmc, perlarray.pmc: Properly allocate
1930 SELF->data's array of PMC* data in array and perlarray.pmc. This
1931 isn't tested yet, but should be fairly straightforward. PerlHash
1932 needs to be finished before the system will compile again, and that
1933 should be done in the next few days.
1935 2002-02-09 04:46 jgoff
1937 * classes/: array.pmc, default.pmc, intqueue.pmc,
1938 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1939 Added basic _keyed member functions. Unfortunately this still
1940 doesn't fix the problems that are causing the build to break. It's
1941 a start though. I'm not implementing the PMC add functions just
1944 2002-02-08 15:59 simon
1946 * classes/array.pmc:
1947 Some more work on getting the array stuff up to date.
1949 2002-02-08 12:23 simon
1951 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1952 lib/Parrot/Vtable.pm:
1953 Got array->get_integer_keyed doing what I think it ought to. One
1954 down, all the rest to go.
1956 2002-02-08 11:47 simon
1959 Although I didn't intend it to be quite that broken...
1961 2002-02-08 11:42 simon
1963 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1964 Completely break Parrot, but at least we get the key stuff right
1967 2002-02-08 06:25 dan
1969 * hints/darwin.pl: Silences the warning about passing in
1970 -flat_namespace to the compile. That's a link-only flag.
1972 2002-02-08 04:52 jgoff
1974 * classes/: array.pmc, default.pmc, intqueue.pmc,
1975 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1976 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1977 return values in *.pmc, added some missing casts to the repeat_foo
1978 members, and deleted the _index members from the perlscalar
1979 classes. Basic cleanup, and getting ready for _keyed functions.
1981 2002-02-07 04:49 mrjoltcola
1983 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1984 added a nested subroutine call.
1986 2002-02-07 04:32 jgoff
1988 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1989 changes in order to give the whitespace rules a little workout, and
1990 do a little bit more testing. No actual structural changes were
1991 made. lib/Parrot/Vtable.pm got an interface change, and more
1992 importantly should be ready to support the new '_keyed' attribute,
1993 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1994 src_value' followed by 'KEY* src_key'. This will be how the new
1995 _keyed operators will function, and those should be written within
1998 2002-02-06 18:00 doughera
2000 * misc.c: Change C++-style comments to C comments (again). Remove
2001 unused perl5 code that was in #if 0/#endif.
2003 2002-02-06 17:59 doughera
2005 * warnings.c: Add trailing newline.
2007 2002-02-06 04:14 mrjoltcola
2009 * include/parrot/io.h, io/io.c: Minor cleanup.
2011 2002-02-06 03:11 mrjoltcola
2013 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
2014 couple of loose end in win32 IO stuff. Open behaves now but needs
2017 2002-02-05 21:02 brentdax
2019 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
2020 which showed up in Purify builds.
2022 2002-02-05 17:15 simon
2027 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
2029 2002-02-05 17:08 doughera
2031 * misc.c: Avoid C++-style comments.
2033 2002-02-05 17:07 doughera
2035 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
2036 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
2037 thanks to Jason Gloudon <perl@gloudon.com>.
2039 2002-02-05 14:04 simon
2042 Make the problem different, perhaps even better.
2044 2002-02-05 13:49 simon
2047 Possibly fix a `short int' is promoted to `int' when passed through
2048 `...' scary error, possibly make things absolutely worse.
2050 2002-02-05 13:15 simon
2055 2002-02-05 13:12 simon
2058 Not going to get far without this one...
2060 2002-02-05 11:41 simon
2063 Don't barf when handed null pointers.
2065 2002-02-05 10:04 simon
2067 * misc.c, include/parrot/misc.h:
2068 Fix some trivial bugs in warnings code.
2070 2002-02-05 09:27 simon
2073 Oops, forgot this one; also added %P support.
2075 2002-02-05 09:20 simon
2077 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2078 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2079 include/parrot/interpreter.h, include/parrot/misc.h,
2080 include/parrot/parrot.h, include/parrot/warnings.h:
2083 Courtesy of: Brent Dax <brentdax@cpan.org>
2085 2002-02-05 05:41 jgoff
2087 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2088 format of vtable.tbl to get rid of the tab-dependence. The format
2089 now looks roughly like this:
2091 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2092 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2093 assumed here, but note the C-like prototyping. Also had to disable
2094 one test that depended upon 'concat_p_p_s', which isn't necessary
2097 Vtable.pm will change again when the type '_keyed' is added,
2098 because that requires remapping parameters slightly differently
2099 again. Also, note that it assumes 'value' is the first parameter
2100 in the list. This assumption will go away at the same time.
2102 2002-02-04 16:57 ajgough
2104 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2105 functions. Thanks to Simon Glover.
2107 2002-02-04 02:47 ajgough
2109 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2110 needed. I suspect that the entire hints file isn't really needed,
2111 but there's no one to actually tell us this.
2113 2002-02-02 15:45 ask
2115 * docs/ParrotFAQ.htm: fix internal links
2117 2002-02-02 04:06 jgoff
2119 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2120 Moving the internal KEY structure from the cache.struct_val member,
2121 where it doesn't really belong, to the internal SELF->data member.
2122 This frees up the cache/type members for other usage.
2124 This is the first step in moving PMCs to the point where we can do
2125 multidimensional PMC handles. The next step is to change the
2126 assembler to accept the syntax of 'set P0["foo"],7'.
2128 2002-02-02 00:13 nicholas
2130 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2131 prototype Parrot_Array_class_init
2133 2002-02-02 00:13 nicholas
2135 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2136 time to sum_time to avoid warning on FreeBSD about tracking a
2137 global [No, this warning does not appear on Linux. Yes, it is real
2140 2002-02-01 23:02 nicholas
2142 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2145 2002-02-01 20:20 nicholas
2147 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2149 2002-02-01 18:20 nicholas
2151 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2154 2002-02-01 13:22 nicholas
2156 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2158 2002-02-01 12:19 simon
2160 * core.ops, t/op/ifunless.t, t/op/integer.t:
2163 2002-02-01 12:11 simon
2165 * lib/Parrot/Test.pm:
2168 2002-02-01 01:38 nicholas
2170 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2171 and a manitest target to Makefile.in that lets one test the
2174 2002-02-01 00:03 dan
2176 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2179 2002-01-31 21:46 gregor
2181 * Configure.pl, Makefile.in, hints/mswin32.pl:
2182 A few more things are now configable, so we are closer to win32
2183 shared library builds. Not there yet, but closer.
2185 2002-01-31 21:00 dan
2187 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2188 include/parrot/pmc.h: First step in dynamically loading PMC classes
2190 2002-01-31 19:38 dan
2192 * Makefile.in: Dependencies in the Makefile are currently too broad
2193 brush. I don't enjoy waiting for everything to recompile every
2194 time I try to tweak the jit. The only file that #includes
2195 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2196 should reflect this, and not cause a gratuitous recompile of
2197 everything. There are probably other auto-generated header files
2198 that world+dog should not depend on.
2200 Courtesy of Nicholas Clark <nick@unfortu.net>
2202 2002-01-31 19:03 gregor
2204 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2205 Added two new make targets:
2207 * testp: Like 'make test', but passes -P to t/harness, so you get
2209 see how broken predereferencing is.
2211 * testj: Like 'make test', but passes -j to t/harness, so you get
2213 see how broken JIT is.
2215 Now, anyone who wants to see how good all three ways of running are
2216 can do so, at the cost of about 3x the time.
2218 2002-01-31 17:09 brentdax
2220 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2222 2002-01-31 03:41 grunblatt
2224 * docs/jit.pod: Update jit.pod
2226 2002-01-31 03:20 grunblatt
2228 * jit/i386/core.jit: Hold this until we get an assemble tool,
2229 because of the different objdump problems.
2231 2002-01-31 03:13 grunblatt
2233 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2234 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2235 of: Jason Gloudon <perl@gloudon.com>
2237 2002-01-31 02:22 grunblatt
2239 * jit/i386/core.jit: Continue if the register is null
2241 2002-01-30 23:50 grunblatt
2243 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2244 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2245 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2248 2002-01-30 23:35 mrjoltcola
2250 * io/io_win32.c: Change implementation of isatty on win32,
2251 suggested by Hong Zhang.
2253 2002-01-30 23:19 sfink
2255 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2256 Op::may_jump boolean method.
2258 Replaced jit2h's hardcoded pattern match to decide what ops might
2259 change the control flow.
2261 2002-01-30 22:13 dan
2263 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2264 parrot to mostly-build with tcc. It allows one to skip compiling
2265 the JIT stuff (by specifying --define jitcapable=0), and it
2266 introduces a test program which gives a friendlier error in this
2267 case for compilers which are as picky as tcc is about function
2270 If anyone figures out the proper way to cast these function
2271 pointers this may not be necessary.
2273 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2275 2002-01-30 20:54 dan
2277 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2278 Here's an update to docs/running.pod to better reflect the current
2279 state (both the test_parrot and assemble.pl improvements, plus
2280 documentation of a few more things.) And also a speling fiks
2281 s/POST_MORTERM/POST_MORTEM/.
2283 I could also replace some "perl foo" calls with "./foo" if someone
2284 wanted to set the executable flag in CVS on assemble.pl,
2287 Courtesy of Steve Fink <steve@fink.com>
2289 2002-01-30 20:43 dan
2291 * core.ops: find_global doesn't work, so stub out the wrong code
2293 2002-01-30 19:08 dan
2295 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2297 can read it and just tidies it up generally. It also adds
2299 for the constantize_integer and constantize_number functions.
2301 Courtesy of Simon Glover <scog@roe.ac.uk>
2303 2002-01-30 18:02 dan
2305 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2306 classes/genclass.pl, classes/pmc2c.pl,
2307 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2308 distribution (including assemble.pl !)
2309 can no longer find the Parrot::* modules. Enclosed patch fixes
2311 it would be nice if there were an easier way to do this).
2313 Courtesy of Simon Glover <scog@roe.ac.uk>
2315 2002-01-30 16:00 mrjoltcola
2317 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2320 2002-01-30 15:50 mrjoltcola
2322 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2324 2002-01-30 15:42 grunblatt
2326 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2329 2002-01-30 15:38 grunblatt
2331 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2332 the manifest, and also puts it back into alphabetical order.
2334 Courtesy of: Simon Glover <scog@roe.ac.uk>
2336 2002-01-30 14:41 nicholas
2338 * embed.c: Patch from Simon Glover to clean up warnings where
2339 prototype is () not (void)
2341 2002-01-30 13:54 nicholas
2343 * include/parrot/embed.h, test_main.c: Add void as an explicit
2344 parameter in test_main.c's usage(), version(void) and embed.h's
2345 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2346 warning: function declaration isn't a prototype
2348 2002-01-30 12:08 simon
2350 * lib/Parrot/.cvsignore:
2351 Ignore generated Perl modules.
2353 2002-01-30 12:07 simon
2356 Run the PMC tests as well.
2358 2002-01-30 12:04 simon
2361 Fix MANIFEST after recent t/pmc rejig.
2363 2002-01-30 11:42 simon
2365 * lib/Parrot/Test.pm:
2366 Report non-zero exit codes.
2368 Courtesy of: Michael G Schwern <schwern@pobox.com>
2370 2002-01-30 11:39 simon
2373 Skip final test, TODO doesn't work yet.
2375 2002-01-30 09:54 brentdax
2377 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2378 predereferencing works.
2380 2002-01-30 09:38 brentdax
2382 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2385 2002-01-30 09:37 brentdax
2387 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2389 2002-01-30 09:37 brentdax
2391 * config_h.in: Expose another flag for embedders.
2393 2002-01-30 05:07 jgoff
2395 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2396 location for Parrot/, and t/harness wasn't able to run the new
2397 op/pmc tests. Both problems fixed, so I think I'm going to declare
2398 the build suitable for public consumption.
2400 2002-01-30 04:34 robert
2402 * docs/Makefile.in: update for CVS movement
2404 2002-01-30 04:32 robert
2406 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2407 .in file, not the real Makefile)
2409 2002-01-30 04:20 robert
2411 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2412 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2413 related to moving files around
2415 2002-01-30 04:10 robert
2417 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2419 2002-01-30 04:07 robert
2421 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2423 2002-01-30 03:56 robert
2425 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2426 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2427 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2428 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2429 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2430 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2431 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2432 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2435 2002-01-30 03:46 robert
2437 * languages/miniperl/miniperlc: renamed to mpc
2439 2002-01-30 03:45 robert
2441 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2442 pmc_perlstring.t: Moved to t/op/pmc/
2444 2002-01-30 03:40 robert
2446 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2448 2002-01-30 03:14 jgoff
2450 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2451 Fixed some problems with PerlArray and added tests. Previously,
2452 only integers could be accessed by negative indices. After this
2453 change, all basic types can be accessed by negative indices, and
2454 they can also be set at negative indices.
2456 2002-01-29 22:13 brentdax
2458 * TODO: Just look at the stupid diff.
2460 2002-01-29 21:53 simon
2462 * TODO, docs/vtables.pod:
2463 New TODO, and tiny addition to vtables.pod
2465 2002-01-29 21:47 mrjoltcola
2467 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2469 2002-01-29 21:38 mrjoltcola
2471 * Makefile.in: Makefile.in tweak for io depend.
2473 2002-01-29 21:15 brentdax
2475 * embed.c: Fix a segfault and some profiling formatting nits.
2477 2002-01-29 20:54 brentdax
2481 2002-01-29 20:50 brentdax
2483 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2486 2002-01-29 20:17 mrjoltcola
2488 * interpreter.c, core.ops, io.ops: CVS missed this.
2490 2002-01-29 20:17 mrjoltcola
2492 * io/io.c: These should have gone in Sunday with the rest. CVS is
2495 2002-01-29 18:39 brentdax
2497 * platforms/win32.h: Fix Win32 whoops.
2499 2002-01-29 18:29 brentdax
2501 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2503 2002-01-29 17:51 simon
2505 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2506 include/parrot/embed.h, include/parrot/parrot.h:
2507 Embedding support. Cool.
2509 Courtesy of: <brentdax@cpan.org>
2511 2002-01-29 15:40 grunblatt
2513 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2514 Gloudon <perl@gloudon.com>
2516 2002-01-29 14:42 simon
2518 * include/parrot/parrot.h:
2519 Platform stuff has to be included *after* system headers.
2521 2002-01-29 14:05 grunblatt
2523 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2524 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2525 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2526 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2527 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2529 2002-01-29 10:56 simon
2531 * platforms/generic.h:
2532 If we don't have a S_ISREG, produce something close to it.
2534 2002-01-29 06:01 dan
2536 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2538 2002-01-29 04:38 jgoff
2540 * classes/array.pmc: Forgot to remove some C++-isms from the
2541 get_{foo}_index routines.
2543 2002-01-29 04:26 jgoff
2545 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2546 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2547 t/pmc/array.t: Added array class that languages other than perl can
2548 use for a basis. It has no features like preextension, and the
2549 array index starts at 0.
2551 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2552 and classes/Makefile.in - Added array.pmc to the makefile.
2553 (Assuming rules like .pmc.o are portable (or even possible) I might
2554 alter classes/Makefile.in to autobuild the appropriate files.
2556 2002-01-29 02:32 dan
2558 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2559 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2560 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2561 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2562 Update to Test::More 0.41 which adds Test::Builder
2564 Delete the vestigal Test::Utils
2566 Change Parrot::Test so it uses Test::Builder instead of Evil
2570 output_* now returns whether the test passes or fails
2572 Parrot::Test no longer exports Test::More's functions. Instead
2574 can simply be used together. The few tests which used
2576 features (ie. skip) have 'use Test::More' added.
2578 I ditched the export_to_level() crutch. Do we expect parrot to
2580 5.004? (literally 5.004, not 5.004_04)
2582 Courtesy of Michael G Schwern <schwern@pobox.com>
2584 2002-01-28 21:04 dan
2586 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2587 pointer should actually be to
2588 parrot_assembly.pod, as the canonical documentation.
2590 Courtesy of Simon Glover <scog@roe.ac.uk>
2592 2002-01-28 20:21 dan
2594 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2597 2002-01-28 19:18 dan
2599 * core.ops, register.c: clone[insp] is dead
2601 2002-01-28 17:46 grunblatt
2603 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2604 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2606 2002-01-28 16:45 dan
2608 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2609 the requirement for fink at the moment.
2611 2002-01-28 15:59 simon
2614 People might try and run a directory file, with spectacular
2615 results. We don't want that. No.
2617 2002-01-28 14:58 doughera
2619 * core.ops: Avoid C++-style comments.
2621 2002-01-28 14:16 grunblatt
2623 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2624 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2627 2002-01-28 13:47 doughera
2629 * include/parrot/register.h: Avoid C++-style comment.
2631 2002-01-28 06:03 dan
2633 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2634 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2635 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2636 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2637 include/parrot/parrot.h, include/parrot/regfuncs.h,
2638 include/parrot/register.h, include/parrot/register_funcs.h,
2639 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2640 are now stored in the interpreter structure itself, rather than
2641 just a pointer to the top of the register structure. Pushes and
2642 pops now involve memcpys, but register access has one fewer
2645 Fails four of the register stack tests, though, so not perfect.
2646 Needs fixing, but this is a good place to start.
2648 2002-01-28 04:40 mrjoltcola
2650 * test_main.c: cvs commit missed this. ??
2652 2002-01-28 04:27 mrjoltcola
2654 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2655 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2656 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2657 interpreter now (at least in theory). IO handle array added. Misc
2658 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2659 we don't conflict with system libraries. Still have broken
2660 stuff in win32 and stdio layer.
2662 2002-01-28 04:01 mrjoltcola
2664 * include/parrot/chartype.h: Typo in chartype.h include guard.
2666 2002-01-28 03:41 mrjoltcola
2668 * t/op/interp.t: Fix flag for interp so we don't get "info"
2669 messages which break tests.
2671 2002-01-28 01:54 dan
2673 * include/parrot/string.h: A few more buffer/string flags
2675 2002-01-27 11:33 nicholas
2677 * chartypes/unicode.c: Cast unsigned argument to int in call to
2678 isdigit to silence gcc warning.
2680 2002-01-26 23:18 grunblatt
2682 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2685 2002-01-26 23:17 grunblatt
2687 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2688 jit/i386/core.jit: [no log message]
2690 2002-01-26 22:18 simon
2692 * jit/i386/core.jit:
2693 Jumping to 0x0 is a recipe for segfaults.
2695 2002-01-26 18:35 simon
2698 Allow user to select which tests to harness
2700 Courtesy of: Nicholas Clark <nick@unfortu.net>
2702 2002-01-26 17:20 grunblatt
2704 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2705 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2706 to make the jit work in linux again.
2708 2002-01-26 16:52 dan
2710 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2711 headers can't cope with this. Darwin-only
2713 2002-01-26 16:04 dan
2715 * include/parrot/parrot.h: Quick note to remind folks that this
2716 isn't the file they're looking for if they're writing extensions or
2719 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2721 2002-01-26 00:41 mrjoltcola
2725 2002-01-26 00:37 mrjoltcola
2727 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2730 2002-01-25 01:31 grunblatt
2732 * jit/alpha/core.jit: There is no neg or fneg.
2734 2002-01-25 01:27 grunblatt
2736 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2737 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2738 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2739 t/op/number.t: Added Parrot_neg. Erase t.s
2741 2002-01-24 23:26 dan
2743 * interpreter.c: Best make sure unused elements are NULL
2745 2002-01-24 23:24 dan
2747 * interpreter.c: Fix stupid thinko
2749 2002-01-24 18:37 doughera
2751 * Makefile.in: Add a few missing dollar signs in the lifetest
2752 section so that ${exe} and the like get properly interpolated.
2754 2002-01-24 18:15 mrjoltcola
2756 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2757 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2758 Simon Glover <scog@roe.ac.uk>
2760 2002-01-24 06:43 mrjoltcola
2762 * io/io_stdio.c: Oops.
2764 2002-01-24 06:34 mrjoltcola
2766 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2767 of work on the buffering layer. Decided to use shared read/write
2768 buffer (as do most implementations) for now since its the simplest
2769 way to keep everything synced, (flush on seeks, flush read on
2772 2002-01-24 03:38 mrjoltcola
2774 * test_main.c: Cleaned up option handling code a bit for main().
2776 2002-01-23 23:22 dan
2778 * interpreter.c, include/parrot/interpreter.h,
2779 include/parrot/resources.h: Now each interpreter gets its own hash
2782 2002-01-23 20:45 dan
2784 * Configure.pl: Fix a warning when there's no - in an architecture
2786 2002-01-22 23:57 grunblatt
2788 * docs/running.pod: [no log message]
2790 2002-01-22 20:29 doughera
2792 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2793 appears to be a generic problem (if sizeof(long double) >
2794 sizeof(double)), not an x86-specific one.
2796 2002-01-22 16:57 doughera
2798 * runops_cores.c: Change variable name from time to starttime to
2799 avoid gcc warning about variable name shadowing.
2801 2002-01-22 16:55 doughera
2803 * classes/pmc2c.pl: Include class_init prototype too.
2805 2002-01-22 16:01 doughera
2807 * MANIFEST: [no log message]
2809 2002-01-22 01:04 ajgough
2811 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2812 classes/parrotpointer.pmc, classes/perlarray.pmc,
2813 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2814 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2815 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2816 warnings from pmc files. Message-ID:
2817 <20020121224719.GE1726@Bagpuss.unfortu.net>
2819 2002-01-22 00:53 ajgough
2821 * test_main.c: Clears up a couple of warnings in test_main.c.
2822 Thanks to Nick Clark. Message-ID:
2823 <20020121190457.GB1726@Bagpuss.unfortu.net>
2825 2002-01-22 00:47 ajgough
2827 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2828 include/parrot/chartype.h: Cause all codepoints to be treated as
2829 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2830 Nick Clark, see also: Message-ID:
2831 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2833 2002-01-22 00:24 dan
2835 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2837 Appended patch cures these warnings:
2839 key.c: In function `debug_key': key.c:29: warning: int format,
2840 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2841 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2842 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2843 format, INTVAL arg (arg 4)
2845 Courtesy of Nicholas Clark <nick@unfortu.net>
2847 2002-01-21 12:41 mrjoltcola
2849 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2852 2002-01-21 06:37 mrjoltcola
2854 * io/io.c: Cleanup a warning
2856 2002-01-21 06:28 mrjoltcola
2858 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2859 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2860 ops. Various other IO twiddlings.
2862 2002-01-21 03:25 grunblatt
2864 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2865 Melvin Smith for the catch up.
2867 2002-01-20 23:13 sfink
2869 * stacks.c: Fixed logic errors, need tests
2871 2002-01-20 22:17 brentdax
2873 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2874 prepare for /i to work.
2876 2002-01-20 20:52 grunblatt
2878 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2879 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2880 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2881 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2882 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2883 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2884 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2885 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2886 jit/alpha/string.jit:
2887 - Added support for ALPHA, by now linux and bsd.
2889 - Reduced jit2h.pl execution time by precompiling the call to the
2892 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2893 Parrot/Jit/${cpuarch}Generic.pm
2895 - Changed the way to detect quads to what is written in "man
2898 2002-01-20 17:23 brentdax
2900 * rx.ops: There's no such thing as rx_allocateinfo.
2902 2002-01-19 08:26 brentdax
2904 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2906 2002-01-19 07:12 mrjoltcola
2908 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2909 into io.ops, leave the STDIO wrappers in core.ops until they
2910 disappear. Added debug op for switching on VM debug flag
2912 2002-01-19 01:55 mrjoltcola
2914 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2915 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2917 2002-01-19 00:55 brentdax
2919 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2920 include/parrot/rxstacks.h: Add regex-specific stacks for
2923 2002-01-18 23:58 dan
2925 * Configure.pl: I think the optimal fix here is simply to remove
2926 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2927 man pages say "There is no reason to use this option [-pedantic];
2928 it exists only to satisfy pedants."
2930 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2932 2002-01-18 23:23 dan
2934 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2935 docs/running.pod, which lists the various executables Parrot
2936 currently includes, examples of running them, and mentions of where
2937 they fail to work. It's more of a cry for help than a useful
2938 reference. :-) I've been having trouble recently when making
2939 changes in figuring out whether I broke anything, because any
2940 non-default way of running the system seems to be already broken. I
2941 can't tell what brokenness is expected and what isn't.
2943 Courtesy of Steve Fink <steve@fink.com>
2945 2002-01-15 22:13 brentdax
2947 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2948 substring use and enhance performance.
2950 2002-01-15 21:03 ajgough
2952 * string.c: Fix problem with string_transcode, &dest not being
2953 updated if src was already in desired encoding.
2955 2002-01-15 16:54 brentdax
2957 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2958 warnings. Leaves only one warning, at rx.ops line 409, that I
2959 can't manage to get rid of.
2961 2002-01-15 16:50 dan
2963 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2964 code. Also patches pbc2c.pl to work with rx.ops.
2966 Courtesy of Jason Gloudon <perl@gloudon.com>
2968 2002-01-15 16:15 dan
2970 * classes/Makefile.in: All the C files in classes/ weren't being
2971 compiled with an of the gcc warnings flags. With this patch they
2972 are, and there are an awful lot of warnings, more than I could hope
2973 to understand and clear up (within any sensible time period before
2974 submitting a rash of patches, by which time everyone else would
2975 have moved the code on)
2977 Courtesy of Nicholas Clark <nick@unfortu.net>
2979 2002-01-15 16:10 dan
2981 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2982 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2983 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2984 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2985 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2986 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2987 chartypes/usascii.c: This patch adds a few more macros for .ops
2988 files to use. In addition to the existing
3002 This is intended mainly for use in helper functions in .ops files,
3003 but also for ops that need to eg push the address of the next
3004 opcode onto a stack. The only place this currently happens (outside
3005 of my private code) is in the bsr opcode, which previously
3006 hardcoded the computation.
3008 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
3009 higher in the generated file so that it can be used by static
3010 functions in the preamble.
3012 Finally, I ran into a parentheses matching problem -- should goto
3013 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
3014 \bgoto\s+OFFSET\((.*?)\)
3016 It was done inconsistently for the different calculations, and of
3017 course neither are correct because you really want matching
3018 parentheses. But that seems like too much bother. (Currently,
3019 there's only one place that uses anything other than $n in the
3020 parentheses, and that's the enternative() op.) So I made them all
3021 .*? but emulated recent POD by also allowing (( ... )) (that's two
3022 parenthesis with a space padding the body.)
3024 The generated core_ops.c and core_ops_prederef.c files after this
3025 patch are identical except for the CUR_OPCODE and REL_PC macros
3026 getting moved a little higher, and the bsr in the regular path (not
3027 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
3029 In summary, this is a big wad of meaningless changes for the
3030 current code. But it will make adding some opcodes easier in the
3031 future, and cleans up a small nit in the current bsr.
3033 Courtesy of Steve Fink <steve@fink.com>
3035 2002-01-15 08:48 brentdax
3037 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
3040 2002-01-15 08:45 brentdax
3042 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
3044 2002-01-15 05:00 brentdax
3046 * rx.ops: Speed up rx_literal--roughly doubles benchmark
3049 2002-01-14 20:18 dan
3051 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
3053 Courtesy of Nicholas Clark <nick@unfortu.net>
3055 2002-01-14 20:03 dan
3057 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3058 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3059 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3060 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3061 classes/parrotpointer.pmc, classes/perlarray.pmc,
3062 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3063 classes/perlstring.pmc, classes/perlundef.pmc,
3064 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3065 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3066 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3067 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3068 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3069 patch cleans up most of the MSVC-warnings when using warning level
3070 4 (the highest, one above the default level 3). It turns off two
3071 level-4 warnings for 'unreferenced formal parameter' and 'named
3072 type definition in parentheses', the latter of which was turning up
3073 warnings in MS VC headers. Level 4 warnings also helped me find a
3074 couple of other lurking bugs in the parrot code.
3076 Replaces the various fprintf/exit combos with calls to
3077 internal_exception, which uses var_args to emulate printf. Various
3078 exception types were added as well. These are probably temporary
3079 until a real exception system arrives.
3081 Fixed some places in the IO code where wrong functions were being
3082 called, or put into the vtable.
3084 Courtesy of "Michel Lambert" <mlambert@legendent.com>
3086 2002-01-14 19:00 dan
3088 * MANIFEST: D'oh! Forgot a file.
3090 Courtesy of Andy Dougherty <doughera@lafayette.edu>
3092 2002-01-14 18:44 brentdax
3094 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3095 sense (and a few other enhancements to regexes).
3097 2002-01-14 07:07 brentdax
3099 * interpreter.c, runops_cores.c, test_main.c,
3100 include/parrot/interpreter.h: Make profiling a little more useful.
3102 2002-01-13 19:44 dan
3104 * Configure.pl: Turn off unsed things warnings for now
3106 2002-01-13 19:39 dan
3108 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
3110 classes/perlarray.c: * get_string: is casting
3111 SELF->cache.struct_val to a STRING*, while all other methods are
3112 using it as a KEY*; don't know what a perlarray stringifies to,
3113 so replacing with NULL * get_bool: the default behaviour does not
3116 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3118 2002-01-13 19:37 dan
3120 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
3121 flags to LDFLAGS, so that Configure.pl --debugging works with
3124 classes/Makefile.in make easier to add pmb2c.pl flags to all
3127 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3129 2002-01-13 19:36 dan
3131 * io/io_win32.c: according to my MSVC docs, you should use
3135 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3137 2002-01-13 19:35 dan
3139 * docs/intro.pod: Doc tweak.
3141 Courtesy of Simon Glover <scog@roe.ac.uk>
3143 2002-01-13 19:34 dan
3145 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3150 works with PerlString PMCs; these should be false if they are "",
3152 are undefined, and true in every other case.
3154 Courtesy of Simon Glover <scog@roe.ac.uk>
3156 2002-01-13 19:23 dan
3158 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3159 NUMVAL_FMT to FLOATVAL_FMT.
3161 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3163 2002-01-13 17:45 jgoff
3165 * Makefile.in, global_setup.c, classes/Makefile.in,
3166 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3167 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3168 designing your own classes.
3170 2002-01-13 08:47 simon
3172 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3173 lib/Parrot/OpTrans/CPrederef.pm:
3174 Fix bsr in prederef mode.
3176 Courtesy of: Jason Gloudon <perl@gloudon.com>
3178 2002-01-12 15:33 dan
3180 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3181 string.c, encodings/singlebyte.c, encodings/utf32.c,
3182 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3183 Silence most of the unused variable warnings.
3185 Courtesy of Nicholas Clark <nick@unfortu.net>
3187 2002-01-12 15:18 dan
3189 * rx.ops: This patch fixes a warning and also changes an 'int' to
3190 an 'INTVAL'. All tests should pass on Solaris.
3192 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3194 2002-01-12 15:13 dan
3196 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3197 examples/assembly/life.pasm, include/parrot/interpreter.h,
3198 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3199 io/io_win32.c: More IO work. (Plus some misc twiddles)
3201 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3203 2002-01-12 01:14 dan
3205 * include/parrot/string.h: fix a missing name
3207 2002-01-12 00:39 grunblatt
3209 * include/parrot/string.h: Few typos.
3211 2002-01-12 00:16 grunblatt
3213 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3214 that change the program control flow.
3216 2002-01-11 23:53 brentdax
3218 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3219 ParrotPointer's guts.
3221 2002-01-11 23:03 dan
3223 * include/parrot/string.h: flags for the buffers, for GC
3225 2002-01-11 22:31 dan
3227 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3229 2002-01-11 22:21 dan
3231 * include/parrot/pmc.h: Started with PMC flags
3233 2002-01-11 19:33 dan
3235 * config_h.in, memory.c, resources.c, string.c,
3236 include/parrot/resources.h: Beginnings of a memory allocation/gc
3237 system. Without the GC part.
3239 2002-01-11 18:05 dan
3241 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3244 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3246 2002-01-11 17:50 dan
3248 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3249 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3250 a patch that makes pbc2c generated code work with the bsr opcode.
3251 It creates a new opcode 'enternative', and uses this to support a
3252 mixed model of interpretation and execution of compiled C code.
3254 Courtesy of Jason Gloudon <perl@gloudon.com>
3256 2002-01-11 17:48 dan
3258 * Makefile.in: Add life as a potential .exe target
3260 2002-01-11 17:30 dan
3262 * include/parrot/resources.h: Start of arena stuff for GC
3264 2002-01-11 05:34 brentdax
3266 * rx.ops: Docs modifications.
3268 2002-01-11 04:19 brentdax
3270 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3271 regular expressions.
3273 2002-01-11 03:44 grunblatt
3275 * jit/i386/core.jit: off by one.
3277 2002-01-11 02:25 dan
3279 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3281 Courtesy of Steve Fink <steve@fink.com>
3283 2002-01-11 00:32 brentdax
3285 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3287 2002-01-10 23:22 ajgough
3289 * string.c, docs/strings.pod: Removed all the nul termination code,
3290 as this is in general a bad idea. Note added to docs/strings.pod
3291 to warn people away from assuming termination.
3293 2002-01-10 23:14 dan
3295 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3296 testparrotsizes_c.in, include/parrot/interpreter.h,
3297 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3300 Courtesy of Steve Fink <steve@fink.com>
3302 2002-01-10 22:48 dan
3304 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3307 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3309 2002-01-10 22:46 dan
3311 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3312 t/pmc/perlhash.t: Well, actually two bugs.
3314 The first is an off-by-one error in key.c than can cause parrot
3315 to segfault if hash % NUM_BUCKETS happens to be zero.
3317 The other is a bug in the PerlHash init() code that causes new
3319 PMCs to start with the wrong size.
3321 Both fixed below; also tests to prevent them recurring.
3323 Courtesy of Simon Glover <scog@roe.ac.uk>
3325 2002-01-10 22:30 dan
3327 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3328 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3331 Courtesy of Simon Glover <scog@roe.ac.uk>
3333 2002-01-10 21:31 dan
3335 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3337 2002-01-10 20:30 grunblatt
3339 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3340 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3341 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3342 All the op codes that doesn't change the program control flow now
3343 work in the JIT by calling the code generated by the compiler when
3344 the op is not in core.jit TODO: * Make all the ops that change
3345 the program control flow (and are not on core.jit) work. *
3346 Remove the dispatch payload.
3348 2002-01-10 17:13 dan
3350 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3351 which tries to return 0 from a void function.
3353 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3355 2002-01-10 17:12 dan
3357 * t/op/macro.t: Skip tests, don't comment them out.
3359 Courtesy of Simon Glover <scog@roe.ac.uk>
3361 2002-01-10 17:10 dan
3363 * rx.c: This fixes a couple of nits in rx.c:
3365 1. There's no newline at the end, which makes gcc unhappy.
3366 2. We should use NULL, not 0 or "", for creating null pointers.
3368 Courtesy of Simon Glover <scog@roe.ac.uk>
3370 2002-01-10 17:09 dan
3372 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3376 Courtesy of Simon Glover <scog@roe.ac.uk>
3378 2002-01-10 16:54 ajgough
3380 * resources.c: Made free_string check that there was a string to
3381 free. In reponse to a bug spotted by Joshua Nye.
3383 2002-01-09 22:44 dan
3385 * global_setup.c: Forgot the setup
3387 2002-01-09 22:35 dan
3389 * rx.ops: Forgot this one
3391 2002-01-09 22:35 dan
3393 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3394 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3395 Tests don't work, though.
3397 Courtesy of "Brent Dax" <brentdax@cpan.org>
3399 2002-01-09 21:48 dan
3401 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3403 2002-01-09 21:22 dan
3405 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3406 Generic pointer holder class
3408 Courtesy of "Brent Dax" <brentdax@cpan.org>
3410 2002-01-09 21:19 dan
3412 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3415 2002-01-09 19:54 dan
3417 * io/io_unix.c: Whoops. Forgot one
3419 2002-01-09 19:43 dan
3421 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3422 t/pmc/perlhash.t: Fix hash crash bugs
3424 Courtesy of Simon Glover <scog@roe.ac.uk>
3426 2002-01-09 19:13 dan
3428 * memory.c: Signedness whoops.
3430 Courtesy of Simon Glover <scog@roe.ac.uk>
3432 2002-01-09 18:23 dan
3434 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3435 io/io_stdio.c, io/io_win32.c: Changes:
3437 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3438 will be using the Win32 API and company rather than the unix-ish
3439 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3440 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3441 stuff is there. Soon we should be able to start using these
3442 rather than fprintf(stderr, ...) and remove stdio linkage.
3444 Courtesy of <mrjoltcola@mindspring.com>
3446 2002-01-09 17:26 dan
3448 * test_main.c: Fixes bad code gen on x86.
3450 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3452 2002-01-09 17:24 dan
3454 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3455 classes/perlnum.pmc: This patch adds macros to the config.h file
3456 for INTVAL and NUMVAL printf formats.
3458 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3460 2002-01-08 22:55 ajgough
3462 * docs/vtables.pod: Clarify what get_string should do.
3464 2002-01-08 20:05 dan
3466 * key.c: Keep comments in sync.
3468 Courtesy of Simon Glover <scog@roe.ac.uk>
3470 2002-01-08 19:50 dan
3472 * memory.c, include/parrot/memory.h: Need a realloc
3474 2002-01-08 17:24 gregor
3476 * .cvsignore, Configure.pl, Makefile.in:
3477 Added 'reconfig' make target and corresponding --reconfig option to
3478 Configure.pl, so its very easy to re-run Configure.pl with the last
3479 (command-line) options you passed it.
3481 2002-01-08 16:33 dan
3483 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3484 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3485 in core.ops. Potential help for optimizers and JITters.
3487 Courtesy of gregor@linux1.kennedytech.com
3489 2002-01-08 16:32 dan
3491 * key.c: Grab key length from the right spot
3493 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3495 2002-01-08 13:27 ajgough
3497 * test_main.c: Fix slight thinko in realloc usage for reading from
3500 2002-01-08 11:34 ajgough
3502 * test_main.c: Allow test_parrot to read bytecode stream from
3503 stdin, adds -f command line option, with "-f -" doing the stdin
3506 2002-01-08 06:34 jgoff
3508 * key.c, include/parrot/key.h: key.c - Added simple implementation
3509 of buckets. include/parrot/key.h - Added enum_key_bucket type
3511 2002-01-08 03:21 jgoff
3513 * include/parrot/key.h: Added an undef type to the key structure,
3514 so we can delete keys without confusion.
3516 2002-01-07 22:09 dan
3518 * key.c, packfile.c, string.c, include/parrot/key.h,
3519 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3520 about index being redefined
3522 Courtesy of Nick Clark
3524 2002-01-07 21:15 dan
3526 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3528 Courtesy of Steve Fink <steve@fink.com>
3530 2002-01-07 20:48 dan
3532 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3535 Courtesy of "Brent Dax" <brentdax@cpan.org>
3537 2002-01-07 20:43 dan
3539 * docs/intro.pod: Missing a comma
3541 Courtesy of "coral" <coral@eekeek.org>
3543 2002-01-07 20:41 dan
3545 * global_setup.c: Quiet a warning
3547 Courtesy of Simon Glover <scog@roe.ac.uk>
3549 2002-01-07 18:58 gregor
3552 Ignore intermediate test files.
3554 2002-01-07 17:01 gregor
3557 Print a warning if an .ops file is mentioned more than once on the
3560 2002-01-07 16:12 ajgough
3562 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3563 these shouldn't fail.
3565 2002-01-07 15:15 simon
3567 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3570 2002-01-07 15:11 simon
3573 Fix zero-termination bug in hash function.
3575 2002-01-07 13:37 ajgough
3577 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3578 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3580 2002-01-07 11:53 brentdax
3582 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3583 (:add{foo}) and a new deleting thing (:rem{foo})
3585 2002-01-07 11:43 simon
3588 Gobble the + before concatenating.
3590 2002-01-07 03:53 dan
3592 * Makefile.in: Dependency fix for new ops setup.
3594 2002-01-07 03:33 jgoff
3596 * classes/perlarray.pmc: Add negative indices, and fix a small
3599 2002-01-06 23:54 ajgough
3601 * hints/os2.pl: Makes the hints file take account of ldflags and
3602 ccflags being split. This hints file is still very specific to
3603 builds with gnu tools, but a proper solution can wait. Thanks to
3606 2002-01-06 22:12 dan
3608 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3609 -changes Parrot::OpLib::core's dependencies to reflect the new
3610 selectable ops files -allows some of the special forms of 'goto'
3611 inside the PREAMBLE of an opcode file
3613 Courtesy of "Brent Dax" <brentdax@cpan.org>
3615 2002-01-06 19:59 simon
3620 2002-01-06 18:19 dan
3622 * classes/perlhash.pmc: Fix some type issues.
3624 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3626 2002-01-06 18:03 dan
3628 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3629 for a list of opcode files to use. The default is everything
3630 available except for obscure.ops.
3632 In addition, it makes it so that if your answer to a question
3633 starts with '+', it will concatenate it to the default. For
3636 What C compiler do you want to use? [cl] +HAHAHA!!!
3638 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3639 is not terribly useful, it is quite useful with things like
3640 command-line flags and the like.
3642 Finally, it contains a couple tweaks so that my syntax-highlighting
3643 editor recognizes some heredocs correctly. :^)
3645 Courtesy of "Brent Dax" <brentdax@cpan.org>
3647 2002-01-06 17:59 dan
3649 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3651 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3653 2002-01-06 17:58 dan
3655 * MANIFEST: We're missing a couple of files from the MANIFEST.
3657 Courtesy of Simon Glover <scog@roe.ac.uk>
3659 2002-01-06 17:57 dan
3661 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3662 Compiler directives, etc. in files other than core.ops will now
3663 work. 2. Compiler warnings will now display the file and line
3664 number of the opcode file.
3666 Courtesy of "Brent Dax" <brentdax@cpan.org>
3668 2002-01-06 17:52 dan
3670 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3672 Courtesy of Simon Glover <scog@roe.ac.uk>
3674 2002-01-06 17:36 dan
3676 * docs/intro.pod: Lots of updates
3678 Courtesy of Simon Glover <scog@roe.ac.uk>
3680 2002-01-06 02:34 gregor
3683 Add some internal documentation on the theory of operation of the
3686 2002-01-06 02:17 gregor
3689 Removed unnecessary include.
3691 2002-01-05 12:37 simon
3693 * classes/.cvsignore:
3694 Ignore generated .h files.
3696 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3698 2002-01-05 12:37 simon
3701 Make lcc happier by adding a dummy structure.
3703 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3705 2002-01-05 12:35 simon
3707 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3708 Make perlundef work. (And coincidentally stop segfaults in the
3711 Courtesy of: Jason Gloudon <perl@gloudon.com>
3713 2002-01-05 04:59 dan
3715 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3717 2002-01-05 04:55 jgoff
3719 * classes/perlhash.pmc: Added perlhash class definition
3721 2002-01-05 04:48 dan
3723 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3725 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3727 2002-01-05 03:57 jgoff
3729 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3730 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3731 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3732 t/pmc/pmc.t: Initial hash commit.
3734 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3735 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3736 set_{integer,number,string}_index_s
3738 This does not yet do collision resolution, but will soon.
3740 2002-01-05 02:54 dan
3742 * interpreter.c: More unsigned fixes
3744 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3746 2002-01-04 22:13 dan
3748 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3749 test programs happier.
3751 Courtesy of "Jason Diamond" <jason@injektilo.org>
3753 2002-01-04 19:00 dan
3755 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3758 2002-01-04 18:27 dan
3760 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3761 Fixes to get things configuring and building on Win32 Native.
3763 Courtesy of "Jason Diamond" <jason@injektilo.org>
3765 2002-01-04 17:39 dan
3767 * hints/vms.pl: debug cleanup
3769 2002-01-04 16:53 dan
3771 * docs/parrot.pod: The enclosed patch brings the list of
3772 documentation in parrot.pod
3775 Courtesy of Simon Glover <scog@roe.ac.uk>
3777 2002-01-04 16:47 dan
3779 * test_main.c, Parrot/Jit/i386-linux.pm,
3780 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3783 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3785 2002-01-04 16:44 dan
3787 * Configure.pl, Makefile.in: Fixed linking to use linker.
3789 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3791 2002-01-04 16:39 dan
3793 * io/io_stdio.c: Added CVS tag info
3795 2002-01-04 16:35 dan
3797 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3800 2002-01-04 16:26 dan
3802 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3805 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3807 2002-01-04 16:17 dan
3809 * chartypes/unicode.c: Silence some warnings.
3811 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3813 2002-01-04 16:09 dan
3815 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3816 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3817 into generated files
3818 but the $Id$ string gets mangled when it's committed.
3819 This patch fixes the existing .pmc files and fixes genclass.pl.
3821 - Makes capitalization in .pmc header match actual filenames
3823 - The command for calling genclass.pl in vtables.pod is incorrect,
3824 since it assumes you're running in classes/ but genclass.pl
3826 it's being run from the main directory. I changed genclass.pl to
3830 Courtesy of Steve Fink <steve@fink.com>
3832 2002-01-04 03:57 dan
3834 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3835 me--I *had* the files:wq!
3837 2002-01-04 03:40 dan
3839 * MANIFEST: Whoops--remove files not really there
3841 2002-01-04 03:37 dan
3843 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3844 my sig adds a new_stack() function to take care of the allocation
3845 and setup of "generic" stacks.
3847 Courtesy of "Brent Dax" <brentdax@cpan.org>
3849 2002-01-04 02:36 dan
3851 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3853 writes a load of junk in core_ops.pod. Applied patch fixes.
3855 Courtesy of Simon Glover <scog@roe.ac.uk>
3857 2002-01-04 02:35 dan
3859 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3860 logical-or is using get_integer instead of get_bool for logical
3861 operations. This patch corrects that.
3863 Perlnum and perlstring have working get_bool's, so the default
3864 logical_or and logical_and should be sufficient. The empty methods
3865 are pointed to the default logical_or.
3867 Courtesy of Jason Gloudon <perl@gloudon.com>
3869 2002-01-04 02:31 dan
3871 * Makefile.in: docs/Makefile should be removed by realclean, but
3874 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3876 2002-01-04 02:29 dan
3878 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3880 Courtesy of Steve Fink <steve@fink.com>
3882 2002-01-04 00:51 dan
3884 * docs/vtables.pod: More docs
3886 Courtesy of Steve Fink <steve@fink.com>
3888 2002-01-04 00:47 dan
3890 * Configure.pl: Updated 64-bit patch
3892 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3894 2002-01-04 00:43 dan
3896 * Configure.pl: 64-bit Fix.
3898 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3900 2002-01-03 22:37 dan
3902 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3903 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3904 some buffering work. Additional work on other layers.
3906 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3908 2002-01-03 19:41 gregor
3910 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3911 Updated copyright messages on top-level files.
3913 2002-01-03 04:23 robert
3915 * make.pl: Add author information. Bonsai test.
3917 2002-01-03 04:02 dan
3919 * io/io_os.c: Twig Bonsai
3921 2002-01-03 03:45 dan
3923 * io/: io_os.c, io_os.c: Twig Bonsai
3925 2002-01-03 03:41 dan
3927 * io/io_os.c: Twig Bonsai
3929 2002-01-02 21:42 gregor
3931 * packfile.c, include/parrot/packfile.h:
3932 Get rid of warnings in packfile.[hc]
3934 2002-01-02 20:39 gregor
3937 Bracketed translated patterns with ^ and $.
3939 2002-01-02 20:11 dan
3941 * io/io_os.c: silence a warning
3943 2002-01-02 19:52 grunblatt
3945 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3946 op_assembly to jit_struct.h, so that we get the real number of ops.
3947 Removed some warnings.
3949 2002-01-02 19:31 tom
3951 * string.c: Fix string transcoding so that it actually works.
3953 Patch from Peter Gibbs <peter@emkel.co.za>
3955 2002-01-02 19:20 gregor
3958 A program to check the MANIFEST file, accounting for .cvsignore
3961 2002-01-02 19:19 dan
3963 * t/harness: twig bonsai
3965 2002-01-02 19:13 dan
3967 * t/harness: twig bonsai
3969 2002-01-02 18:54 dan
3971 * t/harness: Tweak to test Bonsai
3973 2002-01-02 16:27 dan
3975 * Configure.pl: Allow 64-bit build of parrot on systems with a
3976 mixed 32/64 bit perl
3978 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3980 2002-01-02 15:33 simon
3982 * MANIFEST, docs/Makefile:
3983 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3985 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3987 2002-01-02 13:51 simon
3990 Die on broken manifest.
3992 2002-01-02 13:48 simon
3994 * jit2h.pl, examples/assembly/mops.pasm:
3995 Clear up JIT warnings.
3997 Courtesy of: Nick Clark <nick@unfortu.net>
3999 2002-01-02 04:10 dan
4001 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
4002 only once, so new interp creation works again
4004 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
4006 2002-01-02 03:32 dan
4008 * t/op/interp.t: Stubbed the test out, since it's hanging at the
4011 2002-01-02 00:55 dan
4013 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
4014 io/io_os.c: Initial IO system patches
4016 Courtesy of <mrjoltcola@mindspring.com>
4018 2002-01-01 22:55 ajgough
4020 * classes/default.pmc: On second thoughts, and some prodding, the
4021 set_* methods now only set the appropriate part of the cache, and
4024 2002-01-01 22:29 ajgough
4026 * classes/default.pmc: Wrote a whole host of default pmc methods.
4028 set_* create appropriate Perl* result.
4029 get_* simply grabs needed bit of cache.*_val
4031 Other methods do the rightest thing I can think of, at the moment.
4033 None yet cope with overflow, the modulus operation needs to be
4035 I don't know quite which semantics we really want.
4039 2002-01-01 20:23 dan
4041 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
4042 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
4043 rid of unneeded tmp var and eliminated const from encode prototype
4044 since it does make changes to the string.
4046 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4048 2002-01-01 20:11 dan
4050 * Makefile.in: Make clean now tosses pdump.o
4052 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4054 2002-01-01 19:49 dan
4056 * pdump.c, test_main.c: Warnings cleanup
4058 Courtesy of Josh Wilmes <josh@sky.net>
4060 2002-01-01 19:45 dan
4062 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4063 hints/mswin32.pl, languages/jako/Makefile.in,
4064 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4067 Courtesy of "Jason Diamond" <jason@injektilo.org>
4069 2002-01-01 19:41 dan
4071 * include/parrot/register.h: Clean up some warnings
4073 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4075 2002-01-01 19:10 simon
4077 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4078 Hack-around to enable compilation of code using vtable ops.
4080 2002-01-01 18:43 dan
4082 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4083 checks on unsigned things
4085 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4087 2002-01-01 18:26 dan
4089 * runops_cores.c: More warning silences.
4091 Courtesy of Nicholas Clark <nick@unfortu.net>
4093 2002-01-01 18:25 dan
4095 * trace.c: Shuts up a warning.
4097 Courtesy of Nicholas Clark <nick@unfortu.net>
4099 2002-01-01 18:24 dan
4101 * encodings/singlebyte.c: Clean up some warnings.
4103 Courtesy of Nicholas Clark <nick@unfortu.net>
4105 2002-01-01 18:20 dan
4107 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4110 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4112 2002-01-01 18:17 dan
4114 * packfile.c: Warning cleanup
4116 Courtesy of Nicholas Clark <nick@unfortu.net>
4118 2002-01-01 17:53 dan
4120 * string.c: New string size should be based on output encoding's
4121 size, not input encoding's size.
4123 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4125 2002-01-01 17:22 dan
4127 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4128 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4129 include/parrot/interpreter.h, include/parrot/memory.h,
4130 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4133 Courtesy of Chip Turner <cturner@redhat.com>
4135 2002-01-01 17:09 dan
4137 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4138 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4139 now unsigned, as is proper.
4141 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4142 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4144 2002-01-01 16:59 dan
4146 * include/parrot/trace.h: Useless debugging prototype removed
4148 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4150 2002-01-01 16:58 dan
4152 * MANIFEST: We forgot a file.
4154 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4156 2002-01-01 03:53 dan
4158 * Configure.pl: Okay, I give. Removed some warnings because the
4159 darned system headers were triggering them. Sloppy, sloppy
4162 2002-01-01 03:48 dan
4164 * config_h.in: Add in an unsigned INTVAL.
4166 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4168 2002-01-01 03:46 dan
4170 * global_setup.c: Clean up some compiler warnings.
4172 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4174 2002-01-01 03:43 dan
4176 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4177 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4178 include/parrot/op.h: Cleaned up some things to make the compiler
4181 Courtesy of Nicholas Clark <nick@unfortu.net>
4183 2002-01-01 03:14 dan
4185 * Configure.pl: Quad updates.
4187 Courtesy of Nicholas Clark <nick@unfortu.net>
4189 2001-12-31 22:53 dan
4191 * include/parrot/op.h: Typedef had parameters backwards. Threw
4192 core.ops for a big whiny warnings loop.
4194 2001-12-31 22:37 dan
4196 * Makefile.in, resources.c: Tweaks to try and get things to build
4199 2001-12-31 21:58 dan
4201 * Configure.pl: Stupid thinko fix
4203 2001-12-31 21:34 dan
4205 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4207 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4209 2001-12-31 21:32 dan
4211 * Configure.pl: Fix for non-gcc systems
4213 2001-12-31 20:22 dan
4215 * interpreter.c: Tweak so we can build on non-JIT platforms
4217 2001-12-31 20:11 dan
4219 * Configure.pl: Force the time on some copied files to be 'now' to
4220 make the Win builds much less annoying.
4222 Courtesy of "Jason Diamond" <jason@injektilo.org>
4224 2001-12-31 20:07 dan
4226 * Configure.pl: Nuke all object files in the parrot tree that
4227 matter when configuring. Shouldn't be necessary with good
4228 dependencies in the makefile, but we don't have those yet.
4230 2001-12-31 20:00 gregor
4232 * chartypes/unicode.c:
4233 Silence unused variable warnings.
4235 2001-12-31 19:40 dan
4237 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4239 2001-12-31 19:37 gregor
4241 * interpreter.c, jit.c, include/parrot/jit.h:
4242 Created a prototype for JIT functions and used it in interpreter.c.
4244 2001-12-31 19:31 dan
4246 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4247 detection) with really cranky warnings if we find we're using it.
4249 Courtesy of: Nicholas Clark <nick@unfortu.net>
4251 2001-12-31 18:01 gregor
4253 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4255 Fixed a few warnings wrt prototypes, etc.
4257 2001-12-31 17:23 dan
4259 * string.c: Silenced most of the compiler whines
4261 2001-12-31 17:15 gregor
4264 Get the ccname from either ccname or just cc config var.
4266 2001-12-31 17:14 gregor
4268 * Parrot/Op.pm, lib/Parrot/Op.pm:
4269 Another intermediate opbody notation. Could come in handy. Explicit
4272 2001-12-31 17:05 dan
4274 * string.c: Minor warnings update
4276 2001-12-31 17:00 dan
4278 * include/parrot/string.h: Warnings cleanup
4280 2001-12-31 16:00 simon
4282 * encodings/utf8.c, include/parrot/encoding.h:
4283 Remove a couple more.
4285 2001-12-31 15:58 simon
4287 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4288 include/parrot/op.h:
4289 Rid ourselves of a few warnings.
4291 2001-12-31 15:32 dan
4293 * Configure.pl: Made GCC ever so much pickier.
4295 Switch list courtesy of Jarkko.
4297 2001-12-31 15:22 dan
4299 * string.c: Tightened up initial allocation.
4301 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4303 2001-12-31 06:48 dan
4305 * Configure.pl: Minor Windows tweak
4307 2001-12-31 05:32 dan
4309 * core.ops: Unused temp variable tossed.
4311 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4313 2001-12-31 05:09 grunblatt
4315 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4316 supported plataforms
4318 2001-12-31 03:05 dan
4320 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4321 platform-independent quote substitution for the makefiles.
4322 Hopefully this'll make the Win32 builds happier.
4324 2001-12-30 21:08 dan
4326 * string.c, include/parrot/string.h: More string system tweaks.
4328 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4330 2001-12-30 20:45 dan
4332 * core.ops: Some pod cleanup
4334 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4336 2001-12-30 20:22 ajgough
4338 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4339 we aren't using them right now. Clarified the workings of set Px,
4340 Py and clone Px, Py.
4342 2001-12-30 20:15 grunblatt
4344 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4345 Added readjit() to read *.jit files Updated core.jit to the new
4348 2001-12-30 20:14 ajgough
4350 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4352 2001-12-30 19:52 dan
4354 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4355 include/parrot/trace.h, platforms/generic.c: Compiler whine
4358 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4360 2001-12-30 19:13 dan
4362 * Configure.pl, Makefile.in: Make GCC pickier by default.
4364 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4366 2001-12-30 18:41 dan
4368 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4369 ntoi opcodes to sets.
4371 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4373 2001-12-30 17:58 gregor
4376 'make' no longer builds the mops test. Use 'make mops' for that. To
4377 run the test, you can do 'make mopstest'.
4379 2001-12-30 17:30 gregor
4382 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4385 2001-12-30 17:26 gregor
4387 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4388 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4389 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4390 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4391 Build enhancements. Originally to support building shared
4392 libraries, but now of broader impact.
4394 * .cvsignore: Ignore the blib/ directory, about which more later.
4398 * Got rid of TAB formatting and lined a few things up.
4400 * Added header comment with CVS Id variable, and a few other
4401 block header comments.
4403 * Uses new Parrot::BuildUtil module to determine the Parrot
4406 * Reworded a few messages, added a couple, and wrapped
4410 * Added 2002 to the Copyright statement.
4412 * Added new configure variables: VERSION, MAJOR, MINOR and
4415 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4417 than 5.6.0, but the comment implies it isn't.
4421 * Added $(SO), $(A) and $(AR_CRS) defines for library
4424 * Added $(RM_RF) define for removing directory trees
4426 * Grouped generated files into two classes: "sticky" (made by
4428 persisting across 'make clean') and 'fluid' (made during
4430 process, deleted by 'make clean').
4432 * Added header comments.
4434 * Added target for test_prog linked with shared library.
4436 * Added rules to build shared libraries in blib/lib. The
4438 built with trailing version numbers in their file names,
4440 symbolic links are created for shorter and no version tag
4443 * Added some missing dependencies
4445 * Added some missing 'make clean' targets.
4447 * Added 'make realclean' target that deletes files created by
4448 Configure.pl (including Makefile), forcing a re-configure.
4450 * Added a 'status' CVS target.
4452 * VERSION: New file, contains only the version. This version
4454 propagated to a few places, such as the core oplib version
4456 reduces the amount of coordination that has to happen to get
4458 number stuff throughout the tree in sync and updated prior to
4460 a new release. Feel free to grep for '0.0.3' to see the other
4462 that contain the version number (but, do that in a fresh CVS
4464 after doing 'make realclean').
4466 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4468 since the oplib and Parrot itself share a version number now.
4470 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4474 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4476 specifying the version by hand. Non-core oplibs will set this
4478 a quoted dot-string with three natural number components
4482 * interpreter.c: Make use of PARROT_VERSION to simplify some
4484 to get the complete version number in the resulting strings
4488 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4492 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4494 * ops2c.pl: Account for the PATCH version, too. This affects the
4496 oplib init function, and the oplib info struct initializer.
4498 * Parrot/BuildUtil.pm: New file for reading in and validating the
4500 the new VERSION file. Other build utilities could go here in
4503 * Parrot/OpsFile.pm:
4505 * Allow three components in version number, and require that
4507 be in double quotes.
4509 * Allow "VERSION = PARROT_VERSION", substituting the shared
4511 VERSION in that case.
4513 * include/parrot/oplib.h: Add the patch_version member.
4515 2001-12-30 12:16 simon
4517 * MANIFEST, Makefile.in:
4518 More stuff forgotten from MANIFEST.
4520 2001-12-30 12:13 simon
4525 2001-12-30 12:12 simon
4530 2001-12-30 12:12 simon
4535 2001-12-30 12:04 simon
4537 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4538 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4539 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4540 include/parrot/string.h, t/op/string.t:
4541 * Expand the strings test suite to be more complete * Make string
4542 commands more consistent (i.e, now the only string command that
4543 actually changes the original is chopn) * Significantly reduce the
4544 number of memory allocations and eliminate reallocations.
4546 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4548 2001-12-29 22:12 dan
4550 * interpreter.c, key.c, register.c, stacks.c, string.c,
4551 test_main.c, trace.c: Updates to match the coding standards.
4553 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4555 2001-12-29 20:42 grunblatt
4557 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4558 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4559 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4560 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4561 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4562 Kitover <caelum@debian.org>
4564 2001-12-28 21:20 dan
4566 * core.ops: Okay, now print takes a preceding file handle.
4568 I feel so dirty now.
4570 2001-12-28 20:46 dan
4572 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4573 changing the open op to use fopen under the hood.
4575 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4577 2001-12-28 18:20 ajgough
4579 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4580 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4581 include/parrot/exceptions.h, include/parrot/string.h,
4582 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4583 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4584 vtables appropriately. Also tests for same, new pmc_perlstring.t
4585 to hold tests specific to PerlStrings, as the pmc.t file is taking
4586 too long to run and slowing down my thought processes.
4588 Changes to strings.c etc to take string functions.
4590 Some changes to the strings docs, but not yet complete.
4592 Also, PerlString was copying pointers to strings, rather than
4593 strings themselves, so some action-at-a-distance bugs were creeping
4594 in, I think I've fixed this so everything works nicely.
4596 2001-12-28 04:56 gregor
4598 * examples/assembly/pmcmops.pasm:
4599 PMC-using version of mops.pasm.
4601 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4603 2001-12-28 04:56 gregor
4605 * examples/assembly/.cvsignore:
4606 Small tinkering. Removed old stuff, etc.
4608 2001-12-28 01:26 gregor
4610 * examples/mops/mops.scheme:
4611 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4612 to the very un-scheme-like implementation.
4614 2001-12-28 01:19 gregor
4616 * examples/mops/mops.c:
4617 Some people's picky compilers don't like us redefineing time(), so
4618 we call it time_n(). :)
4620 2001-12-28 00:28 gregor
4622 * examples/mops/: README, mops.ps:
4623 Added a PostScript example and a README.
4625 2001-12-27 23:57 gregor
4628 Build the C mops translation in examples/mops/mops.c
4630 2001-12-27 23:56 gregor
4632 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4633 Some translations of mops.pasm into other languages, for inner loop
4634 performance comparisons.
4636 2001-12-27 22:40 gregor
4638 * examples/assembly/mops.pasm:
4639 Fixed erroneous file name in header comment.
4641 2001-12-27 21:18 gregor
4644 One-liner to avoid no-op gotos to the next op.
4646 2001-12-27 21:06 gregor
4649 Fixed -p (profiling). Slow runops core was doing unconditional
4650 tracing, when it should have been checking the flags.
4652 2001-12-27 18:50 ajgough
4654 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4655 classes/perlstring.pmc, include/parrot/chartype.h,
4656 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4657 dded get_digit() to chartypes * Added string_bool() to strings *
4658 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4659 to perlstring.pmc * Tests for above, also a for couple of other
4662 The unicode chartype has only had placeholders added for get_digit,
4663 string_to_num has been updated to use type->get_digit rather than
4664 the previous ascii-isms. Some remain, but we need to carefully
4665 define what we mean by a number before we let thousands of code
4666 points act as a minus sign.
4668 2001-12-27 18:32 dan
4670 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4673 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4675 2001-12-27 18:23 dan
4677 * t/op/bitwise.t: More tests.
4679 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4681 2001-12-27 17:08 gregor
4683 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4684 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4685 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4686 include/parrot/interpreter.h, include/parrot/oplib.h,
4687 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4688 platforms/win32.c, platforms/win32.h:
4689 Initial code for dynamic loading of oplibs, applied for now to the
4690 loading of the core_prederef oplib when the -P flag is passed to
4693 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4697 * Added libcore_prederef_0_3.so to the shared target.
4698 * Added build rule for libcore_prederef_0_3.so.
4699 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4700 to Parrot/OpLib/core.pm, core_ops.c and
4701 core_ops_prederef.c.
4703 * config_h.in: Added defines for constants used to locate the
4704 core oplib's init function, and the core_prederef oplib for
4707 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4708 required by Parrot/OpsFile.pm.
4712 * Added init_prederef() and stop_prederef() functions to load
4713 and unload the core_prederef oplib when we are in prederef
4716 NOTE: In all likelihood, the prederef stuff has a rapidly
4717 dwindling time-to-live. The JIT should provide vastly
4719 performance, and loading an alternate set of core_ops isn't
4720 the real direction for the dynaloading stuff. Loading
4721 *additional* ops is. It does provide a handy test case for
4723 general idea for now, though.
4725 * Gets the core copcode table, etc. via the core oplibs oplib
4726 info pointer, as returned by the core oplib's init
4731 * Make use of the version, major version and minor version
4732 stuff parsed by Parrot/OpsFile.pm
4734 * The only exported symbol in the generated files is the init
4735 function now, since that returns an oplib info struct
4736 pointer, and all the important stuff can be found there.
4738 * ops2pm.pl: Put the oplib version in the generated .pm file.
4740 * test_main.c: Small changes necessitated by changes in the names
4741 of some members of the interpreter struct.
4743 * trace.c: Small changes necessitated by changes in the names
4744 of some members of the interpreter struct.
4746 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4749 * include/parrot/interp_guts.h: Small changes necessitated by
4750 changes in the names of some members of the interpreter struct.
4752 * include/parrot/interpreter.h: Include the new
4753 include/parrot/oplib.h header. Small changes to the oplib-
4756 * include/parrot/oplib.h: Define the type of the oplib init
4757 function, and the struct type for the oplib info.
4759 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4760 since not all platforms have it. For those that do, a default
4761 second argument is provided.
4763 2001-12-26 05:12 gregor
4766 Make jitarch calculation not get tripped up by extra components to
4769 2001-12-24 21:23 gregor
4771 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4772 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4773 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4774 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4775 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4776 Some more JIT work from Daniel Grunblatt.
4778 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4782 * Added JUMP(END) to place the number of bytes to the end of the
4786 * The *.jit files syntax changed.
4788 * Added jit/i386/lib.jit to place handly functions as jump that
4790 argument the address where is the opcode number to jump to.
4792 * There is a bug at some point, but I will start writing
4793 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4795 calls, which make the jit as slow as the interpreter.
4797 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4799 2001-12-24 03:46 dan
4801 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4802 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4803 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4804 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4805 Perls before 5.6.0 don't like it.
4807 2001-12-22 16:02 ajgough
4809 * t/op/stacks.t: stopped skipping tests we can run now. added
4812 2001-12-21 21:13 gregor
4814 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4815 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4816 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4817 Fixed some package name goofs.
4819 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4821 2001-12-21 19:32 gregor
4823 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4824 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4825 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4826 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4827 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4828 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4829 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4830 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4831 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4832 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4835 * Removed ops2c-prederef.pl
4837 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4839 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4840 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4841 for old functionality of ops2c-prederef.pl), and
4842 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4844 "OpTrans" == "Op Transformation"
4846 * Makefile.in modifications to call "ops2c.pl C" where it used
4847 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4848 to be "ops2c-prederef.pl".
4850 * core.ops and obscure.ops changes to syntax. Semantics are
4851 identical with previous version:
4853 return HALT --> HALT()
4854 return AUTO --> goto NEXT()
4855 return RETREL(...) --> goto OFFSET(...)
4856 return RESTART(*) --> restart NEXT()
4858 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4859 for dest-less branch ops replaced with new notation "goto
4861 which uses the new pop_dest() function in stacks.c. This also
4862 allowed these ops to become 'inline' ops, since they no longer
4863 have local variables.
4865 The 'ret' op also became simplified to just "goto POP()", and
4866 also became an inline op.
4868 * interpreter.c reflects the change in type name:
4870 prederef_op_func_t --> op_func_prederef_t
4872 that occurred in include/parrot/op.h
4874 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4877 * ops2c.pl is now generic. Its first argument is the last
4878 package name component of a subclass of Parrot::OpTrans. These
4879 subclasses all have full names of the form Parrot::OpTrans::*.
4880 An instance of the class is created and later consulted for
4881 various bits of information needed to generate the C code.
4883 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4884 contain its transformation rules.
4886 * stacks.c has a new function pop_dest() that pops a destination
4887 off the control stack. include/parrot/stacks.h has the
4890 * Parrot/Op.pm now supports the syntax generated by
4892 for the "goto POP" case.
4894 Also, the source() method now expects its second argument to be
4895 an object that ISA Parrot::OpTrans. Methods of this object are
4896 called to perform the substitutions.
4898 * Parrot/OpsFile.pm supports the change in notation mentioned
4901 * docs/intro.pod reflects these changes.
4903 * include/parrot/op.h: Renamed type prederef_op_func_t to
4904 op_func_prederef_t because it made the implementation of the
4905 shared ops2c.pl easier.
4907 2001-12-21 13:47 gregor
4909 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4910 Both test_parrot (via test_main.c) and the intepreter itself (via
4911 interpreter.c) use the JIT_CAPABLE config to decide whether to
4912 actually attempt JIT operation, or to complain.
4914 2001-12-20 23:25 gregor
4916 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4917 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4918 Changes to the format of *.ops files. An attempt to provide hints
4919 for future opfunc processing logic that wants to know if an opfunc
4920 is simple enough to JIT (e.g.) inline, or not.
4922 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4923 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4926 2001-12-20 21:28 gregor
4928 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4932 * A fix to Gregor's last Configure.pl update.
4934 * Remove the need for hardcoded "\n" at the end of the "%f"
4935 format for printing floating-point numbers.
4937 * New, improved *.jit syntax for references to registers,
4940 * Support for C() improved.
4942 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4944 2001-12-20 16:55 dan
4946 * MANIFEST: Added jit.c to the manifest.
4948 2001-12-20 15:24 simon
4951 Off-by-one error fixed.
4953 2001-12-20 14:18 simon
4955 * jit/i386/core.jit:
4956 Just a noop. It's the only machine code I know.
4958 2001-12-20 13:10 gregor
4960 * Configure.pl, Makefile.in, jit2h.pl:
4961 Attempt to fix Win32 builds.
4963 * No more empty braces in include/parrot/jit_struct.h
4967 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4971 2001-12-20 11:56 simon
4976 2001-12-20 01:57 gregor
4978 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4979 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4980 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4981 include/parrot/.cvsignore, include/parrot/interpreter.h,
4982 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4983 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4984 lib/Parrot/Jit/i386-nojit.pm:
4985 Initial JIT implementation.
4987 * Enabled with test_parrot -j. 20x speed boosts seen.
4989 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4993 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4995 2001-12-20 01:53 jgoff
4997 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4998 core.ops - Removed key operators, they should be hidden from the
4999 assembler. t/op/key.t - No need to test the nonexistent key
5002 2001-12-20 00:13 ajgough
5004 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
5005 that asking for type of entry at depth causes segfault as stack is
5006 zero based, fixed cmp in core.ops to reflect this. Last test is
5007 skipped as we don't do exceptions right yet.
5009 2001-12-19 19:11 ajgough
5011 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
5012 non-being was causing Irix "issues".
5014 2001-12-19 03:37 jgoff
5016 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
5017 004_combined.t: Changed tests to make sure they pass with the
5018 addition of the clone operator.
5020 2001-12-18 20:06 gregor
5022 * interpreter.c, include/parrot/interp_guts.h:
5023 Performance improvements to the predereferencing code path
5024 suggested to me over lunch yesterday by my friend John Kennedy.
5025 The goal is to remove the additional test in the inner loop that
5026 was checking for NULL to decide whether or not to call the
5027 prederef() function. Also moved pc & pc_prederef syncing outside
5030 * Changed the prototype of the prederef() function in
5031 interpreter.c to match that of an opfunc.
5033 * Instead of initializing the prederef void * array with NULL,
5034 we initialize it with pointers to prederef().
5036 * prederef() now returns the prederef_pc passed in, so that
5037 after predereferencing, the same location is executed, but now
5038 with the real code being called.
5040 Thanks to: John Kennedy
5042 2001-12-18 19:59 ajgough
5044 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
5045 (including some more in the skipped string -> int tests).
5047 2001-12-18 07:06 jgoff
5049 * MANIFEST: Forgot to add classes/perlarray.pmc
5051 2001-12-18 07:05 jgoff
5053 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
5054 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
5055 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5056 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5057 t/pmc/pmc.t: Big update... Makefile.in - Added
5058 classes/perlarray.pmc core.ops - Added new series of set() ops for
5059 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5060 Added perlarray.pmc classes/*.pmc - Added
5061 set_{integer,number,string}_index and
5062 get_{integer,number,string}_index include/parrot/pmc.h - Added new
5063 type t/op/pmc.t - Added basic array test
5065 classes/perlarray.pmc - Added
5067 2001-12-17 05:29 jgoff
5069 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5070 generator to use clone operator instead of set Px,Py
5072 2001-12-17 05:25 jgoff
5074 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5075 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5076 PMC,PMC operator. Uses the clone() vtable entries.
5078 2001-12-17 04:51 jgoff
5080 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5083 2001-12-17 04:41 jgoff
5085 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5088 2001-12-17 04:41 jgoff
5090 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5092 2001-12-17 04:39 jgoff
5094 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5095 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5098 2001-12-17 04:27 jgoff
5100 * languages/miniperl/Miniperl.pm: Latest version of the driver.
5101 Admittedly it's a little thin on true OO, but the algorithms are
5104 2001-12-17 04:24 jgoff
5106 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5107 003_generator.t, 004_combined.t: Much more comprehensive test suite
5108 for the codegen et al
5110 2001-12-17 04:22 jgoff
5112 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5113 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5116 2001-12-17 04:20 jgoff
5118 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5121 2001-12-17 04:17 jgoff
5123 * languages/miniperl/foo.mpl: Test file that'll be outdated by
5124 changes to the new compiler
5126 2001-12-17 04:11 jgoff
5128 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5131 2001-12-16 14:11 simon
5133 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5135 Fix bogus assumption that multiplying an integer by an integer
5138 2001-12-16 12:48 simon
5140 * make_vtable_ops.pl:
5143 2001-12-16 12:45 simon
5145 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5146 Expand multimethod vtable ops.
5148 2001-12-16 12:04 simon
5151 Added 'cvsclean' which doesn't zap CVS/* directories.
5153 2001-12-15 01:50 dan
5155 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5158 Thanks to grunblatt fom #parrot for the catch
5160 2001-12-15 01:39 dan
5162 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5163 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5164 languages/miniperl/Makefile.in,
5165 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5166 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5169 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5171 2001-12-14 17:39 dan
5173 * t/op/trans.t: More trans tests.
5175 Courtesy of: Simon Glover <scog@roe.ac.uk>
5177 2001-12-14 07:41 robert
5179 * make.pl: - define MAKE macro - topological sort and subgraph
5180 order - start of timestamp stuff (still badly broken)
5182 2001-12-14 06:06 jgoff
5184 * optimizer.pl: Hopefully this should do the trick..
5186 2001-12-14 06:04 jgoff
5188 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5190 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5192 The optimizer performs its work on a file post-macro expansion.
5193 Run it on a .pasm file, preferably with some trivially reducible
5195 like 'add I0,5,-6' or 'mul I0,I1,0'
5197 2001-12-14 05:48 robert
5199 * Makefile.in: case error EXE -> exe
5201 2001-12-14 05:42 robert
5203 * Makefile.in: remove legacy PDISASM macro
5205 2001-12-14 04:01 dan
5207 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5210 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5212 2001-12-13 22:03 dan
5214 * Configure.pl, Makefile.in, Parrot/Test.pm,
5215 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5216 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5217 can change it without having to change the world.
5219 2001-12-13 21:57 dan
5221 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5222 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5223 file/line/package to interp structure, with ops to get and set
5224 them. Now we can know where we are!
5226 2001-12-13 19:43 dan
5228 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5229 WinXP builds work out of the box
5231 2001-12-13 17:05 dan
5233 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5234 name again--makes case-insensitive systems much happier.
5236 2001-12-13 16:21 dan
5238 * core.ops, key.c, string.c, test_main.c, trace.c,
5239 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5242 Courtesy of: Josh Wilmes <josh@sky.net>
5244 2001-12-13 13:33 gregor
5246 * languages/jako/Makefile.in:
5247 Improved the method of calling the assembler.
5249 2001-12-13 13:30 gregor
5251 * languages/jako/Makefile.in:
5252 Improve the build process. It now works from the main parrot dir,
5253 and from the languages/jako directory. Now uses the .SUFFIXES
5254 target and generic build rules to reduce clutter in the
5257 2001-12-13 13:29 gregor
5259 * languages/jako/.cvsignore:
5260 Ignore the (now generated Makefile), and don't ignore .list files
5261 anymore, since we aren't generating them.
5263 2001-12-13 13:11 gregor
5265 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5266 languages/Makefile.in, languages/jako/Makefile,
5267 languages/jako/Makefile.in:
5268 Added a 'languages' target to the top-level Makefile.in, and
5269 modified the jako build procedure to involve Makefile.in -->
5270 Makefile too (done by Configure.pl).
5272 NOTE: languages/jako and language/scheme are built.
5273 languages/miniperl wasn't building right, so it was left off for
5276 2001-12-13 12:15 gregor
5279 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5282 2001-12-13 12:12 gregor
5284 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5285 ops2c-prederef.pl, ops2c.pl, test_main.c,
5286 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5287 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5288 Welcome to the Just-in-Time Predereferencing Patch!
5290 This patch implements a "predereferencing" mode for parrot. That
5291 means that a lot of the dereferencing you see in DO_OP and in the
5292 opfuncs is done up front (really, JIT) rather than as and each time
5293 we execute each op in the byte code stream.
5295 This works by creating an array of void pointers with the same
5296 number of elements as the byte code array. This array starts out
5297 life zero-initialized. Each time we go to execute an op, we check
5298 first to see if we have a NULL pointer at *cur_opcode. If so, we
5299 know we haven't done our predereferencing yet (this is the JIT
5300 part), so we call the prederef() function with sufficient args that
5301 it can go look up opfunc pointers and op arg types and put the
5302 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5303 where N is the number of args (counting the op itself as one arg).
5305 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5306 to have inline INTVAL constants.
5308 I've been getting about a 22% speed increase over vanilla code path
5309 when I compile with -O0. Advantage decreases at -O9 here. I tested
5310 with mops.pbc, and also by temporarily putting the -P flag in
5311 Parrot/Test.pm and running all the tests. So, this code is as
5312 correct as the test suite can detect.
5314 Here's how it plays out in the code:
5316 * New script ops2c-prederef.pl
5318 Copy-paste code reuse from ops2c.pl. Modified to expect the
5320 a void ** cur_opcode and to return a void **.
5324 * opfuncs are now static. Who needs to call them by name from
5326 anyway? They are accessed via the opfunc table.
5328 * Some MACRO stuff to make things work whether we prederef or
5330 may be possible to get rid of these some day if other folks
5332 that we should be using CODE object pointers + offsets as
5334 rather than raw pointers to either opcode_t's or (void *)'s
5335 (depending on prederef mode or no).
5337 * core.ops modified to be usable to build both kinds of opfuncs.
5341 * calls to push_generic_entry(... cur_opcode ...) were
5343 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5345 macro that does the right thing in both kinds of ops.c
5348 This is applicable to the bsr op. If we treated
5350 (Code PMC + local offset) rather than as
5351 pointer-to-memory-somewhere,
5352 this wouldn't be a big deal. We may need to do that at some
5354 anyway, so that when you jump around and return not only do
5356 the right PC (pointer, today), but you also have the
5358 knowing what chunk of bytecode it is in at all times
5360 allow reflection, as in ops that query or affect the
5363 * runinterp was modified. Instead of copying the top-level
5365 and blasting its byte_code pointer, we simply call runops
5367 interp, passing in the pointer to the current interp's code
5369 offset into that code at which to start (this last arg used
5371 pointer PC, now its an offset PC).
5373 * include/parrot/op.h
5375 * new typedef for prederef opfuncs (they return void **)
5377 * include/parrot/interp_guts.h
5379 * New DO_OP_PREDEREF() macro described above.
5381 * include/parrot/interpreter.h
5383 * New prototype of runops() -- see below.
5385 * resume_addr field changed to resume_flag and resume_offset
5387 We might be resuming from interp using prederef to one not
5389 so pointers between the two don't play nice together.
5390 Offsets are beautiful.
5392 * New PARROT_PREDEREF_FLAG constant
5396 * include "parrot/oplib/core_ops_prederef.h"
5398 * prederef() function described above.
5400 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5403 * runops() modified to take size_t CODE-relative offset PC
5405 pointer PC. This made other things workable and doesn't
5407 anything important (IMO).
5411 * New flag '-P' to enable predereferencing.
5413 * Makefile modified to build core_ops_prederef.c from core.ops
5417 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5419 Added core_ops_prederef$(O) to O_FILES
5421 2001-12-13 12:12 gregor
5423 * languages/jako/MAINTAINER:
5424 Thought it would be nice to put this right in the code...
5426 2001-12-13 04:36 jgoff
5428 * languages/miniperl/Miniperl/Generator.pm: Commented out
5429 debugging, fixed register spillover algorithm
5431 2001-12-13 04:23 jgoff
5433 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5434 line) Restructured a bit of the dependency generator to fix a
5437 2001-12-13 03:43 robert
5439 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5441 2001-12-13 03:03 jgoff
5443 * make.pl: Added make.pl
5445 2001-12-13 02:44 jgoff
5447 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5448 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5449 special flags... - Dies on undefined macros
5450 such as $(PDISASM) in current make - Dies on
5451 recursive macro expansions (Doesn't test for
5452 mutual or multipart loops) - In general it
5453 seems to be a little less lenient... Missing bits - File
5454 mod/creation times aren't being looked at - Actions
5455 aren't being taken - The few funky variables ($@, $<)
5456 aren't being dealt with Bugs - Line numbers are slipping a bit.
5458 2001-12-13 02:29 jgoff
5460 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5461 Reconstructing files to make the parser flow a little better.
5463 2001-12-13 00:51 dan
5465 * resources.c: Be a bit less wasteful with resources that don't
5468 2001-12-12 18:22 dan
5470 * Makefile.in: D'oh! Fixed looping makefile bug.
5472 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5474 2001-12-12 16:23 jgoff
5476 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5478 2001-12-12 16:22 jgoff
5480 * MANIFEST: Manifest additions for languages/miniperl
5482 2001-12-12 16:19 jgoff
5484 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5485 tests. These are left over from the Scheme suite and shouldn't be
5488 2001-12-12 16:18 jgoff
5490 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5491 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5492 modules. Miniperl/ is where the real work gets done. t/ is largely
5493 vacant because it isn't ready to survive real tests yet.
5495 2001-12-12 16:17 jgoff
5497 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5498 mpc: Final go-round, hopefully.
5500 languages/miniperl/Makefile - Used basically to run tests, as there
5501 is nothing here that needs to be
5502 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5503 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5504 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5507 2001-12-12 16:09 dan
5509 * Configure.pl: Setting a variable with the make command name is
5512 2001-12-12 15:07 simon
5514 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5515 Recursive make considered "ow, don't do that".
5517 2001-12-12 14:45 dan
5519 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5520 non-portable code) Killing builds on Win32 native. Small patch
5521 applied which hopefully fixes it.
5523 2001-12-12 06:12 ajgough
5525 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5527 2001-12-12 06:08 ajgough
5529 * Makefile.in: perl is $(PERL).
5531 2001-12-12 06:00 ajgough
5533 * t/op/integer.t: Added tests to integer.t so that all permutations
5534 of arguments are actually called at some point.
5536 2001-12-12 05:18 ajgough
5538 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5539 Tests for sleep i|ic
5541 2001-12-12 05:09 ajgough
5543 * t/op/stacks.t: Added pushp and popp register stack tests.
5545 2001-12-12 04:51 ajgough
5547 * t/op/stacks.t: Added tests for save and restore, for all register
5548 types. Let there be Haiku.
5550 2001-12-12 04:27 ajgough
5552 * t/op/basic.t: bsr_i test. You know you want it.
5554 2001-12-12 02:55 ajgough
5556 * MANIFEST: Added hints/os2.pl to MANIFEST.
5558 2001-12-12 02:52 jgoff
5560 * core.ops, key.c: Final checkin... These are actually the correct
5563 2001-12-12 02:12 jgoff
5565 * include/parrot/key.h: key.c - Removed a few functions,
5566 generalized set_element_value and element_value to accept
5567 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5568 core.ops - Modified to accept the new return style.
5570 This is a prelude to adding virtual-table methods to allow hashing
5571 &c. Expect at least one or two more redesigns before this settles
5572 down. However, it still passes the original tests.
5574 2001-12-11 13:35 gregor
5579 2001-12-11 12:03 gregor
5582 Don't ignore test_prog, but do ignore parrot.
5584 2001-12-11 12:03 gregor
5586 * classes/.cvsignore:
5587 Ignore the generated file default.h
5589 2001-12-11 04:07 jgoff
5593 2001-12-11 04:05 jgoff
5595 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5597 2001-12-11 04:00 jgoff
5599 * core.ops: Added new key aggregate operations to core ops.
5601 2001-12-11 04:00 jgoff
5603 * include/parrot/parrot.h: Added key.h to header list
5605 2001-12-11 03:59 jgoff
5607 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5609 2001-12-11 03:58 jgoff
5611 * Makefile.in: Added implementation of key aggregates.
5613 2001-12-08 23:07 simon
5618 2001-12-08 23:05 simon
5620 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5621 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5622 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5623 test_prog? What is test_prog?
5625 2001-12-08 22:57 simon
5629 Oops, the changelog commit was on *this* machine.
5631 2001-12-08 22:56 simon
5634 Updates to NEWS and ChangeLog pre-release.
5636 2001-12-08 22:07 simon
5638 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5639 classes/perlnum.pmc, classes/pmc2c.pl:
5640 Add "default" PMC vtable so you can inherit implied stuff.
5642 2001-12-08 21:24 simon
5644 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5645 docs/vtables.pod, lib/Parrot/PackFile.pm:
5646 Getting the documentation up to scratch.
5648 2001-12-08 21:21 simon
5651 Allow inheriting from default class.
5653 2001-12-07 20:43 gregor
5655 * examples/assembly/queens.pasm:
5656 Regenerated the file with the latest jakoc.
5658 2001-12-07 20:29 simon
5660 * core.ops, t/op/stacks.t:
5661 Rename "rotate" to "rotate_up".
5663 2001-12-07 20:15 simon
5666 Some tests for rotate.
5668 2001-12-07 00:55 gregor
5671 Cast the result of the pointer arithmetic, since without the cast
5672 there are warnings with some compilers, and without the parens
5673 around the pointer arithmetic, precedence breaks the meaning and
5676 2001-12-06 23:37 simon
5679 Temporary. I prefer compiler warnings to segfaults, thanks.
5681 2001-12-06 23:34 simon
5684 Make "trace" work again.
5686 2001-12-06 21:23 dan
5688 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5690 2001-12-06 21:22 dan
5692 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5693 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5695 2001-12-06 19:22 simon
5698 Yet another "How the *%$! did that compile?" moment.
5700 2001-12-06 18:28 dan
5702 * hints/vms.pl: Fix to build, with a HERE logical required
5704 2001-12-06 17:48 dan
5706 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5707 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5708 changes to the interpreter--flags are now part of the interp
5711 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5713 2001-12-06 14:02 gregor
5716 s/little_languages/languages/ in Jako section.
5718 2001-12-06 13:15 simon
5721 Ensure the documentation gets made.
5723 2001-12-06 13:12 simon
5725 * MANIFEST, docs/intro.pod:
5726 Documentation! Added the "Some Assembly Required" article with
5729 2001-12-06 00:39 simon
5734 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5736 2001-12-06 00:37 simon
5739 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5741 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5743 2001-12-06 00:11 tom
5745 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5746 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5747 include/parrot/chartype.h, include/parrot/encoding.h,
5748 include/parrot/parrot.h: Moved string to number conversion code out
5749 of the encoding layer and into the main string layer as neither the
5750 encoding layer nor the character type layer knows enough on it's
5751 own to do the conversion correctly.
5753 2001-12-05 23:12 tom
5755 * Makefile.in: Rebuild the classes directory if any of the object
5756 files for the classes are missing rather than only when perlint.o
5759 2001-12-05 19:43 gregor
5761 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5762 * Reworked the constantize_string() stuff a little bit because it
5764 puking on things like "\033[H\033[2J\0" (which occurs in the
5765 languages/jako/mandelzoom.jako example).
5767 2001-12-05 19:39 gregor
5769 * languages/jako/: Makefile, mandelzoom.jako:
5770 Added 'mandelzoom' example.
5772 2001-12-05 19:38 gregor
5774 * languages/jako/jakoc:
5777 * Changed some instances of die() to confess()
5779 2001-12-05 18:34 gregor
5781 * t/: op/pmc.t, pmc/pmc.t:
5782 s/sting->int/string->int/
5784 2001-12-05 18:08 gregor
5786 * Parrot/.cvsignore:
5789 2001-12-05 18:05 gregor
5791 * classes/.cvsignore:
5792 Ignore the generated files.
5794 2001-12-05 17:19 gregor
5797 * Reverted recent changes, since they broke the script. Real fix
5801 2001-12-05 17:03 simon
5803 * classes/Makefile.in:
5804 Remember: change Makefile.in, not Makefile. D'oh.
5806 2001-12-05 17:02 simon
5809 Ensure PMC.pm gets remade.
5811 2001-12-05 16:58 simon
5813 * MANIFEST, Makefile.in, classes/Makefile.in,
5814 classes/perlundef.pmc, include/parrot/pmc.h:
5815 Add perlundef class.
5817 2001-12-05 16:45 simon
5820 Document "new P0, foo"
5822 2001-12-05 16:43 simon
5824 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5825 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5826 Allow assembler to know about PMC class names.
5828 2001-12-04 13:39 ajgough
5830 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5832 2001-12-04 05:02 ajgough
5834 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5837 2001-12-04 04:24 ajgough
5839 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5840 broken form of strtod and appropriate tests. Does not yet check
5843 2001-12-04 01:31 ajgough
5845 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5846 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5847 to extract_num and extract_int string vtables, without this it
5848 would be impossible to have strings with nulls in while still
5849 knowing where they ended.
5851 2001-12-03 18:40 ajgough
5853 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5854 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5855 include/parrot/string.h: Moved pmc string to number conversion into
5856 the string encoding tables.
5858 2001-12-03 00:21 ajgough
5860 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5863 2001-12-02 23:09 jgoff
5865 * classes/Makefile.in: Removed some redundant targets.
5867 2001-12-02 19:02 ajgough
5869 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5870 equality macro rather than using perl to generate expected output,
5871 all tests now have <<OUTPUT.
5873 2001-12-02 17:44 ajgough
5875 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5876 for pmc.t as well. Will probably move macros into another file at
5877 some point, although this might be best left until the tests are
5880 2001-12-02 06:16 jgoff
5882 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5883 within Parrot_Perl{Class}_init.
5885 2001-12-02 06:09 jgoff
5887 * classes/Makefile.in: I seem to have removed *$(O) twice..
5889 2001-12-02 05:06 jgoff
5891 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5892 Configure.pl - Removed '-I./include', added classes/Makefile
5893 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5894 Removed old classes/* make stuff Added target for
5897 2001-12-02 04:48 jgoff
5899 * classes/Makefile.in: Going to be used shortly...
5901 2001-12-02 04:40 jgoff
5903 * docs/Makefile: Configure.pl - Added automatic makefile creation
5904 for docs/ and classes/ Removed '-I./include' because
5905 it was getting incorrectly passed to classes/
5906 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5907 - Removed classes/ build stuff, replaced with classes/Makefile.in
5908 Added '-I./include' locally docs/Makefile - Should no
5909 longer be used, but I'm not brave enough to do a
5912 2001-12-02 01:21 ajgough
5914 * t/op/trans.t: Refactored trans math tests to have hard coded
5915 expected return values and be more ready to be unperled at some
5916 point in the future. Added $fp_equality_macro which is a
5917 "nearly-equal-to" function.
5919 2001-12-02 01:18 ajgough
5921 * Makefile.in: Humph. People really ought to use Makefile
5922 variables, s/perl/$(PERL)/ throughout.
5924 2001-12-01 18:15 jgoff
5926 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5927 figure out what to do vis-a-vis the lack of snprintf.
5929 2001-11-30 13:14 ajgough
5931 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5934 2001-11-30 13:14 ajgough
5936 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5939 2001-11-30 10:36 simon
5942 Rewrite print_p to do the right thing.
5944 2001-11-30 06:21 jgoff
5946 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5947 concat, integer/number/string math
5949 2001-11-30 06:20 jgoff
5951 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5952 classes/perlint.pmc - Fixes and expanding for concat and math with
5953 strings classes/perlnum.pmc - Fixes and expanding for concat and
5954 math with strings classes/perlstring.pmc - Fixes and expanding for
5955 concat and math with strings
5957 2001-11-29 15:21 ajgough
5959 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5960 $^X lies, which confused bash which make uses to run things when
5963 2001-11-29 04:58 jgoff
5965 * classes/perlstring.pmc: Removed C++-style comments for good
5968 2001-11-29 04:51 jgoff
5970 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5972 2001-11-29 04:28 jgoff
5974 * global_setup.c: Initialize PMC strings
5976 2001-11-29 04:25 jgoff
5978 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5981 2001-11-29 04:24 jgoff
5983 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5984 files to properly upgrade int to num, do calculations. Also added
5985 basic string operations. Currently errors out on anything but set
5986 operations, but this will be fixed soon.
5988 2001-11-29 04:22 jgoff
5990 * Makefile.in: PMC .c files weren't getting cleaned out.
5992 2001-11-28 17:00 simon
5996 Make csh-glob happy.
5998 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
6000 2001-11-28 16:40 simon
6002 * classes/perlnum.pmc:
6006 2001-11-28 15:22 simon
6010 Fixes Alex's string concat worry.
6012 2001-11-28 14:27 ajgough
6014 * t/op/string.t: test "null onto null" incorrectly passing as it
6015 produced no output. Output provided.
6017 2001-11-28 11:14 simon
6019 * include/parrot/pmc.h:
6023 2001-11-26 21:03 dan
6025 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
6027 2001-11-26 17:29 simon
6029 * classes/perlint.pmc:
6031 Various subtle but non-showstopper bugs.
6033 2001-11-26 11:23 simon
6037 Replace dependency on Text::Balanced
6039 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
6041 2001-11-26 05:22 jgoff
6043 * global_setup.c: Last file that should need to be committed. I
6046 2001-11-26 05:09 jgoff
6048 * core.ops: Let's try this again... Changes to core.ops required
6050 2001-11-26 04:58 jgoff
6052 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
6053 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
6054 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
6055 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6056 functions classes/perlnum.pmc - Set up basic number functions
6057 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6058 tests against numbers and numbers+integers
6060 2001-11-25 13:18 simon
6063 Windows XP make doesn't like $<
6065 2001-11-25 12:56 simon
6067 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6068 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6069 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6070 examples/assembly/mops_p.pasm:
6073 Courtesy of: Angel Faus <afaus@corp.vlex.com>
6075 I (Simon) also added a couple more integer methods, but no tests
6076 since I'm a Bad Person.
6078 2001-11-25 08:40 brentdax
6080 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6081 lib/Parrot/OpsFile.pm: Allow _ in op names
6083 2001-11-25 05:54 jgoff
6085 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6086 Added basic math ops t/op/pmc.t - Added tests of basic math ops
6088 2001-11-23 18:27 simon
6090 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6091 Add everything you need to make MOPS use PMCs.
6093 2001-11-23 18:06 simon
6096 Eh, you'll need this for rewriting mops.pasm.
6098 2001-11-23 17:55 simon
6100 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6102 More work on integer PMCs.
6104 2001-11-23 17:29 simon
6107 Surprise! Whitespace! HLAGHLAGHLAGH
6109 2001-11-23 17:28 simon
6111 * Makefile.in, ops2c.pl, ops2pm.pl:
6112 Add vtables.ops to the core
6114 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6116 2001-11-22 18:39 simon
6118 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6120 We can now create PMCs.
6122 2001-11-21 05:49 jgoff
6124 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6126 2001-11-20 16:00 simon
6128 * docs/vtables.pod, include/parrot/pmc.h:
6129 Reorder PMC flags so there's a fixed number of user-defined flags.
6131 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6133 2001-11-19 03:39 jgoff
6135 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6136 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6137 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6138 escaped quotes, and proper handling of newlines.
6140 2001-11-16 22:03 simon
6142 * classes/perlint.c:
6143 More work on the Perl Integer class. More needed, though.
6145 2001-11-16 21:57 simon
6147 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6148 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6150 2001-11-16 20:49 simon
6152 * interpreter.c, runops_cores.c, trace.c,
6153 include/parrot/runops_cores.h:
6154 Kill superfluous runops cores.
6156 2001-11-16 17:50 simon
6158 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6159 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6160 include/parrot/parrot.h, include/parrot/pmc.h:
6161 Skeleton for Perl scalar types, done right.
6163 2001-11-16 16:15 simon
6165 * classes/genclass.pl:
6166 This tidies up genclass to deal with the new-style multimethods.
6168 2001-11-16 15:29 simon
6170 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6171 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6172 Rework multimethods to be *true* multimethods - that is, have
6175 2001-11-15 22:29 simon
6177 * MANIFEST, Makefile.in, pmc.c:
6178 pmc.c linkage and support. Oh, and making it compile.
6180 2001-11-15 22:26 dan
6182 * t/op/interp.t: Forgot to tell CVS about the test...
6184 2001-11-15 22:10 dan
6186 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6187 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6188 for PMC registers for the interpreter.
6190 Added in the docs for the runinterp opcode.
6192 Added in code for both the newinterp and runinterp opcodes, so we
6193 can now create new interpreters from within parrot and have them do
6194 things. (Though we can't pass data back and forth. Yet)
6196 2001-11-15 21:24 simon
6198 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6199 More documentation, and other changes as discussed with Dan.
6201 2001-11-15 19:51 simon
6203 * classes/scalarclass.c:
6206 2001-11-15 19:50 simon
6208 * classes/scalarclass.c:
6209 A little code tidiness.
6211 2001-11-15 19:33 simon
6213 * include/parrot/pmc.h:
6214 Missed this in the previous commit - un-constantize the base for
6215 user-defined PMC flags.
6217 2001-11-15 19:28 simon
6219 * classes/scalarclass.c:
6222 2001-11-15 17:09 simon
6224 * classes/scalarclass.c:
6225 It seems I have completely forgotten how to write C.
6227 2001-11-15 16:53 simon
6230 Start of the PMC classes documentation.
6232 2001-11-15 14:46 simon
6234 * classes/scalarclass.c:
6235 Changing to use a Perl-style struct instead of the union cache.
6237 2001-11-13 23:56 tom
6239 * string.c: Removed leading _ from string_index as function names
6240 starting with _ are reserved to implementors by the C standard.
6242 Also fixed string_index to use the encoding routines instead of
6243 assuming a single byte encoding.
6245 2001-11-13 12:59 jgoff
6247 * string.c: Patched string_concat to accept null strings. That
6248 test was failing. Nothing to do with ord().
6250 2001-11-13 12:43 jgoff
6252 * string.c: string_ord function, string_concat fixes
6254 2001-11-13 04:52 jgoff
6256 * core.ops: Added ord to core.ops
6258 2001-11-13 04:35 jgoff
6260 * docs/strings.pod, include/parrot/exceptions.h,
6261 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6262 operator, documentation string.c - Added string_ord, _string_index
6263 (_string_index is a static helper) Patched
6264 string_concat to handle null strings properly. docs/strings.pod -
6265 Description of string_ord include/parrot/exceptions.h - Added
6266 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6267 string_ord() t/op/string.t - Added full set of test for
6268 ord_i_(s|sc)(_(i|ic))?
6270 string.c contains a bit of documentation explaining the logic
6271 behind _string_index, primarily having to do with multiple encoding
6274 2001-11-12 22:30 simon
6279 2001-11-12 22:28 simon
6282 Add a rule to compile "platform"
6284 2001-11-12 22:26 simon
6287 Tidy up distclean target.
6289 2001-11-12 16:54 dan
6291 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6292 t/op/macro.t: Fixes to the assembler's macro facility and a test
6294 Courtesy of: Jeff <jgoff@speakeasy.net>
6296 2001-11-12 16:50 dan
6298 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6301 Courtesy of: Jeff <jgoff@speakeasy.net>
6303 2001-11-12 16:36 dan
6305 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6308 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6310 2001-11-12 11:22 simon
6312 * examples/assembly/mops.pasm:
6314 Trivial tightening of mops loop.
6316 2001-11-07 23:57 ajgough
6318 * docs/tests.pod: This is a basic quide to writing tests with
6321 2001-11-07 22:29 dan
6323 * stacks.c: Added a little documentation on the cleanup parameter
6326 2001-11-07 14:43 dan
6328 * MANIFEST, platforms/generic.c, platforms/linux.c,
6329 platforms/linux.h: Portability patches.
6331 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6333 2001-11-06 19:51 tom
6335 * Makefile.in: Clean up object files in the subdirectories as well
6336 as those in the top level directory.
6338 Enhanced version of patch from Daniel Grunblatt
6339 <daniel@grunblatt.com.ar>
6341 2001-11-06 16:14 dan
6343 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6344 platforms/generic.c, platforms/generic.h: Made things a bit more
6345 platform-independent. Makefile still needs work to pick up changes
6346 to the platform-specific files.
6348 2001-11-05 21:32 dan
6350 * docs/parrot_assembly.pod: Added docs for the GC control ops
6352 2001-11-04 02:52 gregor
6354 * platforms/: win32.c, win32.h:
6355 * win32 dynamic loading functions.
6357 Courtesy of Jason Diamond <jason@injektilo.org>
6359 2001-11-04 00:04 brentdax
6361 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6362 allows an absolute path to be used and gives a useful error message
6363 if the original source file can't be found
6365 2001-11-02 12:37 gregor
6367 * platforms/: linux.c, linux.h:
6368 * Beginning of dynamic loading support. Linux only for now.
6370 2001-11-02 12:13 gregor
6372 * MANIFEST, time.c, include/parrot/time.h:
6373 * Removed time.[hc], since they have been superseded by the new
6377 2001-11-02 12:11 gregor
6379 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6380 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6381 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6382 platforms/win32.c, platforms/win32.h:
6383 Patch from Jason Diamond to make win32 platform stuff work:
6385 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6386 platform specific files in the platforms directory gets copied to
6387 the correct directories. The Makefile will re-copy the platform.h
6388 and .c files if the original is modified.
6390 * #include platform.h in parrot.h instead of time.h.
6392 * Removed time.h and time.obj from the Makefile. time.h and time.c
6393 aren't being used anymore since that code was moved to linux.c and
6396 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6397 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6398 windows.h. This required updating several files besides parrot.h.
6400 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6401 instead of the missing identifiers (on Windows) in core.ops in the
6404 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6405 platform files and called those from core.ops. The Linux code for
6406 these functions came from core.ops so they should hopefully work.
6408 Courtesy of Jason Diamond <jason@injektilo.org>
6410 2001-11-02 06:43 brentdax
6412 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6413 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6415 2001-11-02 02:26 gregor
6417 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6418 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6420 * Beginnings of platform support files in platform/*.[hc]
6422 2001-11-01 23:37 tom
6424 * classes/intclass.c: Added missing *'s to STRING arguments and
6425 return values to avoid compiler warnings.
6427 2001-11-01 22:21 gregor
6429 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6430 include/parrot/parrot.h, include/parrot/time.h:
6431 Initial "fix" of time(n) op for Win32:
6433 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6435 * time.c and include/parrot/time.h
6437 First attempt at getting this working across platforms. The
6438 macro WIN32 being tested might not be right.
6440 * New functions Parrot_intval_time() and Parrot_floatval_time()
6441 wrap the appropriate functionality depending upon platform.
6442 Changed core.ops to call these.
6444 Added obscure.ops with obscure transcendental ops.
6446 Added simple file I/O ops (close, open, read, write):
6448 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6450 * I changed some arg ordering stuff.
6452 * I added read/write of INTVALs and FLOATVALs.
6454 Added environment variable ops (getenv, setenv)
6456 Added system error ops (err(i) and err(s) for accessing errno and
6459 Moved print ops in with other "temporary" developer ops, since
6460 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6462 2001-10-31 22:51 tom
6464 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6465 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6466 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6467 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6468 encodings/utf8.c, include/parrot/chartype.h,
6469 include/parrot/encoding.h, include/parrot/exceptions.h,
6470 include/parrot/parrot.h, include/parrot/string.h,
6471 include/parrot/strnative.h, include/parrot/strutf16.h,
6472 include/parrot/strutf32.h, include/parrot/strutf8.h,
6473 include/parrot/transcode.h: Reworked the string code in line with
6474 Dan's latest design that separates character sets from encodings.
6476 2001-10-31 19:53 dan
6478 * docs/parrot_assembly.pod: Finished I/O section of docs
6480 2001-10-31 16:51 dan
6482 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6483 Moved includes out of core.ops and into parrot.h where they belong
6484 (suitably guarded with #ifdefs). Also some updates to
6487 2001-10-30 21:43 dan
6489 * core.ops, stacks.c, docs/parrot_assembly.pod,
6490 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6491 of the entry on the stack
6493 2001-10-29 18:30 dan
6495 * stacks.c: You can turn off stack entry type validation on pop by
6496 passing in a type of 0 now. (For those cases where you just want to
6497 throw the darned thing away)
6499 2001-10-29 14:37 gregor
6501 * core.ops, languages/jako/jakoc:
6502 * New variants of the save ops to save constants on the stack.
6504 useful for saving zero arg and result counts on the stack, for
6507 * Modified jakoc to to adapt to the newly announced calling
6509 Even though Jako source code appears to show subroutines with
6511 numbers of arguments and results, they are implemented with the
6512 variable count calling convention. Future modifications will be
6514 to ensure that an exception is raised if the stack frame is of
6516 wrong size (or, at least that we pop the complete frame off).
6518 also have to make more changes to support the true
6520 and fixed-result-count parts of the calling convention spec.
6522 2001-10-28 16:53 simon
6524 * MANIFEST, stacks.c, classes/scalarclass.c,
6525 include/parrot/stacks.h:
6526 Unbelievably bad errors of mine, plus a type incompatibility of
6529 2001-10-28 08:30 simon
6531 * classes/scalarclass.c:
6532 Beginning of a scalar class.
6534 2001-10-28 08:29 simon
6536 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6537 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6538 include/parrot/pmc.h:
6539 This fixes the problem with vtables and pointer arithmetic.
6541 2001-10-26 19:58 dan
6543 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6544 include/parrot/stacks.h: Split the generic stack into a user push
6545 stack and a control stack
6547 2001-10-26 02:59 bdwheele
6549 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6551 2001-10-24 20:27 dan
6553 * languages/scheme/: Makefile, Scheme.pm, schemec,
6554 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6555 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6556 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6559 2001-10-24 20:23 dan
6561 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6562 interpreter needs in pdump.c. Added scheme bits to manifest
6564 2001-10-24 16:43 gregor
6566 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6567 * Make the assembler handle octal character code escapes in
6571 2001-10-24 15:56 dan
6573 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6574 play the game of life
6576 2001-10-24 15:54 dan
6578 * core.ops: Added sleep. We'll need to override this to do events
6579 properly anyway, so...
6581 2001-10-24 14:03 gregor
6583 * Makefile.in, pbc2c.pl, pdump.c:
6584 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6586 pointer into string functions.
6588 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6590 2001-10-23 20:09 gregor
6592 * languages/jako/jakoc:
6593 * Terminological refinement in regexp capture comment.
6595 2001-10-23 15:23 simon
6597 * classes/genclass.pl:
6598 Use a saner ANSI C construct to make MIPSPro happy.
6600 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6602 2001-10-23 00:34 tom
6604 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6605 strutf8.c, include/parrot/string.h: Make sure the interpreter
6606 structure is passed to the transcoder as necessary, including
6607 passing it to string_compare().
6609 2001-10-23 00:32 tom
6611 * Makefile.in: Make pdump build again by including resources.o in
6614 2001-10-22 22:43 dan
6616 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6617 strutf32.c, strutf8.c, test_main.c, transcode.c,
6618 include/parrot/packfile.h, include/parrot/parrot.h,
6619 include/parrot/resources.h, include/parrot/string.h,
6620 include/parrot/transcode.h: Everything now uses the allocators and
6621 deallocators in resources.c.
6623 Unfortunately we lost standalone string-test mode, but I can cope
6626 Please note that until we have a real allocation/deallocation/GC
6627 system, this'll leak. A *lot*.
6629 2001-10-22 20:27 dan
6631 * MANIFEST, Makefile.in, pmc.c, resources.c,
6632 include/parrot/resources.h: First cut to handle arena allocation of
6633 PMC headers. (Amongst other things)
6635 2001-10-22 19:02 dan
6637 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6638 Now each register type has its own mask macro, which is the right
6641 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6643 2001-10-21 23:40 tom
6645 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6646 stack chunk and add a test to test this rollover in future.
6648 Courtesy of Jason Gloudon <perl@gloudon.com>.
6650 2001-10-21 19:14 dan
6652 * include/parrot/string.h: Changed string 'unused' field to the
6655 2001-10-21 18:18 gregor
6657 * languages/jako/: Makefile, mops.jako:
6658 * Makefile: 'clean' target removes .list files, too. And, it does
6660 with wildcards rather than listing things explicitly.
6662 * mops.jako actually prints out the
6663 millions-of-operations-per-second
6664 (mops) value instead of just the operations-per-second value.
6666 2001-10-21 18:03 simon
6668 * classes/intclass.o:
6671 2001-10-21 17:47 simon
6673 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6674 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6675 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6676 lib/Parrot/Vtable.pm:
6677 Initial work on PMCs. Explanation to follow
6679 2001-10-21 15:20 gregor
6681 * examples/assembly/queens.pasm:
6682 * Modernize the calling conventions in queens.pasm. It was using
6684 which now must be rotate. Also, changed to use return values on
6686 stack instead of in I0.
6688 2001-10-19 18:14 gregor
6690 * core.ops, stacks.c, include/parrot/stacks.h,
6691 languages/jako/jakoc:
6692 Per Dan's request, replacing 'swap' op by 'rotate'.
6694 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6696 * stacks.c and stacks.h: Removed swap-related functions from my
6697 prior commit, replacing them with stack_depth(), stack_entry()
6698 and rotate_entries().
6700 NOTE: The stack_depth() and rotate_entries() routines could
6701 be made more efficient through the caching of the sum of chunk
6702 'used' members from lower chunks in a field in the upper
6703 chunks. Also, if the interpreter's stack_base was changed to
6704 hold the pointer to the *top* chunk (since we usually come
6705 at the stack from the top down) instead of the *bottom*
6706 chunk. The code here at least works, and we can decide about
6707 bigger changes separately.
6709 For now, rotate only handles rotates in one direction and
6710 of magnituded one. A fully general rotate would do handle
6711 rotates in both directions and of arbitrary amounts. Again,
6712 this implementation is sufficient for current applications,
6713 and a feature-complete version can be developed if this turns
6714 out to be otherwise the right type of implementation.
6716 This change includes a new exception for ERROR_STACK_SHALLOW,
6717 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6719 * jakoc: Changed the calling convention to use rotate instead
6720 of swap (of course). Also changed the convention for return
6721 value passing to use the stack as well.
6723 2001-10-19 13:36 gregor
6725 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6726 examples/assembly/queens.pasm, include/parrot/stacks.h,
6727 languages/jako/.cvsignore, languages/jako/Makefile,
6728 languages/jako/bench.jako, languages/jako/euclid.jako,
6729 languages/jako/fact.jako, languages/jako/jakoc,
6730 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6731 languages/jako/primes.jako, languages/jako/queens.jako,
6732 languages/jako/sub.jako:
6733 * New stack functions push_entry(), pop_entry() and swap_entry().
6734 The first two exist for the support of the last one. These
6735 functions don't care what is in the stack entries. These exist
6736 to support the new 'swap' op (see next bullet).
6738 * New op 'swap' for swapping the top two elements on the stack.
6739 This is necessary for passing arguments to functions, since
6740 the return address will be on top of any arguments that have
6741 been pushed on the stack. This way, you can use a (swap, pop)
6742 pair to retrieve each argument (for subroutine linkage).
6744 * Disassembler now prints numbers in decimal by default, with
6745 a new '-x' flag to turn on hexadecimal display. Since other
6746 members of the Parrot Tool Set use decimal by default, this
6747 makes it easier to compare output from the various tools.
6749 * Jako compiler has more explanatory comments and the following
6752 * Lexically scoped variables.
6754 * Subroutines that take arguments and return values:
6756 sub int foo(int bar) {
6763 * ... if (...) and ... unless (...) statement modifiers
6764 can be used on next, last and redo.
6766 * Bitwise and (&, &=) and or (|, |=) ops.
6768 * Type names are just 'int', 'num', 'str', and 'poly' now.
6769 The old long names 'integer', 'number', 'string', and
6770 'polytype' are no longer valid.
6772 * Integer variable assignments can now use 0b (binary),
6773 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6775 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6776 solving the eight-queens problem. The assembly example is a
6777 hand-modified version of the assembly code produced by the
6778 Jako compiler from queens.jako. A few unnecessary ops have
6779 been removed, lots of unnecessary labels have been removed,
6780 and all the Jako source code comments have been removed.
6782 * Makefile and .cvsignore in languages/jako modified so that
6783 the assembler produces listings when assembling the programs,
6784 yet the *.list files are ignored by CVS.
6786 * Made the default target in languages/jako/Makefile 'all'.
6788 * Modified some of the Jako examples to use some of the new
6789 features of Jako, such as subroutines and lexical variable
6792 2001-10-19 02:43 gregor
6794 * runops_cores.c, include/parrot/runops_cores.h:
6795 Bug fix (gcc doesn't complain, but MIPSpro does):
6797 * Added missing extern to runops_cores array declaration in
6798 include/parrot/runops_cores.h
6800 * Also added 'const' there and in runops_cores.c
6802 2001-10-18 15:18 gregor
6804 * .cvsignore, include/parrot/oplib/.cvsignore:
6805 * Ignore the vtable-related generated files.
6807 2001-10-18 15:14 gregor
6810 * left and right shifts now allow the 2nd argument to be a
6813 2001-10-18 14:55 simon
6815 * make_vtable_ops.pl:
6816 This is C, not Perl. How on earth did that even compile?
6818 2001-10-18 14:54 simon
6820 * make_vtable_ops.pl:
6823 2001-10-18 12:33 simon
6825 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6826 Initial stab at vtable opcode creation stuff.
6828 2001-10-18 02:15 gregor
6830 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6831 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6832 include/parrot/trace.h: Preparation for autogenerated runops cores:
6834 * Split tracing and runops core stuff out of interpreter.c into
6835 trace.c and runops_cores.c
6837 * Similar split of stuff from include/parrot/interpreter.h
6839 * Manifest and Makefile.in updates to make things still compile.
6841 2001-10-18 01:21 gregor
6843 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6845 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6847 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6849 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6851 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6853 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6855 copy of $ops->preamble.
6857 2001-10-17 22:32 bdwheele
6859 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6862 2001-10-17 22:08 gregor
6864 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6865 * Now handles label-and-comment-only lines.
6867 2001-10-17 22:04 bdwheele
6869 * interpreter.c: added more comprehensive trace output
6871 2001-10-17 16:50 tom
6873 * Makefile.in: Removed the explicit rule for building mops.o from
6874 mops.c so that the implicit rule for compiling C files is used
6875 instead. This means that the chosen C flags are used, including any
6876 optimisation options.
6878 2001-10-17 15:24 tom
6880 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6881 op explosion logic to be able to handle exploding this:
6891 without also generating this unwanted version:
6895 The enhanced version rejects any expansion where there is more than
6896 one expanded argument and all the expanded arguments are constants.
6898 2001-10-17 14:20 simon
6900 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6901 Build fixes to use correct Perl version and ensure that things are
6902 running in the right directory.
6904 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6906 2001-10-17 13:16 simon
6909 core.pm is more critical than that.
6911 2001-10-17 13:05 simon
6913 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6914 "Explode" ops into multiple versions for different parameters.
6916 Courtesy of: Tom Hughes <tom@compton.nu>
6918 2001-10-17 12:54 simon
6921 Fix dependencies and cleaning.
6923 2001-10-17 12:45 simon
6925 * Configure.pl, Makefile.in:
6926 Fixes to make Parrot compile without the temporary build hack
6928 Courtesy of: Jason Gloudon <perl@gloudon.com>
6930 2001-10-16 20:43 gregor
6933 * Fixed dependencies for building Parrot/OpLib/core.pm
6935 2001-10-16 19:35 bdwheele
6937 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6938 added test, thanks to Alex Gough
6940 2001-10-16 16:49 bdwheele
6942 * core.ops: added opcode variants for constants and 3 arg concat
6944 2001-10-16 15:12 bdwheele
6946 * core.ops: added "set Sx,Sy" as a string copy to match the other
6947 register-to-register copies available
6949 2001-10-16 13:09 gregor
6952 * Added #include <sys/time.h> in the preamble for gettimeofday().
6954 2001-10-16 13:09 gregor
6957 * Removed cd t; make, which no longer applies
6959 2001-10-16 03:18 bdwheele
6961 * core.ops: fix save & restore operations to push correct type onto
6962 stack. [good eye to Jason Gloudon for noticing this]
6964 2001-10-16 01:38 bdwheele
6966 * core.ops, register.c, examples/assembly/fact.pasm,
6967 include/parrot/register.h: send in the clones: clone routines for
6968 parrot + example program
6970 2001-10-15 22:37 gregor
6972 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6973 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6974 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6975 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6976 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6977 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6978 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6979 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6980 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6981 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6983 renames so the names match what they demonstrate.
6985 2001-10-15 22:18 gregor
6987 * core.ops, t/test.pasm:
6988 * time_n uses gettimeofday() to get sub-second times.
6990 * t/test.pasm uses time_n directly rather than doing int stuff
6992 converting to num later.
6994 2001-10-15 12:28 gregor
6996 * t/: test.pasm, test2.pasm, trace.pasm:
6997 * t/test.pasm prints using string constants instead of string
7000 * t/test2.pasm assembles (using implicit op modes)
7002 * t/trace.pasm updated for new behavior of trace_ic, which does
7004 require an 'end' after 'trace'.
7006 2001-10-15 00:47 gregor
7008 * core.ops, interpreter.c, test_main.c,
7009 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
7012 * New runops cores to handle profiling
7014 * Support for -p flag in test_prog to enable profiling
7016 * New profile_ic op to control profiling at run-time
7018 2001-10-14 21:54 gregor
7020 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
7021 lib/Parrot/OpsFile.pm: Integrated op documentation.
7023 * core.ops now contains POD documentation of ops, interspersed
7027 * Ops are organized into POD =head2 sections
7029 * Parrot/OpsFile.pm now treats the preamble of the ops file as
7031 up to the first POD directive OR op definition.
7033 * docs/Makefile now generates core_ops.pod from core.ops vi
7036 2001-10-14 11:58 simon
7039 Unbreak Digital Un^W^WTru64
7041 2001-10-14 11:00 simon
7046 2001-10-14 10:56 tom
7048 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
7049 op_info.c no longer exists and op.h is no longer a generated file.
7051 2001-10-14 10:54 tom
7053 * Makefile.in: Added vtable.h to the list of things removed by the
7056 2001-10-14 01:43 gregor
7058 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7059 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7060 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7061 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7062 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7063 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7064 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7065 include/parrot/.cvsignore, include/parrot/interp_guts.h,
7066 include/parrot/interpreter.h, include/parrot/op.h,
7067 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7068 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7069 t/op/stacks.t, t/op/string.t, t/op/trans.t:
7072 * basic_opcodes.ops and opcode_table replaced by core.ops
7074 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7075 and ops2c.pl. These convert *.ops to *_ops.c and
7076 include/parrot/oplib/*_ops.h
7078 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7080 * disassemble.pl modified to use
7082 * interpreter.c modified to use structures in core_ops.c instead
7083 of the old op_info and op_func stuff. We're not yet to the
7084 point of handling multiple oplibs at a time, but we are getting
7087 Fingerprinting stuff disabled for now. We used to go off
7088 opcode_table. We need to rethink this. I have some ideas to
7089 make it unnecessary, but it remains to be seen whether others
7090 will like the direction they take us.
7092 Termination condition for while(){} loop in runops is now
7093 (pc) instead of (*pc). Any op can cause a HALT by returning
7094 a NULL pointer. Ops end, bounds and trace all do this. So, now
7095 the 'end' op body is actually executed, although all it does
7098 * Makefile.in modified to perform a test build using pbc2c.pl,
7099 which is the bytecode --> C compiler I've posted to the
7102 * Op full names are now autogenerated. Op root names must not
7103 contain underscores, so some op renamings have happened.
7104 Such as clear_i becoming cleari.
7106 2001-10-13 11:49 simon
7108 * Configure.pl, MANIFEST:
7109 Make parrot actually build again.
7111 2001-10-12 21:34 dan
7113 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7116 2001-10-12 20:56 dan
7118 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7119 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7120 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7121 generic stack now in. We also have subroutines, of a simple sort!
7123 2001-10-12 19:15 tom
7125 * t/op/string.t: Improved string comparison tests try all string
7126 combinations with each of the comparison ops.
7128 2001-10-12 19:09 dan
7130 * interpreter.c: Properly sets up generic stack now
7132 2001-10-12 19:09 dan
7134 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7135 interpreter structure
7137 2001-10-12 18:59 dan
7139 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7140 changes to get the generic stack working
7142 2001-10-12 18:59 dan
7144 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7145 hints/vms.pl: Made the changes to figure out mask bits for various
7146 register and stack chunks
7148 2001-10-11 22:09 dan
7150 * docs/parrot_assembly.pod: Tossed the parameter for return
7152 2001-10-11 19:28 tom
7154 * strnative.c: Assignment, not comparison. (Plus formatted for
7157 Courtesy of Bryan C. Warnock
7159 2001-10-10 19:21 tom
7161 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7162 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7163 include/parrot/string.h, t/op/string.t: Added support for string
7164 comparisons and extended the comparison ops to include comparison
7167 2001-10-10 17:58 dan
7169 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7171 2001-10-10 17:54 dan
7173 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7174 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7175 vtable type entries properly
7177 2001-10-10 15:37 dan
7179 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7180 parse new vtable.tbl file now that I've actually checked *in* the
7181 new format vtable.tbl file...
7183 2001-10-10 15:32 dan
7185 * vtable.tbl: New Column to indicate the type of the vtabel entry
7186 so we can know how many slots it takes
7188 2001-10-10 05:26 thgibbs
7190 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7191 allow parrot to compile. PACKAGE is not defined, therefore, I
7192 added a struct before it to have it not complain until we define
7193 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7194 semicolon at the end of the struct declaration.
7196 2001-10-10 05:09 thgibbs
7198 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7199 string constants of the form U"string" become unicode encoded
7200 parrot strings and the form N"string" become native encoded parrot
7203 Courtesy of: Tom Hughes <tom@compton.nu>
7205 2001-10-10 04:55 dan
7207 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7208 support for generating the vtable function table offset macros
7210 2001-10-10 01:05 simon
7213 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7214 compiles into the mod op, not the cmod_i op, hence wasn't testing
7215 what it thought it was.
7217 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7219 2001-10-09 03:45 thgibbs
7221 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7222 assembler to generate unicode strings.
7224 Courtesy of: Tom Hughes <tom@compton.nu>
7226 2001-10-08 19:30 brentdax
7228 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7229 info for Parrot::Config to remember, more flexible test.c stuff
7231 2001-10-08 15:04 gregor
7233 * basic_opcodes.ops:
7234 * Removed trash from early mod_i experiments (pardon our dust)
7236 2001-10-08 14:56 gregor
7238 * basic_opcodes.ops:
7239 * Fixed a couple of typos.
7241 2001-10-08 14:45 gregor
7243 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7244 Arithmetic enhancements:
7246 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7248 NOTE: This "uncorrected mod" algorithm uses the C language's
7250 mod operator (x % y), which is
7252 ... the remainder when x is divided by y, and thus is zero
7256 The direction of truncation for / and teh sign of the
7258 are machine-dependent for negative operands, as is the
7260 on overflow or underflow.
7266 ... if the second operand is 0, the result is undefined.
7268 is always true that (a/b)*b + a%b is equal to z. I both
7270 non-negative, then teh remainder is non-negative and
7272 divisor; if not, it is guaranteed only that the absolute
7274 remainder is smaller than the absolute value of the
7279 This op is provided for those who need it (such as
7281 applications with heavy use of mod, but using it only with
7283 arguments), but a more mathematically useful numeric mod based
7285 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7287 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7289 Language*, Second Edition. Prentice Hall, 1988.
7291 * Added "corrected" mod_i:
7293 NOTE: This "corrected mod" algorithm is based on the C code on
7295 of [1]. Assuming correct behavior of C's built-in mod operator
7297 positive arguments, this algorithm implements a mathematically
7299 version of mod, defined thus:
7301 x mod y = x - y * floor(x / y)
7303 For more information on this definition of mod, see section 3.4
7309 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7310 Millennium* Springer, 1999.
7312 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7314 Mathematics*, Second Edition. Addison-Wesley, 1994.
7316 * Added mod_n, using the same formula as above, but with FLOATVAL
7319 * Added cmod_n, using the C math library's fmod() function:
7321 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7323 fmod() function, which computes
7325 ... the remainder of dividing x by y. The return value is x
7327 where n is the quotient of x / y, rounded towards zero to
7330 -- fmod() manpage on RedHat
7333 In addition, fmod() returns
7335 the remainder, unless y is zero, when the function fails
7339 According to page 251 of [1], the result when y is zero is
7343 This op is provided for those who need it, but a more
7345 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7347 defined with y == 0 is provided by the mod_n op.
7349 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7351 Language*, Second Edition. Prentice Hall, 1988.
7353 * Added and modified tests as appropriate for the above.
7355 2001-10-08 08:49 thgibbs
7357 * include/parrot/exceptions.h, include/parrot/parrot.h,
7358 include/parrot/string.h, include/parrot/strutf16.h,
7359 include/parrot/strutf32.h, include/parrot/strutf8.h,
7360 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7361 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7362 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7363 strings for utf8, utf16, and utf32.
7365 Courtesy of: Tom Hughes <tom@compton.nu>
7367 2001-10-08 08:10 thgibbs
7369 * memory.c: Fixed uninitialized variables.
7371 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7373 2001-10-08 01:21 gregor
7375 * packfile.c: * Casting a return value
7377 * Potential uninitialized variable fix
7379 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7381 2001-10-08 01:15 gregor
7383 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7384 a few tweaks of my own):
7388 * Printf format fixes
7390 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7392 2001-10-07 22:39 thgibbs
7394 * build_interp_starter.pl: No longer adds (void*) casts to
7395 interp_guts.c function table as they are not necessary in ANSI C.
7397 2001-10-07 16:27 gregor
7399 * basic_opcodes.ops, interpreter.c, opcode_table,
7400 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7402 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7403 interpreter->flags and set interpreter->resume_addr.
7405 * Two new runops core variants, so now we cover the relevant
7406 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7408 * Runops core selection that converts the flags into an index
7410 a core table (runops_cores) to get the core function pointer.
7412 * A new trace_op variant that doesn't do bounds checking (used by
7413 the non-bounds-checking-but-tracing runops core).
7415 * PC is passed into the cores so that they can be used when
7416 resuming (they used to assume starting at the beginning of the
7417 code, which would thwart resumption).
7419 * runops() itself is changed to have a while() loop in it so that
7420 any time we drop out of the core, we'll resume if we have an
7421 interpreter->resume_addr set (after reselecting the core,
7424 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7425 interpreter->resume_addr. This is used by the new ops. The new
7426 ops still return the new PC as the next op (which MUST be an
7427 'end' op to force the core loop to terminate -- *pc being false
7428 is the only termination condition we can count on for all
7431 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7432 bounds checking core selection.
7434 * test_prog now has a '-b' flag in addition to the '-t' flag.
7436 bounds checking is off by default (I saw a performance boost:
7437 6.3 Mop/s with -b, 7.0 Mop/s without).
7439 * A new sample/test program: t/trace.pasm that twiddles the trace
7440 flag while it is running.
7442 2001-10-07 15:41 gregor
7444 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7445 include/parrot/.cvsignore, include/parrot/interpreter.h:
7446 Now that 0.0.2 is released, I can clear out the backlog of approved
7447 but uncommitted patches. Here's one Dan approved on 2001-09-21
7450 * test_prog and pdump are linked with only the files the need,
7454 * build_interp_starter.pl writes out op_info.[hc], too. These
7456 contain op name, arg count and arg type information. This will
7458 useful for multiple things in the future, including better
7460 output and the crystalizing loader.
7462 * The DO_OP macro is now simpler and doesn't require explicit
7465 * interpreter.c is modified to use the new op info in tracing
7468 * The interpreter just points its opcode_funcs and opcode_info
7469 members at the default tables rather than allocating memory on
7472 2001-10-07 03:58 thgibbs
7474 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7475 comment and adding vtable.h to .cvsignore as it is produced by
7478 2001-10-06 20:58 thgibbs
7480 * vtable.tbl: Added * to REGEX type.
7482 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7484 2001-10-06 13:41 simon
7486 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7487 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7488 Framework for vtable functions.
7490 2001-10-06 06:52 thgibbs
7492 * make_op_header.pl: Removed confusing and unused typedef.
7494 2001-10-06 06:31 thgibbs
7496 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7499 2001-10-06 06:26 thgibbs
7501 * disassemble.pl: Changed intval to op in disassembler.
7503 2001-10-06 06:21 thgibbs
7505 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7506 Assembler, local labels, and integer constants.
7508 2001-10-06 03:11 ask
7510 * Makefile.in: make `make test` actually run the tests on
7513 2001-10-06 02:04 thgibbs
7515 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7516 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7517 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7518 include/parrot/register.h, lib/Parrot/Assembler.pm,
7519 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7520 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7521 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7524 2001-10-06 02:02 thgibbs
7526 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7527 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7528 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7529 include/parrot/register.h, lib/Parrot/Assembler.pm,
7530 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7531 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7532 t/op/integer.t: oops...this messed something up. I must have
7533 missed something in the patch...I have reverted.
7535 2001-10-06 01:57 thgibbs
7537 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7538 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7539 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7540 include/parrot/register.h, lib/Parrot/Assembler.pm,
7541 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7542 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7543 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7544 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7545 This patch ensures that all bytecode is of type opcode_t except for
7546 the constant table constants. That means that almost all of the
7547 INTVALs in the code were replaced with opcode_t and the i pack type
7548 was replaced with the op pack type in calls to pack_arg and such.
7549 Also, since it has been declared that ALL integer constants are to
7550 be 32 bits, some test cases were changed to ensure that an integer
7551 constant was no bigger than 2 ** 31.
7553 process_opfunc.pl was also cleaned up to no longer look at either
7554 opcode_table or interp_guts.h but gather all of its information
7557 The Assembler.pm module was changed to do late binding of arguments
7558 so that 0 could be treated like 0.0 without having to be so
7559 declared. Also, only strings now use the [sc:N] intermediate form
7560 as it was unnecessary for integer and float types.
7562 2001-10-05 21:59 gregor
7564 * MANIFEST, languages/jako/Makefile:
7565 Fixed things due to the movement of little_languages/* to
7568 2001-10-05 18:31 gregor
7571 Updated MANIFEST to reflect recent additions for Jako.
7573 2001-10-05 17:54 gregor
7575 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7576 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7577 mops.jako, primes.jako, sub.jako:
7580 * User-defined subroutines.
7581 * Generates assembly code with the Jako code in comments.
7582 * "end;" no longer required at the end of programs.
7583 * Better handling of const-reg and reg-const.
7584 * Optimizes const-const operations to compile-time
7586 * Constants in addition to variables.
7588 * Allow leading minus signs in integer and number constants
7592 * New sample programs:
7594 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7596 * mandelbrot.jako (based on Leon Brocard's translation of
7597 Glenn Rhodes' C code)
7598 * mops.jako (based on t/test.pasm)
7599 * primes.jako (based on Leon Brocard's primes.pasm example)
7600 * sub.jako (demonstrates a simple user-defined subroutine)
7602 2001-10-05 12:54 gregor
7604 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7605 * Removed mysterious extra copy of code after POD.
7607 2001-10-05 12:46 gregor
7609 * basic_opcodes.ops, t/op/string.t:
7610 * Enabled the previously SKIPped test of printing string regs
7614 * Made print_s do nothing if the STRING pointer in the register
7618 2001-10-04 21:19 dan
7620 * Configure.pl: VMS tweaks
7622 2001-10-04 21:17 dan
7624 * hints/vms.pl: Hints file for VMS
7626 2001-10-04 00:58 bdwheele
7628 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7629 Assembler which stopped equates from working.
7631 2001-10-03 21:50 gregor
7633 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7635 * More documentation updates for the packfile stuff.
7637 2001-10-03 21:37 gregor
7639 * docs/parrotbyte.pod:
7640 * Pointed the reader at Parrot::PackFile.
7642 2001-10-03 21:34 gregor
7644 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7645 * Updated documentation to match current implementation.
7647 2001-10-03 18:30 gregor
7649 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7650 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7651 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7653 * Added new syntax to the assembler to allow square-bracket
7654 arithmetic expressions involving (global) labels, the current
7655 instructions base address ('@'), numeric constants (not
7657 and basic arithmetic operators (+, -, *, / -- although + and -
7658 are likely to be the only ones used in practice).
7660 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7662 fail (argument passing wasn't working).
7664 * Enabled t/op/basic.t's last test, which is actually a copy of
7666 code from t/call.pasm. Now all tests there are enabled and
7669 * Added new example/test program t/call.pasm to demonstrate
7671 macros and poor-man's subroutine calls
7673 * Added header comments to t/*.pasm
7675 2001-10-03 18:00 simon
7678 Needed, since it's in the MANIFEST.
7680 2001-10-03 17:56 simon
7682 * t/op/: string.t, time.t:
7683 Small fixes to help Win32 on its way.
7685 2001-10-03 17:41 simon
7690 2001-10-03 17:39 simon
7692 * MANIFEST, NEWS, README:
7693 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7696 2001-10-03 17:21 simon
7698 * basic_opcodes.ops, interpreter.c, packfile.c:
7699 Evil printf bandaid (which allows Sparc64 to pass tests)
7701 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7703 2001-10-03 16:58 simon
7705 * string.c, t/op/string.t:
7706 chop fixes for n < 0 and tests
7708 Courtesy of: Alex Gough <alex@rcon.org>
7710 2001-10-03 15:51 thgibbs
7712 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7714 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7716 2001-10-02 17:48 dan
7718 * include/parrot/stacks.h: Fix typo in function name
7720 2001-10-02 17:35 dan
7722 * include/parrot/stacks.h: changed to support new stack stuff
7725 2001-10-02 15:01 simon
7727 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7728 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7729 process_opfunc.pl, register.c, string.c, strnative.c,
7730 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7731 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7732 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7733 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7734 include/parrot/memory.h, include/parrot/packfile.h,
7735 include/parrot/parrot.h, include/parrot/register.h,
7736 include/parrot/stacks.h, include/parrot/string.h,
7737 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7741 2001-10-02 12:49 gregor
7743 * process_opfunc.pl:
7744 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7746 2001-10-02 12:40 simon
7748 * basic_opcodes.ops, process_opfunc.pl, register.c,
7749 include/parrot/register.h:
7750 Move preprocessing of register accessors to process_opfunc.pl
7752 Courtesy of: Jason Gloudon <perl@gloudon.com>
7754 2001-10-02 01:20 ask
7756 * README: add a few lines about lists.
7758 2001-10-01 23:00 brentdax
7760 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7761 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7763 2001-10-01 22:50 brentdax
7765 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7767 2001-10-01 21:51 simon
7769 * process_opfunc.pl:
7770 Michael Fischer's patch broke conditionals.
7772 2001-10-01 15:38 simon
7774 * process_opfunc.pl:
7775 Small hack to keep process_opfunc.pl from generating extra return()
7778 Courtesy of: Michael Fischer <michael@visv.net>
7780 2001-10-01 15:32 simon
7782 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7785 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7787 2001-10-01 01:49 simon
7790 Simon is an idiot. Don't trust him with your code.
7792 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7794 2001-10-01 00:59 simon
7796 * Parrot/String.pm, lib/Parrot/String.pm:
7797 Was in manifest, but not in CVS.
7799 2001-09-30 21:25 simon
7801 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7802 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7803 Parrot/Assembler.pm, Parrot/PackFile.pm,
7804 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7805 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7806 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7807 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7808 include/parrot/packfile.h, include/parrot/string.h:
7809 Move NVs to the constant table. * Changes to Types_pm.in to make
7810 life easier for some of the packing/etc. I'm doing elsewhere.
7811 Also, we now pack 'n' as 'i'.
7813 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7814 eventually we can use all these tools together inside scripts
7815 rather than call out to the shell to run the programs.
7817 * As I was tracking down problems, I converted the internal
7818 documentation of the assembler to POD from comments.
7820 * Changed the numeric regexp in the assembler to detect leading
7821 signs and trailing exponents.
7823 * Updated basic_opcodes.ops to fetch numeric constants from the
7826 * Enhanced the disassembler in a number of ways to make my life
7827 easier while tracking down bugs (try it out). It now puts in
7828 labels for ops that are the destinations of flow control ops.
7830 * packfile.c now has a TRACE_PACKFILE switch that can be set
7831 to get it to print info as it processes. I needed this while
7832 debugging, but I can remove it or change it before committing
7835 * Updated pdump.c because it was missing a call to init_world().
7837 * Updated process_opfunc.pl to deal with numeric constants
7838 being stored in the constant table instead of inline.
7840 * Added multiple type support to Parrot/PackFile/Constant.pm
7842 * Added Parrot/String.pm, to be used for constants.
7844 * Added packfile.[hc] functions for allocating new constants
7847 * Made string_copy visible to the world in parrot/string.h.
7851 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7853 2001-09-29 15:56 gregor
7855 * languages/jako/Makefile:
7856 Removed assumption that '.' is on the path.
7858 2001-09-29 15:55 gregor
7860 * languages/jako/Makefile:
7861 Removed references to leibnitz test program.
7863 2001-09-29 15:21 thgibbs
7865 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7866 math ops args to work on Solaris.
7868 2001-09-27 15:15 thgibbs
7870 * assemble.pl: Added case insensitive matches to hex and binary
7873 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7875 2001-09-27 04:46 thgibbs
7877 * assemble.pl: This patch makes integer constants of the form
7878 0b[01]+ work with perl 5.005. The oct function in versions of perl
7879 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7880 returning 0. To fix this, I added a from_binary function that
7881 would take a binary string and return its decimal representation.
7882 Now, instead of blindly calilng oct, it makes a distinction between
7883 0/0x numbers and 0b numbers.
7885 2001-09-26 19:30 thgibbs
7887 * assemble.pl: Error now returns a non-zero status
7889 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7891 2001-09-26 19:13 gregor
7893 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7894 interpreter.c, packfile.c, pdump.c, test_main.c,
7895 include/parrot/bytecode.h, include/parrot/interpreter.h,
7896 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7898 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7899 packfile/bytecode file from C. May be renamed in the future.
7901 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7902 of 'PackFile *', just like the interpreter, etc.
7904 * Constants are accessed via the interpreter's 'code' member
7905 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7906 provided to access constants by index and the number of
7907 constants, respectively (assumes a variable 'interpreter' of
7908 the appropriate type is in scope).
7910 * Byte Code is accessed via the interpreter's 'code' member.
7912 * Changed PackFile_Constant to point to a STRING instead of
7914 members for the string_make() arguments. Also has a 'type' IV
7915 in preparation for allowing multiple types of constants in
7918 * Removed hardcoded example program from test_main.c. We have
7919 plenty of test programs elsewhere.
7921 * test_prog now uses a PackFile to deal with the program before
7922 sending it on to the interpreter.
7924 * Added missing 'end' ops to some tests in t/op/integer.t and
7927 2001-09-26 18:38 thgibbs
7929 * assemble.pl: Separated code into functions and added comments.
7931 2001-09-26 18:29 simon
7934 Fix 64-bit chunk-base issue.
7936 2001-09-26 06:55 thgibbs
7938 * t/op/bitwise.t: Added end to bitwise tests.
7940 2001-09-26 00:54 dan
7942 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7943 and interpreter creation. Skeleton only, but it's something to peer
7946 2001-09-25 21:44 thgibbs
7948 * t/op/trans.t: Removed loops in transcendtal op test.
7950 2001-09-25 10:12 simon
7952 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7953 t/op/string.t, t/op/time.t:
7956 Courtesy of: Alex Gough <alex@rcon.org>
7958 2001-09-24 19:08 gregor
7961 * Enabled the clear_n test.
7963 2001-09-24 18:56 gregor
7965 * Parrot/.cvsignore:
7966 * Ignore the generated Types.pm file.
7968 2001-09-24 18:52 gregor
7970 * languages/jako/Makefile, t/op/number.t:
7971 * No need to skip the inc and dec numeric tests anymore. I fixed
7973 assembler earlier today.
7975 2001-09-24 18:21 simon
7977 * MANIFEST, t/op/stacks.t:
7980 2001-09-24 18:19 simon
7982 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7983 include/parrot/exceptions.h, include/parrot/interpreter.h,
7984 lib/Parrot/Test.pm, t/op/string.t:
7985 1) captured error output, so can test errors, this might be bad,
7986 not sure. 2) basic tests for register stack frames, including some
7987 errors 3) I think we can stop skipping one of the string tests 4) I
7988 added some more substr tests, but substr was broken, so 5) changed
7989 substr to work with out of range values, or 6) throw an error if
7990 they're far too silly
7992 Courtesy of: Alex Gough <alex@rcon.org>
7994 2001-09-24 17:27 gregor
7996 * basic_opcodes.ops, opcode_table, t/op/number.t:
7997 * Op set_n was missing. Added it and a test for it. We now have
7999 same int and num ops, except mod is int-only.
8001 2001-09-24 17:01 gregor
8004 * Fixed a typo: s/Line/line/
8006 2001-09-24 16:02 gregor
8008 * basic_opcodes.ops:
8009 * Fixed dec_n_nc opcode, which had += where it should have had
8012 2001-09-24 15:34 gregor
8015 * Fixed handling of constants starting with '0' that should not
8017 sent through oct(). For example 'set N2 0.1' was being
8019 as 'set N2 0' (naughty).
8021 As reported by Leon Brocard <acme@astray.com> in the comments
8023 his mandelbrot.pasm example.
8025 2001-09-24 02:21 bdwheele
8027 * assemble.pl: fixed dumb code when --include was not specified.
8029 2001-09-24 02:17 simon
8034 2001-09-24 01:56 bdwheele
8036 * assemble.pl: * Added --include=dir option to assembler to provide
8037 a path to look for included files. * Error message of a macro is
8038 defined inside of a macro
8040 2001-09-23 21:29 bdwheele
8042 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
8044 2001-09-23 15:50 simon
8047 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
8049 2001-09-23 02:03 ask
8051 * Configure.pl, test_c.in: fix missing newline at the end of test.c
8052 Courtesy of: acme@astray.com (Leon Brocard)
8054 rename 'test' executable used in Configure process to test_siz.
8056 2001-09-23 01:03 simon
8058 * process_opfunc.pl:
8059 iPaq fix. No, really.
8061 2001-09-23 00:47 simon
8064 Missed several, in fact.
8066 2001-09-23 00:46 simon
8071 2001-09-22 21:13 simon
8074 Assembler register numbering rigour.
8076 Courtesy of: Leon Brocard <acme@astray.com>
8078 2001-09-22 18:20 simon
8080 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8082 I'm sick of having to install Test::More everywhere. Temporary
8083 measure until we remove this silly dependency.
8085 Also a typo in Makefile.in which suggests some things were only
8086 happening correctly by sheer chance. :)
8088 2001-09-22 18:06 simon
8091 test.pasm is dead, long like make test.
8093 2001-09-22 17:47 simon
8096 De-fang overzealous floating point test.
8098 2001-09-22 17:39 simon
8100 * process_opfunc.pl:
8101 Remove hard-coded NV size assumption. Tru64 is nearly there!
8103 2001-09-22 17:18 simon
8105 * assemble.pl, disassemble.pl:
8106 More portability fixups.
8108 2001-09-22 16:44 simon
8110 * assemble.pl, Parrot/PackFile/Constant.pm,
8111 lib/Parrot/PackFile/Constant.pm:
8112 And I *think* this fixes Tru64.
8114 2001-09-22 16:37 simon
8116 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8120 2001-09-22 16:36 simon
8122 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8123 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8124 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8126 More removal of hard-coded pack formats.
8128 2001-09-22 15:21 simon
8132 Grrr. Why isn't this working?
8134 2001-09-22 15:18 simon
8136 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8137 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8139 Make assemble use the PackFile modules; also fixed some bugs in
8142 2001-09-22 14:38 simon
8144 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8146 Abstract the argument and opcode packing types and functions out
8147 into a separate module. This *should* help us maintain consistency
8148 when we change the various types.
8150 2001-09-22 00:46 brentdax
8152 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8153 test program finishes.
8155 2001-09-21 21:24 brentdax
8157 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8158 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8160 2001-09-21 21:09 gregor
8162 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8163 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8165 * Fixed pad calculation (similar to recent bug fix on C library)
8167 2001-09-21 20:23 simon
8170 Pack types and sizes have gone askew.
8172 2001-09-21 20:18 brentdax
8174 * Configure.pl: Fix typo in setting stuff from the C test program
8176 2001-09-21 10:25 simon
8178 * basic_opcodes.ops, process_opfunc.pl:
8181 Courtesy of: Leon Brocard <acme@astray.com>
8183 2001-09-21 06:06 ask
8185 * Config_pm.in, assemble.pl: fix 5.005_03.
8187 2001-09-21 06:03 ask
8189 * Configure.pl: make the ivsize detection work for us normal people
8190 without . in our PATH. :-)
8192 2001-09-21 05:56 brentdax
8194 * test_main.c: Change _read to read for portability to Tru64
8195 (Damien Neil <neild@misago.org> and likely many others)
8197 2001-09-21 05:46 ask
8199 * Makefile.in: "update" target to update from cvs.
8201 2001-09-21 05:44 brentdax
8203 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8205 2001-09-21 02:43 brentdax
8207 * Configure.pl: Fix a typo that forced the -g flag on
8209 2001-09-20 22:41 dan
8211 * packfile.c: Had some no-value returns. Naughty
8213 2001-09-20 22:40 dan
8215 * t/test.pasm: Added labels to output
8217 2001-09-20 15:39 simon
8219 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8221 This patch does two only somewhat related things.
8223 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8224 = 2*sizeof(iv) to a PConfig-type computed value.
8226 Parrot/Test.pm: Change it to run with the perl that was used to
8227 generate this version of Parrot. This is useful if, for example,
8228 you want to use bleadperl to build and test parrot (e.g. to try out
8229 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8230 installed as the default 'perl' on your system. Since perl-5.7.x
8231 is installed 'version-only', a plain 'perl' is quite likely to pick
8232 up the older perl in such cases. Such an older perl might well not
8233 understand pack('q') used in the assembler.
8235 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8237 2001-09-20 15:14 gregor
8240 * Fixed a typo in pad calculation that throwing off unpack and
8243 2001-09-20 15:03 thgibbs
8245 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8246 tests now cover all registers.
8248 Courtesy of: Damien Neil neild@misago.org
8250 2001-09-20 14:48 thgibbs
8252 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8255 2001-09-20 14:35 simon
8257 * Configure.pl, assemble.pl:
8260 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8262 2001-09-20 14:06 gregor
8264 * languages/jako/jakoc:
8265 * Fixed a tyop in the string interpolation regex.
8267 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8269 2001-09-20 13:56 gregor
8271 * languages/jako/jakoc:
8272 * Updated jakoc to work with the single-destination comp ops.
8274 2001-09-20 05:08 bdwheele
8276 * assemble.pl: macro expansion. Here's the test macro I was using:
8278 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8279 label. testi macro num,got,want print "Test #"
8280 print num print "..." set I32,want set
8281 I31,got eq I32,I31,$ok print "NG\n" branch
8282 $end $ok: print "OK\n" $end: endm
8286 Test1: testi 1,I3,I2
8288 2001-09-20 03:52 dan
8290 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8291 generic stack support
8293 2001-09-20 02:49 bdwheele
8295 * assemble.pl: Added include processing to assemble.pl the syntax
8296 is: include 'file.to.include'
8298 2001-09-19 23:57 thgibbs
8300 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8301 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8302 function to only use 2 args, but the opcode_table still had three
8303 listed. Fixed integer.t and number.t to use the new comparison
8304 operators. Improved assemble.pl ability to grok operators by
8305 constructing a function set and comparing operator types.
8307 2001-09-19 22:42 dan
8309 * assemble.pl: Binmodes the output filehandles now. (No more
8310 bytecode munching...)
8312 2001-09-19 22:32 dan
8314 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8315 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8316 conditional branches take a single argument, and fall through
8319 2001-09-19 21:19 thgibbs
8321 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8324 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8326 2001-09-19 21:04 thgibbs
8328 * include/parrot/interpreter.h, Configure.pl,
8329 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8330 process_opfunc.pl: Changed opcode_t from a union to a configurable
8333 2001-09-19 20:54 thgibbs
8335 * assemble.pl: Missed a couple of changes for 64 bit portability.
8337 2001-09-19 20:37 gregor
8339 * packfile.c, include/parrot/packfile.h:
8340 * Added "methods" for setting and getting all the various
8342 probably sufficient for an assembler to use the library.
8344 2001-09-19 20:04 thgibbs
8346 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8347 a 64 bit platform manually change the setting for 'i' from 'l' to
8348 'q'. This should be automatically done by a Configure setting in
8351 2001-09-19 19:10 thgibbs
8353 * config_h.in: changed c++ comment to c comment.
8355 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8357 2001-09-19 17:48 gregor
8359 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8360 include/parrot/packfile.h:
8361 * C code for dealing with PackFiles as if they were objects.
8363 read-only interface for now, but it would not be hard to make
8365 read-write. [packfile.c, include/parrot/packfile.h]
8367 * PackFile Dumping program that falls short of disassembling, but
8368 tests the above code and provides a hex listing of the byte
8370 contents of the PackFile. [pdump.c]
8372 * New Makefile target 'pdump' for the above program, and related
8373 Makefile.in changes.
8375 * Updated MANIFEST to reflect the added files
8377 * Update .cvsignore to ignore pdump.
8379 2001-09-19 14:55 thgibbs
8381 * MANIFEST: Added number.t and trans.t to MANIFEST
8383 2001-09-19 05:40 thgibbs
8385 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8386 of union opcode_t. I hope this will be more portable for set_n_nc.
8388 2001-09-19 05:39 thgibbs
8390 * t/op/integer.t: Added end to test 1.
8392 2001-09-19 00:09 thgibbs
8394 * t/op/number.t: Added end to each test
8396 2001-09-19 00:00 simon
8401 Courtesy of: Damien Neil <neild@misago.org>
8403 2001-09-18 23:52 thgibbs
8405 * interpreter.c: Added casts to appropriate types to make -Wall not
8406 complain on certain printf formats
8408 2001-09-18 23:31 thgibbs
8410 * t/op/integer.t: Added end to each test.
8412 2001-09-18 22:54 thgibbs
8414 * t/op/trans.t: Added trans.t for transcendental math function
8417 2001-09-18 22:28 simon
8420 MANIFEST updates. (And notice how I carefully snuck in the
8421 t/op/integer.t there...)
8423 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8425 2001-09-18 22:26 simon
8427 * t/: integer.t, op/integer.t:
8428 Except it doesn't go there. Duh.
8430 2001-09-18 22:25 simon
8433 Tests for integer ops.
8435 Courtesy of: Damien Neil <neild@misago.org>
8437 2001-09-18 22:03 thgibbs
8439 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8440 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8441 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8442 opcode_t union for operators. This required a few perl script
8443 changes to output the correct type. There were also some changes
8444 to allow -pedantic in gcc
8446 2001-09-18 21:07 gregor
8448 * disassemble.pl, Parrot/PackFile.pm,
8449 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8450 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8451 lib/Parrot/PackFile/Constant.pm:
8452 Converted the disassembler to use the Parrot::PackFile Perl classes
8455 2001-09-18 19:18 brentdax
8457 * Makefile.in: Fix missing functions for real this time. (I
8460 2001-09-18 18:49 brentdax
8462 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8463 <doughera@lafayette.edu>}
8465 2001-09-18 18:47 brentdax
8467 * Makefile.in: Fix bugs with missing math, etc. functions
8469 2001-09-18 14:42 thgibbs
8471 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8474 2001-09-18 13:59 thgibbs
8476 * strnative.c: Removed unnecessary IV cast in concat.
8478 2001-09-18 13:58 thgibbs
8480 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8481 to concat test in string.t
8483 2001-09-18 12:07 gregor
8485 * languages/jako/jakoc:
8486 * var num ... no longer requires assignment
8487 * automatic casting between int and num
8488 * Fixed an error message
8490 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8492 2001-09-18 11:57 simon
8495 Gonna have to start thinking of more things to do, soon.
8497 2001-09-18 10:42 simon
8500 Introduce a little more tidiness into the opcode table.
8502 2001-09-18 03:06 gregor
8504 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8505 Resurrected register-const ops per Dan's request.
8507 2001-09-18 02:20 gregor
8509 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8510 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8511 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8512 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8513 Committed some files that were missed in the last *.h moving
8516 2001-09-18 02:17 gregor
8518 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8520 2001-09-18 02:16 gregor
8522 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8523 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8524 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8525 missed in last commit for the move of *.h to include/parrot.
8527 2001-09-18 01:32 simon
8530 Trivial "clean" target to t/Makefile.
8532 2001-09-18 01:32 simon
8534 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8535 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8536 Change icky Digest::MD5 for nice simple unpack()
8538 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8540 2001-09-18 00:35 simon
8542 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8544 New concat op. Hey, if I'm going to talk about it in an article,
8545 better implement it...
8547 2001-09-17 22:54 gregor
8549 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8550 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8551 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8552 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8554 Functions for reading, writing and manipulating Parrot Pack Files.
8555 NOTE: This is a proposed term based on the fact that the file
8556 contains more than just byte code, and another language (Java)
8557 calls its binary files by a broader notion of what's in them (Class
8558 Files). Since Perl has packages, and since we use pack() to write
8559 them, we'll call them PackFiles (at least for now).
8561 That does, however, beg the question of file extension. Should we
8562 name the files "foo.pack" instead of "foo.pbc"?
8564 2001-09-17 20:23 thgibbs
8566 * interpreter.c, test_main.c: Uncuddled else statements for coding
8569 2001-09-17 19:57 gregor
8571 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8572 Added a $revision variable, parsing of the CVS Id line in
8573 opcode_table and a &revision() subroutine.
8575 2001-09-17 19:53 gregor
8578 Added a CVS Id tag to it.
8580 2001-09-17 18:58 thgibbs
8582 * interpreter.c: Cleared interpreter flags on creation.
8584 2001-09-17 18:38 gregor
8586 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8587 interpreter.h, test_main.c:
8588 * Provides macros in interp_guts.h for setting up arrays with
8589 op names and op arg counts (done via build_interp_starter.pl).
8591 These are used in the op tracing
8593 * The functions in bytecode.[hc] pass around a pointer to the
8595 of the bytecode so that later when we get to runops, we know
8596 how much bytecode we've got and we can detect out-of-bounds
8597 jumping. The documentation is updated, too.
8599 * runops in interpreter.c now looks at interpreter->flags to
8600 decide if the core of runops should be runops_trace_core or
8601 runops_notrace_core. These new functions contain just the
8602 while-loop portion of runops. A new function runops_generic
8603 does any other setup (such as checking the bytecode
8604 fingerprint) or wrapup (such as complaining if we ended up
8605 out-of-bounds). NOTE: I didn't know what we should do for
8606 functions in here that are not part of the api, so I gave
8607 them docs with 'TODO' marks mentioning they really aren't
8608 part of the api. Guidance appreciated.
8610 * test_main.c now checks for '-t' arg and sets the tracing flag
8611 on its interpreter instance as appropriate.
8613 2001-09-17 17:47 bdwheele
8615 * assemble.pl: added some default equates, and if they're sub
8616 references, they are computed each time it is referenced.
8618 2001-09-17 16:15 dan
8622 Added flags to the interpreter structure and defined a few.
8624 2001-09-17 15:51 simon
8626 * bytecode.h, string.h:
8627 VAR_SCOPE on globals.
8629 2001-09-17 15:20 simon
8632 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8634 2001-09-17 15:05 gregor
8636 * t/jump.pasm, MANIFEST:
8637 Added a test program to demonstrate jump_i.
8639 2001-09-17 14:44 thgibbs
8641 * register.c: Fixed register pop not using correct offset (off by
8644 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8646 2001-09-17 13:56 thgibbs
8648 * interpreter.c, register.c: Added code to call Parrot_clear_s
8649 during initialization and Parrot_clear_s and Parrot_clear_p when a
8650 new stack frame is pushed.
8652 2001-09-17 13:51 gregor
8654 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8655 fib.jako, hello.jako: Added bench.pasm to "clean"
8657 2001-09-17 13:49 gregor
8659 * languages/jako/: jakoc, Makefile:
8662 2001-09-17 13:49 gregor
8664 * languages/jako/jakoc:
8667 Courtesy of: Buggs <buggs-perl6@splashground.de>
8669 2001-09-17 13:29 gregor
8671 * MANIFEST, opcheck.pl:
8672 Added an opcode_table checker to make sure that all opcodes listed
8673 there conform to a simple set of naming rules (rules themselves, of
8674 course, are subject to change).
8676 2001-09-17 13:23 thgibbs
8678 * string.c: Modified string.c to correctly use the return value of
8681 2001-09-17 05:26 brentdax
8683 * Makefile.in: Making the Makefile smarter
8685 2001-09-16 23:06 brentdax
8687 * hints/mswin32.pl: Finishing the Configure hints
8689 2001-09-16 23:05 brentdax
8691 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8692 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8693 Configure hints, 5.005 compatibility, MANIFEST checking
8695 2001-09-16 19:25 bdwheele
8697 * assemble.pl: parrot assembly equates
8699 2001-09-16 18:03 gregor
8702 Added 'test' target to run new test suite.
8704 2001-09-16 17:33 simon
8706 * basic_opcodes.ops:
8707 'not' was being !, rather than ~. Too many Perl programmers here, I
8710 Courtesy of: Tom Hughes <tom@compton.nu>
8712 2001-09-16 17:21 simon
8714 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8716 A *real* test suite!
8718 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8720 2001-09-16 16:49 gregor
8722 * basic_opcodes.ops, opcode_table:
8723 At Dan's request, my new register-constant comparison ops have been
8726 2001-09-16 16:40 gregor
8728 * languages/jako/jakoc:
8729 Fixed a copy-paste error in one of jakoc's error messages.
8731 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8733 2001-09-16 16:37 gregor
8735 * languages/jako/jakoc:
8736 Modified comparison implementation to use temporary registers in
8737 the case of register-constant and constant-register comparisons.
8738 This will allow the compiler to emit code that works when the
8739 constant-comparison ops are backed out of Parrot. If the ops ever
8740 make their way back in, then jakoc can emit more efficient code
8743 2001-09-16 16:19 bdwheele
8745 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8746 ... though not subroutine based like the documentation wants, they
8747 are local to the last non-local label defined.
8749 2001-09-16 14:02 simon
8752 And remember, when you add stuff, keep the manifest up to date.
8754 2001-09-16 02:55 ask
8756 * Makefile.in: a "shared" target for building libparrot.so
8758 2001-09-16 02:45 thgibbs
8760 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8761 global_setup.h, interpreter.c, interpreter.h, io.h,
8762 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8763 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8764 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8765 use the coding standard PDD. Also changed Perl_Interp to
8768 2001-09-16 02:21 ask
8770 * README: emphasise the bits about the license not being worked out
8773 2001-09-15 22:21 simon
8775 * process_opfunc.pl:
8776 basic_opcodes.c should *scream* that it's autogenerated.
8778 2001-09-15 21:58 gregor
8780 * languages/jako/Makefile:
8781 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8784 2001-09-15 21:58 gregor
8786 * languages/jako/: jako_compiler.pl, jakoc:
8787 Renamed the Jako compiler to jakoc from jako_compiler.pl
8789 2001-09-15 21:51 gregor
8791 * languages/jako/: Makefile, bench.jako, euclid.jako,
8793 Added a new bench.jako example based on Leon Brocard's Bench.java.
8795 Jako Compiler: * fix a bug in assignment handling * add some
8796 more conditionals to while and if * revert to using implicit
8797 opcodes in a few cases that were broken before the assembler
8798 patch went in recently.
8800 2001-09-15 21:46 gregor
8802 * assemble.pl, basic_opcodes.ops, opcode_table:
8803 New ops for register-constant INTEGER comparisons:
8805 {eq,ne,lt,le,gt,ge}_ic_ic
8807 New ops for register-register and register-constant NUMERIC
8811 {ne,lt,le,gt,ge}_{n,nc}_ic
8815 Allow uppercase and underscores in labels.
8817 Tweaks to the op infer code to make it work with the examples
8821 2001-09-15 19:16 thgibbs
8823 * README: Updated README to include Configure.pl
8825 2001-09-15 17:05 simon
8827 * build_interp_starter.pl:
8830 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8832 2001-09-15 16:45 simon
8835 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8837 2001-09-15 16:40 simon
8840 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8843 2001-09-15 12:26 simon
8846 Fixed to match the coding standards.
8848 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8850 2001-09-15 01:57 ask
8852 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8853 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8856 2001-09-15 01:48 ask
8858 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8861 2001-09-15 01:42 gregor
8863 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8865 Compiler: Added variable interpolation in double-quoted strings.
8866 Examples: Made use of variable interpolation.
8868 2001-09-15 01:28 gregor
8870 * Parrot/.cvsignore:
8871 Ignore the Config.pm generated file.
8873 2001-09-15 01:22 gregor
8875 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8876 fib.jako, hello.jako, jako_compiler.pl:
8877 gnp: Added some more sample Jako files and added many more
8878 operators to the compiler. Preparations for supporting all the Math
8881 2001-09-14 19:06 simon
8883 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8884 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8885 lib/Parrot/Opcode.pm:
8886 Move common table reading stuff to a module.
8888 Courtesy of: Damien Neil <neild@misago.org>
8890 2001-09-14 17:42 simon
8893 More .cvsignore foo.
8895 2001-09-14 17:40 simon
8897 * assemble.pl, config_h.in:
8900 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8902 2001-09-14 17:38 simon
8904 * assemble.pl, t/Makefile:
8905 Make assemble.pl look in its parent directory if the data files it
8906 needs aren't in the current one. Plus a Makefile that lets "make
8909 Courtesy of: Rocco Caputo <troc@netrus.net>
8911 2001-09-14 16:29 simon
8913 * make_op_header.pl:
8914 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8915 probably segfault everywhere else.)
8917 2001-09-14 15:58 dan
8919 * languages/jako/: euclid.jako, jako_compiler.pl:
8921 Added in the first mini-language that targets Parrot.
8923 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8925 2001-09-14 15:20 dan
8927 * memory.c: Was misaligning returned memory. Fixed.
8929 2001-09-14 15:08 simon
8931 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8932 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8933 register.c, register.h, string.c, string.h, strnative.c,
8935 Fixes to include <parrot/foo.h>
8937 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8939 2001-09-14 12:05 simon
8944 2001-09-14 12:01 simon
8949 2001-09-14 11:54 simon
8954 2001-09-14 11:45 simon
8959 2001-09-14 11:39 simon
8962 Tru64 cc doesn't like -Wall
8964 2001-09-14 10:57 simon
8966 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8967 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8968 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8969 Configure now generates Makefile
8971 Courtesy of: Brent Dax <brentdax@cpan.org>
8973 2001-09-14 10:08 simon
8978 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8980 2001-09-14 10:07 simon
8983 * uses Getopt::Long for options. -c is now --checksyntax.
8985 sure how to keep compatible (patches welcome!) * options
8986 include: --help --version
8987 --verbose --output=file
8988 --listing=file --checksyntax * produces
8989 verbose listing of what the assembler saw :) Only one nitpick with
8990 it: unknown symbols are given as 0xffffffff, unfortunately, this
8991 includes symbols which may be defined later in the file (i.e.
8994 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8996 2001-09-14 10:06 simon
9001 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9003 2001-09-14 10:03 simon
9005 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
9006 register.c, string.c, strnative.c, test_main.c:
9007 Coding standards conformance
9009 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9011 2001-09-14 09:46 simon
9014 Make the assembler grok transcendental maths again. Courtesy of:
9015 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
9017 2001-09-13 17:29 simon
9020 Better opcode guessing, from Brian Wheeler. (Again!)
9022 2001-09-13 17:20 dan
9024 * docs/parrot_assembly.pod:
9026 Took out duplicate entries for iton, ntoi, and tostring.
9028 2001-09-13 17:16 simon
9030 * assemble.pl, basic_opcodes.ops, opcode_table:
9033 This patch gives the assembler support of '\a','\n','\r','\t', and
9034 '\\' in string constants.
9036 In addition, it changes (for all registers) "I reg %li is ..." to
9037 just the value of the register. Printing constants is also
9038 supported, but alas, you have to specify the type (print_sc,
9039 print_ic, print_nc).
9041 2001-09-13 15:38 simon
9044 Why don't I actually *test* this stuff before applying it, eh?
9046 2001-09-13 15:34 simon
9048 * TODO, t/euclid.pasm:
9049 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
9050 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
9053 2001-09-13 14:42 simon
9056 A new assembler, from Brian Wheeler.
9058 2001-09-13 09:44 simon
9060 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9062 Two more from Tom Hughes: Patch to fix C++ style comments
9063 Patch to remove use of structure constant/cast
9065 2001-09-13 09:39 simon
9067 * TODO, docs/strings.pod:
9070 2001-09-13 09:36 simon
9072 * Makefile, basic_opcodes.ops:
9073 Tom Hughes Patch to link with the maths library Tom Hughes
9074 Patch to fix += on rvalue
9076 2001-09-13 08:57 simon
9079 I guess nobody's been using the nightly builds...
9081 2001-09-13 08:27 simon
9083 * assemble.pl, basic_opcodes.ops, opcode_table:
9084 Bitwise ops, from Brian Wheeler.
9086 2001-09-13 08:23 simon
9088 * .cvsignore, t/.cvsignore:
9089 .cvsignore's, from Gregor Purdy.
9091 2001-09-13 08:22 simon
9094 Euclidean test and test output rearranging from Gregor Purdy.
9096 2001-09-13 08:21 simon
9098 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9099 Math ops from Gibbs Tanton.
9101 2001-09-13 08:14 simon
9103 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9105 String substr op; also rearranged "encoding" to be a vtable
9106 pointer, not an array index. Haven't changed docs to reflect this,
9111 2001-09-12 19:48 dan
9113 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9116 2001-09-12 19:39 dan
9118 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9120 2001-09-12 19:23 dan
9122 * interpreter.h, parrot.h: Quick placeholder entry for string
9125 2001-09-12 18:58 dan
9127 * memory.c: Added in a cast to make gcc happy.
9129 2001-09-12 16:44 dan
9131 * docs/parrot_assembly.pod:
9133 PDD describing parrot's assembly language and the opcodes in it
9135 2001-09-12 14:20 dan
9138 Fixed alignment issues with allocation
9140 2001-09-12 10:54 simon
9142 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9143 make_op_header.pl, opcode_table, process_opfunc.pl:
9144 Brian Wheeler's big patch:
9146 * Changes the opcode_table file to provide additional information
9147 about the operands. Case shouldn't be a problem since that data
9148 never becomes a C symbol [this is pretty much as before]
9150 * Padding errors solved: assemble.pl and bytecode.c were padding
9151 the constants incorrectly. It should have been 4-(size % 4), not
9152 just (size % 4). It is now fixed in both places.
9154 * assembler has less special cases, and should be easier to hang
9157 * disassembler dumps constant table and the format is a bit
9158 prettier, including register names, etc.
9160 2001-09-11 23:21 dan
9162 * build_interp_starter.pl, interpreter.c:
9164 Abstracted the runops function core into a macro for easy
9167 2001-09-11 10:43 simon
9169 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9170 Configure system from Brent Dax <brentdax@cpan.org>
9172 2001-09-11 09:38 simon
9174 * assemble.pl, test.pbc:
9175 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9176 assembler deferred output
9178 Also got rid of the bytecode, since that's probably way out of
9181 2001-09-11 09:26 simon
9183 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9184 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9187 2001-09-10 23:20 simon
9190 And that move needs a MANIFEST change. So many things to remember!
9192 2001-09-10 23:18 simon
9194 * t/: test.pasm, test2.pasm, test3.pasm:
9195 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9197 2001-09-10 23:18 simon
9199 * test.pasm, test2.pasm, test3.pasm:
9202 2001-09-10 23:04 dan
9206 Register push/pop test
9208 2001-09-10 22:47 simon
9210 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9211 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9212 (Modified to avoid conflict with Dan's changes.)
9214 2001-09-10 22:45 dan
9218 Happier about blanks in opcode_table
9220 2001-09-10 22:40 dan
9222 * interpreter.c, register.c:
9224 Yanked out debugging code, since these work OK. The bug I want is
9227 2001-09-10 22:30 simon
9230 Uhm. We want make_op_header.pl. We really, really do.
9232 2001-09-10 22:26 simon
9234 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9235 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9236 opcode_table, process_opfunc.pl:
9237 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9238 This means we can add lots more opcodes without fiddling about with
9239 the numbers. Hooray!
9241 Don't forget that "end" needs to be op zero, else the interpreter
9242 falls off the end of the code. This is Bad, and I wonder if there's
9245 2001-09-10 19:49 simon
9247 * MANIFEST, make_op_table_build.pl:
9248 Hey! This doesn't do anything...
9250 2001-09-10 19:46 simon
9253 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9255 2001-09-10 18:31 simon
9258 You know what this means...
9260 2001-09-10 18:30 simon
9263 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9264 wait for a release...? :)
9266 2001-09-10 18:13 simon
9271 2001-09-10 17:56 simon
9274 A *real* README file, which doesn't claim it isn't for public
9277 2001-09-10 17:02 simon
9282 2001-09-10 16:56 dan
9284 * TODO: Added in assembler gripe. Also added a few blank lines for
9287 2001-09-10 16:49 dan
9289 * register.h, register.c: Renamed the core functions so the opcodes
9290 can find 'em OK. (There were some conflicts)
9292 2001-09-10 16:48 dan
9294 * basic_opcodes.ops, opcode_table: Added register window ops
9296 2001-09-10 11:07 simon
9301 2001-09-10 11:05 simon
9303 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9304 note "-s" flag to test prog.
9306 2001-09-10 11:01 simon
9309 New string documentation.
9311 2001-09-10 11:01 simon
9313 * basic_opcodes.ops, opcode_table:
9316 2001-09-10 10:53 simon
9321 2001-09-10 10:51 simon
9324 Just some more aliases for now. Used by string handling stuff.
9326 2001-09-10 10:50 simon
9328 * assemble.pl, bytecode.c, bytecode.h:
9329 Temporary hack to store string constants in bytecode and recreate
9332 2001-09-10 10:48 simon
9335 op.h is now generated by the Makefile; remove it.
9337 2001-09-10 10:47 simon
9340 clean and op.h Makefile targets.
9342 2001-09-10 10:45 simon
9344 * string.c, string.h, strnative.c:
9345 More string vtable stuff.
9347 2001-09-07 21:07 dan
9351 Much less picky about whitespace in the opcode_table now. (Doesn't
9352 whine on blank lines)
9354 2001-09-07 16:23 dan
9356 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9357 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9358 this takes) Added global_setup.h to declare init_world function
9360 Moved variable declarations out of the interpreter loop for small
9363 Changed end opcode to now be opcode #0. A function is provided for
9364 it, but isn't ever executed.
9366 When the interpreter sees an opcode 0 in the stream it means the
9367 end of stream. Things were coring on Cygwin otherwise. (I think I
9368 was dereferencing a zero, which is bad)
9370 2001-09-06 22:07 dan
9372 * basic_opcodes.ops, process_opfunc.pl:
9374 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9375 are minor changes now that things are in a fixed state.
9377 2001-09-06 16:13 dan
9379 * basic_opcodes.c, test_opcodes.c:
9380 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9382 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9383 should be nuked. So it is. :)
9385 2001-09-06 03:35 dan
9387 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9388 Scripts to build the header file that holds the function table
9389 creation code, as well as the script to turn an opcode file to C
9390 source. (And the basic opcode functions turned into an opcode
9393 2001-09-06 03:31 dan
9395 * Makefile, interpreter.c:
9396 Changes to support the autogeneration of the opcode function
9397 pointer table in interpreter.c, along with the changes to the
9400 2001-09-05 13:27 simon
9402 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9403 docs/parrotbyte.pod, docs/vtables.pod:
9404 Added stubs for the documents; working on them this week. (What's
9405 left of it.) config.h change is just to type VTABLE, and the
9406 bytecode thing you might want to revoke. It's apidoc for the
9409 2001-09-03 18:26 simon
9412 A start on the string API documentation.
9414 2001-09-03 17:43 simon
9417 Since we specify the opcode number, we can rearrange to a more
9418 human-friendly ordering.
9420 2001-09-03 17:42 simon
9423 Coupl'a logic bugs. (I think)
9425 2001-09-03 17:41 simon
9427 * string.c, string.h, strnative.c:
9428 Tidying up the string vtables.
9430 2001-09-03 17:38 simon
9432 * make_op_header.pl:
9433 Spit out the whole of op.h, not just the bit in the middle.
9435 2001-08-29 13:16 ask
9437 * README: it seems like we indeed can commit. What about sending
9440 2001-08-29 13:07 simon
9442 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9443 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9444 global_setup.c, interpreter.c, interpreter.h, io.h,
9445 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9446 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9447 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9448 test.pbc, test_main.c, test_opcodes.c:
9449 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9450 I'm still working on the string stuff, though.
9452 2001-08-29 12:44 ask
9454 * README: update README with list address
9456 2001-08-29 12:36 ask
9458 * README: first readme.