31 * changed 'name' method on namespaces to 'get_name' per pdd21
38 * added C<isnull> opcode
45 * added :init pragma functionality to subs
48 * added :vtable pragma functionality to subs
51 * added Parrot::Embed under ext/Parrot-Embed
54 * remove the None PMC - if needed it can trivially be reimplemented
55 in languages from r14189
58 Merged Software Transactional Memory branch into trunk, adds:
59 * several new opcodes whose names start with stm_
60 * read-only PMC support
61 * several new PMC types (whose names start with STM*)
62 * support for threads (again)
69 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
70 there are opcodes now that want the real "in PMC".
71 * namespace and global opcodes now accept name arrays again, as
72 well as keys; the corresponding namespace PMC methods are gone.
75 * Parrot_exit, Parrot_on_exit take now an Interp * argument
78 * add experimental op find_type_i_p
79 * fix longstanding bug that sometimes didn't encode pasm keys as
80 Key PMCs (specifically "[S0]" and "['stringliteral']").
83 further implementation of new pdd21:
84 * new opcodes {get,set}*global
85 (old {find,store}*global will be supported for a short while)
88 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
90 (at the moment code is checking for 2.0 -- ambs)
93 partial implementation of new pdd21:
94 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
95 * get_namespace and find_global opcodes no longer accept arrays
96 of strings. To use arrays, call namespace object methods.
103 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
110 * Make the Perl PMCs dynamic and move them to src/dynpmc
117 * Shifted argument type bits left by 2 according to r11754
118 change of docs/pdds/pdd03_calling_conventions.pod
119 * if you are creating PASM then code needs adjustment
126 * rename src/dynclasses to src/dynpmc
127 * rename src/classes to src/pmc
131 * find_global and friends returns a .Null PMC instead of .Undef on
132 lookup failure, iff lookup exceptions are off
139 * renamed all .imc files to .pir
140 * modified all doc references to .pir as well
143 * moved jit/ directory to src/jit/
146 * moved io/ directory to src/io/
147 * moved classes/ directory to src/classes/
148 * moved dynclasses/ directory to src/dynclasses/
151 * moved types/ directory to src/types/
152 * moved pf/ directory to src/packfile/
153 * moved ops/ directory to src/ops/
156 * moved charset/ directory to src/charset/
157 * moved encodings/ directory to src/encodings/
160 * moved imcc/ directory to compilers/imcc/
163 * moved util/ directory to tools/util/
164 * removed imcc/examples/ directory
165 * moved ast/ directory to compilers/ast/
168 * moved imcc/docs/ directory to docs/imcc/
169 * moved build_tools/ directory to tools/build/
170 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
174 * See NEWS for changes
178 * See NEWS for changes
182 * See NEWS for changes
186 * See NEWS for changes
190 * See NEWS for changes
194 * allow short names for object attributes
195 * string encoding and charset can now be set independently
196 * experimental mmap IO layer for slurping files
197 * enable compile opcode support for compilers written in PASM/PIR
198 * improved HLL support with .HLL and n_operators pragmas
199 * simplified hash code
200 * more strength reduce optimizations
201 * distinct debug and trace flag settings
202 * glob support in PGE
203 * new character classification opcodes and interfaces
204 * numerous bug fixes and enhancements
208 * parrot repository is now under subversion
209 * MMD (Multi Method Dispatch) enhanced
210 * new unary and infix opcodes that return new result PMCs
211 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
212 * more unification of PMCs and ParrotObjects
213 * tailcalls for functions and methods
214 * PGE (Parrot Grammar Engine) reworked
215 * Pugs creates Parrot code and Pugs is a registered compiler now
217 * the usual bug fixes and improvements
221 * big rewrite of string code, not yet finished but ...
222 * partial implementation of a generational garbage collector
223 * indirect register frame addressing
224 * .return(args) PIR syntax
225 * moved most of the Python code to dynclasses
226 * a lot more Python functionality
227 * precalculate opcodes with all constants
228 * PGE - Parrot Grammar Engine
229 * scalar classes refactoring
230 * much more tests and big test system cleanup
231 * improved documentation
232 * and as always a lot more
236 * Need Perl 5.6 now for building
237 * Basic AST support, PAST file parser, bits of code generation
238 * BigInt PMC using GMP
240 * Dynamic loading improved including bundles of PMC classes
241 * Experimental support for "make install"
242 * IA64 and hppa JIT support
243 * ICU unicode support
244 * IO layer handling code
245 * IO readline and buffered IO fixes
247 * Internal pythonic functions: filter, map, reduce, max, min ...
248 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
249 * Library updates, Stream and SDL library
250 * MMD - multi method dispatch for binary vtable methods
251 * Many new array PMCs
252 * Method call syntax in PIR obj."meth"(...)
253 * More OS stuff: stat, exec, system, gmtime, piped read and write
254 * New Python PMCs like Enumerate, None
255 * Non-branching compare opcodes
256 * PIR support for += and friends
257 * Python language subdir
258 * Python types mapped to existing PMCs
259 * Slices and range support
260 * Tons of bug fixes, documentation updates, new tests
261 * Win32 COFF exec support
266 * "Ladies and gentlemen, I give you... objects!"
267 * Huge documentation overhaul
268 * More supported platforms, s. PLATFORMS
269 * Basic thread support for pthread based architectures
270 * Basic event handling for timers and signals including:
271 * PASM callbacks for NCI (native C) functions.
272 * Improved platform configuration
273 * COW stacks now working, stacks code redone
274 * Structure handling vastly improved
275 * Random PMC and rand primitives
276 * Better subroutine call syntax in PIR
277 * Make PIR subroutines compliant with pdd03
278 * Improved profiling (DOD, GC timings)
279 * Hash code improvements, incl. random key order support
280 * Experimental freeze/thaw code for some PMC types
281 * IO improvements for buffered layer and Win32
283 * String bitwise vtables
285 * Support for JIT, where malloced memory isn't executable
286 * Priority DOD scheme for objects that need timely destruction
287 * Improved bytecode loading (e.g. onLoad functions)
288 * Language updates: forth, Perl6/P6C, m4
289 * Libraries: Getopt_Long, SDL, Dumper, Sort
291 * Unified imcc and parrot test handling
292 * Many new tests (make test reports 1386 tests)
298 * Yep thirteen - haunted by the ghost of 0.0.12
299 * Build imcc as parrot
300 * Objects more finished
301 * Delegate vtable methods to byte code
302 * Binary multi-method dispatching
303 * Isa and does methods for PMCs
304 * Call byte code from C
305 * Start of extension interface
306 * Experimental struct handling
307 * Catch access to NULL PMCs
308 * Experimental network socket interface code and opcodes
309 * IO fixes and improvements
310 * Dynamic opcode libraries
311 * Fix-assigned opcode numbers
312 * Argument flattening for function calls
313 * More native call interface (NCI) signatures
314 * Ncurses, postgres, and pcre interface libraries
315 * Forth language is vastly improved
316 * BSD and Win32 build improvements
317 * Many new tests and fixes
320 * imcc moved from parrot/languages/ to parrot/
324 * updated the native_pbc test files (from Leo)
325 * built 0.0.11.1 release tarball
329 * CHANGES BUNDLED INTO 0.0.11:
331 * Dynamic PMC registration
332 * Trial exception system
333 * Beginnings of object system
336 * I/O system improvements
338 * Documentation for basic PMC types
339 * IMCC support of Parrot Calling Conventions
340 * Runtime loading of chartypes (and other string improvements)
341 * Conditional breakpoints
342 * Dramatically accelerated sweeps for finalizable objects
343 * Small PMCs (PMCs split into core and extensions)
344 * Loadable bytecode packfiles
346 * Sub variants that deal with the stack correctly
347 * Switched runops core
348 * Line numbers in warnings
350 * Many documentation cleanups
351 * Conversion to CPS style!
352 * BASIC debugger and many other wacky features
353 * Filename, line number parsing support in IMCC
355 2003-07-21 17:31 chromatic
356 * applied copyright patch from Josh Wilmes
359 * Moved the registers out of the context structure, since they
360 really aren't context
361 * Changed the register stack frames to hold only 16 registers
362 rather than 32, added half-set push and pop ops, and reworked
363 the full set push/pops to do two half-set push/pops. Should
364 speed up saving register data on calls, since we usually only
365 care about the top half of the registers anyway.
366 * Started committing some of the new class/object framework
367 * Remembered to finally start updating the Changelog
372 Update Yet Another copyright statements to reflect the (no longer
375 2003-03-11 22:06 chip
377 * Configure.pl: print help on non-option command line args
379 2002-12-18 20:38 sfink: changes since 0.0.8
381 - Allow suppression of cgoto core to save memory during compile
382 * Native function calling interface
383 * Major rewrite of stack and list aggregates
385 * Scratchpads implemented
387 - Internal memory subsystem documentation
388 * Preliminary DotGNU support
389 - Packfile fingerprinting
390 * Buffer/PMC unification (into PObjs)
391 * stabs debugging information support
392 * Major Jako overhaul, including:
394 - native function calling
395 - Perl6 string interpolation
396 - languages/regex now targets IMCC
397 * Optional Lea memory allocator
398 * Full sprintf implementation
399 * Many, many new tests
402 - runtime-controllable gc debugging
405 * JIT: various improvements
406 - register usage tracking
407 - block register allocation
411 - architecture abstraction layer
413 * Beginning support for extensible packfiles
414 * Much better key support, generally
416 * Restructured PMC hierarchy with better functionality inheritance
417 * IMCC: many, many improvements. See imcc/ChangeLog
418 * Perl6: index map grep join reverse defined
419 * Scheme with functions!
422 2002-03-19 22:54 nicholas
424 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
426 We can now get usage information for test_parrot without having to
429 2002-03-19 22:53 simon
432 Parrot is called parrot.
434 2002-03-19 22:53 nicholas
436 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
438 1. There are tests in t/pmc as well as t/op now.
439 2. Adds a comment about Parrot::Test
443 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
444 messes up automated builds
446 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
448 2002-03-19 00:33 mrjoltcola
450 * core.ops: Doc cleanup from Simon Glover.
452 2002-03-18 23:52 mrjoltcola
454 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
458 * include/parrot/resources.h: Checked in old version
462 * include/parrot/resources.h: Forgot a prototype
466 * resources.c: D'oh! Thinko, fixed.
468 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
470 2002-03-18 17:33 josh
472 * Configure.pl: Lowering the bar a bit.
474 2002-03-18 17:33 sfink
476 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
477 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
478 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
479 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
480 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
481 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
482 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
483 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
484 t/example.t: Whoops, wrong time to check this in.
488 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
489 least we consider the PMC and Buffer free pools worth collecting,
490 and initialize the Buffer pool stuff. Still not 100% correct,
493 2002-03-18 15:35 simon
498 2002-03-18 07:45 brentdax
500 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
503 2002-03-18 00:09 sfink
505 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
506 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
507 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
508 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
509 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
510 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
511 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
512 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
513 t/example.t: Buggy 1st version of regex compiler implementation.
514 Warning: the test code depends on features of the assembler that do
517 2002-03-17 21:35 ajgough
519 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
520 through addition and subtraction. Also added the ability to run
521 all the tests, including the ones which deal with overflow and
522 underflow. These fail, but that's expected. Soon they'll pass.
523 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
524 passsssssssings tesssstsssss.
526 2002-03-17 20:06 ajgough
528 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
529 check_(under|over)flow to test bignumbers, rather than values.
530 context now carries E_limit, from which max and min exp are found.
532 Added a default-context-creating function (although this isn't the
533 same as either of the default contexts defined in the eda).
535 2002-03-17 13:31 ajgough
537 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
538 exported version matches prototypes of other public functions.
540 2002-03-17 06:44 josh
542 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
543 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
544 last-minute re-indenting.
546 2002-03-17 05:07 mrjoltcola
548 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
550 2002-03-16 23:17 nicholas
552 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
555 default.pmc: In function `Parrot_default_get_integer_keyed':
556 default.pmc:50: warning: control reaches end of non-void function
557 default.pmc: In function `Parrot_default_get_number_keyed':
558 default.pmc:58: warning: control reaches end of non-void function
559 default.pmc: In function `Parrot_default_get_string_keyed':
560 default.pmc:67: warning: control reaches end of non-void function
561 default.pmc: In function `Parrot_default_get_pmc_keyed':
562 default.pmc:87: warning: control reaches end of non-void function
564 2002-03-16 18:50 ajgough
566 * types/: bignum.c, bignum.h: Lots of prototypes changed in
567 readiness for nicely telling your caller about any oddness you've
568 caused in the persuit of flow.
572 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
573 include/parrot/interpreter.h, include/parrot/resources.h: Now we
574 can control the GC and DOD, to stop it when we don't really want
579 * resources.c, vtable.tbl, classes/default.pmc,
580 include/parrot/resources.h: Added the last code to let PMCs control
581 their marking at DOD time
583 2002-03-16 16:57 ajgough
585 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
586 feel a little more virtuous now. Really I do. You might not
587 believe me, but you should. perl -pne 's/\t/ /g', if you're
590 2002-03-16 16:57 josh
592 * packfile.c, packout.c: M-x untabify is my new friend.
594 2002-03-16 16:50 josh
596 * trace.c, resources.c: Minor whitespace tweak for the benefit of
597 check_source_standards.pl
599 2002-03-16 16:50 ajgough
601 * types/: bignum.c, bignum.h: More documentation, separate
602 functions into public and private sorts, some initial stuff to cope
603 with over and underflow correctly.
605 2002-03-16 16:49 josh
607 * resources.c: Re-indented (sorry bout the big diff)
609 2002-03-16 16:47 bdwheele
611 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
612 assemble again, both with Simon's new assembler and with the old
615 2002-03-16 16:33 mrjoltcola
617 * io/TODO: Get the TODO up-to-date for 0.0.4.
619 2002-03-16 16:11 josh
621 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
622 silly people (such as me) running Configure with
623 /usr/local/bin/perl (which is 5.004_05) and not realising their
624 mistake until the pmc subdirectory, where the first qr// is
627 Syntax error messages don't tell you what you did wrong. This does:
629 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
630 only version 5.00405, stopped at Configure.pl line 10.
632 2002-03-16 14:38 ajgough
634 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
637 2002-03-16 11:45 simon
639 * MANIFEST, examples/assembly/xml_parser.pasm:
640 Added Clint Pierce's XML parser.
642 2002-03-15 22:24 simon
645 Don't need that function.
647 2002-03-15 21:56 simon
649 * Makefile.in, include/parrot/packfile.h:
650 Rebuild packout.o, since it'll be used for the Packfile XS module
654 * include/parrot/: memory.h, pmc.h: Another add-in for GC
658 * core.ops: No string to int for some reason
662 * string.c, t/op/string.t: Fix 0-length substr problem
666 * core.ops, interpreter.c, resources.c, classes/array.pmc,
667 classes/perlarray.pmc, examples/assembly/life.pasm,
668 include/parrot/interpreter.h, include/parrot/resources.h: Added in
669 a counter for copied memory, with a display in life.pasm
671 2002-03-14 03:16 mrjoltcola
673 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
675 2002-03-13 23:43 simon
680 2002-03-13 23:43 simon
685 2002-03-13 21:31 simon
690 2002-03-13 18:06 simon
694 Fix string_compare screw-up.
696 2002-03-13 18:02 brentdax
698 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
699 and add a new question/answer pair.
701 2002-03-12 22:53 mrjoltcola
703 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
705 2002-03-12 22:48 mrjoltcola
707 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
710 2002-03-12 22:29 ajgough
712 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
714 2002-03-12 22:24 ajgough
716 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
717 version 1.1, Don't know if this is the correct number, but I don't
718 want this stuck on my harddrive where it will get lost, so 14 it is
721 2002-03-12 11:35 simon
723 * MANIFEST, packdump.c, packout.c:
725 Just so the functionality doesn't disappear.
727 2002-03-12 11:33 simon
729 * Makefile.in, chartype.c, encoding.c, packfile.c,
730 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
731 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
732 include/parrot/chartype.h, include/parrot/encoding.h,
733 include/parrot/packfile.h:
737 2002-03-11 23:06 nicholas
739 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
741 Core.ops documentation nits
743 2002-03-11 23:05 nicholas
745 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
747 Most of the PerlUndef tests in pmc.t appear to have been added
749 Enclosed patch removes the duplicates.
751 2002-03-10 23:40 nicholas
753 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
755 More tests for the PerlString test-suite.
757 2002-03-10 23:40 nicholas
759 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
761 test for sleep with negative argument
763 2002-03-10 21:58 nicholas
765 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
767 Enclosed patch fixes up a few more holes in our test coverage.
769 2002-03-10 21:18 mrjoltcola
771 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
772 classes/parrotpointer.pmc, classes/perlarray.pmc,
773 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
774 classes/perlstring.pmc, classes/perlundef.pmc,
775 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
776 argument to the init() vtable method so PMCs have the option to
777 know how to size themselves at creation. size could be N elements
778 or a byte count, depending on the PMC or it may simply be ignored.
779 Overloaded 'new' opcode for optional arg.
781 2002-03-10 21:15 mrjoltcola
783 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
784 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
787 Also added small hack for .sub directive (which simply translates
788 to a label, however we might eventually want to collect these to
791 2002-03-10 15:09 ajgough
793 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
794 Added round_floor and round_ceiling. 3403 tests pass, none fail.
796 2002-03-10 03:56 ajgough
798 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
799 divide, divide integer and remainder. All filled in functions now
800 have special values capability.
802 Much remains to be done though, and the pdd needs to catch up.
804 2002-03-10 01:36 ajgough
806 * types/bignum.c: Added extended stuff to _add, _subtract.
808 2002-03-10 00:14 nicholas
810 * t/op/: integer.t, number.t: Patch from Simon Glover
813 The enclosed patch fixes a few of the holes in our test coverage
814 uncovered by Josh Wilmes
816 2002-03-09 23:03 ajgough
818 * types/: bignum.c, bignum.h: Modified compare to work with
819 extended values. Made a couple of changes here and there to allow
820 BN_comp to take a context, so that an is_zero check doesn't clobber
823 2002-03-09 22:19 ajgough
825 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
826 Unary plus now copes with special values.
828 2002-03-09 04:25 ajgough
830 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
831 traps and flags are now enabled and tested for all the standard
832 tests for all the functions which are currently implemented. Test
833 harness faffed with to allow these to be tested.
835 2002-03-09 02:29 josh
837 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
838 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
841 2002-03-09 02:22 josh
843 * config_h.in: tab-blastin'
845 2002-03-09 02:21 josh
847 * check_source_standards.pl: Play nicer with M-x compile- don't
848 bother giving line numbers for things you don't want to look at.
850 2002-03-09 02:10 josh
852 * examples/mops/mops.c: re-indented
854 2002-03-09 02:07 josh
856 * classes/pmc2c.pl: Use the usual header so that we can detect the
859 2002-03-09 02:05 josh
861 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
864 2002-03-09 01:59 josh
866 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
867 patch- re-indent io/*.c.
869 2002-03-09 01:52 ajgough
871 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
872 special values to the string conversion functions, some other
873 functions now need context (to let -0 pass through really_zero)
874 which have also been added.
876 2002-03-09 01:47 josh
878 * test_main.c: Re-indented.
880 2002-03-09 01:41 josh
882 * rx.c: killed a stray tab
884 2002-03-09 01:38 josh
888 2002-03-09 01:36 josh
890 * misc.c: Oops, some tabs remained- cleaned up.
892 2002-03-09 01:31 josh
894 * misc.c: Re-indented (major patch, sorry)
896 2002-03-09 00:59 josh
898 * embed.c: Re-indented.
900 2002-03-08 23:08 simon
902 * MANIFEST, docs/pdds/pdd10_embedding.pod,
903 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
904 docs/pdds/pdd13_bytecode.pod:
907 2002-03-08 21:12 ajgough
909 * include/parrot/string.h: Added private flags to string.h, mostly
910 so that other GCed stuff can also have its very own private flags.
912 2002-03-08 19:53 simon
917 2002-03-08 19:41 robert
919 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
920 pdd6.pod, pdd7.pod: Renamed...
922 2002-03-08 18:51 simon
924 * MANIFEST, docs/pdds/pdd08_keys.pod:
927 2002-03-08 18:20 ajgough
929 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
930 Introduced exception handlers and exception flags to context, will
931 allow support of extended standard. Unified exception checking
932 mechanism (sort of) and made minimal changes to bulk of code to use
933 this. Tests pass, I'm happy, and further changes will happen more
936 2002-03-08 04:38 josh
938 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
941 2002-03-08 04:37 josh
943 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
945 2002-03-08 04:24 josh
947 * embed.c: A bit more re-indenting
949 2002-03-08 04:20 josh
951 * embed.c: Indenting fixes
953 2002-03-08 04:14 josh
955 * jit.c: Re-indented (run_indent.pl)
957 2002-03-08 03:36 josh
959 * ops2c.pl: Fix the line numbers which get reported while compiling
962 2002-03-08 03:22 josh
964 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
965 The variable "type" is set but never used.
969 2002-03-08 03:04 josh
971 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
972 io/io_unix.c: Clean up unused and set-but-not-referenced variables
973 noticed by the sgi compiler.
975 2002-03-08 03:02 josh
977 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
978 misc.c, Line = 417 The indicated type qualifier is meaningless on
985 2002-03-08 02:55 josh
987 * Makefile.in: Clean up one of the object files it was missing
989 2002-03-08 01:15 josh
991 * include/parrot/interpreter.h: Fixes the following error (tcc):
992 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
993 comma at end of list.
995 2002-03-06 22:15 simon
998 Tidy up stack chunk allocation.
1000 2002-03-06 21:00 simon
1003 Create strings only once we've got string register heads set up.
1005 2002-03-06 20:31 simon
1007 * classes/perlarray.pmc:
1008 malloc(0) considered harmful.
1010 2002-03-06 20:24 simon
1012 * include/parrot/resources.h:
1013 I like it when Parrot compiles.
1015 2002-03-06 17:02 dan
1017 * classes/array.pmc: Changed over to data pointing to a Buffer.
1019 2002-03-06 15:45 dan
1021 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1022 packfile.c, pbc2c.pl, pdump.c, resources.c,
1023 include/parrot/interpreter.h, include/parrot/memory.h,
1024 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1025 and opcode_t > longs will now be even more suspect than what they
1026 were beforehand. 2) Feel free to bicker with names. I don't think
1027 we've come to *any* sort of agreement with these, although we
1028 really, really, need to. 3) I forget the third thing. 4) But I
1029 thought of a fourth. 5) I've now remembered the third thing: IIRC,
1030 ANSI C states that enums will fit within the smallest type (int or
1031 greater) that can hold the values. Is that actually correct, and
1032 does it state whether unsigned is preferred to signed for
1033 non-negative enums? 6) Since I'm no longer constrained by "three"
1034 or "quick", I'm going size_t happy for a lot of memory-related
1035 storage. (That's good. No sense wasting the size or performance
1036 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1037 a couple other internal things (like the GC stat counters, seen
1038 here). Size and performance, again, and unpromotable to a bigint,
1039 so we know that we (theoretically) will wrap. However, size_t
1040 isn't the best choice for the type. (Not that there's anything
1041 wrong with size_t, just that it shouldn't be called size_t.) Any
1042 thoughts? I was thinking of just doing unsigned int, because,
1043 IIRC, int is usually the natural word size, and will be most
1044 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1045 of was while writing down the others. Sorry.
1047 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1049 2002-03-06 15:26 dan
1051 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1052 include/parrot/resources.h: Now we allocate generic Buffers from
1055 2002-03-05 21:42 brentdax
1057 * Configure.pl: Minor cleanup and enhancements.
1059 2002-03-05 21:25 dan
1061 * resources.c: non-special GC now works with PMCs
1063 2002-03-05 19:48 brentdax
1065 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1066 Parrot now "knows" if it's a development version or a release
1067 version. See the instructions in the DEVELOPING file.
1069 2002-03-05 18:05 brentdax
1071 * MANIFEST: pasm.vim wasn't in the manifest.
1073 2002-03-05 17:57 simon
1076 Now, through much evilness, make distclean and make cvsclean work
1079 2002-03-05 17:38 dan
1081 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1082 include/parrot/interpreter.h, include/parrot/pmc.h,
1083 include/parrot/resources.h: PMC tracing complete
1085 2002-03-05 16:28 gregor
1087 * languages/jako/Makefile.in:
1088 Changed -I ../../ to -I ../../lib when calling the assembler, since
1089 the perl modules have moved.
1091 2002-03-05 05:30 josh
1093 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1094 string.c: More re-indenting via run_indent.pl.
1096 2002-03-05 05:17 josh
1098 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1101 2002-03-05 04:26 josh
1103 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1104 using run_indent.pl and some minor tweaking.
1106 2002-03-05 04:21 josh
1108 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1109 interpreter.c: Re-indented using run_indent.pl and some minor
1112 2002-03-05 03:30 josh
1114 * include/parrot/trace.h: These functions are no longer used (or
1117 2002-03-04 18:21 josh
1119 * include/parrot/trace.h: Fix a typo in the argument type.
1121 Patch from <daniel.ritz@gmx.ch>
1123 2002-03-04 03:39 josh
1125 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1126 header to jit_struct.h so we don't try to check it for conformance.
1127 (no way will it conform)
1129 2002-03-04 03:38 josh
1131 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1132 unicode.h, warnings.h: Remove some remaining tabs and split some of
1133 the remaining long lines.
1135 2002-03-04 03:17 josh
1137 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1138 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1139 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1140 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1141 string_funcs.h, trace.h, warnings.h: This is the first batch of
1142 re-indenting. This patch is the result of running run_indent.pl
1143 on the header files and manually tweaking the results where errors
1144 were noticed. This should get us closed, but some refinement may
1147 2002-03-04 03:06 josh
1149 * resources.c: Return without parens, as mentioned in PDD 7
1151 2002-03-04 03:01 josh
1153 * core.ops: POD fixes.
1155 2002-03-04 02:58 josh
1157 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1158 on autogenerated files- used by the check_source_standards.pl
1159 script (for now) to exempt autogenerated files from the checks.
1161 2002-03-04 02:51 josh
1163 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1164 warnings.c: Added the editor "boilerplate" footer to a few files
1165 which were missing it.
1167 2002-03-04 02:34 josh
1169 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1170 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1171 c preprocessor directive indentation to comply with pdd 7.
1173 (also fixes the check for this indentation in
1174 check_source_standards.pl)
1176 2002-03-04 02:32 josh
1178 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1181 perl t/harness t/op/basic..........Use of uninitialized value at
1182 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1183 line 6) # got: undef # expected: ''
1185 2002-03-04 02:30 josh
1187 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1188 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1189 "indent" program to enforce some of the code style standards
1192 Usage: ./run_indent.pl <file>
1194 2002-03-03 19:04 simon
1196 * examples/mops/mops.c:
1197 Let's make it compile, huh?
1199 2002-03-03 19:04 simon
1201 * examples/mops/mops.cs:
1204 2002-03-03 18:11 simon
1206 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1207 Added C# and MS-IL versions of mops tester.
1209 2002-03-03 14:52 simon
1212 Add a sub() op to make mops_p work.
1214 2002-03-02 18:12 nicholas
1216 * examples/mops/mops.c, include/parrot/embed.h,
1217 include/parrot/interp_guts.h, include/parrot/jit.h,
1218 include/parrot/misc.h, include/parrot/packfile.h,
1219 include/parrot/rx.h, include/parrot/warnings.h,
1220 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1221 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1222 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1223 indent variables correctly.
1225 2002-03-02 17:41 nicholas
1227 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1228 patch to fix a compiler warning.
1230 2002-03-01 22:35 dan
1232 * memory.c, resources.c, include/parrot/pmc.h,
1233 include/parrot/resources.h: PMCs now come out of arenas.
1235 2002-03-01 06:15 dan
1238 A non-existing buffer + a non-existing buffer should be a
1239 non-existing buffer, not "", which is really '\0'.
1241 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1243 2002-03-01 06:02 dan
1245 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1247 TMTOWTDI, but strcmp is probably the worse.
1249 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1251 2002-03-01 02:32 brentdax
1253 * embed.c: Debug mode now prints out the GC data.
1255 2002-02-28 23:44 dan
1257 * core.ops, resources.c, include/parrot/resources.h: Added collect
1260 2002-02-28 22:58 dan
1262 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1265 2002-02-28 22:50 dan
1267 * core.ops, interpreter.c, resources.c,
1268 examples/assembly/life.pasm, include/parrot/interpreter.h,
1269 include/parrot/resources.h: Add some stat gathering to the resource
1272 Also add an interpreter info retrieval op, and teach it about the
1273 different things it can retrieve.
1275 Finally, add some stat info to life.pasm as an example
1277 2002-02-28 21:27 dan
1279 * editor/pasm.vim: VIM mode commands for parrot assembly files
1281 Courtesy of Scott Beck <scott@gossamer-threads.com>
1283 2002-02-28 19:20 dan
1285 * examples/assembly/life.pasm: Fix a creeping string length leak.
1287 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1289 2002-02-28 18:26 dan
1291 * string.c: When you clone a constant, it ain't constant no mo'.
1293 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1295 2002-02-28 00:51 dan
1297 * MANIFEST: Add missing files
1299 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1301 2002-02-28 00:49 dan
1303 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1304 CVS seems to have several chunks missing out of it, too. This
1305 patch is simply an administrative patch, with the differences
1306 between my last version, and the one currently in there. There
1307 will be a forthcoming patch for some minor tweaking to the PDD, but
1308 I wanted a common baseline before I make any (potential) semantic
1311 There's only one semi-major change, which noone needs to worry
1312 about just yet. That's a change from PDD Format 1 to PDD Format
1313 6.0 - rationale can be found under 'Standard (Version #)' of the
1314 STANDARDS TRACK infomation. Don't worry about this yet, because it
1315 should be 6.0.0, and we need to discuss Perl versus Parrot with
1318 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1320 2002-02-28 00:27 dan
1322 * packfile.c, resources.c, examples/assembly/life.pasm,
1323 include/parrot/register.h, include/parrot/resources.h,
1324 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1327 This patch now implements a real copying collector. We trace from
1328 our root set and compact the contents of Buffer structs.
1332 *) It's very STRING-centric and doesn't handle memory stuffed in
1333 Buffers. But, then, we don't have pool allocation for Buffers
1334 either, and we need to have that soonish for this to work.
1336 *) Doesn't trace PMCs, so if you trigger a collection and there's
1337 memory or STRING structs only accessible from PMCs, you'll fail
1338 horribly. That needs fixing too
1340 *) Better algorithms for when to trace or collect vs when to just
1341 go allocate more memory from the system. Should probably be more
1344 2002-02-27 21:04 dan
1346 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1347 examples/assembly/life.pasm, include/parrot/resources.h,
1348 include/parrot/string.h, include/parrot/string_funcs.h,
1349 jit/i386/core.jit: Start of GC in
1351 2002-02-26 16:41 dan
1353 * jit/i386/string.jit: Fix a typo
1355 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1357 2002-02-26 16:37 dan
1359 * interpreter.c: Fix solaris test failures
1361 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1363 2002-02-26 16:36 dan
1365 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1366 unicode.h, warnings.h: Fixes various warts in header files, such
1367 as: * macros -added parens to prevent problems with operator
1368 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1369 is no longer used * added some more INLINE definitions for MSVC and
1372 Courtesy of Brian Lee Ray <blray@ualr.edu>
1374 2002-02-26 16:20 dan
1376 * Configure.pl: Turns out we were using a warning flag which
1377 doesn't exist on 2.7. Simple tweak though:
1379 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1381 2002-02-25 22:58 dan
1383 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1385 2002-02-25 17:36 dan
1387 * include/parrot/pmc.h: Fix the bits
1389 2002-02-23 21:57 dan
1391 * include/parrot/resources.h: Another 1.5% never hurts
1393 2002-02-23 21:44 dan
1395 * global_setup.c, memory.c, resources.c, string.c,
1396 include/parrot/resources.h: Allocate STRING headers from an arena
1397 with freelist rather than with the system malloc. First step in a
1398 good (or even a bad) GC system.
1400 2002-02-23 20:37 brentdax
1402 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1404 2002-02-22 14:59 ajgough
1406 * types/bignum.c: BN_multiply split into BN_multiply and
1407 BN_imultiply, the internal version to be used by idivide so that
1408 rounding isn't performed during intermediate stages of division.
1410 following test scripts now all pass: divide divideint add multiply
1411 subtract remainder compare rounding plus minus (these are all the
1412 operations currently implemented, rescale and power must still be
1413 written, so don't pass right now).
1415 2002-02-22 13:13 ajgough
1417 * types/bignum_atest.pl: Test harness modified to understand
1418 comments better, and be able to run unary (and rounding) tests.
1419 Currently a few rounding tests fail, which are being investigated.
1421 2002-02-22 01:41 dan
1423 * key.c: Although there's more work being done on the key stuff and
1424 this isn't the final fix, applying this patch does get parrot to
1425 build with two more compilers, so it's probably worthwhile.
1427 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1429 2002-02-22 00:53 dan
1431 * config_h.in, misc.c, include/parrot/embed.h,
1432 include/parrot/exceptions.h, include/parrot/interpreter.h,
1433 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1434 include/parrot/resources.h, include/parrot/rx.h,
1435 include/parrot/string.h, include/parrot/unicode.h,
1436 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1437 io/io_win32.c: Fixes the following (lcc) warnings:
1439 - interpreter.c:470: warning: expression with no effect elided
1440 (related to the way warnings flags were defined)
1442 - misc.c:352: warning: unreachable code
1443 misc.c:483: warning: unreachable code
1444 (i introduced these with some overzealous de-linting)
1446 - numerous warnings like this:
1447 io/io_unix.c:383: warning: conversion from pointer to void' to
1449 pointer to struct _ParrotIO function(pointer to struct
1450 Parrot_Interp,pointer
1451 to struct _ParrotIOLayer,pointer to const char,pointer to const
1453 to pointer to void)' is compiler dependent
1455 Fixes the following nits: - remove bad indenting (tabs) in the
1458 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1460 2002-02-21 21:12 ajgough
1462 * types/: bignum.c, bignum.h: These might look like massive
1463 changes, but really it's just he imposition of coding standards.
1464 The file still isn't entirely compliant, but is now much more so.
1468 o a few more comments
1469 o BN_compare uses internal BN_comp to compare
1470 o lost_digits behaviour is now correct (test harness modified to
1474 All binary functions now pass all the tests in the basic standard.
1475 Unary functions not yet tested, will be soon.
1477 2002-02-21 18:20 dan
1479 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1480 was no longer needed, and the ssize_t thing really shouldn't be
1483 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1485 2002-02-21 18:15 dan
1487 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1488 include/parrot/parrot.h: this patch adds support for the freely
1489 available borland c++ 5.5.1 compiler
1491 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1492 working borland compiler (compiler must know where to find headers
1493 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1494 cc='cl.exe' - a working make utility (borland make doesn't work,
1497 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1498 hints/mswin32.pl - remove a space from Configure.pl (very very
1499 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1500 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1501 (win32 knows it, linux not)
1503 and the why: - parrot is MUCH faster when compiled with borland c
1504 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1507 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1509 2002-02-21 18:09 dan
1511 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1512 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1513 cuddled elses, as required by PDD 7.
1515 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1517 2002-02-21 18:04 dan
1519 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1520 a new Makefile target called "check_source". This target scans all
1521 the .c and .h files in the directory and checks for conformance to
1522 a number of the standards outlined in PDD 7.
1524 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1526 2002-02-21 16:38 ajgough
1528 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1529 allow arithmetic with numbers with a fixed fractional part, buffer
1530 structures now more ready to be integrated into the parrot memory
1531 allocation game, test harness modified to allow lost_digits
1532 condition to be checked. Some more comments.
1534 2002-02-21 15:53 simon
1539 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1541 2002-02-20 16:41 dan
1543 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1545 2002-02-18 18:25 dan
1547 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1549 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1551 2002-02-18 18:21 dan
1553 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1554 CPrederef.pm to make to generated code compile with the MS
1557 fixes: - ms compiler allows inline only for c++, for c there's
1558 __inline - ms header files knows nothing about ssize_t
1560 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1562 2002-02-18 17:49 dan
1564 * MANIFEST: Add the PDDs
1566 2002-02-18 17:47 dan
1568 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1569 coding standards PDD.
1571 2002-02-18 17:40 dan
1573 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1575 2002-02-18 12:41 gregor
1578 Remove warning about exit() not being declared.
1580 2002-02-18 08:29 simon
1582 * misc.c, warnings.c, include/parrot/misc.h,
1583 include/parrot/warnings.h:
1584 This patch adds some missing const's to silence a number of gcc
1587 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1589 2002-02-18 08:26 simon
1591 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1592 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1593 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1594 include/parrot/parrot.h, include/parrot/rx.h,
1595 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1596 lib/Parrot/OpTrans/CPrederef.pm:
1597 - add makefile target and script to test for external libc
1599 - fix return values in hash and array PMCs (returning 0 in a
1601 - remove unnecessary data pointer <=> function pointer
1603 outside of the JIT code.
1604 - move the definition of the "INLINE" macro out of the rx header
1606 available for general use on C++ compilers and gcc.
1607 - remove a few unused variables
1609 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1611 2002-02-17 16:29 simon
1613 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1614 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1615 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1616 We're organised and responsible. Honest.
1618 2002-02-17 02:46 sfink
1620 * Makefile.in: Remove $^ for nmake compatibility.
1622 2002-02-16 09:20 brentdax
1624 * config_h.in, test_main.c, include/parrot/chartype.h,
1625 include/parrot/embed.h, include/parrot/encoding.h,
1626 include/parrot/string.h, include/parrot/string_funcs.h: Better
1627 embedding exposure and hiding, part 1.
1629 2002-02-16 04:38 dan
1631 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1632 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1633 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1634 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1635 typecasts in various places throughout the code. It probably won't
1636 work for Windows yet. The libparrot.a target might need to be
1637 modified to at least prevent it from confusing make on Windows; I
1640 Preliminary instructions for using pbc2c.pl are in
1641 docs/running.pod. I'll try to do better later.
1643 Courtesy of Steve Fink <steve@fink.com>
1645 2002-02-16 04:15 dan
1647 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1649 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1651 2002-02-16 00:03 simon
1653 * classes/: perlarray.pmc, perlhash.pmc:
1655 pmc is already defined!
1657 2002-02-15 23:20 brentdax
1659 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1660 include/parrot/exceptions.h: Far more informative panic messages.
1662 2002-02-15 03:24 dan
1664 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1665 much more extensive patch that fixes it to work properly, and
1666 deletes a bazillion casts as well. It also points to the question
1667 "can we make the byte_code be an opcode_t* already?"
1669 Oh, and it makes some of the formatting prettier, so it's gotta be
1672 Courtesy of * Steve Fink <steve@fink.com>
1674 2002-02-15 02:30 dan
1676 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1677 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1678 of the things it finds. Attaching the patch as well as the current
1681 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1683 2002-02-15 01:59 dan
1685 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1688 2002-02-15 01:48 dan
1690 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1692 2002-02-15 01:40 dan
1694 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1697 2002-02-14 23:30 dan
1699 * resources.c: Added comment for buffer tag routine. D'oh!
1701 2002-02-14 23:28 dan
1703 * resources.c, include/parrot/resources.h: Added buffer mark
1706 2002-02-14 23:17 dan
1708 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1709 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1710 Rejigged memory system a bit. Now should be ready for the horror
1711 that is garbage collection.
1713 2002-02-14 19:33 gregor
1715 * ops2c.pl, include/parrot/oplib.h:
1716 Added code to automatically generate a function within an oplib to
1717 lookup opinfos given the op name. This will come in handy in future
1718 when we want to twiddle opcode tables at run time and possibly at
1721 2002-02-14 19:25 gregor
1723 * examples/assembly/queens.pasm:
1724 Regenerated queens.pasm from queens.jako since the clone_* stuff
1727 2002-02-14 17:12 dan
1729 * resources.c, include/parrot/resources.h: Finished up the
1730 interface for memory and tracked interpreter thingies.
1732 2002-02-14 16:53 dan
1734 * memory.c, include/parrot/memory.h: intercept free and realloc
1736 2002-02-14 05:53 dan
1738 * interpreter.c, runops_cores.c: The type changes in struct
1739 Packfile break the pointer math used in a few places to calculate
1740 the address of the end of the loaded byte code. This causes
1741 segfaults in build_asm in jit.c when using -j. It also breaks the
1742 bounds checking on opcode address in runops_slow_core.
1744 The patch adds the necessary cast to correct the code_end
1747 Courtesy of Jason Gloudon <perl@gloudon.com>
1749 2002-02-14 01:01 ajgough
1751 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1752 BigInt operations (I think), tests for normal operation continue to
1753 pass. Also a shed load of comments.
1755 2002-02-13 01:34 ajgough
1757 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1758 is a (mostly) working bignumber library. There remains much work
1759 to do though, some functions are not yet implemented and headers
1760 need to find their way to the correct place RSN. Also support for
1761 bigints and a sensible error reporting mechanism are needed.
1763 2002-02-12 18:51 dan
1765 * misc.c: Fix some warnings
1767 2002-02-12 17:10 dan
1769 * misc.c: Run through indent -kr -nce so I can read it
1771 2002-02-12 16:49 dan
1773 * misc.c: Need standard header/footer comments
1775 2002-02-11 20:32 simon
1777 * classes/array.pmc:
1778 get and set pmc methods.
1780 2002-02-11 20:19 simon
1782 * classes/array.pmc:
1783 Maybe the keys aren't integer...
1785 2002-02-11 20:03 simon
1787 * core.ops, vtable.tbl, classes/default.pmc:
1790 2002-02-11 19:07 simon
1792 * vtable.tbl, classes/default.pmc:
1793 Add set_pmc. Usee with caution.
1795 2002-02-11 18:20 dan
1797 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1800 2002-02-11 17:59 simon
1802 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1803 classes/perlarray.pmc, classes/perlhash.pmc:
1806 2002-02-11 17:57 simon
1808 * packfile.c, include/parrot/packfile.h:
1811 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1813 2002-02-11 17:55 dan
1815 * docs/parrot_assembly.pod: Document some key ops
1817 2002-02-11 09:20 brentdax
1819 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1822 2002-02-11 00:34 simon
1824 * core.ops, include/parrot/exceptions.h:
1825 This is what keyed set ops look like. Remember, however, that for
1826 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1827 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1828 obviously ambiguous that you ought to use the 4-arg version
1831 2002-02-10 23:12 jgoff
1833 * classes/: array.pmc, perlarray.pmc: Properly allocate
1834 SELF->data's array of PMC* data in array and perlarray.pmc. This
1835 isn't tested yet, but should be fairly straightforward. PerlHash
1836 needs to be finished before the system will compile again, and that
1837 should be done in the next few days.
1839 2002-02-09 04:46 jgoff
1841 * classes/: array.pmc, default.pmc, intqueue.pmc,
1842 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1843 Added basic _keyed member functions. Unfortunately this still
1844 doesn't fix the problems that are causing the build to break. It's
1845 a start though. I'm not implementing the PMC add functions just
1848 2002-02-08 15:59 simon
1850 * classes/array.pmc:
1851 Some more work on getting the array stuff up to date.
1853 2002-02-08 12:23 simon
1855 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1856 lib/Parrot/Vtable.pm:
1857 Got array->get_integer_keyed doing what I think it ought to. One
1858 down, all the rest to go.
1860 2002-02-08 11:47 simon
1863 Although I didn't intend it to be quite that broken...
1865 2002-02-08 11:42 simon
1867 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1868 Completely break Parrot, but at least we get the key stuff right
1871 2002-02-08 06:25 dan
1873 * hints/darwin.pl: Silences the warning about passing in
1874 -flat_namespace to the compile. That's a link-only flag.
1876 2002-02-08 04:52 jgoff
1878 * classes/: array.pmc, default.pmc, intqueue.pmc,
1879 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1880 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1881 return values in *.pmc, added some missing casts to the repeat_foo
1882 members, and deleted the _index members from the perlscalar
1883 classes. Basic cleanup, and getting ready for _keyed functions.
1885 2002-02-07 04:49 mrjoltcola
1887 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1888 added a nested subroutine call.
1890 2002-02-07 04:32 jgoff
1892 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1893 changes in order to give the whitespace rules a little workout, and
1894 do a little bit more testing. No actual structural changes were
1895 made. lib/Parrot/Vtable.pm got an interface change, and more
1896 importantly should be ready to support the new '_keyed' attribute,
1897 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1898 src_value' followed by 'KEY* src_key'. This will be how the new
1899 _keyed operators will function, and those should be written within
1902 2002-02-06 18:00 doughera
1904 * misc.c: Change C++-style comments to C comments (again). Remove
1905 unused perl5 code that was in #if 0/#endif.
1907 2002-02-06 17:59 doughera
1909 * warnings.c: Add trailing newline.
1911 2002-02-06 04:14 mrjoltcola
1913 * include/parrot/io.h, io/io.c: Minor cleanup.
1915 2002-02-06 03:11 mrjoltcola
1917 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
1918 couple of loose end in win32 IO stuff. Open behaves now but needs
1921 2002-02-05 21:02 brentdax
1923 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
1924 which showed up in Purify builds.
1926 2002-02-05 17:15 simon
1931 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
1933 2002-02-05 17:08 doughera
1935 * misc.c: Avoid C++-style comments.
1937 2002-02-05 17:07 doughera
1939 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
1940 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
1941 thanks to Jason Gloudon <perl@gloudon.com>.
1943 2002-02-05 14:04 simon
1946 Make the problem different, perhaps even better.
1948 2002-02-05 13:49 simon
1951 Possibly fix a `short int' is promoted to `int' when passed through
1952 `...' scary error, possibly make things absolutely worse.
1954 2002-02-05 13:15 simon
1959 2002-02-05 13:12 simon
1962 Not going to get far without this one...
1964 2002-02-05 11:41 simon
1967 Don't barf when handed null pointers.
1969 2002-02-05 10:04 simon
1971 * misc.c, include/parrot/misc.h:
1972 Fix some trivial bugs in warnings code.
1974 2002-02-05 09:27 simon
1977 Oops, forgot this one; also added %P support.
1979 2002-02-05 09:20 simon
1981 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
1982 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
1983 include/parrot/interpreter.h, include/parrot/misc.h,
1984 include/parrot/parrot.h, include/parrot/warnings.h:
1987 Courtesy of: Brent Dax <brentdax@cpan.org>
1989 2002-02-05 05:41 jgoff
1991 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
1992 format of vtable.tbl to get rid of the tab-dependence. The format
1993 now looks roughly like this:
1995 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
1996 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
1997 assumed here, but note the C-like prototyping. Also had to disable
1998 one test that depended upon 'concat_p_p_s', which isn't necessary
2001 Vtable.pm will change again when the type '_keyed' is added,
2002 because that requires remapping parameters slightly differently
2003 again. Also, note that it assumes 'value' is the first parameter
2004 in the list. This assumption will go away at the same time.
2006 2002-02-04 16:57 ajgough
2008 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2009 functions. Thanks to Simon Glover.
2011 2002-02-04 02:47 ajgough
2013 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2014 needed. I suspect that the entire hints file isn't really needed,
2015 but there's no one to actually tell us this.
2017 2002-02-02 15:45 ask
2019 * docs/ParrotFAQ.htm: fix internal links
2021 2002-02-02 04:06 jgoff
2023 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2024 Moving the internal KEY structure from the cache.struct_val member,
2025 where it doesn't really belong, to the internal SELF->data member.
2026 This frees up the cache/type members for other usage.
2028 This is the first step in moving PMCs to the point where we can do
2029 multidimensional PMC handles. The next step is to change the
2030 assembler to accept the syntax of 'set P0["foo"],7'.
2032 2002-02-02 00:13 nicholas
2034 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2035 prototype Parrot_Array_class_init
2037 2002-02-02 00:13 nicholas
2039 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2040 time to sum_time to avoid warning on FreeBSD about tracking a
2041 global [No, this warning does not appear on Linux. Yes, it is real
2044 2002-02-01 23:02 nicholas
2046 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2049 2002-02-01 20:20 nicholas
2051 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2053 2002-02-01 18:20 nicholas
2055 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2058 2002-02-01 13:22 nicholas
2060 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2062 2002-02-01 12:19 simon
2064 * core.ops, t/op/ifunless.t, t/op/integer.t:
2067 2002-02-01 12:11 simon
2069 * lib/Parrot/Test.pm:
2072 2002-02-01 01:38 nicholas
2074 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2075 and a manitest target to Makefile.in that lets one test the
2078 2002-02-01 00:03 dan
2080 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2083 2002-01-31 21:46 gregor
2085 * Configure.pl, Makefile.in, hints/mswin32.pl:
2086 A few more things are now configable, so we are closer to win32
2087 shared library builds. Not there yet, but closer.
2089 2002-01-31 21:00 dan
2091 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2092 include/parrot/pmc.h: First step in dynamically loading PMC classes
2094 2002-01-31 19:38 dan
2096 * Makefile.in: Dependencies in the Makefile are currently too broad
2097 brush. I don't enjoy waiting for everything to recompile every
2098 time I try to tweak the jit. The only file that #includes
2099 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2100 should reflect this, and not cause a gratuitous recompile of
2101 everything. There are probably other auto-generated header files
2102 that world+dog should not depend on.
2104 Courtesy of Nicholas Clark <nick@unfortu.net>
2106 2002-01-31 19:03 gregor
2108 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2109 Added two new make targets:
2111 * testp: Like 'make test', but passes -P to t/harness, so you get
2113 see how broken predereferencing is.
2115 * testj: Like 'make test', but passes -j to t/harness, so you get
2117 see how broken JIT is.
2119 Now, anyone who wants to see how good all three ways of running are
2120 can do so, at the cost of about 3x the time.
2122 2002-01-31 17:09 brentdax
2124 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2126 2002-01-31 03:41 grunblatt
2128 * docs/jit.pod: Update jit.pod
2130 2002-01-31 03:20 grunblatt
2132 * jit/i386/core.jit: Hold this until we get an assemble tool,
2133 because of the different objdump problems.
2135 2002-01-31 03:13 grunblatt
2137 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2138 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2139 of: Jason Gloudon <perl@gloudon.com>
2141 2002-01-31 02:22 grunblatt
2143 * jit/i386/core.jit: Continue if the register is null
2145 2002-01-30 23:50 grunblatt
2147 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2148 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2149 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2152 2002-01-30 23:35 mrjoltcola
2154 * io/io_win32.c: Change implementation of isatty on win32,
2155 suggested by Hong Zhang.
2157 2002-01-30 23:19 sfink
2159 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2160 Op::may_jump boolean method.
2162 Replaced jit2h's hardcoded pattern match to decide what ops might
2163 change the control flow.
2165 2002-01-30 22:13 dan
2167 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2168 parrot to mostly-build with tcc. It allows one to skip compiling
2169 the JIT stuff (by specifying --define jitcapable=0), and it
2170 introduces a test program which gives a friendlier error in this
2171 case for compilers which are as picky as tcc is about function
2174 If anyone figures out the proper way to cast these function
2175 pointers this may not be necessary.
2177 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2179 2002-01-30 20:54 dan
2181 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2182 Here's an update to docs/running.pod to better reflect the current
2183 state (both the test_parrot and assemble.pl improvements, plus
2184 documentation of a few more things.) And also a speling fiks
2185 s/POST_MORTERM/POST_MORTEM/.
2187 I could also replace some "perl foo" calls with "./foo" if someone
2188 wanted to set the executable flag in CVS on assemble.pl,
2191 Courtesy of Steve Fink <steve@fink.com>
2193 2002-01-30 20:43 dan
2195 * core.ops: find_global doesn't work, so stub out the wrong code
2197 2002-01-30 19:08 dan
2199 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2201 can read it and just tidies it up generally. It also adds
2203 for the constantize_integer and constantize_number functions.
2205 Courtesy of Simon Glover <scog@roe.ac.uk>
2207 2002-01-30 18:02 dan
2209 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2210 classes/genclass.pl, classes/pmc2c.pl,
2211 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2212 distribution (including assemble.pl !)
2213 can no longer find the Parrot::* modules. Enclosed patch fixes
2215 it would be nice if there were an easier way to do this).
2217 Courtesy of Simon Glover <scog@roe.ac.uk>
2219 2002-01-30 16:00 mrjoltcola
2221 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2224 2002-01-30 15:50 mrjoltcola
2226 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2228 2002-01-30 15:42 grunblatt
2230 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2233 2002-01-30 15:38 grunblatt
2235 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2236 the manifest, and also puts it back into alphabetical order.
2238 Courtesy of: Simon Glover <scog@roe.ac.uk>
2240 2002-01-30 14:41 nicholas
2242 * embed.c: Patch from Simon Glover to clean up warnings where
2243 prototype is () not (void)
2245 2002-01-30 13:54 nicholas
2247 * include/parrot/embed.h, test_main.c: Add void as an explicit
2248 parameter in test_main.c's usage(), version(void) and embed.h's
2249 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2250 warning: function declaration isn't a prototype
2252 2002-01-30 12:08 simon
2254 * lib/Parrot/.cvsignore:
2255 Ignore generated Perl modules.
2257 2002-01-30 12:07 simon
2260 Run the PMC tests as well.
2262 2002-01-30 12:04 simon
2265 Fix MANIFEST after recent t/pmc rejig.
2267 2002-01-30 11:42 simon
2269 * lib/Parrot/Test.pm:
2270 Report non-zero exit codes.
2272 Courtesy of: Michael G Schwern <schwern@pobox.com>
2274 2002-01-30 11:39 simon
2277 Skip final test, TODO doesn't work yet.
2279 2002-01-30 09:54 brentdax
2281 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2282 predereferencing works.
2284 2002-01-30 09:38 brentdax
2286 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2289 2002-01-30 09:37 brentdax
2291 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2293 2002-01-30 09:37 brentdax
2295 * config_h.in: Expose another flag for embedders.
2297 2002-01-30 05:07 jgoff
2299 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2300 location for Parrot/, and t/harness wasn't able to run the new
2301 op/pmc tests. Both problems fixed, so I think I'm going to declare
2302 the build suitable for public consumption.
2304 2002-01-30 04:34 robert
2306 * docs/Makefile.in: update for CVS movement
2308 2002-01-30 04:32 robert
2310 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2311 .in file, not the real Makefile)
2313 2002-01-30 04:20 robert
2315 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2316 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2317 related to moving files around
2319 2002-01-30 04:10 robert
2321 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2323 2002-01-30 04:07 robert
2325 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2327 2002-01-30 03:56 robert
2329 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2330 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2331 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2332 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2333 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2334 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2335 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2336 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2339 2002-01-30 03:46 robert
2341 * languages/miniperl/miniperlc: renamed to mpc
2343 2002-01-30 03:45 robert
2345 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2346 pmc_perlstring.t: Moved to t/op/pmc/
2348 2002-01-30 03:40 robert
2350 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2352 2002-01-30 03:14 jgoff
2354 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2355 Fixed some problems with PerlArray and added tests. Previously,
2356 only integers could be accessed by negative indices. After this
2357 change, all basic types can be accessed by negative indices, and
2358 they can also be set at negative indices.
2360 2002-01-29 22:13 brentdax
2362 * TODO: Just look at the stupid diff.
2364 2002-01-29 21:53 simon
2366 * TODO, docs/vtables.pod:
2367 New TODO, and tiny addition to vtables.pod
2369 2002-01-29 21:47 mrjoltcola
2371 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2373 2002-01-29 21:38 mrjoltcola
2375 * Makefile.in: Makefile.in tweak for io depend.
2377 2002-01-29 21:15 brentdax
2379 * embed.c: Fix a segfault and some profiling formatting nits.
2381 2002-01-29 20:54 brentdax
2385 2002-01-29 20:50 brentdax
2387 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2390 2002-01-29 20:17 mrjoltcola
2392 * interpreter.c, core.ops, io.ops: CVS missed this.
2394 2002-01-29 20:17 mrjoltcola
2396 * io/io.c: These should have gone in Sunday with the rest. CVS is
2399 2002-01-29 18:39 brentdax
2401 * platforms/win32.h: Fix Win32 whoops.
2403 2002-01-29 18:29 brentdax
2405 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2407 2002-01-29 17:51 simon
2409 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2410 include/parrot/embed.h, include/parrot/parrot.h:
2411 Embedding support. Cool.
2413 Courtesy of: <brentdax@cpan.org>
2415 2002-01-29 15:40 grunblatt
2417 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2418 Gloudon <perl@gloudon.com>
2420 2002-01-29 14:42 simon
2422 * include/parrot/parrot.h:
2423 Platform stuff has to be included *after* system headers.
2425 2002-01-29 14:05 grunblatt
2427 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2428 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2429 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2430 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2431 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2433 2002-01-29 10:56 simon
2435 * platforms/generic.h:
2436 If we don't have a S_ISREG, produce something close to it.
2438 2002-01-29 06:01 dan
2440 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2442 2002-01-29 04:38 jgoff
2444 * classes/array.pmc: Forgot to remove some C++-isms from the
2445 get_{foo}_index routines.
2447 2002-01-29 04:26 jgoff
2449 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2450 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2451 t/pmc/array.t: Added array class that languages other than perl can
2452 use for a basis. It has no features like preextension, and the
2453 array index starts at 0.
2455 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2456 and classes/Makefile.in - Added array.pmc to the makefile.
2457 (Assuming rules like .pmc.o are portable (or even possible) I might
2458 alter classes/Makefile.in to autobuild the appropriate files.
2460 2002-01-29 02:32 dan
2462 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2463 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2464 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2465 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2466 Update to Test::More 0.41 which adds Test::Builder
2468 Delete the vestigal Test::Utils
2470 Change Parrot::Test so it uses Test::Builder instead of Evil
2474 output_* now returns whether the test passes or fails
2476 Parrot::Test no longer exports Test::More's functions. Instead
2478 can simply be used together. The few tests which used
2480 features (ie. skip) have 'use Test::More' added.
2482 I ditched the export_to_level() crutch. Do we expect parrot to
2484 5.004? (literally 5.004, not 5.004_04)
2486 Courtesy of Michael G Schwern <schwern@pobox.com>
2488 2002-01-28 21:04 dan
2490 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2491 pointer should actually be to
2492 parrot_assembly.pod, as the canonical documentation.
2494 Courtesy of Simon Glover <scog@roe.ac.uk>
2496 2002-01-28 20:21 dan
2498 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2501 2002-01-28 19:18 dan
2503 * core.ops, register.c: clone[insp] is dead
2505 2002-01-28 17:46 grunblatt
2507 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2508 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2510 2002-01-28 16:45 dan
2512 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2513 the requirement for fink at the moment.
2515 2002-01-28 15:59 simon
2518 People might try and run a directory file, with spectacular
2519 results. We don't want that. No.
2521 2002-01-28 14:58 doughera
2523 * core.ops: Avoid C++-style comments.
2525 2002-01-28 14:16 grunblatt
2527 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2528 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2531 2002-01-28 13:47 doughera
2533 * include/parrot/register.h: Avoid C++-style comment.
2535 2002-01-28 06:03 dan
2537 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2538 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2539 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2540 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2541 include/parrot/parrot.h, include/parrot/regfuncs.h,
2542 include/parrot/register.h, include/parrot/register_funcs.h,
2543 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2544 are now stored in the interpreter structure itself, rather than
2545 just a pointer to the top of the register structure. Pushes and
2546 pops now involve memcpys, but register access has one fewer
2549 Fails four of the register stack tests, though, so not perfect.
2550 Needs fixing, but this is a good place to start.
2552 2002-01-28 04:40 mrjoltcola
2554 * test_main.c: cvs commit missed this. ??
2556 2002-01-28 04:27 mrjoltcola
2558 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2559 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2560 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2561 interpreter now (at least in theory). IO handle array added. Misc
2562 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2563 we don't conflict with system libraries. Still have broken
2564 stuff in win32 and stdio layer.
2566 2002-01-28 04:01 mrjoltcola
2568 * include/parrot/chartype.h: Typo in chartype.h include guard.
2570 2002-01-28 03:41 mrjoltcola
2572 * t/op/interp.t: Fix flag for interp so we don't get "info"
2573 messages which break tests.
2575 2002-01-28 01:54 dan
2577 * include/parrot/string.h: A few more buffer/string flags
2579 2002-01-27 11:33 nicholas
2581 * chartypes/unicode.c: Cast unsigned argument to int in call to
2582 isdigit to silence gcc warning.
2584 2002-01-26 23:18 grunblatt
2586 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2589 2002-01-26 23:17 grunblatt
2591 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2592 jit/i386/core.jit: [no log message]
2594 2002-01-26 22:18 simon
2596 * jit/i386/core.jit:
2597 Jumping to 0x0 is a recipe for segfaults.
2599 2002-01-26 18:35 simon
2602 Allow user to select which tests to harness
2604 Courtesy of: Nicholas Clark <nick@unfortu.net>
2606 2002-01-26 17:20 grunblatt
2608 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2609 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2610 to make the jit work in linux again.
2612 2002-01-26 16:52 dan
2614 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2615 headers can't cope with this. Darwin-only
2617 2002-01-26 16:04 dan
2619 * include/parrot/parrot.h: Quick note to remind folks that this
2620 isn't the file they're looking for if they're writing extensions or
2623 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2625 2002-01-26 00:41 mrjoltcola
2629 2002-01-26 00:37 mrjoltcola
2631 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2634 2002-01-25 01:31 grunblatt
2636 * jit/alpha/core.jit: There is no neg or fneg.
2638 2002-01-25 01:27 grunblatt
2640 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2641 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2642 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2643 t/op/number.t: Added Parrot_neg. Erase t.s
2645 2002-01-24 23:26 dan
2647 * interpreter.c: Best make sure unused elements are NULL
2649 2002-01-24 23:24 dan
2651 * interpreter.c: Fix stupid thinko
2653 2002-01-24 18:37 doughera
2655 * Makefile.in: Add a few missing dollar signs in the lifetest
2656 section so that ${exe} and the like get properly interpolated.
2658 2002-01-24 18:15 mrjoltcola
2660 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2661 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2662 Simon Glover <scog@roe.ac.uk>
2664 2002-01-24 06:43 mrjoltcola
2666 * io/io_stdio.c: Oops.
2668 2002-01-24 06:34 mrjoltcola
2670 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2671 of work on the buffering layer. Decided to use shared read/write
2672 buffer (as do most implementations) for now since its the simplest
2673 way to keep everything synced, (flush on seeks, flush read on
2676 2002-01-24 03:38 mrjoltcola
2678 * test_main.c: Cleaned up option handling code a bit for main().
2680 2002-01-23 23:22 dan
2682 * interpreter.c, include/parrot/interpreter.h,
2683 include/parrot/resources.h: Now each interpreter gets its own hash
2686 2002-01-23 20:45 dan
2688 * Configure.pl: Fix a warning when there's no - in an architecture
2690 2002-01-22 23:57 grunblatt
2692 * docs/running.pod: [no log message]
2694 2002-01-22 20:29 doughera
2696 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2697 appears to be a generic problem (if sizeof(long double) >
2698 sizeof(double)), not an x86-specific one.
2700 2002-01-22 16:57 doughera
2702 * runops_cores.c: Change variable name from time to starttime to
2703 avoid gcc warning about variable name shadowing.
2705 2002-01-22 16:55 doughera
2707 * classes/pmc2c.pl: Include class_init prototype too.
2709 2002-01-22 16:01 doughera
2711 * MANIFEST: [no log message]
2713 2002-01-22 01:04 ajgough
2715 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2716 classes/parrotpointer.pmc, classes/perlarray.pmc,
2717 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2718 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2719 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2720 warnings from pmc files. Message-ID:
2721 <20020121224719.GE1726@Bagpuss.unfortu.net>
2723 2002-01-22 00:53 ajgough
2725 * test_main.c: Clears up a couple of warnings in test_main.c.
2726 Thanks to Nick Clark. Message-ID:
2727 <20020121190457.GB1726@Bagpuss.unfortu.net>
2729 2002-01-22 00:47 ajgough
2731 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2732 include/parrot/chartype.h: Cause all codepoints to be treated as
2733 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2734 Nick Clark, see also: Message-ID:
2735 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2737 2002-01-22 00:24 dan
2739 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2741 Appended patch cures these warnings:
2743 key.c: In function `debug_key': key.c:29: warning: int format,
2744 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2745 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2746 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2747 format, INTVAL arg (arg 4)
2749 Courtesy of Nicholas Clark <nick@unfortu.net>
2751 2002-01-21 12:41 mrjoltcola
2753 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2756 2002-01-21 06:37 mrjoltcola
2758 * io/io.c: Cleanup a warning
2760 2002-01-21 06:28 mrjoltcola
2762 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2763 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2764 ops. Various other IO twiddlings.
2766 2002-01-21 03:25 grunblatt
2768 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2769 Melvin Smith for the catch up.
2771 2002-01-20 23:13 sfink
2773 * stacks.c: Fixed logic errors, need tests
2775 2002-01-20 22:17 brentdax
2777 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2778 prepare for /i to work.
2780 2002-01-20 20:52 grunblatt
2782 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2783 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2784 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2785 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2786 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2787 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2788 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2789 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2790 jit/alpha/string.jit:
2791 - Added support for ALPHA, by now linux and bsd.
2793 - Reduced jit2h.pl execution time by precompiling the call to the
2796 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2797 Parrot/Jit/${cpuarch}Generic.pm
2799 - Changed the way to detect quads to what is written in "man
2802 2002-01-20 17:23 brentdax
2804 * rx.ops: There's no such thing as rx_allocateinfo.
2806 2002-01-19 08:26 brentdax
2808 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2810 2002-01-19 07:12 mrjoltcola
2812 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2813 into io.ops, leave the STDIO wrappers in core.ops until they
2814 disappear. Added debug op for switching on VM debug flag
2816 2002-01-19 01:55 mrjoltcola
2818 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2819 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2821 2002-01-19 00:55 brentdax
2823 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2824 include/parrot/rxstacks.h: Add regex-specific stacks for
2827 2002-01-18 23:58 dan
2829 * Configure.pl: I think the optimal fix here is simply to remove
2830 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2831 man pages say "There is no reason to use this option [-pedantic];
2832 it exists only to satisfy pedants."
2834 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2836 2002-01-18 23:23 dan
2838 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2839 docs/running.pod, which lists the various executables Parrot
2840 currently includes, examples of running them, and mentions of where
2841 they fail to work. It's more of a cry for help than a useful
2842 reference. :-) I've been having trouble recently when making
2843 changes in figuring out whether I broke anything, because any
2844 non-default way of running the system seems to be already broken. I
2845 can't tell what brokenness is expected and what isn't.
2847 Courtesy of Steve Fink <steve@fink.com>
2849 2002-01-15 22:13 brentdax
2851 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2852 substring use and enhance performance.
2854 2002-01-15 21:03 ajgough
2856 * string.c: Fix problem with string_transcode, &dest not being
2857 updated if src was already in desired encoding.
2859 2002-01-15 16:54 brentdax
2861 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2862 warnings. Leaves only one warning, at rx.ops line 409, that I
2863 can't manage to get rid of.
2865 2002-01-15 16:50 dan
2867 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2868 code. Also patches pbc2c.pl to work with rx.ops.
2870 Courtesy of Jason Gloudon <perl@gloudon.com>
2872 2002-01-15 16:15 dan
2874 * classes/Makefile.in: All the C files in classes/ weren't being
2875 compiled with an of the gcc warnings flags. With this patch they
2876 are, and there are an awful lot of warnings, more than I could hope
2877 to understand and clear up (within any sensible time period before
2878 submitting a rash of patches, by which time everyone else would
2879 have moved the code on)
2881 Courtesy of Nicholas Clark <nick@unfortu.net>
2883 2002-01-15 16:10 dan
2885 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2886 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2887 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2888 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2889 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2890 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2891 chartypes/usascii.c: This patch adds a few more macros for .ops
2892 files to use. In addition to the existing
2906 This is intended mainly for use in helper functions in .ops files,
2907 but also for ops that need to eg push the address of the next
2908 opcode onto a stack. The only place this currently happens (outside
2909 of my private code) is in the bsr opcode, which previously
2910 hardcoded the computation.
2912 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
2913 higher in the generated file so that it can be used by static
2914 functions in the preamble.
2916 Finally, I ran into a parentheses matching problem -- should goto
2917 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
2918 \bgoto\s+OFFSET\((.*?)\)
2920 It was done inconsistently for the different calculations, and of
2921 course neither are correct because you really want matching
2922 parentheses. But that seems like too much bother. (Currently,
2923 there's only one place that uses anything other than $n in the
2924 parentheses, and that's the enternative() op.) So I made them all
2925 .*? but emulated recent POD by also allowing (( ... )) (that's two
2926 parenthesis with a space padding the body.)
2928 The generated core_ops.c and core_ops_prederef.c files after this
2929 patch are identical except for the CUR_OPCODE and REL_PC macros
2930 getting moved a little higher, and the bsr in the regular path (not
2931 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
2933 In summary, this is a big wad of meaningless changes for the
2934 current code. But it will make adding some opcodes easier in the
2935 future, and cleans up a small nit in the current bsr.
2937 Courtesy of Steve Fink <steve@fink.com>
2939 2002-01-15 08:48 brentdax
2941 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
2944 2002-01-15 08:45 brentdax
2946 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
2948 2002-01-15 05:00 brentdax
2950 * rx.ops: Speed up rx_literal--roughly doubles benchmark
2953 2002-01-14 20:18 dan
2955 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
2957 Courtesy of Nicholas Clark <nick@unfortu.net>
2959 2002-01-14 20:03 dan
2961 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
2962 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
2963 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
2964 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
2965 classes/parrotpointer.pmc, classes/perlarray.pmc,
2966 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2967 classes/perlstring.pmc, classes/perlundef.pmc,
2968 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
2969 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
2970 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
2971 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
2972 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
2973 patch cleans up most of the MSVC-warnings when using warning level
2974 4 (the highest, one above the default level 3). It turns off two
2975 level-4 warnings for 'unreferenced formal parameter' and 'named
2976 type definition in parentheses', the latter of which was turning up
2977 warnings in MS VC headers. Level 4 warnings also helped me find a
2978 couple of other lurking bugs in the parrot code.
2980 Replaces the various fprintf/exit combos with calls to
2981 internal_exception, which uses var_args to emulate printf. Various
2982 exception types were added as well. These are probably temporary
2983 until a real exception system arrives.
2985 Fixed some places in the IO code where wrong functions were being
2986 called, or put into the vtable.
2988 Courtesy of "Michel Lambert" <mlambert@legendent.com>
2990 2002-01-14 19:00 dan
2992 * MANIFEST: D'oh! Forgot a file.
2994 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2996 2002-01-14 18:44 brentdax
2998 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
2999 sense (and a few other enhancements to regexes).
3001 2002-01-14 07:07 brentdax
3003 * interpreter.c, runops_cores.c, test_main.c,
3004 include/parrot/interpreter.h: Make profiling a little more useful.
3006 2002-01-13 19:44 dan
3008 * Configure.pl: Turn off unsed things warnings for now
3010 2002-01-13 19:39 dan
3012 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
3014 classes/perlarray.c: * get_string: is casting
3015 SELF->cache.struct_val to a STRING*, while all other methods are
3016 using it as a KEY*; don't know what a perlarray stringifies to,
3017 so replacing with NULL * get_bool: the default behaviour does not
3020 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3022 2002-01-13 19:37 dan
3024 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
3025 flags to LDFLAGS, so that Configure.pl --debugging works with
3028 classes/Makefile.in make easier to add pmb2c.pl flags to all
3031 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3033 2002-01-13 19:36 dan
3035 * io/io_win32.c: according to my MSVC docs, you should use
3039 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3041 2002-01-13 19:35 dan
3043 * docs/intro.pod: Doc tweak.
3045 Courtesy of Simon Glover <scog@roe.ac.uk>
3047 2002-01-13 19:34 dan
3049 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3054 works with PerlString PMCs; these should be false if they are "",
3056 are undefined, and true in every other case.
3058 Courtesy of Simon Glover <scog@roe.ac.uk>
3060 2002-01-13 19:23 dan
3062 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3063 NUMVAL_FMT to FLOATVAL_FMT.
3065 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3067 2002-01-13 17:45 jgoff
3069 * Makefile.in, global_setup.c, classes/Makefile.in,
3070 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3071 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3072 designing your own classes.
3074 2002-01-13 08:47 simon
3076 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3077 lib/Parrot/OpTrans/CPrederef.pm:
3078 Fix bsr in prederef mode.
3080 Courtesy of: Jason Gloudon <perl@gloudon.com>
3082 2002-01-12 15:33 dan
3084 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3085 string.c, encodings/singlebyte.c, encodings/utf32.c,
3086 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3087 Silence most of the unused variable warnings.
3089 Courtesy of Nicholas Clark <nick@unfortu.net>
3091 2002-01-12 15:18 dan
3093 * rx.ops: This patch fixes a warning and also changes an 'int' to
3094 an 'INTVAL'. All tests should pass on Solaris.
3096 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3098 2002-01-12 15:13 dan
3100 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3101 examples/assembly/life.pasm, include/parrot/interpreter.h,
3102 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3103 io/io_win32.c: More IO work. (Plus some misc twiddles)
3105 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3107 2002-01-12 01:14 dan
3109 * include/parrot/string.h: fix a missing name
3111 2002-01-12 00:39 grunblatt
3113 * include/parrot/string.h: Few typos.
3115 2002-01-12 00:16 grunblatt
3117 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3118 that change the program control flow.
3120 2002-01-11 23:53 brentdax
3122 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3123 ParrotPointer's guts.
3125 2002-01-11 23:03 dan
3127 * include/parrot/string.h: flags for the buffers, for GC
3129 2002-01-11 22:31 dan
3131 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3133 2002-01-11 22:21 dan
3135 * include/parrot/pmc.h: Started with PMC flags
3137 2002-01-11 19:33 dan
3139 * config_h.in, memory.c, resources.c, string.c,
3140 include/parrot/resources.h: Beginnings of a memory allocation/gc
3141 system. Without the GC part.
3143 2002-01-11 18:05 dan
3145 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3148 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3150 2002-01-11 17:50 dan
3152 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3153 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3154 a patch that makes pbc2c generated code work with the bsr opcode.
3155 It creates a new opcode 'enternative', and uses this to support a
3156 mixed model of interpretation and execution of compiled C code.
3158 Courtesy of Jason Gloudon <perl@gloudon.com>
3160 2002-01-11 17:48 dan
3162 * Makefile.in: Add life as a potential .exe target
3164 2002-01-11 17:30 dan
3166 * include/parrot/resources.h: Start of arena stuff for GC
3168 2002-01-11 05:34 brentdax
3170 * rx.ops: Docs modifications.
3172 2002-01-11 04:19 brentdax
3174 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3175 regular expressions.
3177 2002-01-11 03:44 grunblatt
3179 * jit/i386/core.jit: off by one.
3181 2002-01-11 02:25 dan
3183 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3185 Courtesy of Steve Fink <steve@fink.com>
3187 2002-01-11 00:32 brentdax
3189 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3191 2002-01-10 23:22 ajgough
3193 * string.c, docs/strings.pod: Removed all the nul termination code,
3194 as this is in general a bad idea. Note added to docs/strings.pod
3195 to warn people away from assuming termination.
3197 2002-01-10 23:14 dan
3199 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3200 testparrotsizes_c.in, include/parrot/interpreter.h,
3201 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3204 Courtesy of Steve Fink <steve@fink.com>
3206 2002-01-10 22:48 dan
3208 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3211 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3213 2002-01-10 22:46 dan
3215 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3216 t/pmc/perlhash.t: Well, actually two bugs.
3218 The first is an off-by-one error in key.c than can cause parrot
3219 to segfault if hash % NUM_BUCKETS happens to be zero.
3221 The other is a bug in the PerlHash init() code that causes new
3223 PMCs to start with the wrong size.
3225 Both fixed below; also tests to prevent them recurring.
3227 Courtesy of Simon Glover <scog@roe.ac.uk>
3229 2002-01-10 22:30 dan
3231 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3232 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3235 Courtesy of Simon Glover <scog@roe.ac.uk>
3237 2002-01-10 21:31 dan
3239 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3241 2002-01-10 20:30 grunblatt
3243 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3244 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3245 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3246 All the op codes that doesn't change the program control flow now
3247 work in the JIT by calling the code generated by the compiler when
3248 the op is not in core.jit TODO: * Make all the ops that change
3249 the program control flow (and are not on core.jit) work. *
3250 Remove the dispatch payload.
3252 2002-01-10 17:13 dan
3254 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3255 which tries to return 0 from a void function.
3257 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3259 2002-01-10 17:12 dan
3261 * t/op/macro.t: Skip tests, don't comment them out.
3263 Courtesy of Simon Glover <scog@roe.ac.uk>
3265 2002-01-10 17:10 dan
3267 * rx.c: This fixes a couple of nits in rx.c:
3269 1. There's no newline at the end, which makes gcc unhappy.
3270 2. We should use NULL, not 0 or "", for creating null pointers.
3272 Courtesy of Simon Glover <scog@roe.ac.uk>
3274 2002-01-10 17:09 dan
3276 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3280 Courtesy of Simon Glover <scog@roe.ac.uk>
3282 2002-01-10 16:54 ajgough
3284 * resources.c: Made free_string check that there was a string to
3285 free. In reponse to a bug spotted by Joshua Nye.
3287 2002-01-09 22:44 dan
3289 * global_setup.c: Forgot the setup
3291 2002-01-09 22:35 dan
3293 * rx.ops: Forgot this one
3295 2002-01-09 22:35 dan
3297 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3298 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3299 Tests don't work, though.
3301 Courtesy of "Brent Dax" <brentdax@cpan.org>
3303 2002-01-09 21:48 dan
3305 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3307 2002-01-09 21:22 dan
3309 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3310 Generic pointer holder class
3312 Courtesy of "Brent Dax" <brentdax@cpan.org>
3314 2002-01-09 21:19 dan
3316 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3319 2002-01-09 19:54 dan
3321 * io/io_unix.c: Whoops. Forgot one
3323 2002-01-09 19:43 dan
3325 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3326 t/pmc/perlhash.t: Fix hash crash bugs
3328 Courtesy of Simon Glover <scog@roe.ac.uk>
3330 2002-01-09 19:13 dan
3332 * memory.c: Signedness whoops.
3334 Courtesy of Simon Glover <scog@roe.ac.uk>
3336 2002-01-09 18:23 dan
3338 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3339 io/io_stdio.c, io/io_win32.c: Changes:
3341 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3342 will be using the Win32 API and company rather than the unix-ish
3343 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3344 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3345 stuff is there. Soon we should be able to start using these
3346 rather than fprintf(stderr, ...) and remove stdio linkage.
3348 Courtesy of <mrjoltcola@mindspring.com>
3350 2002-01-09 17:26 dan
3352 * test_main.c: Fixes bad code gen on x86.
3354 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3356 2002-01-09 17:24 dan
3358 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3359 classes/perlnum.pmc: This patch adds macros to the config.h file
3360 for INTVAL and NUMVAL printf formats.
3362 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3364 2002-01-08 22:55 ajgough
3366 * docs/vtables.pod: Clarify what get_string should do.
3368 2002-01-08 20:05 dan
3370 * key.c: Keep comments in sync.
3372 Courtesy of Simon Glover <scog@roe.ac.uk>
3374 2002-01-08 19:50 dan
3376 * memory.c, include/parrot/memory.h: Need a realloc
3378 2002-01-08 17:24 gregor
3380 * .cvsignore, Configure.pl, Makefile.in:
3381 Added 'reconfig' make target and corresponding --reconfig option to
3382 Configure.pl, so its very easy to re-run Configure.pl with the last
3383 (command-line) options you passed it.
3385 2002-01-08 16:33 dan
3387 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3388 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3389 in core.ops. Potential help for optimizers and JITters.
3391 Courtesy of gregor@linux1.kennedytech.com
3393 2002-01-08 16:32 dan
3395 * key.c: Grab key length from the right spot
3397 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3399 2002-01-08 13:27 ajgough
3401 * test_main.c: Fix slight thinko in realloc usage for reading from
3404 2002-01-08 11:34 ajgough
3406 * test_main.c: Allow test_parrot to read bytecode stream from
3407 stdin, adds -f command line option, with "-f -" doing the stdin
3410 2002-01-08 06:34 jgoff
3412 * key.c, include/parrot/key.h: key.c - Added simple implementation
3413 of buckets. include/parrot/key.h - Added enum_key_bucket type
3415 2002-01-08 03:21 jgoff
3417 * include/parrot/key.h: Added an undef type to the key structure,
3418 so we can delete keys without confusion.
3420 2002-01-07 22:09 dan
3422 * key.c, packfile.c, string.c, include/parrot/key.h,
3423 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3424 about index being redefined
3426 Courtesy of Nick Clark
3428 2002-01-07 21:15 dan
3430 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3432 Courtesy of Steve Fink <steve@fink.com>
3434 2002-01-07 20:48 dan
3436 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3439 Courtesy of "Brent Dax" <brentdax@cpan.org>
3441 2002-01-07 20:43 dan
3443 * docs/intro.pod: Missing a comma
3445 Courtesy of "coral" <coral@eekeek.org>
3447 2002-01-07 20:41 dan
3449 * global_setup.c: Quiet a warning
3451 Courtesy of Simon Glover <scog@roe.ac.uk>
3453 2002-01-07 18:58 gregor
3456 Ignore intermediate test files.
3458 2002-01-07 17:01 gregor
3461 Print a warning if an .ops file is mentioned more than once on the
3464 2002-01-07 16:12 ajgough
3466 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3467 these shouldn't fail.
3469 2002-01-07 15:15 simon
3471 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3474 2002-01-07 15:11 simon
3477 Fix zero-termination bug in hash function.
3479 2002-01-07 13:37 ajgough
3481 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3482 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3484 2002-01-07 11:53 brentdax
3486 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3487 (:add{foo}) and a new deleting thing (:rem{foo})
3489 2002-01-07 11:43 simon
3492 Gobble the + before concatenating.
3494 2002-01-07 03:53 dan
3496 * Makefile.in: Dependency fix for new ops setup.
3498 2002-01-07 03:33 jgoff
3500 * classes/perlarray.pmc: Add negative indices, and fix a small
3503 2002-01-06 23:54 ajgough
3505 * hints/os2.pl: Makes the hints file take account of ldflags and
3506 ccflags being split. This hints file is still very specific to
3507 builds with gnu tools, but a proper solution can wait. Thanks to
3510 2002-01-06 22:12 dan
3512 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3513 -changes Parrot::OpLib::core's dependencies to reflect the new
3514 selectable ops files -allows some of the special forms of 'goto'
3515 inside the PREAMBLE of an opcode file
3517 Courtesy of "Brent Dax" <brentdax@cpan.org>
3519 2002-01-06 19:59 simon
3524 2002-01-06 18:19 dan
3526 * classes/perlhash.pmc: Fix some type issues.
3528 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3530 2002-01-06 18:03 dan
3532 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3533 for a list of opcode files to use. The default is everything
3534 available except for obscure.ops.
3536 In addition, it makes it so that if your answer to a question
3537 starts with '+', it will concatenate it to the default. For
3540 What C compiler do you want to use? [cl] +HAHAHA!!!
3542 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3543 is not terribly useful, it is quite useful with things like
3544 command-line flags and the like.
3546 Finally, it contains a couple tweaks so that my syntax-highlighting
3547 editor recognizes some heredocs correctly. :^)
3549 Courtesy of "Brent Dax" <brentdax@cpan.org>
3551 2002-01-06 17:59 dan
3553 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3555 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3557 2002-01-06 17:58 dan
3559 * MANIFEST: We're missing a couple of files from the MANIFEST.
3561 Courtesy of Simon Glover <scog@roe.ac.uk>
3563 2002-01-06 17:57 dan
3565 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3566 Compiler directives, etc. in files other than core.ops will now
3567 work. 2. Compiler warnings will now display the file and line
3568 number of the opcode file.
3570 Courtesy of "Brent Dax" <brentdax@cpan.org>
3572 2002-01-06 17:52 dan
3574 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3576 Courtesy of Simon Glover <scog@roe.ac.uk>
3578 2002-01-06 17:36 dan
3580 * docs/intro.pod: Lots of updates
3582 Courtesy of Simon Glover <scog@roe.ac.uk>
3584 2002-01-06 02:34 gregor
3587 Add some internal documentation on the theory of operation of the
3590 2002-01-06 02:17 gregor
3593 Removed unnecessary include.
3595 2002-01-05 12:37 simon
3597 * classes/.cvsignore:
3598 Ignore generated .h files.
3600 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3602 2002-01-05 12:37 simon
3605 Make lcc happier by adding a dummy structure.
3607 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3609 2002-01-05 12:35 simon
3611 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3612 Make perlundef work. (And coincidentally stop segfaults in the
3615 Courtesy of: Jason Gloudon <perl@gloudon.com>
3617 2002-01-05 04:59 dan
3619 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3621 2002-01-05 04:55 jgoff
3623 * classes/perlhash.pmc: Added perlhash class definition
3625 2002-01-05 04:48 dan
3627 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3629 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3631 2002-01-05 03:57 jgoff
3633 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3634 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3635 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3636 t/pmc/pmc.t: Initial hash commit.
3638 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3639 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3640 set_{integer,number,string}_index_s
3642 This does not yet do collision resolution, but will soon.
3644 2002-01-05 02:54 dan
3646 * interpreter.c: More unsigned fixes
3648 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3650 2002-01-04 22:13 dan
3652 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3653 test programs happier.
3655 Courtesy of "Jason Diamond" <jason@injektilo.org>
3657 2002-01-04 19:00 dan
3659 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3662 2002-01-04 18:27 dan
3664 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3665 Fixes to get things configuring and building on Win32 Native.
3667 Courtesy of "Jason Diamond" <jason@injektilo.org>
3669 2002-01-04 17:39 dan
3671 * hints/vms.pl: debug cleanup
3673 2002-01-04 16:53 dan
3675 * docs/parrot.pod: The enclosed patch brings the list of
3676 documentation in parrot.pod
3679 Courtesy of Simon Glover <scog@roe.ac.uk>
3681 2002-01-04 16:47 dan
3683 * test_main.c, Parrot/Jit/i386-linux.pm,
3684 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3687 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3689 2002-01-04 16:44 dan
3691 * Configure.pl, Makefile.in: Fixed linking to use linker.
3693 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3695 2002-01-04 16:39 dan
3697 * io/io_stdio.c: Added CVS tag info
3699 2002-01-04 16:35 dan
3701 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3704 2002-01-04 16:26 dan
3706 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3709 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3711 2002-01-04 16:17 dan
3713 * chartypes/unicode.c: Silence some warnings.
3715 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3717 2002-01-04 16:09 dan
3719 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3720 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3721 into generated files
3722 but the $Id$ string gets mangled when it's committed.
3723 This patch fixes the existing .pmc files and fixes genclass.pl.
3725 - Makes capitalization in .pmc header match actual filenames
3727 - The command for calling genclass.pl in vtables.pod is incorrect,
3728 since it assumes you're running in classes/ but genclass.pl
3730 it's being run from the main directory. I changed genclass.pl to
3734 Courtesy of Steve Fink <steve@fink.com>
3736 2002-01-04 03:57 dan
3738 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3739 me--I *had* the files:wq!
3741 2002-01-04 03:40 dan
3743 * MANIFEST: Whoops--remove files not really there
3745 2002-01-04 03:37 dan
3747 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3748 my sig adds a new_stack() function to take care of the allocation
3749 and setup of "generic" stacks.
3751 Courtesy of "Brent Dax" <brentdax@cpan.org>
3753 2002-01-04 02:36 dan
3755 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3757 writes a load of junk in core_ops.pod. Applied patch fixes.
3759 Courtesy of Simon Glover <scog@roe.ac.uk>
3761 2002-01-04 02:35 dan
3763 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3764 logical-or is using get_integer instead of get_bool for logical
3765 operations. This patch corrects that.
3767 Perlnum and perlstring have working get_bool's, so the default
3768 logical_or and logical_and should be sufficient. The empty methods
3769 are pointed to the default logical_or.
3771 Courtesy of Jason Gloudon <perl@gloudon.com>
3773 2002-01-04 02:31 dan
3775 * Makefile.in: docs/Makefile should be removed by realclean, but
3778 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3780 2002-01-04 02:29 dan
3782 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3784 Courtesy of Steve Fink <steve@fink.com>
3786 2002-01-04 00:51 dan
3788 * docs/vtables.pod: More docs
3790 Courtesy of Steve Fink <steve@fink.com>
3792 2002-01-04 00:47 dan
3794 * Configure.pl: Updated 64-bit patch
3796 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3798 2002-01-04 00:43 dan
3800 * Configure.pl: 64-bit Fix.
3802 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3804 2002-01-03 22:37 dan
3806 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3807 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3808 some buffering work. Additional work on other layers.
3810 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3812 2002-01-03 19:41 gregor
3814 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3815 Updated copyright messages on top-level files.
3817 2002-01-03 04:23 robert
3819 * make.pl: Add author information. Bonsai test.
3821 2002-01-03 04:02 dan
3823 * io/io_os.c: Twig Bonsai
3825 2002-01-03 03:45 dan
3827 * io/: io_os.c, io_os.c: Twig Bonsai
3829 2002-01-03 03:41 dan
3831 * io/io_os.c: Twig Bonsai
3833 2002-01-02 21:42 gregor
3835 * packfile.c, include/parrot/packfile.h:
3836 Get rid of warnings in packfile.[hc]
3838 2002-01-02 20:39 gregor
3841 Bracketed translated patterns with ^ and $.
3843 2002-01-02 20:11 dan
3845 * io/io_os.c: silence a warning
3847 2002-01-02 19:52 grunblatt
3849 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3850 op_assembly to jit_struct.h, so that we get the real number of ops.
3851 Removed some warnings.
3853 2002-01-02 19:31 tom
3855 * string.c: Fix string transcoding so that it actually works.
3857 Patch from Peter Gibbs <peter@emkel.co.za>
3859 2002-01-02 19:20 gregor
3862 A program to check the MANIFEST file, accounting for .cvsignore
3865 2002-01-02 19:19 dan
3867 * t/harness: twig bonsai
3869 2002-01-02 19:13 dan
3871 * t/harness: twig bonsai
3873 2002-01-02 18:54 dan
3875 * t/harness: Tweak to test Bonsai
3877 2002-01-02 16:27 dan
3879 * Configure.pl: Allow 64-bit build of parrot on systems with a
3880 mixed 32/64 bit perl
3882 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3884 2002-01-02 15:33 simon
3886 * MANIFEST, docs/Makefile:
3887 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3889 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3891 2002-01-02 13:51 simon
3894 Die on broken manifest.
3896 2002-01-02 13:48 simon
3898 * jit2h.pl, examples/assembly/mops.pasm:
3899 Clear up JIT warnings.
3901 Courtesy of: Nick Clark <nick@unfortu.net>
3903 2002-01-02 04:10 dan
3905 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
3906 only once, so new interp creation works again
3908 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3910 2002-01-02 03:32 dan
3912 * t/op/interp.t: Stubbed the test out, since it's hanging at the
3915 2002-01-02 00:55 dan
3917 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
3918 io/io_os.c: Initial IO system patches
3920 Courtesy of <mrjoltcola@mindspring.com>
3922 2002-01-01 22:55 ajgough
3924 * classes/default.pmc: On second thoughts, and some prodding, the
3925 set_* methods now only set the appropriate part of the cache, and
3928 2002-01-01 22:29 ajgough
3930 * classes/default.pmc: Wrote a whole host of default pmc methods.
3932 set_* create appropriate Perl* result.
3933 get_* simply grabs needed bit of cache.*_val
3935 Other methods do the rightest thing I can think of, at the moment.
3937 None yet cope with overflow, the modulus operation needs to be
3939 I don't know quite which semantics we really want.
3943 2002-01-01 20:23 dan
3945 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
3946 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
3947 rid of unneeded tmp var and eliminated const from encode prototype
3948 since it does make changes to the string.
3950 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3952 2002-01-01 20:11 dan
3954 * Makefile.in: Make clean now tosses pdump.o
3956 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3958 2002-01-01 19:49 dan
3960 * pdump.c, test_main.c: Warnings cleanup
3962 Courtesy of Josh Wilmes <josh@sky.net>
3964 2002-01-01 19:45 dan
3966 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
3967 hints/mswin32.pl, languages/jako/Makefile.in,
3968 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
3971 Courtesy of "Jason Diamond" <jason@injektilo.org>
3973 2002-01-01 19:41 dan
3975 * include/parrot/register.h: Clean up some warnings
3977 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3979 2002-01-01 19:10 simon
3981 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3982 Hack-around to enable compilation of code using vtable ops.
3984 2002-01-01 18:43 dan
3986 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
3987 checks on unsigned things
3989 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3991 2002-01-01 18:26 dan
3993 * runops_cores.c: More warning silences.
3995 Courtesy of Nicholas Clark <nick@unfortu.net>
3997 2002-01-01 18:25 dan
3999 * trace.c: Shuts up a warning.
4001 Courtesy of Nicholas Clark <nick@unfortu.net>
4003 2002-01-01 18:24 dan
4005 * encodings/singlebyte.c: Clean up some warnings.
4007 Courtesy of Nicholas Clark <nick@unfortu.net>
4009 2002-01-01 18:20 dan
4011 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4014 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4016 2002-01-01 18:17 dan
4018 * packfile.c: Warning cleanup
4020 Courtesy of Nicholas Clark <nick@unfortu.net>
4022 2002-01-01 17:53 dan
4024 * string.c: New string size should be based on output encoding's
4025 size, not input encoding's size.
4027 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4029 2002-01-01 17:22 dan
4031 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4032 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4033 include/parrot/interpreter.h, include/parrot/memory.h,
4034 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4037 Courtesy of Chip Turner <cturner@redhat.com>
4039 2002-01-01 17:09 dan
4041 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4042 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4043 now unsigned, as is proper.
4045 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4046 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4048 2002-01-01 16:59 dan
4050 * include/parrot/trace.h: Useless debugging prototype removed
4052 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4054 2002-01-01 16:58 dan
4056 * MANIFEST: We forgot a file.
4058 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4060 2002-01-01 03:53 dan
4062 * Configure.pl: Okay, I give. Removed some warnings because the
4063 darned system headers were triggering them. Sloppy, sloppy
4066 2002-01-01 03:48 dan
4068 * config_h.in: Add in an unsigned INTVAL.
4070 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4072 2002-01-01 03:46 dan
4074 * global_setup.c: Clean up some compiler warnings.
4076 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4078 2002-01-01 03:43 dan
4080 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4081 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4082 include/parrot/op.h: Cleaned up some things to make the compiler
4085 Courtesy of Nicholas Clark <nick@unfortu.net>
4087 2002-01-01 03:14 dan
4089 * Configure.pl: Quad updates.
4091 Courtesy of Nicholas Clark <nick@unfortu.net>
4093 2001-12-31 22:53 dan
4095 * include/parrot/op.h: Typedef had parameters backwards. Threw
4096 core.ops for a big whiny warnings loop.
4098 2001-12-31 22:37 dan
4100 * Makefile.in, resources.c: Tweaks to try and get things to build
4103 2001-12-31 21:58 dan
4105 * Configure.pl: Stupid thinko fix
4107 2001-12-31 21:34 dan
4109 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4111 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4113 2001-12-31 21:32 dan
4115 * Configure.pl: Fix for non-gcc systems
4117 2001-12-31 20:22 dan
4119 * interpreter.c: Tweak so we can build on non-JIT platforms
4121 2001-12-31 20:11 dan
4123 * Configure.pl: Force the time on some copied files to be 'now' to
4124 make the Win builds much less annoying.
4126 Courtesy of "Jason Diamond" <jason@injektilo.org>
4128 2001-12-31 20:07 dan
4130 * Configure.pl: Nuke all object files in the parrot tree that
4131 matter when configuring. Shouldn't be necessary with good
4132 dependencies in the makefile, but we don't have those yet.
4134 2001-12-31 20:00 gregor
4136 * chartypes/unicode.c:
4137 Silence unused variable warnings.
4139 2001-12-31 19:40 dan
4141 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4143 2001-12-31 19:37 gregor
4145 * interpreter.c, jit.c, include/parrot/jit.h:
4146 Created a prototype for JIT functions and used it in interpreter.c.
4148 2001-12-31 19:31 dan
4150 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4151 detection) with really cranky warnings if we find we're using it.
4153 Courtesy of: Nicholas Clark <nick@unfortu.net>
4155 2001-12-31 18:01 gregor
4157 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4159 Fixed a few warnings wrt prototypes, etc.
4161 2001-12-31 17:23 dan
4163 * string.c: Silenced most of the compiler whines
4165 2001-12-31 17:15 gregor
4168 Get the ccname from either ccname or just cc config var.
4170 2001-12-31 17:14 gregor
4172 * Parrot/Op.pm, lib/Parrot/Op.pm:
4173 Another intermediate opbody notation. Could come in handy. Explicit
4176 2001-12-31 17:05 dan
4178 * string.c: Minor warnings update
4180 2001-12-31 17:00 dan
4182 * include/parrot/string.h: Warnings cleanup
4184 2001-12-31 16:00 simon
4186 * encodings/utf8.c, include/parrot/encoding.h:
4187 Remove a couple more.
4189 2001-12-31 15:58 simon
4191 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4192 include/parrot/op.h:
4193 Rid ourselves of a few warnings.
4195 2001-12-31 15:32 dan
4197 * Configure.pl: Made GCC ever so much pickier.
4199 Switch list courtesy of Jarkko.
4201 2001-12-31 15:22 dan
4203 * string.c: Tightened up initial allocation.
4205 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4207 2001-12-31 06:48 dan
4209 * Configure.pl: Minor Windows tweak
4211 2001-12-31 05:32 dan
4213 * core.ops: Unused temp variable tossed.
4215 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4217 2001-12-31 05:09 grunblatt
4219 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4220 supported plataforms
4222 2001-12-31 03:05 dan
4224 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4225 platform-independent quote substitution for the makefiles.
4226 Hopefully this'll make the Win32 builds happier.
4228 2001-12-30 21:08 dan
4230 * string.c, include/parrot/string.h: More string system tweaks.
4232 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4234 2001-12-30 20:45 dan
4236 * core.ops: Some pod cleanup
4238 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4240 2001-12-30 20:22 ajgough
4242 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4243 we aren't using them right now. Clarified the workings of set Px,
4244 Py and clone Px, Py.
4246 2001-12-30 20:15 grunblatt
4248 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4249 Added readjit() to read *.jit files Updated core.jit to the new
4252 2001-12-30 20:14 ajgough
4254 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4256 2001-12-30 19:52 dan
4258 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4259 include/parrot/trace.h, platforms/generic.c: Compiler whine
4262 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4264 2001-12-30 19:13 dan
4266 * Configure.pl, Makefile.in: Make GCC pickier by default.
4268 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4270 2001-12-30 18:41 dan
4272 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4273 ntoi opcodes to sets.
4275 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4277 2001-12-30 17:58 gregor
4280 'make' no longer builds the mops test. Use 'make mops' for that. To
4281 run the test, you can do 'make mopstest'.
4283 2001-12-30 17:30 gregor
4286 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4289 2001-12-30 17:26 gregor
4291 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4292 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4293 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4294 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4295 Build enhancements. Originally to support building shared
4296 libraries, but now of broader impact.
4298 * .cvsignore: Ignore the blib/ directory, about which more later.
4302 * Got rid of TAB formatting and lined a few things up.
4304 * Added header comment with CVS Id variable, and a few other
4305 block header comments.
4307 * Uses new Parrot::BuildUtil module to determine the Parrot
4310 * Reworded a few messages, added a couple, and wrapped
4314 * Added 2002 to the Copyright statement.
4316 * Added new configure variables: VERSION, MAJOR, MINOR and
4319 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4321 than 5.6.0, but the comment implies it isn't.
4325 * Added $(SO), $(A) and $(AR_CRS) defines for library
4328 * Added $(RM_RF) define for removing directory trees
4330 * Grouped generated files into two classes: "sticky" (made by
4332 persisting across 'make clean') and 'fluid' (made during
4334 process, deleted by 'make clean').
4336 * Added header comments.
4338 * Added target for test_prog linked with shared library.
4340 * Added rules to build shared libraries in blib/lib. The
4342 built with trailing version numbers in their file names,
4344 symbolic links are created for shorter and no version tag
4347 * Added some missing dependencies
4349 * Added some missing 'make clean' targets.
4351 * Added 'make realclean' target that deletes files created by
4352 Configure.pl (including Makefile), forcing a re-configure.
4354 * Added a 'status' CVS target.
4356 * VERSION: New file, contains only the version. This version
4358 propagated to a few places, such as the core oplib version
4360 reduces the amount of coordination that has to happen to get
4362 number stuff throughout the tree in sync and updated prior to
4364 a new release. Feel free to grep for '0.0.3' to see the other
4366 that contain the version number (but, do that in a fresh CVS
4368 after doing 'make realclean').
4370 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4372 since the oplib and Parrot itself share a version number now.
4374 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4378 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4380 specifying the version by hand. Non-core oplibs will set this
4382 a quoted dot-string with three natural number components
4386 * interpreter.c: Make use of PARROT_VERSION to simplify some
4388 to get the complete version number in the resulting strings
4392 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4396 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4398 * ops2c.pl: Account for the PATCH version, too. This affects the
4400 oplib init function, and the oplib info struct initializer.
4402 * Parrot/BuildUtil.pm: New file for reading in and validating the
4404 the new VERSION file. Other build utilities could go here in
4407 * Parrot/OpsFile.pm:
4409 * Allow three components in version number, and require that
4411 be in double quotes.
4413 * Allow "VERSION = PARROT_VERSION", substituting the shared
4415 VERSION in that case.
4417 * include/parrot/oplib.h: Add the patch_version member.
4419 2001-12-30 12:16 simon
4421 * MANIFEST, Makefile.in:
4422 More stuff forgotten from MANIFEST.
4424 2001-12-30 12:13 simon
4429 2001-12-30 12:12 simon
4434 2001-12-30 12:12 simon
4439 2001-12-30 12:04 simon
4441 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4442 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4443 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4444 include/parrot/string.h, t/op/string.t:
4445 * Expand the strings test suite to be more complete * Make string
4446 commands more consistent (i.e, now the only string command that
4447 actually changes the original is chopn) * Significantly reduce the
4448 number of memory allocations and eliminate reallocations.
4450 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4452 2001-12-29 22:12 dan
4454 * interpreter.c, key.c, register.c, stacks.c, string.c,
4455 test_main.c, trace.c: Updates to match the coding standards.
4457 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4459 2001-12-29 20:42 grunblatt
4461 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4462 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4463 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4464 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4465 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4466 Kitover <caelum@debian.org>
4468 2001-12-28 21:20 dan
4470 * core.ops: Okay, now print takes a preceding file handle.
4472 I feel so dirty now.
4474 2001-12-28 20:46 dan
4476 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4477 changing the open op to use fopen under the hood.
4479 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4481 2001-12-28 18:20 ajgough
4483 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4484 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4485 include/parrot/exceptions.h, include/parrot/string.h,
4486 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4487 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4488 vtables appropriately. Also tests for same, new pmc_perlstring.t
4489 to hold tests specific to PerlStrings, as the pmc.t file is taking
4490 too long to run and slowing down my thought processes.
4492 Changes to strings.c etc to take string functions.
4494 Some changes to the strings docs, but not yet complete.
4496 Also, PerlString was copying pointers to strings, rather than
4497 strings themselves, so some action-at-a-distance bugs were creeping
4498 in, I think I've fixed this so everything works nicely.
4500 2001-12-28 04:56 gregor
4502 * examples/assembly/pmcmops.pasm:
4503 PMC-using version of mops.pasm.
4505 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4507 2001-12-28 04:56 gregor
4509 * examples/assembly/.cvsignore:
4510 Small tinkering. Removed old stuff, etc.
4512 2001-12-28 01:26 gregor
4514 * examples/mops/mops.scheme:
4515 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4516 to the very un-scheme-like implementation.
4518 2001-12-28 01:19 gregor
4520 * examples/mops/mops.c:
4521 Some people's picky compilers don't like us redefineing time(), so
4522 we call it time_n(). :)
4524 2001-12-28 00:28 gregor
4526 * examples/mops/: README, mops.ps:
4527 Added a PostScript example and a README.
4529 2001-12-27 23:57 gregor
4532 Build the C mops translation in examples/mops/mops.c
4534 2001-12-27 23:56 gregor
4536 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4537 Some translations of mops.pasm into other languages, for inner loop
4538 performance comparisons.
4540 2001-12-27 22:40 gregor
4542 * examples/assembly/mops.pasm:
4543 Fixed erroneous file name in header comment.
4545 2001-12-27 21:18 gregor
4548 One-liner to avoid no-op gotos to the next op.
4550 2001-12-27 21:06 gregor
4553 Fixed -p (profiling). Slow runops core was doing unconditional
4554 tracing, when it should have been checking the flags.
4556 2001-12-27 18:50 ajgough
4558 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4559 classes/perlstring.pmc, include/parrot/chartype.h,
4560 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4561 dded get_digit() to chartypes * Added string_bool() to strings *
4562 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4563 to perlstring.pmc * Tests for above, also a for couple of other
4566 The unicode chartype has only had placeholders added for get_digit,
4567 string_to_num has been updated to use type->get_digit rather than
4568 the previous ascii-isms. Some remain, but we need to carefully
4569 define what we mean by a number before we let thousands of code
4570 points act as a minus sign.
4572 2001-12-27 18:32 dan
4574 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4577 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4579 2001-12-27 18:23 dan
4581 * t/op/bitwise.t: More tests.
4583 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4585 2001-12-27 17:08 gregor
4587 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4588 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4589 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4590 include/parrot/interpreter.h, include/parrot/oplib.h,
4591 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4592 platforms/win32.c, platforms/win32.h:
4593 Initial code for dynamic loading of oplibs, applied for now to the
4594 loading of the core_prederef oplib when the -P flag is passed to
4597 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4601 * Added libcore_prederef_0_3.so to the shared target.
4602 * Added build rule for libcore_prederef_0_3.so.
4603 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4604 to Parrot/OpLib/core.pm, core_ops.c and
4605 core_ops_prederef.c.
4607 * config_h.in: Added defines for constants used to locate the
4608 core oplib's init function, and the core_prederef oplib for
4611 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4612 required by Parrot/OpsFile.pm.
4616 * Added init_prederef() and stop_prederef() functions to load
4617 and unload the core_prederef oplib when we are in prederef
4620 NOTE: In all likelihood, the prederef stuff has a rapidly
4621 dwindling time-to-live. The JIT should provide vastly
4623 performance, and loading an alternate set of core_ops isn't
4624 the real direction for the dynaloading stuff. Loading
4625 *additional* ops is. It does provide a handy test case for
4627 general idea for now, though.
4629 * Gets the core copcode table, etc. via the core oplibs oplib
4630 info pointer, as returned by the core oplib's init
4635 * Make use of the version, major version and minor version
4636 stuff parsed by Parrot/OpsFile.pm
4638 * The only exported symbol in the generated files is the init
4639 function now, since that returns an oplib info struct
4640 pointer, and all the important stuff can be found there.
4642 * ops2pm.pl: Put the oplib version in the generated .pm file.
4644 * test_main.c: Small changes necessitated by changes in the names
4645 of some members of the interpreter struct.
4647 * trace.c: Small changes necessitated by changes in the names
4648 of some members of the interpreter struct.
4650 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4653 * include/parrot/interp_guts.h: Small changes necessitated by
4654 changes in the names of some members of the interpreter struct.
4656 * include/parrot/interpreter.h: Include the new
4657 include/parrot/oplib.h header. Small changes to the oplib-
4660 * include/parrot/oplib.h: Define the type of the oplib init
4661 function, and the struct type for the oplib info.
4663 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4664 since not all platforms have it. For those that do, a default
4665 second argument is provided.
4667 2001-12-26 05:12 gregor
4670 Make jitarch calculation not get tripped up by extra components to
4673 2001-12-24 21:23 gregor
4675 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4676 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4677 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4678 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4679 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4680 Some more JIT work from Daniel Grunblatt.
4682 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4686 * Added JUMP(END) to place the number of bytes to the end of the
4690 * The *.jit files syntax changed.
4692 * Added jit/i386/lib.jit to place handly functions as jump that
4694 argument the address where is the opcode number to jump to.
4696 * There is a bug at some point, but I will start writing
4697 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4699 calls, which make the jit as slow as the interpreter.
4701 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4703 2001-12-24 03:46 dan
4705 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4706 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4707 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4708 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4709 Perls before 5.6.0 don't like it.
4711 2001-12-22 16:02 ajgough
4713 * t/op/stacks.t: stopped skipping tests we can run now. added
4716 2001-12-21 21:13 gregor
4718 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4719 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4720 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4721 Fixed some package name goofs.
4723 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4725 2001-12-21 19:32 gregor
4727 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4728 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4729 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4730 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4731 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4732 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4733 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4734 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4735 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4736 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4739 * Removed ops2c-prederef.pl
4741 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4743 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4744 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4745 for old functionality of ops2c-prederef.pl), and
4746 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4748 "OpTrans" == "Op Transformation"
4750 * Makefile.in modifications to call "ops2c.pl C" where it used
4751 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4752 to be "ops2c-prederef.pl".
4754 * core.ops and obscure.ops changes to syntax. Semantics are
4755 identical with previous version:
4757 return HALT --> HALT()
4758 return AUTO --> goto NEXT()
4759 return RETREL(...) --> goto OFFSET(...)
4760 return RESTART(*) --> restart NEXT()
4762 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4763 for dest-less branch ops replaced with new notation "goto
4765 which uses the new pop_dest() function in stacks.c. This also
4766 allowed these ops to become 'inline' ops, since they no longer
4767 have local variables.
4769 The 'ret' op also became simplified to just "goto POP()", and
4770 also became an inline op.
4772 * interpreter.c reflects the change in type name:
4774 prederef_op_func_t --> op_func_prederef_t
4776 that occurred in include/parrot/op.h
4778 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4781 * ops2c.pl is now generic. Its first argument is the last
4782 package name component of a subclass of Parrot::OpTrans. These
4783 subclasses all have full names of the form Parrot::OpTrans::*.
4784 An instance of the class is created and later consulted for
4785 various bits of information needed to generate the C code.
4787 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4788 contain its transformation rules.
4790 * stacks.c has a new function pop_dest() that pops a destination
4791 off the control stack. include/parrot/stacks.h has the
4794 * Parrot/Op.pm now supports the syntax generated by
4796 for the "goto POP" case.
4798 Also, the source() method now expects its second argument to be
4799 an object that ISA Parrot::OpTrans. Methods of this object are
4800 called to perform the substitutions.
4802 * Parrot/OpsFile.pm supports the change in notation mentioned
4805 * docs/intro.pod reflects these changes.
4807 * include/parrot/op.h: Renamed type prederef_op_func_t to
4808 op_func_prederef_t because it made the implementation of the
4809 shared ops2c.pl easier.
4811 2001-12-21 13:47 gregor
4813 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4814 Both test_parrot (via test_main.c) and the intepreter itself (via
4815 interpreter.c) use the JIT_CAPABLE config to decide whether to
4816 actually attempt JIT operation, or to complain.
4818 2001-12-20 23:25 gregor
4820 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4821 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4822 Changes to the format of *.ops files. An attempt to provide hints
4823 for future opfunc processing logic that wants to know if an opfunc
4824 is simple enough to JIT (e.g.) inline, or not.
4826 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4827 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4830 2001-12-20 21:28 gregor
4832 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4836 * A fix to Gregor's last Configure.pl update.
4838 * Remove the need for hardcoded "\n" at the end of the "%f"
4839 format for printing floating-point numbers.
4841 * New, improved *.jit syntax for references to registers,
4844 * Support for C() improved.
4846 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4848 2001-12-20 16:55 dan
4850 * MANIFEST: Added jit.c to the manifest.
4852 2001-12-20 15:24 simon
4855 Off-by-one error fixed.
4857 2001-12-20 14:18 simon
4859 * jit/i386/core.jit:
4860 Just a noop. It's the only machine code I know.
4862 2001-12-20 13:10 gregor
4864 * Configure.pl, Makefile.in, jit2h.pl:
4865 Attempt to fix Win32 builds.
4867 * No more empty braces in include/parrot/jit_struct.h
4871 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4875 2001-12-20 11:56 simon
4880 2001-12-20 01:57 gregor
4882 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4883 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4884 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4885 include/parrot/.cvsignore, include/parrot/interpreter.h,
4886 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4887 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4888 lib/Parrot/Jit/i386-nojit.pm:
4889 Initial JIT implementation.
4891 * Enabled with test_parrot -j. 20x speed boosts seen.
4893 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4897 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4899 2001-12-20 01:53 jgoff
4901 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4902 core.ops - Removed key operators, they should be hidden from the
4903 assembler. t/op/key.t - No need to test the nonexistent key
4906 2001-12-20 00:13 ajgough
4908 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
4909 that asking for type of entry at depth causes segfault as stack is
4910 zero based, fixed cmp in core.ops to reflect this. Last test is
4911 skipped as we don't do exceptions right yet.
4913 2001-12-19 19:11 ajgough
4915 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
4916 non-being was causing Irix "issues".
4918 2001-12-19 03:37 jgoff
4920 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
4921 004_combined.t: Changed tests to make sure they pass with the
4922 addition of the clone operator.
4924 2001-12-18 20:06 gregor
4926 * interpreter.c, include/parrot/interp_guts.h:
4927 Performance improvements to the predereferencing code path
4928 suggested to me over lunch yesterday by my friend John Kennedy.
4929 The goal is to remove the additional test in the inner loop that
4930 was checking for NULL to decide whether or not to call the
4931 prederef() function. Also moved pc & pc_prederef syncing outside
4934 * Changed the prototype of the prederef() function in
4935 interpreter.c to match that of an opfunc.
4937 * Instead of initializing the prederef void * array with NULL,
4938 we initialize it with pointers to prederef().
4940 * prederef() now returns the prederef_pc passed in, so that
4941 after predereferencing, the same location is executed, but now
4942 with the real code being called.
4944 Thanks to: John Kennedy
4946 2001-12-18 19:59 ajgough
4948 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
4949 (including some more in the skipped string -> int tests).
4951 2001-12-18 07:06 jgoff
4953 * MANIFEST: Forgot to add classes/perlarray.pmc
4955 2001-12-18 07:05 jgoff
4957 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
4958 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
4959 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
4960 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
4961 t/pmc/pmc.t: Big update... Makefile.in - Added
4962 classes/perlarray.pmc core.ops - Added new series of set() ops for
4963 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
4964 Added perlarray.pmc classes/*.pmc - Added
4965 set_{integer,number,string}_index and
4966 get_{integer,number,string}_index include/parrot/pmc.h - Added new
4967 type t/op/pmc.t - Added basic array test
4969 classes/perlarray.pmc - Added
4971 2001-12-17 05:29 jgoff
4973 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
4974 generator to use clone operator instead of set Px,Py
4976 2001-12-17 05:25 jgoff
4978 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
4979 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
4980 PMC,PMC operator. Uses the clone() vtable entries.
4982 2001-12-17 04:51 jgoff
4984 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
4987 2001-12-17 04:41 jgoff
4989 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
4992 2001-12-17 04:41 jgoff
4994 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
4996 2001-12-17 04:39 jgoff
4998 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
4999 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5002 2001-12-17 04:27 jgoff
5004 * languages/miniperl/Miniperl.pm: Latest version of the driver.
5005 Admittedly it's a little thin on true OO, but the algorithms are
5008 2001-12-17 04:24 jgoff
5010 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5011 003_generator.t, 004_combined.t: Much more comprehensive test suite
5012 for the codegen et al
5014 2001-12-17 04:22 jgoff
5016 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5017 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5020 2001-12-17 04:20 jgoff
5022 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5025 2001-12-17 04:17 jgoff
5027 * languages/miniperl/foo.mpl: Test file that'll be outdated by
5028 changes to the new compiler
5030 2001-12-17 04:11 jgoff
5032 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5035 2001-12-16 14:11 simon
5037 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5039 Fix bogus assumption that multiplying an integer by an integer
5042 2001-12-16 12:48 simon
5044 * make_vtable_ops.pl:
5047 2001-12-16 12:45 simon
5049 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5050 Expand multimethod vtable ops.
5052 2001-12-16 12:04 simon
5055 Added 'cvsclean' which doesn't zap CVS/* directories.
5057 2001-12-15 01:50 dan
5059 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5062 Thanks to grunblatt fom #parrot for the catch
5064 2001-12-15 01:39 dan
5066 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5067 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5068 languages/miniperl/Makefile.in,
5069 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5070 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5073 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5075 2001-12-14 17:39 dan
5077 * t/op/trans.t: More trans tests.
5079 Courtesy of: Simon Glover <scog@roe.ac.uk>
5081 2001-12-14 07:41 robert
5083 * make.pl: - define MAKE macro - topological sort and subgraph
5084 order - start of timestamp stuff (still badly broken)
5086 2001-12-14 06:06 jgoff
5088 * optimizer.pl: Hopefully this should do the trick..
5090 2001-12-14 06:04 jgoff
5092 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5094 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5096 The optimizer performs its work on a file post-macro expansion.
5097 Run it on a .pasm file, preferably with some trivially reducible
5099 like 'add I0,5,-6' or 'mul I0,I1,0'
5101 2001-12-14 05:48 robert
5103 * Makefile.in: case error EXE -> exe
5105 2001-12-14 05:42 robert
5107 * Makefile.in: remove legacy PDISASM macro
5109 2001-12-14 04:01 dan
5111 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5114 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5116 2001-12-13 22:03 dan
5118 * Configure.pl, Makefile.in, Parrot/Test.pm,
5119 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5120 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5121 can change it without having to change the world.
5123 2001-12-13 21:57 dan
5125 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5126 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5127 file/line/package to interp structure, with ops to get and set
5128 them. Now we can know where we are!
5130 2001-12-13 19:43 dan
5132 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5133 WinXP builds work out of the box
5135 2001-12-13 17:05 dan
5137 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5138 name again--makes case-insensitive systems much happier.
5140 2001-12-13 16:21 dan
5142 * core.ops, key.c, string.c, test_main.c, trace.c,
5143 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5146 Courtesy of: Josh Wilmes <josh@sky.net>
5148 2001-12-13 13:33 gregor
5150 * languages/jako/Makefile.in:
5151 Improved the method of calling the assembler.
5153 2001-12-13 13:30 gregor
5155 * languages/jako/Makefile.in:
5156 Improve the build process. It now works from the main parrot dir,
5157 and from the languages/jako directory. Now uses the .SUFFIXES
5158 target and generic build rules to reduce clutter in the
5161 2001-12-13 13:29 gregor
5163 * languages/jako/.cvsignore:
5164 Ignore the (now generated Makefile), and don't ignore .list files
5165 anymore, since we aren't generating them.
5167 2001-12-13 13:11 gregor
5169 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5170 languages/Makefile.in, languages/jako/Makefile,
5171 languages/jako/Makefile.in:
5172 Added a 'languages' target to the top-level Makefile.in, and
5173 modified the jako build procedure to involve Makefile.in -->
5174 Makefile too (done by Configure.pl).
5176 NOTE: languages/jako and language/scheme are built.
5177 languages/miniperl wasn't building right, so it was left off for
5180 2001-12-13 12:15 gregor
5183 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5186 2001-12-13 12:12 gregor
5188 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5189 ops2c-prederef.pl, ops2c.pl, test_main.c,
5190 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5191 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5192 Welcome to the Just-in-Time Predereferencing Patch!
5194 This patch implements a "predereferencing" mode for parrot. That
5195 means that a lot of the dereferencing you see in DO_OP and in the
5196 opfuncs is done up front (really, JIT) rather than as and each time
5197 we execute each op in the byte code stream.
5199 This works by creating an array of void pointers with the same
5200 number of elements as the byte code array. This array starts out
5201 life zero-initialized. Each time we go to execute an op, we check
5202 first to see if we have a NULL pointer at *cur_opcode. If so, we
5203 know we haven't done our predereferencing yet (this is the JIT
5204 part), so we call the prederef() function with sufficient args that
5205 it can go look up opfunc pointers and op arg types and put the
5206 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5207 where N is the number of args (counting the op itself as one arg).
5209 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5210 to have inline INTVAL constants.
5212 I've been getting about a 22% speed increase over vanilla code path
5213 when I compile with -O0. Advantage decreases at -O9 here. I tested
5214 with mops.pbc, and also by temporarily putting the -P flag in
5215 Parrot/Test.pm and running all the tests. So, this code is as
5216 correct as the test suite can detect.
5218 Here's how it plays out in the code:
5220 * New script ops2c-prederef.pl
5222 Copy-paste code reuse from ops2c.pl. Modified to expect the
5224 a void ** cur_opcode and to return a void **.
5228 * opfuncs are now static. Who needs to call them by name from
5230 anyway? They are accessed via the opfunc table.
5232 * Some MACRO stuff to make things work whether we prederef or
5234 may be possible to get rid of these some day if other folks
5236 that we should be using CODE object pointers + offsets as
5238 rather than raw pointers to either opcode_t's or (void *)'s
5239 (depending on prederef mode or no).
5241 * core.ops modified to be usable to build both kinds of opfuncs.
5245 * calls to push_generic_entry(... cur_opcode ...) were
5247 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5249 macro that does the right thing in both kinds of ops.c
5252 This is applicable to the bsr op. If we treated
5254 (Code PMC + local offset) rather than as
5255 pointer-to-memory-somewhere,
5256 this wouldn't be a big deal. We may need to do that at some
5258 anyway, so that when you jump around and return not only do
5260 the right PC (pointer, today), but you also have the
5262 knowing what chunk of bytecode it is in at all times
5264 allow reflection, as in ops that query or affect the
5267 * runinterp was modified. Instead of copying the top-level
5269 and blasting its byte_code pointer, we simply call runops
5271 interp, passing in the pointer to the current interp's code
5273 offset into that code at which to start (this last arg used
5275 pointer PC, now its an offset PC).
5277 * include/parrot/op.h
5279 * new typedef for prederef opfuncs (they return void **)
5281 * include/parrot/interp_guts.h
5283 * New DO_OP_PREDEREF() macro described above.
5285 * include/parrot/interpreter.h
5287 * New prototype of runops() -- see below.
5289 * resume_addr field changed to resume_flag and resume_offset
5291 We might be resuming from interp using prederef to one not
5293 so pointers between the two don't play nice together.
5294 Offsets are beautiful.
5296 * New PARROT_PREDEREF_FLAG constant
5300 * include "parrot/oplib/core_ops_prederef.h"
5302 * prederef() function described above.
5304 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5307 * runops() modified to take size_t CODE-relative offset PC
5309 pointer PC. This made other things workable and doesn't
5311 anything important (IMO).
5315 * New flag '-P' to enable predereferencing.
5317 * Makefile modified to build core_ops_prederef.c from core.ops
5321 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5323 Added core_ops_prederef$(O) to O_FILES
5325 2001-12-13 12:12 gregor
5327 * languages/jako/MAINTAINER:
5328 Thought it would be nice to put this right in the code...
5330 2001-12-13 04:36 jgoff
5332 * languages/miniperl/Miniperl/Generator.pm: Commented out
5333 debugging, fixed register spillover algorithm
5335 2001-12-13 04:23 jgoff
5337 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5338 line) Restructured a bit of the dependency generator to fix a
5341 2001-12-13 03:43 robert
5343 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5345 2001-12-13 03:03 jgoff
5347 * make.pl: Added make.pl
5349 2001-12-13 02:44 jgoff
5351 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5352 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5353 special flags... - Dies on undefined macros
5354 such as $(PDISASM) in current make - Dies on
5355 recursive macro expansions (Doesn't test for
5356 mutual or multipart loops) - In general it
5357 seems to be a little less lenient... Missing bits - File
5358 mod/creation times aren't being looked at - Actions
5359 aren't being taken - The few funky variables ($@, $<)
5360 aren't being dealt with Bugs - Line numbers are slipping a bit.
5362 2001-12-13 02:29 jgoff
5364 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5365 Reconstructing files to make the parser flow a little better.
5367 2001-12-13 00:51 dan
5369 * resources.c: Be a bit less wasteful with resources that don't
5372 2001-12-12 18:22 dan
5374 * Makefile.in: D'oh! Fixed looping makefile bug.
5376 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5378 2001-12-12 16:23 jgoff
5380 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5382 2001-12-12 16:22 jgoff
5384 * MANIFEST: Manifest additions for languages/miniperl
5386 2001-12-12 16:19 jgoff
5388 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5389 tests. These are left over from the Scheme suite and shouldn't be
5392 2001-12-12 16:18 jgoff
5394 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5395 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5396 modules. Miniperl/ is where the real work gets done. t/ is largely
5397 vacant because it isn't ready to survive real tests yet.
5399 2001-12-12 16:17 jgoff
5401 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5402 mpc: Final go-round, hopefully.
5404 languages/miniperl/Makefile - Used basically to run tests, as there
5405 is nothing here that needs to be
5406 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5407 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5408 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5411 2001-12-12 16:09 dan
5413 * Configure.pl: Setting a variable with the make command name is
5416 2001-12-12 15:07 simon
5418 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5419 Recursive make considered "ow, don't do that".
5421 2001-12-12 14:45 dan
5423 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5424 non-portable code) Killing builds on Win32 native. Small patch
5425 applied which hopefully fixes it.
5427 2001-12-12 06:12 ajgough
5429 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5431 2001-12-12 06:08 ajgough
5433 * Makefile.in: perl is $(PERL).
5435 2001-12-12 06:00 ajgough
5437 * t/op/integer.t: Added tests to integer.t so that all permutations
5438 of arguments are actually called at some point.
5440 2001-12-12 05:18 ajgough
5442 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5443 Tests for sleep i|ic
5445 2001-12-12 05:09 ajgough
5447 * t/op/stacks.t: Added pushp and popp register stack tests.
5449 2001-12-12 04:51 ajgough
5451 * t/op/stacks.t: Added tests for save and restore, for all register
5452 types. Let there be Haiku.
5454 2001-12-12 04:27 ajgough
5456 * t/op/basic.t: bsr_i test. You know you want it.
5458 2001-12-12 02:55 ajgough
5460 * MANIFEST: Added hints/os2.pl to MANIFEST.
5462 2001-12-12 02:52 jgoff
5464 * core.ops, key.c: Final checkin... These are actually the correct
5467 2001-12-12 02:12 jgoff
5469 * include/parrot/key.h: key.c - Removed a few functions,
5470 generalized set_element_value and element_value to accept
5471 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5472 core.ops - Modified to accept the new return style.
5474 This is a prelude to adding virtual-table methods to allow hashing
5475 &c. Expect at least one or two more redesigns before this settles
5476 down. However, it still passes the original tests.
5478 2001-12-11 13:35 gregor
5483 2001-12-11 12:03 gregor
5486 Don't ignore test_prog, but do ignore parrot.
5488 2001-12-11 12:03 gregor
5490 * classes/.cvsignore:
5491 Ignore the generated file default.h
5493 2001-12-11 04:07 jgoff
5497 2001-12-11 04:05 jgoff
5499 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5501 2001-12-11 04:00 jgoff
5503 * core.ops: Added new key aggregate operations to core ops.
5505 2001-12-11 04:00 jgoff
5507 * include/parrot/parrot.h: Added key.h to header list
5509 2001-12-11 03:59 jgoff
5511 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5513 2001-12-11 03:58 jgoff
5515 * Makefile.in: Added implementation of key aggregates.
5517 2001-12-08 23:07 simon
5522 2001-12-08 23:05 simon
5524 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5525 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5526 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5527 test_prog? What is test_prog?
5529 2001-12-08 22:57 simon
5533 Oops, the changelog commit was on *this* machine.
5535 2001-12-08 22:56 simon
5538 Updates to NEWS and ChangeLog pre-release.
5540 2001-12-08 22:07 simon
5542 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5543 classes/perlnum.pmc, classes/pmc2c.pl:
5544 Add "default" PMC vtable so you can inherit implied stuff.
5546 2001-12-08 21:24 simon
5548 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5549 docs/vtables.pod, lib/Parrot/PackFile.pm:
5550 Getting the documentation up to scratch.
5552 2001-12-08 21:21 simon
5555 Allow inheriting from default class.
5557 2001-12-07 20:43 gregor
5559 * examples/assembly/queens.pasm:
5560 Regenerated the file with the latest jakoc.
5562 2001-12-07 20:29 simon
5564 * core.ops, t/op/stacks.t:
5565 Rename "rotate" to "rotate_up".
5567 2001-12-07 20:15 simon
5570 Some tests for rotate.
5572 2001-12-07 00:55 gregor
5575 Cast the result of the pointer arithmetic, since without the cast
5576 there are warnings with some compilers, and without the parens
5577 around the pointer arithmetic, precedence breaks the meaning and
5580 2001-12-06 23:37 simon
5583 Temporary. I prefer compiler warnings to segfaults, thanks.
5585 2001-12-06 23:34 simon
5588 Make "trace" work again.
5590 2001-12-06 21:23 dan
5592 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5594 2001-12-06 21:22 dan
5596 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5597 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5599 2001-12-06 19:22 simon
5602 Yet another "How the *%$! did that compile?" moment.
5604 2001-12-06 18:28 dan
5606 * hints/vms.pl: Fix to build, with a HERE logical required
5608 2001-12-06 17:48 dan
5610 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5611 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5612 changes to the interpreter--flags are now part of the interp
5615 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5617 2001-12-06 14:02 gregor
5620 s/little_languages/languages/ in Jako section.
5622 2001-12-06 13:15 simon
5625 Ensure the documentation gets made.
5627 2001-12-06 13:12 simon
5629 * MANIFEST, docs/intro.pod:
5630 Documentation! Added the "Some Assembly Required" article with
5633 2001-12-06 00:39 simon
5638 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5640 2001-12-06 00:37 simon
5643 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5645 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5647 2001-12-06 00:11 tom
5649 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5650 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5651 include/parrot/chartype.h, include/parrot/encoding.h,
5652 include/parrot/parrot.h: Moved string to number conversion code out
5653 of the encoding layer and into the main string layer as neither the
5654 encoding layer nor the character type layer knows enough on it's
5655 own to do the conversion correctly.
5657 2001-12-05 23:12 tom
5659 * Makefile.in: Rebuild the classes directory if any of the object
5660 files for the classes are missing rather than only when perlint.o
5663 2001-12-05 19:43 gregor
5665 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5666 * Reworked the constantize_string() stuff a little bit because it
5668 puking on things like "\033[H\033[2J\0" (which occurs in the
5669 languages/jako/mandelzoom.jako example).
5671 2001-12-05 19:39 gregor
5673 * languages/jako/: Makefile, mandelzoom.jako:
5674 Added 'mandelzoom' example.
5676 2001-12-05 19:38 gregor
5678 * languages/jako/jakoc:
5681 * Changed some instances of die() to confess()
5683 2001-12-05 18:34 gregor
5685 * t/: op/pmc.t, pmc/pmc.t:
5686 s/sting->int/string->int/
5688 2001-12-05 18:08 gregor
5690 * Parrot/.cvsignore:
5693 2001-12-05 18:05 gregor
5695 * classes/.cvsignore:
5696 Ignore the generated files.
5698 2001-12-05 17:19 gregor
5701 * Reverted recent changes, since they broke the script. Real fix
5705 2001-12-05 17:03 simon
5707 * classes/Makefile.in:
5708 Remember: change Makefile.in, not Makefile. D'oh.
5710 2001-12-05 17:02 simon
5713 Ensure PMC.pm gets remade.
5715 2001-12-05 16:58 simon
5717 * MANIFEST, Makefile.in, classes/Makefile.in,
5718 classes/perlundef.pmc, include/parrot/pmc.h:
5719 Add perlundef class.
5721 2001-12-05 16:45 simon
5724 Document "new P0, foo"
5726 2001-12-05 16:43 simon
5728 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5729 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5730 Allow assembler to know about PMC class names.
5732 2001-12-04 13:39 ajgough
5734 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5736 2001-12-04 05:02 ajgough
5738 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5741 2001-12-04 04:24 ajgough
5743 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5744 broken form of strtod and appropriate tests. Does not yet check
5747 2001-12-04 01:31 ajgough
5749 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5750 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5751 to extract_num and extract_int string vtables, without this it
5752 would be impossible to have strings with nulls in while still
5753 knowing where they ended.
5755 2001-12-03 18:40 ajgough
5757 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5758 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5759 include/parrot/string.h: Moved pmc string to number conversion into
5760 the string encoding tables.
5762 2001-12-03 00:21 ajgough
5764 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5767 2001-12-02 23:09 jgoff
5769 * classes/Makefile.in: Removed some redundant targets.
5771 2001-12-02 19:02 ajgough
5773 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5774 equality macro rather than using perl to generate expected output,
5775 all tests now have <<OUTPUT.
5777 2001-12-02 17:44 ajgough
5779 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5780 for pmc.t as well. Will probably move macros into another file at
5781 some point, although this might be best left until the tests are
5784 2001-12-02 06:16 jgoff
5786 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5787 within Parrot_Perl{Class}_init.
5789 2001-12-02 06:09 jgoff
5791 * classes/Makefile.in: I seem to have removed *$(O) twice..
5793 2001-12-02 05:06 jgoff
5795 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5796 Configure.pl - Removed '-I./include', added classes/Makefile
5797 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5798 Removed old classes/* make stuff Added target for
5801 2001-12-02 04:48 jgoff
5803 * classes/Makefile.in: Going to be used shortly...
5805 2001-12-02 04:40 jgoff
5807 * docs/Makefile: Configure.pl - Added automatic makefile creation
5808 for docs/ and classes/ Removed '-I./include' because
5809 it was getting incorrectly passed to classes/
5810 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5811 - Removed classes/ build stuff, replaced with classes/Makefile.in
5812 Added '-I./include' locally docs/Makefile - Should no
5813 longer be used, but I'm not brave enough to do a
5816 2001-12-02 01:21 ajgough
5818 * t/op/trans.t: Refactored trans math tests to have hard coded
5819 expected return values and be more ready to be unperled at some
5820 point in the future. Added $fp_equality_macro which is a
5821 "nearly-equal-to" function.
5823 2001-12-02 01:18 ajgough
5825 * Makefile.in: Humph. People really ought to use Makefile
5826 variables, s/perl/$(PERL)/ throughout.
5828 2001-12-01 18:15 jgoff
5830 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5831 figure out what to do vis-a-vis the lack of snprintf.
5833 2001-11-30 13:14 ajgough
5835 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5838 2001-11-30 13:14 ajgough
5840 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5843 2001-11-30 10:36 simon
5846 Rewrite print_p to do the right thing.
5848 2001-11-30 06:21 jgoff
5850 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5851 concat, integer/number/string math
5853 2001-11-30 06:20 jgoff
5855 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5856 classes/perlint.pmc - Fixes and expanding for concat and math with
5857 strings classes/perlnum.pmc - Fixes and expanding for concat and
5858 math with strings classes/perlstring.pmc - Fixes and expanding for
5859 concat and math with strings
5861 2001-11-29 15:21 ajgough
5863 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5864 $^X lies, which confused bash which make uses to run things when
5867 2001-11-29 04:58 jgoff
5869 * classes/perlstring.pmc: Removed C++-style comments for good
5872 2001-11-29 04:51 jgoff
5874 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5876 2001-11-29 04:28 jgoff
5878 * global_setup.c: Initialize PMC strings
5880 2001-11-29 04:25 jgoff
5882 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5885 2001-11-29 04:24 jgoff
5887 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5888 files to properly upgrade int to num, do calculations. Also added
5889 basic string operations. Currently errors out on anything but set
5890 operations, but this will be fixed soon.
5892 2001-11-29 04:22 jgoff
5894 * Makefile.in: PMC .c files weren't getting cleaned out.
5896 2001-11-28 17:00 simon
5900 Make csh-glob happy.
5902 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
5904 2001-11-28 16:40 simon
5906 * classes/perlnum.pmc:
5910 2001-11-28 15:22 simon
5914 Fixes Alex's string concat worry.
5916 2001-11-28 14:27 ajgough
5918 * t/op/string.t: test "null onto null" incorrectly passing as it
5919 produced no output. Output provided.
5921 2001-11-28 11:14 simon
5923 * include/parrot/pmc.h:
5927 2001-11-26 21:03 dan
5929 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
5931 2001-11-26 17:29 simon
5933 * classes/perlint.pmc:
5935 Various subtle but non-showstopper bugs.
5937 2001-11-26 11:23 simon
5941 Replace dependency on Text::Balanced
5943 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
5945 2001-11-26 05:22 jgoff
5947 * global_setup.c: Last file that should need to be committed. I
5950 2001-11-26 05:09 jgoff
5952 * core.ops: Let's try this again... Changes to core.ops required
5954 2001-11-26 04:58 jgoff
5956 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
5957 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
5958 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
5959 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
5960 functions classes/perlnum.pmc - Set up basic number functions
5961 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
5962 tests against numbers and numbers+integers
5964 2001-11-25 13:18 simon
5967 Windows XP make doesn't like $<
5969 2001-11-25 12:56 simon
5971 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
5972 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
5973 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
5974 examples/assembly/mops_p.pasm:
5977 Courtesy of: Angel Faus <afaus@corp.vlex.com>
5979 I (Simon) also added a couple more integer methods, but no tests
5980 since I'm a Bad Person.
5982 2001-11-25 08:40 brentdax
5984 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
5985 lib/Parrot/OpsFile.pm: Allow _ in op names
5987 2001-11-25 05:54 jgoff
5989 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
5990 Added basic math ops t/op/pmc.t - Added tests of basic math ops
5992 2001-11-23 18:27 simon
5994 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
5995 Add everything you need to make MOPS use PMCs.
5997 2001-11-23 18:06 simon
6000 Eh, you'll need this for rewriting mops.pasm.
6002 2001-11-23 17:55 simon
6004 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6006 More work on integer PMCs.
6008 2001-11-23 17:29 simon
6011 Surprise! Whitespace! HLAGHLAGHLAGH
6013 2001-11-23 17:28 simon
6015 * Makefile.in, ops2c.pl, ops2pm.pl:
6016 Add vtables.ops to the core
6018 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6020 2001-11-22 18:39 simon
6022 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6024 We can now create PMCs.
6026 2001-11-21 05:49 jgoff
6028 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6030 2001-11-20 16:00 simon
6032 * docs/vtables.pod, include/parrot/pmc.h:
6033 Reorder PMC flags so there's a fixed number of user-defined flags.
6035 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6037 2001-11-19 03:39 jgoff
6039 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6040 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6041 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6042 escaped quotes, and proper handling of newlines.
6044 2001-11-16 22:03 simon
6046 * classes/perlint.c:
6047 More work on the Perl Integer class. More needed, though.
6049 2001-11-16 21:57 simon
6051 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6052 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6054 2001-11-16 20:49 simon
6056 * interpreter.c, runops_cores.c, trace.c,
6057 include/parrot/runops_cores.h:
6058 Kill superfluous runops cores.
6060 2001-11-16 17:50 simon
6062 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6063 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6064 include/parrot/parrot.h, include/parrot/pmc.h:
6065 Skeleton for Perl scalar types, done right.
6067 2001-11-16 16:15 simon
6069 * classes/genclass.pl:
6070 This tidies up genclass to deal with the new-style multimethods.
6072 2001-11-16 15:29 simon
6074 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6075 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6076 Rework multimethods to be *true* multimethods - that is, have
6079 2001-11-15 22:29 simon
6081 * MANIFEST, Makefile.in, pmc.c:
6082 pmc.c linkage and support. Oh, and making it compile.
6084 2001-11-15 22:26 dan
6086 * t/op/interp.t: Forgot to tell CVS about the test...
6088 2001-11-15 22:10 dan
6090 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6091 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6092 for PMC registers for the interpreter.
6094 Added in the docs for the runinterp opcode.
6096 Added in code for both the newinterp and runinterp opcodes, so we
6097 can now create new interpreters from within parrot and have them do
6098 things. (Though we can't pass data back and forth. Yet)
6100 2001-11-15 21:24 simon
6102 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6103 More documentation, and other changes as discussed with Dan.
6105 2001-11-15 19:51 simon
6107 * classes/scalarclass.c:
6110 2001-11-15 19:50 simon
6112 * classes/scalarclass.c:
6113 A little code tidiness.
6115 2001-11-15 19:33 simon
6117 * include/parrot/pmc.h:
6118 Missed this in the previous commit - un-constantize the base for
6119 user-defined PMC flags.
6121 2001-11-15 19:28 simon
6123 * classes/scalarclass.c:
6126 2001-11-15 17:09 simon
6128 * classes/scalarclass.c:
6129 It seems I have completely forgotten how to write C.
6131 2001-11-15 16:53 simon
6134 Start of the PMC classes documentation.
6136 2001-11-15 14:46 simon
6138 * classes/scalarclass.c:
6139 Changing to use a Perl-style struct instead of the union cache.
6141 2001-11-13 23:56 tom
6143 * string.c: Removed leading _ from string_index as function names
6144 starting with _ are reserved to implementors by the C standard.
6146 Also fixed string_index to use the encoding routines instead of
6147 assuming a single byte encoding.
6149 2001-11-13 12:59 jgoff
6151 * string.c: Patched string_concat to accept null strings. That
6152 test was failing. Nothing to do with ord().
6154 2001-11-13 12:43 jgoff
6156 * string.c: string_ord function, string_concat fixes
6158 2001-11-13 04:52 jgoff
6160 * core.ops: Added ord to core.ops
6162 2001-11-13 04:35 jgoff
6164 * docs/strings.pod, include/parrot/exceptions.h,
6165 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6166 operator, documentation string.c - Added string_ord, _string_index
6167 (_string_index is a static helper) Patched
6168 string_concat to handle null strings properly. docs/strings.pod -
6169 Description of string_ord include/parrot/exceptions.h - Added
6170 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6171 string_ord() t/op/string.t - Added full set of test for
6172 ord_i_(s|sc)(_(i|ic))?
6174 string.c contains a bit of documentation explaining the logic
6175 behind _string_index, primarily having to do with multiple encoding
6178 2001-11-12 22:30 simon
6183 2001-11-12 22:28 simon
6186 Add a rule to compile "platform"
6188 2001-11-12 22:26 simon
6191 Tidy up distclean target.
6193 2001-11-12 16:54 dan
6195 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6196 t/op/macro.t: Fixes to the assembler's macro facility and a test
6198 Courtesy of: Jeff <jgoff@speakeasy.net>
6200 2001-11-12 16:50 dan
6202 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6205 Courtesy of: Jeff <jgoff@speakeasy.net>
6207 2001-11-12 16:36 dan
6209 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6212 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6214 2001-11-12 11:22 simon
6216 * examples/assembly/mops.pasm:
6218 Trivial tightening of mops loop.
6220 2001-11-07 23:57 ajgough
6222 * docs/tests.pod: This is a basic quide to writing tests with
6225 2001-11-07 22:29 dan
6227 * stacks.c: Added a little documentation on the cleanup parameter
6230 2001-11-07 14:43 dan
6232 * MANIFEST, platforms/generic.c, platforms/linux.c,
6233 platforms/linux.h: Portability patches.
6235 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6237 2001-11-06 19:51 tom
6239 * Makefile.in: Clean up object files in the subdirectories as well
6240 as those in the top level directory.
6242 Enhanced version of patch from Daniel Grunblatt
6243 <daniel@grunblatt.com.ar>
6245 2001-11-06 16:14 dan
6247 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6248 platforms/generic.c, platforms/generic.h: Made things a bit more
6249 platform-independent. Makefile still needs work to pick up changes
6250 to the platform-specific files.
6252 2001-11-05 21:32 dan
6254 * docs/parrot_assembly.pod: Added docs for the GC control ops
6256 2001-11-04 02:52 gregor
6258 * platforms/: win32.c, win32.h:
6259 * win32 dynamic loading functions.
6261 Courtesy of Jason Diamond <jason@injektilo.org>
6263 2001-11-04 00:04 brentdax
6265 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6266 allows an absolute path to be used and gives a useful error message
6267 if the original source file can't be found
6269 2001-11-02 12:37 gregor
6271 * platforms/: linux.c, linux.h:
6272 * Beginning of dynamic loading support. Linux only for now.
6274 2001-11-02 12:13 gregor
6276 * MANIFEST, time.c, include/parrot/time.h:
6277 * Removed time.[hc], since they have been superseded by the new
6281 2001-11-02 12:11 gregor
6283 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6284 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6285 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6286 platforms/win32.c, platforms/win32.h:
6287 Patch from Jason Diamond to make win32 platform stuff work:
6289 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6290 platform specific files in the platforms directory gets copied to
6291 the correct directories. The Makefile will re-copy the platform.h
6292 and .c files if the original is modified.
6294 * #include platform.h in parrot.h instead of time.h.
6296 * Removed time.h and time.obj from the Makefile. time.h and time.c
6297 aren't being used anymore since that code was moved to linux.c and
6300 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6301 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6302 windows.h. This required updating several files besides parrot.h.
6304 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6305 instead of the missing identifiers (on Windows) in core.ops in the
6308 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6309 platform files and called those from core.ops. The Linux code for
6310 these functions came from core.ops so they should hopefully work.
6312 Courtesy of Jason Diamond <jason@injektilo.org>
6314 2001-11-02 06:43 brentdax
6316 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6317 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6319 2001-11-02 02:26 gregor
6321 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6322 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6324 * Beginnings of platform support files in platform/*.[hc]
6326 2001-11-01 23:37 tom
6328 * classes/intclass.c: Added missing *'s to STRING arguments and
6329 return values to avoid compiler warnings.
6331 2001-11-01 22:21 gregor
6333 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6334 include/parrot/parrot.h, include/parrot/time.h:
6335 Initial "fix" of time(n) op for Win32:
6337 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6339 * time.c and include/parrot/time.h
6341 First attempt at getting this working across platforms. The
6342 macro WIN32 being tested might not be right.
6344 * New functions Parrot_intval_time() and Parrot_floatval_time()
6345 wrap the appropriate functionality depending upon platform.
6346 Changed core.ops to call these.
6348 Added obscure.ops with obscure transcendental ops.
6350 Added simple file I/O ops (close, open, read, write):
6352 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6354 * I changed some arg ordering stuff.
6356 * I added read/write of INTVALs and FLOATVALs.
6358 Added environment variable ops (getenv, setenv)
6360 Added system error ops (err(i) and err(s) for accessing errno and
6363 Moved print ops in with other "temporary" developer ops, since
6364 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6366 2001-10-31 22:51 tom
6368 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6369 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6370 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6371 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6372 encodings/utf8.c, include/parrot/chartype.h,
6373 include/parrot/encoding.h, include/parrot/exceptions.h,
6374 include/parrot/parrot.h, include/parrot/string.h,
6375 include/parrot/strnative.h, include/parrot/strutf16.h,
6376 include/parrot/strutf32.h, include/parrot/strutf8.h,
6377 include/parrot/transcode.h: Reworked the string code in line with
6378 Dan's latest design that separates character sets from encodings.
6380 2001-10-31 19:53 dan
6382 * docs/parrot_assembly.pod: Finished I/O section of docs
6384 2001-10-31 16:51 dan
6386 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6387 Moved includes out of core.ops and into parrot.h where they belong
6388 (suitably guarded with #ifdefs). Also some updates to
6391 2001-10-30 21:43 dan
6393 * core.ops, stacks.c, docs/parrot_assembly.pod,
6394 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6395 of the entry on the stack
6397 2001-10-29 18:30 dan
6399 * stacks.c: You can turn off stack entry type validation on pop by
6400 passing in a type of 0 now. (For those cases where you just want to
6401 throw the darned thing away)
6403 2001-10-29 14:37 gregor
6405 * core.ops, languages/jako/jakoc:
6406 * New variants of the save ops to save constants on the stack.
6408 useful for saving zero arg and result counts on the stack, for
6411 * Modified jakoc to to adapt to the newly announced calling
6413 Even though Jako source code appears to show subroutines with
6415 numbers of arguments and results, they are implemented with the
6416 variable count calling convention. Future modifications will be
6418 to ensure that an exception is raised if the stack frame is of
6420 wrong size (or, at least that we pop the complete frame off).
6422 also have to make more changes to support the true
6424 and fixed-result-count parts of the calling convention spec.
6426 2001-10-28 16:53 simon
6428 * MANIFEST, stacks.c, classes/scalarclass.c,
6429 include/parrot/stacks.h:
6430 Unbelievably bad errors of mine, plus a type incompatibility of
6433 2001-10-28 08:30 simon
6435 * classes/scalarclass.c:
6436 Beginning of a scalar class.
6438 2001-10-28 08:29 simon
6440 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6441 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6442 include/parrot/pmc.h:
6443 This fixes the problem with vtables and pointer arithmetic.
6445 2001-10-26 19:58 dan
6447 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6448 include/parrot/stacks.h: Split the generic stack into a user push
6449 stack and a control stack
6451 2001-10-26 02:59 bdwheele
6453 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6455 2001-10-24 20:27 dan
6457 * languages/scheme/: Makefile, Scheme.pm, schemec,
6458 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6459 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6460 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6463 2001-10-24 20:23 dan
6465 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6466 interpreter needs in pdump.c. Added scheme bits to manifest
6468 2001-10-24 16:43 gregor
6470 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6471 * Make the assembler handle octal character code escapes in
6475 2001-10-24 15:56 dan
6477 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6478 play the game of life
6480 2001-10-24 15:54 dan
6482 * core.ops: Added sleep. We'll need to override this to do events
6483 properly anyway, so...
6485 2001-10-24 14:03 gregor
6487 * Makefile.in, pbc2c.pl, pdump.c:
6488 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6490 pointer into string functions.
6492 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6494 2001-10-23 20:09 gregor
6496 * languages/jako/jakoc:
6497 * Terminological refinement in regexp capture comment.
6499 2001-10-23 15:23 simon
6501 * classes/genclass.pl:
6502 Use a saner ANSI C construct to make MIPSPro happy.
6504 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6506 2001-10-23 00:34 tom
6508 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6509 strutf8.c, include/parrot/string.h: Make sure the interpreter
6510 structure is passed to the transcoder as necessary, including
6511 passing it to string_compare().
6513 2001-10-23 00:32 tom
6515 * Makefile.in: Make pdump build again by including resources.o in
6518 2001-10-22 22:43 dan
6520 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6521 strutf32.c, strutf8.c, test_main.c, transcode.c,
6522 include/parrot/packfile.h, include/parrot/parrot.h,
6523 include/parrot/resources.h, include/parrot/string.h,
6524 include/parrot/transcode.h: Everything now uses the allocators and
6525 deallocators in resources.c.
6527 Unfortunately we lost standalone string-test mode, but I can cope
6530 Please note that until we have a real allocation/deallocation/GC
6531 system, this'll leak. A *lot*.
6533 2001-10-22 20:27 dan
6535 * MANIFEST, Makefile.in, pmc.c, resources.c,
6536 include/parrot/resources.h: First cut to handle arena allocation of
6537 PMC headers. (Amongst other things)
6539 2001-10-22 19:02 dan
6541 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6542 Now each register type has its own mask macro, which is the right
6545 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6547 2001-10-21 23:40 tom
6549 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6550 stack chunk and add a test to test this rollover in future.
6552 Courtesy of Jason Gloudon <perl@gloudon.com>.
6554 2001-10-21 19:14 dan
6556 * include/parrot/string.h: Changed string 'unused' field to the
6559 2001-10-21 18:18 gregor
6561 * languages/jako/: Makefile, mops.jako:
6562 * Makefile: 'clean' target removes .list files, too. And, it does
6564 with wildcards rather than listing things explicitly.
6566 * mops.jako actually prints out the
6567 millions-of-operations-per-second
6568 (mops) value instead of just the operations-per-second value.
6570 2001-10-21 18:03 simon
6572 * classes/intclass.o:
6575 2001-10-21 17:47 simon
6577 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6578 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6579 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6580 lib/Parrot/Vtable.pm:
6581 Initial work on PMCs. Explanation to follow
6583 2001-10-21 15:20 gregor
6585 * examples/assembly/queens.pasm:
6586 * Modernize the calling conventions in queens.pasm. It was using
6588 which now must be rotate. Also, changed to use return values on
6590 stack instead of in I0.
6592 2001-10-19 18:14 gregor
6594 * core.ops, stacks.c, include/parrot/stacks.h,
6595 languages/jako/jakoc:
6596 Per Dan's request, replacing 'swap' op by 'rotate'.
6598 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6600 * stacks.c and stacks.h: Removed swap-related functions from my
6601 prior commit, replacing them with stack_depth(), stack_entry()
6602 and rotate_entries().
6604 NOTE: The stack_depth() and rotate_entries() routines could
6605 be made more efficient through the caching of the sum of chunk
6606 'used' members from lower chunks in a field in the upper
6607 chunks. Also, if the interpreter's stack_base was changed to
6608 hold the pointer to the *top* chunk (since we usually come
6609 at the stack from the top down) instead of the *bottom*
6610 chunk. The code here at least works, and we can decide about
6611 bigger changes separately.
6613 For now, rotate only handles rotates in one direction and
6614 of magnituded one. A fully general rotate would do handle
6615 rotates in both directions and of arbitrary amounts. Again,
6616 this implementation is sufficient for current applications,
6617 and a feature-complete version can be developed if this turns
6618 out to be otherwise the right type of implementation.
6620 This change includes a new exception for ERROR_STACK_SHALLOW,
6621 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6623 * jakoc: Changed the calling convention to use rotate instead
6624 of swap (of course). Also changed the convention for return
6625 value passing to use the stack as well.
6627 2001-10-19 13:36 gregor
6629 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6630 examples/assembly/queens.pasm, include/parrot/stacks.h,
6631 languages/jako/.cvsignore, languages/jako/Makefile,
6632 languages/jako/bench.jako, languages/jako/euclid.jako,
6633 languages/jako/fact.jako, languages/jako/jakoc,
6634 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6635 languages/jako/primes.jako, languages/jako/queens.jako,
6636 languages/jako/sub.jako:
6637 * New stack functions push_entry(), pop_entry() and swap_entry().
6638 The first two exist for the support of the last one. These
6639 functions don't care what is in the stack entries. These exist
6640 to support the new 'swap' op (see next bullet).
6642 * New op 'swap' for swapping the top two elements on the stack.
6643 This is necessary for passing arguments to functions, since
6644 the return address will be on top of any arguments that have
6645 been pushed on the stack. This way, you can use a (swap, pop)
6646 pair to retrieve each argument (for subroutine linkage).
6648 * Disassembler now prints numbers in decimal by default, with
6649 a new '-x' flag to turn on hexadecimal display. Since other
6650 members of the Parrot Tool Set use decimal by default, this
6651 makes it easier to compare output from the various tools.
6653 * Jako compiler has more explanatory comments and the following
6656 * Lexically scoped variables.
6658 * Subroutines that take arguments and return values:
6660 sub int foo(int bar) {
6667 * ... if (...) and ... unless (...) statement modifiers
6668 can be used on next, last and redo.
6670 * Bitwise and (&, &=) and or (|, |=) ops.
6672 * Type names are just 'int', 'num', 'str', and 'poly' now.
6673 The old long names 'integer', 'number', 'string', and
6674 'polytype' are no longer valid.
6676 * Integer variable assignments can now use 0b (binary),
6677 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6679 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6680 solving the eight-queens problem. The assembly example is a
6681 hand-modified version of the assembly code produced by the
6682 Jako compiler from queens.jako. A few unnecessary ops have
6683 been removed, lots of unnecessary labels have been removed,
6684 and all the Jako source code comments have been removed.
6686 * Makefile and .cvsignore in languages/jako modified so that
6687 the assembler produces listings when assembling the programs,
6688 yet the *.list files are ignored by CVS.
6690 * Made the default target in languages/jako/Makefile 'all'.
6692 * Modified some of the Jako examples to use some of the new
6693 features of Jako, such as subroutines and lexical variable
6696 2001-10-19 02:43 gregor
6698 * runops_cores.c, include/parrot/runops_cores.h:
6699 Bug fix (gcc doesn't complain, but MIPSpro does):
6701 * Added missing extern to runops_cores array declaration in
6702 include/parrot/runops_cores.h
6704 * Also added 'const' there and in runops_cores.c
6706 2001-10-18 15:18 gregor
6708 * .cvsignore, include/parrot/oplib/.cvsignore:
6709 * Ignore the vtable-related generated files.
6711 2001-10-18 15:14 gregor
6714 * left and right shifts now allow the 2nd argument to be a
6717 2001-10-18 14:55 simon
6719 * make_vtable_ops.pl:
6720 This is C, not Perl. How on earth did that even compile?
6722 2001-10-18 14:54 simon
6724 * make_vtable_ops.pl:
6727 2001-10-18 12:33 simon
6729 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6730 Initial stab at vtable opcode creation stuff.
6732 2001-10-18 02:15 gregor
6734 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6735 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6736 include/parrot/trace.h: Preparation for autogenerated runops cores:
6738 * Split tracing and runops core stuff out of interpreter.c into
6739 trace.c and runops_cores.c
6741 * Similar split of stuff from include/parrot/interpreter.h
6743 * Manifest and Makefile.in updates to make things still compile.
6745 2001-10-18 01:21 gregor
6747 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6749 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6751 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6753 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6755 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6757 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6759 copy of $ops->preamble.
6761 2001-10-17 22:32 bdwheele
6763 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6766 2001-10-17 22:08 gregor
6768 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6769 * Now handles label-and-comment-only lines.
6771 2001-10-17 22:04 bdwheele
6773 * interpreter.c: added more comprehensive trace output
6775 2001-10-17 16:50 tom
6777 * Makefile.in: Removed the explicit rule for building mops.o from
6778 mops.c so that the implicit rule for compiling C files is used
6779 instead. This means that the chosen C flags are used, including any
6780 optimisation options.
6782 2001-10-17 15:24 tom
6784 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6785 op explosion logic to be able to handle exploding this:
6795 without also generating this unwanted version:
6799 The enhanced version rejects any expansion where there is more than
6800 one expanded argument and all the expanded arguments are constants.
6802 2001-10-17 14:20 simon
6804 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6805 Build fixes to use correct Perl version and ensure that things are
6806 running in the right directory.
6808 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6810 2001-10-17 13:16 simon
6813 core.pm is more critical than that.
6815 2001-10-17 13:05 simon
6817 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6818 "Explode" ops into multiple versions for different parameters.
6820 Courtesy of: Tom Hughes <tom@compton.nu>
6822 2001-10-17 12:54 simon
6825 Fix dependencies and cleaning.
6827 2001-10-17 12:45 simon
6829 * Configure.pl, Makefile.in:
6830 Fixes to make Parrot compile without the temporary build hack
6832 Courtesy of: Jason Gloudon <perl@gloudon.com>
6834 2001-10-16 20:43 gregor
6837 * Fixed dependencies for building Parrot/OpLib/core.pm
6839 2001-10-16 19:35 bdwheele
6841 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6842 added test, thanks to Alex Gough
6844 2001-10-16 16:49 bdwheele
6846 * core.ops: added opcode variants for constants and 3 arg concat
6848 2001-10-16 15:12 bdwheele
6850 * core.ops: added "set Sx,Sy" as a string copy to match the other
6851 register-to-register copies available
6853 2001-10-16 13:09 gregor
6856 * Added #include <sys/time.h> in the preamble for gettimeofday().
6858 2001-10-16 13:09 gregor
6861 * Removed cd t; make, which no longer applies
6863 2001-10-16 03:18 bdwheele
6865 * core.ops: fix save & restore operations to push correct type onto
6866 stack. [good eye to Jason Gloudon for noticing this]
6868 2001-10-16 01:38 bdwheele
6870 * core.ops, register.c, examples/assembly/fact.pasm,
6871 include/parrot/register.h: send in the clones: clone routines for
6872 parrot + example program
6874 2001-10-15 22:37 gregor
6876 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6877 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6878 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6879 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6880 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6881 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6882 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6883 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6884 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6885 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6887 renames so the names match what they demonstrate.
6889 2001-10-15 22:18 gregor
6891 * core.ops, t/test.pasm:
6892 * time_n uses gettimeofday() to get sub-second times.
6894 * t/test.pasm uses time_n directly rather than doing int stuff
6896 converting to num later.
6898 2001-10-15 12:28 gregor
6900 * t/: test.pasm, test2.pasm, trace.pasm:
6901 * t/test.pasm prints using string constants instead of string
6904 * t/test2.pasm assembles (using implicit op modes)
6906 * t/trace.pasm updated for new behavior of trace_ic, which does
6908 require an 'end' after 'trace'.
6910 2001-10-15 00:47 gregor
6912 * core.ops, interpreter.c, test_main.c,
6913 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
6916 * New runops cores to handle profiling
6918 * Support for -p flag in test_prog to enable profiling
6920 * New profile_ic op to control profiling at run-time
6922 2001-10-14 21:54 gregor
6924 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
6925 lib/Parrot/OpsFile.pm: Integrated op documentation.
6927 * core.ops now contains POD documentation of ops, interspersed
6931 * Ops are organized into POD =head2 sections
6933 * Parrot/OpsFile.pm now treats the preamble of the ops file as
6935 up to the first POD directive OR op definition.
6937 * docs/Makefile now generates core_ops.pod from core.ops vi
6940 2001-10-14 11:58 simon
6943 Unbreak Digital Un^W^WTru64
6945 2001-10-14 11:00 simon
6950 2001-10-14 10:56 tom
6952 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
6953 op_info.c no longer exists and op.h is no longer a generated file.
6955 2001-10-14 10:54 tom
6957 * Makefile.in: Added vtable.h to the list of things removed by the
6960 2001-10-14 01:43 gregor
6962 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
6963 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
6964 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
6965 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
6966 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
6967 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
6968 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
6969 include/parrot/.cvsignore, include/parrot/interp_guts.h,
6970 include/parrot/interpreter.h, include/parrot/op.h,
6971 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
6972 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
6973 t/op/stacks.t, t/op/string.t, t/op/trans.t:
6976 * basic_opcodes.ops and opcode_table replaced by core.ops
6978 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
6979 and ops2c.pl. These convert *.ops to *_ops.c and
6980 include/parrot/oplib/*_ops.h
6982 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
6984 * disassemble.pl modified to use
6986 * interpreter.c modified to use structures in core_ops.c instead
6987 of the old op_info and op_func stuff. We're not yet to the
6988 point of handling multiple oplibs at a time, but we are getting
6991 Fingerprinting stuff disabled for now. We used to go off
6992 opcode_table. We need to rethink this. I have some ideas to
6993 make it unnecessary, but it remains to be seen whether others
6994 will like the direction they take us.
6996 Termination condition for while(){} loop in runops is now
6997 (pc) instead of (*pc). Any op can cause a HALT by returning
6998 a NULL pointer. Ops end, bounds and trace all do this. So, now
6999 the 'end' op body is actually executed, although all it does
7002 * Makefile.in modified to perform a test build using pbc2c.pl,
7003 which is the bytecode --> C compiler I've posted to the
7006 * Op full names are now autogenerated. Op root names must not
7007 contain underscores, so some op renamings have happened.
7008 Such as clear_i becoming cleari.
7010 2001-10-13 11:49 simon
7012 * Configure.pl, MANIFEST:
7013 Make parrot actually build again.
7015 2001-10-12 21:34 dan
7017 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7020 2001-10-12 20:56 dan
7022 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7023 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7024 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7025 generic stack now in. We also have subroutines, of a simple sort!
7027 2001-10-12 19:15 tom
7029 * t/op/string.t: Improved string comparison tests try all string
7030 combinations with each of the comparison ops.
7032 2001-10-12 19:09 dan
7034 * interpreter.c: Properly sets up generic stack now
7036 2001-10-12 19:09 dan
7038 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7039 interpreter structure
7041 2001-10-12 18:59 dan
7043 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7044 changes to get the generic stack working
7046 2001-10-12 18:59 dan
7048 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7049 hints/vms.pl: Made the changes to figure out mask bits for various
7050 register and stack chunks
7052 2001-10-11 22:09 dan
7054 * docs/parrot_assembly.pod: Tossed the parameter for return
7056 2001-10-11 19:28 tom
7058 * strnative.c: Assignment, not comparison. (Plus formatted for
7061 Courtesy of Bryan C. Warnock
7063 2001-10-10 19:21 tom
7065 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7066 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7067 include/parrot/string.h, t/op/string.t: Added support for string
7068 comparisons and extended the comparison ops to include comparison
7071 2001-10-10 17:58 dan
7073 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7075 2001-10-10 17:54 dan
7077 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7078 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7079 vtable type entries properly
7081 2001-10-10 15:37 dan
7083 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7084 parse new vtable.tbl file now that I've actually checked *in* the
7085 new format vtable.tbl file...
7087 2001-10-10 15:32 dan
7089 * vtable.tbl: New Column to indicate the type of the vtabel entry
7090 so we can know how many slots it takes
7092 2001-10-10 05:26 thgibbs
7094 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7095 allow parrot to compile. PACKAGE is not defined, therefore, I
7096 added a struct before it to have it not complain until we define
7097 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7098 semicolon at the end of the struct declaration.
7100 2001-10-10 05:09 thgibbs
7102 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7103 string constants of the form U"string" become unicode encoded
7104 parrot strings and the form N"string" become native encoded parrot
7107 Courtesy of: Tom Hughes <tom@compton.nu>
7109 2001-10-10 04:55 dan
7111 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7112 support for generating the vtable function table offset macros
7114 2001-10-10 01:05 simon
7117 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7118 compiles into the mod op, not the cmod_i op, hence wasn't testing
7119 what it thought it was.
7121 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7123 2001-10-09 03:45 thgibbs
7125 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7126 assembler to generate unicode strings.
7128 Courtesy of: Tom Hughes <tom@compton.nu>
7130 2001-10-08 19:30 brentdax
7132 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7133 info for Parrot::Config to remember, more flexible test.c stuff
7135 2001-10-08 15:04 gregor
7137 * basic_opcodes.ops:
7138 * Removed trash from early mod_i experiments (pardon our dust)
7140 2001-10-08 14:56 gregor
7142 * basic_opcodes.ops:
7143 * Fixed a couple of typos.
7145 2001-10-08 14:45 gregor
7147 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7148 Arithmetic enhancements:
7150 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7152 NOTE: This "uncorrected mod" algorithm uses the C language's
7154 mod operator (x % y), which is
7156 ... the remainder when x is divided by y, and thus is zero
7160 The direction of truncation for / and teh sign of the
7162 are machine-dependent for negative operands, as is the
7164 on overflow or underflow.
7170 ... if the second operand is 0, the result is undefined.
7172 is always true that (a/b)*b + a%b is equal to z. I both
7174 non-negative, then teh remainder is non-negative and
7176 divisor; if not, it is guaranteed only that the absolute
7178 remainder is smaller than the absolute value of the
7183 This op is provided for those who need it (such as
7185 applications with heavy use of mod, but using it only with
7187 arguments), but a more mathematically useful numeric mod based
7189 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7191 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7193 Language*, Second Edition. Prentice Hall, 1988.
7195 * Added "corrected" mod_i:
7197 NOTE: This "corrected mod" algorithm is based on the C code on
7199 of [1]. Assuming correct behavior of C's built-in mod operator
7201 positive arguments, this algorithm implements a mathematically
7203 version of mod, defined thus:
7205 x mod y = x - y * floor(x / y)
7207 For more information on this definition of mod, see section 3.4
7213 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7214 Millennium* Springer, 1999.
7216 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7218 Mathematics*, Second Edition. Addison-Wesley, 1994.
7220 * Added mod_n, using the same formula as above, but with FLOATVAL
7223 * Added cmod_n, using the C math library's fmod() function:
7225 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7227 fmod() function, which computes
7229 ... the remainder of dividing x by y. The return value is x
7231 where n is the quotient of x / y, rounded towards zero to
7234 -- fmod() manpage on RedHat
7237 In addition, fmod() returns
7239 the remainder, unless y is zero, when the function fails
7243 According to page 251 of [1], the result when y is zero is
7247 This op is provided for those who need it, but a more
7249 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7251 defined with y == 0 is provided by the mod_n op.
7253 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7255 Language*, Second Edition. Prentice Hall, 1988.
7257 * Added and modified tests as appropriate for the above.
7259 2001-10-08 08:49 thgibbs
7261 * include/parrot/exceptions.h, include/parrot/parrot.h,
7262 include/parrot/string.h, include/parrot/strutf16.h,
7263 include/parrot/strutf32.h, include/parrot/strutf8.h,
7264 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7265 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7266 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7267 strings for utf8, utf16, and utf32.
7269 Courtesy of: Tom Hughes <tom@compton.nu>
7271 2001-10-08 08:10 thgibbs
7273 * memory.c: Fixed uninitialized variables.
7275 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7277 2001-10-08 01:21 gregor
7279 * packfile.c: * Casting a return value
7281 * Potential uninitialized variable fix
7283 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7285 2001-10-08 01:15 gregor
7287 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7288 a few tweaks of my own):
7292 * Printf format fixes
7294 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7296 2001-10-07 22:39 thgibbs
7298 * build_interp_starter.pl: No longer adds (void*) casts to
7299 interp_guts.c function table as they are not necessary in ANSI C.
7301 2001-10-07 16:27 gregor
7303 * basic_opcodes.ops, interpreter.c, opcode_table,
7304 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7306 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7307 interpreter->flags and set interpreter->resume_addr.
7309 * Two new runops core variants, so now we cover the relevant
7310 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7312 * Runops core selection that converts the flags into an index
7314 a core table (runops_cores) to get the core function pointer.
7316 * A new trace_op variant that doesn't do bounds checking (used by
7317 the non-bounds-checking-but-tracing runops core).
7319 * PC is passed into the cores so that they can be used when
7320 resuming (they used to assume starting at the beginning of the
7321 code, which would thwart resumption).
7323 * runops() itself is changed to have a while() loop in it so that
7324 any time we drop out of the core, we'll resume if we have an
7325 interpreter->resume_addr set (after reselecting the core,
7328 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7329 interpreter->resume_addr. This is used by the new ops. The new
7330 ops still return the new PC as the next op (which MUST be an
7331 'end' op to force the core loop to terminate -- *pc being false
7332 is the only termination condition we can count on for all
7335 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7336 bounds checking core selection.
7338 * test_prog now has a '-b' flag in addition to the '-t' flag.
7340 bounds checking is off by default (I saw a performance boost:
7341 6.3 Mop/s with -b, 7.0 Mop/s without).
7343 * A new sample/test program: t/trace.pasm that twiddles the trace
7344 flag while it is running.
7346 2001-10-07 15:41 gregor
7348 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7349 include/parrot/.cvsignore, include/parrot/interpreter.h:
7350 Now that 0.0.2 is released, I can clear out the backlog of approved
7351 but uncommitted patches. Here's one Dan approved on 2001-09-21
7354 * test_prog and pdump are linked with only the files the need,
7358 * build_interp_starter.pl writes out op_info.[hc], too. These
7360 contain op name, arg count and arg type information. This will
7362 useful for multiple things in the future, including better
7364 output and the crystalizing loader.
7366 * The DO_OP macro is now simpler and doesn't require explicit
7369 * interpreter.c is modified to use the new op info in tracing
7372 * The interpreter just points its opcode_funcs and opcode_info
7373 members at the default tables rather than allocating memory on
7376 2001-10-07 03:58 thgibbs
7378 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7379 comment and adding vtable.h to .cvsignore as it is produced by
7382 2001-10-06 20:58 thgibbs
7384 * vtable.tbl: Added * to REGEX type.
7386 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7388 2001-10-06 13:41 simon
7390 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7391 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7392 Framework for vtable functions.
7394 2001-10-06 06:52 thgibbs
7396 * make_op_header.pl: Removed confusing and unused typedef.
7398 2001-10-06 06:31 thgibbs
7400 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7403 2001-10-06 06:26 thgibbs
7405 * disassemble.pl: Changed intval to op in disassembler.
7407 2001-10-06 06:21 thgibbs
7409 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7410 Assembler, local labels, and integer constants.
7412 2001-10-06 03:11 ask
7414 * Makefile.in: make `make test` actually run the tests on
7417 2001-10-06 02:04 thgibbs
7419 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7420 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7421 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7422 include/parrot/register.h, lib/Parrot/Assembler.pm,
7423 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7424 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7425 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7428 2001-10-06 02:02 thgibbs
7430 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7431 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7432 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7433 include/parrot/register.h, lib/Parrot/Assembler.pm,
7434 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7435 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7436 t/op/integer.t: oops...this messed something up. I must have
7437 missed something in the patch...I have reverted.
7439 2001-10-06 01:57 thgibbs
7441 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7442 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7443 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7444 include/parrot/register.h, lib/Parrot/Assembler.pm,
7445 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7446 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7447 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7448 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7449 This patch ensures that all bytecode is of type opcode_t except for
7450 the constant table constants. That means that almost all of the
7451 INTVALs in the code were replaced with opcode_t and the i pack type
7452 was replaced with the op pack type in calls to pack_arg and such.
7453 Also, since it has been declared that ALL integer constants are to
7454 be 32 bits, some test cases were changed to ensure that an integer
7455 constant was no bigger than 2 ** 31.
7457 process_opfunc.pl was also cleaned up to no longer look at either
7458 opcode_table or interp_guts.h but gather all of its information
7461 The Assembler.pm module was changed to do late binding of arguments
7462 so that 0 could be treated like 0.0 without having to be so
7463 declared. Also, only strings now use the [sc:N] intermediate form
7464 as it was unnecessary for integer and float types.
7466 2001-10-05 21:59 gregor
7468 * MANIFEST, languages/jako/Makefile:
7469 Fixed things due to the movement of little_languages/* to
7472 2001-10-05 18:31 gregor
7475 Updated MANIFEST to reflect recent additions for Jako.
7477 2001-10-05 17:54 gregor
7479 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7480 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7481 mops.jako, primes.jako, sub.jako:
7484 * User-defined subroutines.
7485 * Generates assembly code with the Jako code in comments.
7486 * "end;" no longer required at the end of programs.
7487 * Better handling of const-reg and reg-const.
7488 * Optimizes const-const operations to compile-time
7490 * Constants in addition to variables.
7492 * Allow leading minus signs in integer and number constants
7496 * New sample programs:
7498 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7500 * mandelbrot.jako (based on Leon Brocard's translation of
7501 Glenn Rhodes' C code)
7502 * mops.jako (based on t/test.pasm)
7503 * primes.jako (based on Leon Brocard's primes.pasm example)
7504 * sub.jako (demonstrates a simple user-defined subroutine)
7506 2001-10-05 12:54 gregor
7508 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7509 * Removed mysterious extra copy of code after POD.
7511 2001-10-05 12:46 gregor
7513 * basic_opcodes.ops, t/op/string.t:
7514 * Enabled the previously SKIPped test of printing string regs
7518 * Made print_s do nothing if the STRING pointer in the register
7522 2001-10-04 21:19 dan
7524 * Configure.pl: VMS tweaks
7526 2001-10-04 21:17 dan
7528 * hints/vms.pl: Hints file for VMS
7530 2001-10-04 00:58 bdwheele
7532 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7533 Assembler which stopped equates from working.
7535 2001-10-03 21:50 gregor
7537 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7539 * More documentation updates for the packfile stuff.
7541 2001-10-03 21:37 gregor
7543 * docs/parrotbyte.pod:
7544 * Pointed the reader at Parrot::PackFile.
7546 2001-10-03 21:34 gregor
7548 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7549 * Updated documentation to match current implementation.
7551 2001-10-03 18:30 gregor
7553 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7554 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7555 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7557 * Added new syntax to the assembler to allow square-bracket
7558 arithmetic expressions involving (global) labels, the current
7559 instructions base address ('@'), numeric constants (not
7561 and basic arithmetic operators (+, -, *, / -- although + and -
7562 are likely to be the only ones used in practice).
7564 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7566 fail (argument passing wasn't working).
7568 * Enabled t/op/basic.t's last test, which is actually a copy of
7570 code from t/call.pasm. Now all tests there are enabled and
7573 * Added new example/test program t/call.pasm to demonstrate
7575 macros and poor-man's subroutine calls
7577 * Added header comments to t/*.pasm
7579 2001-10-03 18:00 simon
7582 Needed, since it's in the MANIFEST.
7584 2001-10-03 17:56 simon
7586 * t/op/: string.t, time.t:
7587 Small fixes to help Win32 on its way.
7589 2001-10-03 17:41 simon
7594 2001-10-03 17:39 simon
7596 * MANIFEST, NEWS, README:
7597 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7600 2001-10-03 17:21 simon
7602 * basic_opcodes.ops, interpreter.c, packfile.c:
7603 Evil printf bandaid (which allows Sparc64 to pass tests)
7605 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7607 2001-10-03 16:58 simon
7609 * string.c, t/op/string.t:
7610 chop fixes for n < 0 and tests
7612 Courtesy of: Alex Gough <alex@rcon.org>
7614 2001-10-03 15:51 thgibbs
7616 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7618 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7620 2001-10-02 17:48 dan
7622 * include/parrot/stacks.h: Fix typo in function name
7624 2001-10-02 17:35 dan
7626 * include/parrot/stacks.h: changed to support new stack stuff
7629 2001-10-02 15:01 simon
7631 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7632 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7633 process_opfunc.pl, register.c, string.c, strnative.c,
7634 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7635 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7636 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7637 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7638 include/parrot/memory.h, include/parrot/packfile.h,
7639 include/parrot/parrot.h, include/parrot/register.h,
7640 include/parrot/stacks.h, include/parrot/string.h,
7641 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7645 2001-10-02 12:49 gregor
7647 * process_opfunc.pl:
7648 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7650 2001-10-02 12:40 simon
7652 * basic_opcodes.ops, process_opfunc.pl, register.c,
7653 include/parrot/register.h:
7654 Move preprocessing of register accessors to process_opfunc.pl
7656 Courtesy of: Jason Gloudon <perl@gloudon.com>
7658 2001-10-02 01:20 ask
7660 * README: add a few lines about lists.
7662 2001-10-01 23:00 brentdax
7664 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7665 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7667 2001-10-01 22:50 brentdax
7669 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7671 2001-10-01 21:51 simon
7673 * process_opfunc.pl:
7674 Michael Fischer's patch broke conditionals.
7676 2001-10-01 15:38 simon
7678 * process_opfunc.pl:
7679 Small hack to keep process_opfunc.pl from generating extra return()
7682 Courtesy of: Michael Fischer <michael@visv.net>
7684 2001-10-01 15:32 simon
7686 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7689 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7691 2001-10-01 01:49 simon
7694 Simon is an idiot. Don't trust him with your code.
7696 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7698 2001-10-01 00:59 simon
7700 * Parrot/String.pm, lib/Parrot/String.pm:
7701 Was in manifest, but not in CVS.
7703 2001-09-30 21:25 simon
7705 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7706 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7707 Parrot/Assembler.pm, Parrot/PackFile.pm,
7708 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7709 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7710 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7711 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7712 include/parrot/packfile.h, include/parrot/string.h:
7713 Move NVs to the constant table. * Changes to Types_pm.in to make
7714 life easier for some of the packing/etc. I'm doing elsewhere.
7715 Also, we now pack 'n' as 'i'.
7717 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7718 eventually we can use all these tools together inside scripts
7719 rather than call out to the shell to run the programs.
7721 * As I was tracking down problems, I converted the internal
7722 documentation of the assembler to POD from comments.
7724 * Changed the numeric regexp in the assembler to detect leading
7725 signs and trailing exponents.
7727 * Updated basic_opcodes.ops to fetch numeric constants from the
7730 * Enhanced the disassembler in a number of ways to make my life
7731 easier while tracking down bugs (try it out). It now puts in
7732 labels for ops that are the destinations of flow control ops.
7734 * packfile.c now has a TRACE_PACKFILE switch that can be set
7735 to get it to print info as it processes. I needed this while
7736 debugging, but I can remove it or change it before committing
7739 * Updated pdump.c because it was missing a call to init_world().
7741 * Updated process_opfunc.pl to deal with numeric constants
7742 being stored in the constant table instead of inline.
7744 * Added multiple type support to Parrot/PackFile/Constant.pm
7746 * Added Parrot/String.pm, to be used for constants.
7748 * Added packfile.[hc] functions for allocating new constants
7751 * Made string_copy visible to the world in parrot/string.h.
7755 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7757 2001-09-29 15:56 gregor
7759 * languages/jako/Makefile:
7760 Removed assumption that '.' is on the path.
7762 2001-09-29 15:55 gregor
7764 * languages/jako/Makefile:
7765 Removed references to leibnitz test program.
7767 2001-09-29 15:21 thgibbs
7769 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7770 math ops args to work on Solaris.
7772 2001-09-27 15:15 thgibbs
7774 * assemble.pl: Added case insensitive matches to hex and binary
7777 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7779 2001-09-27 04:46 thgibbs
7781 * assemble.pl: This patch makes integer constants of the form
7782 0b[01]+ work with perl 5.005. The oct function in versions of perl
7783 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7784 returning 0. To fix this, I added a from_binary function that
7785 would take a binary string and return its decimal representation.
7786 Now, instead of blindly calilng oct, it makes a distinction between
7787 0/0x numbers and 0b numbers.
7789 2001-09-26 19:30 thgibbs
7791 * assemble.pl: Error now returns a non-zero status
7793 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7795 2001-09-26 19:13 gregor
7797 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7798 interpreter.c, packfile.c, pdump.c, test_main.c,
7799 include/parrot/bytecode.h, include/parrot/interpreter.h,
7800 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7802 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7803 packfile/bytecode file from C. May be renamed in the future.
7805 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7806 of 'PackFile *', just like the interpreter, etc.
7808 * Constants are accessed via the interpreter's 'code' member
7809 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7810 provided to access constants by index and the number of
7811 constants, respectively (assumes a variable 'interpreter' of
7812 the appropriate type is in scope).
7814 * Byte Code is accessed via the interpreter's 'code' member.
7816 * Changed PackFile_Constant to point to a STRING instead of
7818 members for the string_make() arguments. Also has a 'type' IV
7819 in preparation for allowing multiple types of constants in
7822 * Removed hardcoded example program from test_main.c. We have
7823 plenty of test programs elsewhere.
7825 * test_prog now uses a PackFile to deal with the program before
7826 sending it on to the interpreter.
7828 * Added missing 'end' ops to some tests in t/op/integer.t and
7831 2001-09-26 18:38 thgibbs
7833 * assemble.pl: Separated code into functions and added comments.
7835 2001-09-26 18:29 simon
7838 Fix 64-bit chunk-base issue.
7840 2001-09-26 06:55 thgibbs
7842 * t/op/bitwise.t: Added end to bitwise tests.
7844 2001-09-26 00:54 dan
7846 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7847 and interpreter creation. Skeleton only, but it's something to peer
7850 2001-09-25 21:44 thgibbs
7852 * t/op/trans.t: Removed loops in transcendtal op test.
7854 2001-09-25 10:12 simon
7856 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7857 t/op/string.t, t/op/time.t:
7860 Courtesy of: Alex Gough <alex@rcon.org>
7862 2001-09-24 19:08 gregor
7865 * Enabled the clear_n test.
7867 2001-09-24 18:56 gregor
7869 * Parrot/.cvsignore:
7870 * Ignore the generated Types.pm file.
7872 2001-09-24 18:52 gregor
7874 * languages/jako/Makefile, t/op/number.t:
7875 * No need to skip the inc and dec numeric tests anymore. I fixed
7877 assembler earlier today.
7879 2001-09-24 18:21 simon
7881 * MANIFEST, t/op/stacks.t:
7884 2001-09-24 18:19 simon
7886 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7887 include/parrot/exceptions.h, include/parrot/interpreter.h,
7888 lib/Parrot/Test.pm, t/op/string.t:
7889 1) captured error output, so can test errors, this might be bad,
7890 not sure. 2) basic tests for register stack frames, including some
7891 errors 3) I think we can stop skipping one of the string tests 4) I
7892 added some more substr tests, but substr was broken, so 5) changed
7893 substr to work with out of range values, or 6) throw an error if
7894 they're far too silly
7896 Courtesy of: Alex Gough <alex@rcon.org>
7898 2001-09-24 17:27 gregor
7900 * basic_opcodes.ops, opcode_table, t/op/number.t:
7901 * Op set_n was missing. Added it and a test for it. We now have
7903 same int and num ops, except mod is int-only.
7905 2001-09-24 17:01 gregor
7908 * Fixed a typo: s/Line/line/
7910 2001-09-24 16:02 gregor
7912 * basic_opcodes.ops:
7913 * Fixed dec_n_nc opcode, which had += where it should have had
7916 2001-09-24 15:34 gregor
7919 * Fixed handling of constants starting with '0' that should not
7921 sent through oct(). For example 'set N2 0.1' was being
7923 as 'set N2 0' (naughty).
7925 As reported by Leon Brocard <acme@astray.com> in the comments
7927 his mandelbrot.pasm example.
7929 2001-09-24 02:21 bdwheele
7931 * assemble.pl: fixed dumb code when --include was not specified.
7933 2001-09-24 02:17 simon
7938 2001-09-24 01:56 bdwheele
7940 * assemble.pl: * Added --include=dir option to assembler to provide
7941 a path to look for included files. * Error message of a macro is
7942 defined inside of a macro
7944 2001-09-23 21:29 bdwheele
7946 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
7948 2001-09-23 15:50 simon
7951 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
7953 2001-09-23 02:03 ask
7955 * Configure.pl, test_c.in: fix missing newline at the end of test.c
7956 Courtesy of: acme@astray.com (Leon Brocard)
7958 rename 'test' executable used in Configure process to test_siz.
7960 2001-09-23 01:03 simon
7962 * process_opfunc.pl:
7963 iPaq fix. No, really.
7965 2001-09-23 00:47 simon
7968 Missed several, in fact.
7970 2001-09-23 00:46 simon
7975 2001-09-22 21:13 simon
7978 Assembler register numbering rigour.
7980 Courtesy of: Leon Brocard <acme@astray.com>
7982 2001-09-22 18:20 simon
7984 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
7986 I'm sick of having to install Test::More everywhere. Temporary
7987 measure until we remove this silly dependency.
7989 Also a typo in Makefile.in which suggests some things were only
7990 happening correctly by sheer chance. :)
7992 2001-09-22 18:06 simon
7995 test.pasm is dead, long like make test.
7997 2001-09-22 17:47 simon
8000 De-fang overzealous floating point test.
8002 2001-09-22 17:39 simon
8004 * process_opfunc.pl:
8005 Remove hard-coded NV size assumption. Tru64 is nearly there!
8007 2001-09-22 17:18 simon
8009 * assemble.pl, disassemble.pl:
8010 More portability fixups.
8012 2001-09-22 16:44 simon
8014 * assemble.pl, Parrot/PackFile/Constant.pm,
8015 lib/Parrot/PackFile/Constant.pm:
8016 And I *think* this fixes Tru64.
8018 2001-09-22 16:37 simon
8020 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8024 2001-09-22 16:36 simon
8026 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8027 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8028 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8030 More removal of hard-coded pack formats.
8032 2001-09-22 15:21 simon
8036 Grrr. Why isn't this working?
8038 2001-09-22 15:18 simon
8040 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8041 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8043 Make assemble use the PackFile modules; also fixed some bugs in
8046 2001-09-22 14:38 simon
8048 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8050 Abstract the argument and opcode packing types and functions out
8051 into a separate module. This *should* help us maintain consistency
8052 when we change the various types.
8054 2001-09-22 00:46 brentdax
8056 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8057 test program finishes.
8059 2001-09-21 21:24 brentdax
8061 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8062 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8064 2001-09-21 21:09 gregor
8066 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8067 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8069 * Fixed pad calculation (similar to recent bug fix on C library)
8071 2001-09-21 20:23 simon
8074 Pack types and sizes have gone askew.
8076 2001-09-21 20:18 brentdax
8078 * Configure.pl: Fix typo in setting stuff from the C test program
8080 2001-09-21 10:25 simon
8082 * basic_opcodes.ops, process_opfunc.pl:
8085 Courtesy of: Leon Brocard <acme@astray.com>
8087 2001-09-21 06:06 ask
8089 * Config_pm.in, assemble.pl: fix 5.005_03.
8091 2001-09-21 06:03 ask
8093 * Configure.pl: make the ivsize detection work for us normal people
8094 without . in our PATH. :-)
8096 2001-09-21 05:56 brentdax
8098 * test_main.c: Change _read to read for portability to Tru64
8099 (Damien Neil <neild@misago.org> and likely many others)
8101 2001-09-21 05:46 ask
8103 * Makefile.in: "update" target to update from cvs.
8105 2001-09-21 05:44 brentdax
8107 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8109 2001-09-21 02:43 brentdax
8111 * Configure.pl: Fix a typo that forced the -g flag on
8113 2001-09-20 22:41 dan
8115 * packfile.c: Had some no-value returns. Naughty
8117 2001-09-20 22:40 dan
8119 * t/test.pasm: Added labels to output
8121 2001-09-20 15:39 simon
8123 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8125 This patch does two only somewhat related things.
8127 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8128 = 2*sizeof(iv) to a PConfig-type computed value.
8130 Parrot/Test.pm: Change it to run with the perl that was used to
8131 generate this version of Parrot. This is useful if, for example,
8132 you want to use bleadperl to build and test parrot (e.g. to try out
8133 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8134 installed as the default 'perl' on your system. Since perl-5.7.x
8135 is installed 'version-only', a plain 'perl' is quite likely to pick
8136 up the older perl in such cases. Such an older perl might well not
8137 understand pack('q') used in the assembler.
8139 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8141 2001-09-20 15:14 gregor
8144 * Fixed a typo in pad calculation that throwing off unpack and
8147 2001-09-20 15:03 thgibbs
8149 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8150 tests now cover all registers.
8152 Courtesy of: Damien Neil neild@misago.org
8154 2001-09-20 14:48 thgibbs
8156 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8159 2001-09-20 14:35 simon
8161 * Configure.pl, assemble.pl:
8164 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8166 2001-09-20 14:06 gregor
8168 * languages/jako/jakoc:
8169 * Fixed a tyop in the string interpolation regex.
8171 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8173 2001-09-20 13:56 gregor
8175 * languages/jako/jakoc:
8176 * Updated jakoc to work with the single-destination comp ops.
8178 2001-09-20 05:08 bdwheele
8180 * assemble.pl: macro expansion. Here's the test macro I was using:
8182 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8183 label. testi macro num,got,want print "Test #"
8184 print num print "..." set I32,want set
8185 I31,got eq I32,I31,$ok print "NG\n" branch
8186 $end $ok: print "OK\n" $end: endm
8190 Test1: testi 1,I3,I2
8192 2001-09-20 03:52 dan
8194 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8195 generic stack support
8197 2001-09-20 02:49 bdwheele
8199 * assemble.pl: Added include processing to assemble.pl the syntax
8200 is: include 'file.to.include'
8202 2001-09-19 23:57 thgibbs
8204 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8205 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8206 function to only use 2 args, but the opcode_table still had three
8207 listed. Fixed integer.t and number.t to use the new comparison
8208 operators. Improved assemble.pl ability to grok operators by
8209 constructing a function set and comparing operator types.
8211 2001-09-19 22:42 dan
8213 * assemble.pl: Binmodes the output filehandles now. (No more
8214 bytecode munching...)
8216 2001-09-19 22:32 dan
8218 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8219 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8220 conditional branches take a single argument, and fall through
8223 2001-09-19 21:19 thgibbs
8225 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8228 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8230 2001-09-19 21:04 thgibbs
8232 * include/parrot/interpreter.h, Configure.pl,
8233 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8234 process_opfunc.pl: Changed opcode_t from a union to a configurable
8237 2001-09-19 20:54 thgibbs
8239 * assemble.pl: Missed a couple of changes for 64 bit portability.
8241 2001-09-19 20:37 gregor
8243 * packfile.c, include/parrot/packfile.h:
8244 * Added "methods" for setting and getting all the various
8246 probably sufficient for an assembler to use the library.
8248 2001-09-19 20:04 thgibbs
8250 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8251 a 64 bit platform manually change the setting for 'i' from 'l' to
8252 'q'. This should be automatically done by a Configure setting in
8255 2001-09-19 19:10 thgibbs
8257 * config_h.in: changed c++ comment to c comment.
8259 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8261 2001-09-19 17:48 gregor
8263 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8264 include/parrot/packfile.h:
8265 * C code for dealing with PackFiles as if they were objects.
8267 read-only interface for now, but it would not be hard to make
8269 read-write. [packfile.c, include/parrot/packfile.h]
8271 * PackFile Dumping program that falls short of disassembling, but
8272 tests the above code and provides a hex listing of the byte
8274 contents of the PackFile. [pdump.c]
8276 * New Makefile target 'pdump' for the above program, and related
8277 Makefile.in changes.
8279 * Updated MANIFEST to reflect the added files
8281 * Update .cvsignore to ignore pdump.
8283 2001-09-19 14:55 thgibbs
8285 * MANIFEST: Added number.t and trans.t to MANIFEST
8287 2001-09-19 05:40 thgibbs
8289 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8290 of union opcode_t. I hope this will be more portable for set_n_nc.
8292 2001-09-19 05:39 thgibbs
8294 * t/op/integer.t: Added end to test 1.
8296 2001-09-19 00:09 thgibbs
8298 * t/op/number.t: Added end to each test
8300 2001-09-19 00:00 simon
8305 Courtesy of: Damien Neil <neild@misago.org>
8307 2001-09-18 23:52 thgibbs
8309 * interpreter.c: Added casts to appropriate types to make -Wall not
8310 complain on certain printf formats
8312 2001-09-18 23:31 thgibbs
8314 * t/op/integer.t: Added end to each test.
8316 2001-09-18 22:54 thgibbs
8318 * t/op/trans.t: Added trans.t for transcendental math function
8321 2001-09-18 22:28 simon
8324 MANIFEST updates. (And notice how I carefully snuck in the
8325 t/op/integer.t there...)
8327 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8329 2001-09-18 22:26 simon
8331 * t/: integer.t, op/integer.t:
8332 Except it doesn't go there. Duh.
8334 2001-09-18 22:25 simon
8337 Tests for integer ops.
8339 Courtesy of: Damien Neil <neild@misago.org>
8341 2001-09-18 22:03 thgibbs
8343 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8344 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8345 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8346 opcode_t union for operators. This required a few perl script
8347 changes to output the correct type. There were also some changes
8348 to allow -pedantic in gcc
8350 2001-09-18 21:07 gregor
8352 * disassemble.pl, Parrot/PackFile.pm,
8353 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8354 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8355 lib/Parrot/PackFile/Constant.pm:
8356 Converted the disassembler to use the Parrot::PackFile Perl classes
8359 2001-09-18 19:18 brentdax
8361 * Makefile.in: Fix missing functions for real this time. (I
8364 2001-09-18 18:49 brentdax
8366 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8367 <doughera@lafayette.edu>}
8369 2001-09-18 18:47 brentdax
8371 * Makefile.in: Fix bugs with missing math, etc. functions
8373 2001-09-18 14:42 thgibbs
8375 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8378 2001-09-18 13:59 thgibbs
8380 * strnative.c: Removed unnecessary IV cast in concat.
8382 2001-09-18 13:58 thgibbs
8384 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8385 to concat test in string.t
8387 2001-09-18 12:07 gregor
8389 * languages/jako/jakoc:
8390 * var num ... no longer requires assignment
8391 * automatic casting between int and num
8392 * Fixed an error message
8394 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8396 2001-09-18 11:57 simon
8399 Gonna have to start thinking of more things to do, soon.
8401 2001-09-18 10:42 simon
8404 Introduce a little more tidiness into the opcode table.
8406 2001-09-18 03:06 gregor
8408 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8409 Resurrected register-const ops per Dan's request.
8411 2001-09-18 02:20 gregor
8413 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8414 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8415 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8416 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8417 Committed some files that were missed in the last *.h moving
8420 2001-09-18 02:17 gregor
8422 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8424 2001-09-18 02:16 gregor
8426 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8427 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8428 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8429 missed in last commit for the move of *.h to include/parrot.
8431 2001-09-18 01:32 simon
8434 Trivial "clean" target to t/Makefile.
8436 2001-09-18 01:32 simon
8438 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8439 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8440 Change icky Digest::MD5 for nice simple unpack()
8442 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8444 2001-09-18 00:35 simon
8446 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8448 New concat op. Hey, if I'm going to talk about it in an article,
8449 better implement it...
8451 2001-09-17 22:54 gregor
8453 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8454 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8455 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8456 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8458 Functions for reading, writing and manipulating Parrot Pack Files.
8459 NOTE: This is a proposed term based on the fact that the file
8460 contains more than just byte code, and another language (Java)
8461 calls its binary files by a broader notion of what's in them (Class
8462 Files). Since Perl has packages, and since we use pack() to write
8463 them, we'll call them PackFiles (at least for now).
8465 That does, however, beg the question of file extension. Should we
8466 name the files "foo.pack" instead of "foo.pbc"?
8468 2001-09-17 20:23 thgibbs
8470 * interpreter.c, test_main.c: Uncuddled else statements for coding
8473 2001-09-17 19:57 gregor
8475 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8476 Added a $revision variable, parsing of the CVS Id line in
8477 opcode_table and a &revision() subroutine.
8479 2001-09-17 19:53 gregor
8482 Added a CVS Id tag to it.
8484 2001-09-17 18:58 thgibbs
8486 * interpreter.c: Cleared interpreter flags on creation.
8488 2001-09-17 18:38 gregor
8490 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8491 interpreter.h, test_main.c:
8492 * Provides macros in interp_guts.h for setting up arrays with
8493 op names and op arg counts (done via build_interp_starter.pl).
8495 These are used in the op tracing
8497 * The functions in bytecode.[hc] pass around a pointer to the
8499 of the bytecode so that later when we get to runops, we know
8500 how much bytecode we've got and we can detect out-of-bounds
8501 jumping. The documentation is updated, too.
8503 * runops in interpreter.c now looks at interpreter->flags to
8504 decide if the core of runops should be runops_trace_core or
8505 runops_notrace_core. These new functions contain just the
8506 while-loop portion of runops. A new function runops_generic
8507 does any other setup (such as checking the bytecode
8508 fingerprint) or wrapup (such as complaining if we ended up
8509 out-of-bounds). NOTE: I didn't know what we should do for
8510 functions in here that are not part of the api, so I gave
8511 them docs with 'TODO' marks mentioning they really aren't
8512 part of the api. Guidance appreciated.
8514 * test_main.c now checks for '-t' arg and sets the tracing flag
8515 on its interpreter instance as appropriate.
8517 2001-09-17 17:47 bdwheele
8519 * assemble.pl: added some default equates, and if they're sub
8520 references, they are computed each time it is referenced.
8522 2001-09-17 16:15 dan
8526 Added flags to the interpreter structure and defined a few.
8528 2001-09-17 15:51 simon
8530 * bytecode.h, string.h:
8531 VAR_SCOPE on globals.
8533 2001-09-17 15:20 simon
8536 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8538 2001-09-17 15:05 gregor
8540 * t/jump.pasm, MANIFEST:
8541 Added a test program to demonstrate jump_i.
8543 2001-09-17 14:44 thgibbs
8545 * register.c: Fixed register pop not using correct offset (off by
8548 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8550 2001-09-17 13:56 thgibbs
8552 * interpreter.c, register.c: Added code to call Parrot_clear_s
8553 during initialization and Parrot_clear_s and Parrot_clear_p when a
8554 new stack frame is pushed.
8556 2001-09-17 13:51 gregor
8558 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8559 fib.jako, hello.jako: Added bench.pasm to "clean"
8561 2001-09-17 13:49 gregor
8563 * languages/jako/: jakoc, Makefile:
8566 2001-09-17 13:49 gregor
8568 * languages/jako/jakoc:
8571 Courtesy of: Buggs <buggs-perl6@splashground.de>
8573 2001-09-17 13:29 gregor
8575 * MANIFEST, opcheck.pl:
8576 Added an opcode_table checker to make sure that all opcodes listed
8577 there conform to a simple set of naming rules (rules themselves, of
8578 course, are subject to change).
8580 2001-09-17 13:23 thgibbs
8582 * string.c: Modified string.c to correctly use the return value of
8585 2001-09-17 05:26 brentdax
8587 * Makefile.in: Making the Makefile smarter
8589 2001-09-16 23:06 brentdax
8591 * hints/mswin32.pl: Finishing the Configure hints
8593 2001-09-16 23:05 brentdax
8595 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8596 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8597 Configure hints, 5.005 compatibility, MANIFEST checking
8599 2001-09-16 19:25 bdwheele
8601 * assemble.pl: parrot assembly equates
8603 2001-09-16 18:03 gregor
8606 Added 'test' target to run new test suite.
8608 2001-09-16 17:33 simon
8610 * basic_opcodes.ops:
8611 'not' was being !, rather than ~. Too many Perl programmers here, I
8614 Courtesy of: Tom Hughes <tom@compton.nu>
8616 2001-09-16 17:21 simon
8618 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8620 A *real* test suite!
8622 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8624 2001-09-16 16:49 gregor
8626 * basic_opcodes.ops, opcode_table:
8627 At Dan's request, my new register-constant comparison ops have been
8630 2001-09-16 16:40 gregor
8632 * languages/jako/jakoc:
8633 Fixed a copy-paste error in one of jakoc's error messages.
8635 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8637 2001-09-16 16:37 gregor
8639 * languages/jako/jakoc:
8640 Modified comparison implementation to use temporary registers in
8641 the case of register-constant and constant-register comparisons.
8642 This will allow the compiler to emit code that works when the
8643 constant-comparison ops are backed out of Parrot. If the ops ever
8644 make their way back in, then jakoc can emit more efficient code
8647 2001-09-16 16:19 bdwheele
8649 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8650 ... though not subroutine based like the documentation wants, they
8651 are local to the last non-local label defined.
8653 2001-09-16 14:02 simon
8656 And remember, when you add stuff, keep the manifest up to date.
8658 2001-09-16 02:55 ask
8660 * Makefile.in: a "shared" target for building libparrot.so
8662 2001-09-16 02:45 thgibbs
8664 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8665 global_setup.h, interpreter.c, interpreter.h, io.h,
8666 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8667 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8668 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8669 use the coding standard PDD. Also changed Perl_Interp to
8672 2001-09-16 02:21 ask
8674 * README: emphasise the bits about the license not being worked out
8677 2001-09-15 22:21 simon
8679 * process_opfunc.pl:
8680 basic_opcodes.c should *scream* that it's autogenerated.
8682 2001-09-15 21:58 gregor
8684 * languages/jako/Makefile:
8685 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8688 2001-09-15 21:58 gregor
8690 * languages/jako/: jako_compiler.pl, jakoc:
8691 Renamed the Jako compiler to jakoc from jako_compiler.pl
8693 2001-09-15 21:51 gregor
8695 * languages/jako/: Makefile, bench.jako, euclid.jako,
8697 Added a new bench.jako example based on Leon Brocard's Bench.java.
8699 Jako Compiler: * fix a bug in assignment handling * add some
8700 more conditionals to while and if * revert to using implicit
8701 opcodes in a few cases that were broken before the assembler
8702 patch went in recently.
8704 2001-09-15 21:46 gregor
8706 * assemble.pl, basic_opcodes.ops, opcode_table:
8707 New ops for register-constant INTEGER comparisons:
8709 {eq,ne,lt,le,gt,ge}_ic_ic
8711 New ops for register-register and register-constant NUMERIC
8715 {ne,lt,le,gt,ge}_{n,nc}_ic
8719 Allow uppercase and underscores in labels.
8721 Tweaks to the op infer code to make it work with the examples
8725 2001-09-15 19:16 thgibbs
8727 * README: Updated README to include Configure.pl
8729 2001-09-15 17:05 simon
8731 * build_interp_starter.pl:
8734 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8736 2001-09-15 16:45 simon
8739 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8741 2001-09-15 16:40 simon
8744 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8747 2001-09-15 12:26 simon
8750 Fixed to match the coding standards.
8752 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8754 2001-09-15 01:57 ask
8756 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8757 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8760 2001-09-15 01:48 ask
8762 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8765 2001-09-15 01:42 gregor
8767 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8769 Compiler: Added variable interpolation in double-quoted strings.
8770 Examples: Made use of variable interpolation.
8772 2001-09-15 01:28 gregor
8774 * Parrot/.cvsignore:
8775 Ignore the Config.pm generated file.
8777 2001-09-15 01:22 gregor
8779 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8780 fib.jako, hello.jako, jako_compiler.pl:
8781 gnp: Added some more sample Jako files and added many more
8782 operators to the compiler. Preparations for supporting all the Math
8785 2001-09-14 19:06 simon
8787 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8788 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8789 lib/Parrot/Opcode.pm:
8790 Move common table reading stuff to a module.
8792 Courtesy of: Damien Neil <neild@misago.org>
8794 2001-09-14 17:42 simon
8797 More .cvsignore foo.
8799 2001-09-14 17:40 simon
8801 * assemble.pl, config_h.in:
8804 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8806 2001-09-14 17:38 simon
8808 * assemble.pl, t/Makefile:
8809 Make assemble.pl look in its parent directory if the data files it
8810 needs aren't in the current one. Plus a Makefile that lets "make
8813 Courtesy of: Rocco Caputo <troc@netrus.net>
8815 2001-09-14 16:29 simon
8817 * make_op_header.pl:
8818 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8819 probably segfault everywhere else.)
8821 2001-09-14 15:58 dan
8823 * languages/jako/: euclid.jako, jako_compiler.pl:
8825 Added in the first mini-language that targets Parrot.
8827 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8829 2001-09-14 15:20 dan
8831 * memory.c: Was misaligning returned memory. Fixed.
8833 2001-09-14 15:08 simon
8835 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8836 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8837 register.c, register.h, string.c, string.h, strnative.c,
8839 Fixes to include <parrot/foo.h>
8841 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8843 2001-09-14 12:05 simon
8848 2001-09-14 12:01 simon
8853 2001-09-14 11:54 simon
8858 2001-09-14 11:45 simon
8863 2001-09-14 11:39 simon
8866 Tru64 cc doesn't like -Wall
8868 2001-09-14 10:57 simon
8870 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8871 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8872 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8873 Configure now generates Makefile
8875 Courtesy of: Brent Dax <brentdax@cpan.org>
8877 2001-09-14 10:08 simon
8882 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8884 2001-09-14 10:07 simon
8887 * uses Getopt::Long for options. -c is now --checksyntax.
8889 sure how to keep compatible (patches welcome!) * options
8890 include: --help --version
8891 --verbose --output=file
8892 --listing=file --checksyntax * produces
8893 verbose listing of what the assembler saw :) Only one nitpick with
8894 it: unknown symbols are given as 0xffffffff, unfortunately, this
8895 includes symbols which may be defined later in the file (i.e.
8898 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8900 2001-09-14 10:06 simon
8905 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8907 2001-09-14 10:03 simon
8909 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
8910 register.c, string.c, strnative.c, test_main.c:
8911 Coding standards conformance
8913 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8915 2001-09-14 09:46 simon
8918 Make the assembler grok transcendental maths again. Courtesy of:
8919 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8921 2001-09-13 17:29 simon
8924 Better opcode guessing, from Brian Wheeler. (Again!)
8926 2001-09-13 17:20 dan
8928 * docs/parrot_assembly.pod:
8930 Took out duplicate entries for iton, ntoi, and tostring.
8932 2001-09-13 17:16 simon
8934 * assemble.pl, basic_opcodes.ops, opcode_table:
8937 This patch gives the assembler support of '\a','\n','\r','\t', and
8938 '\\' in string constants.
8940 In addition, it changes (for all registers) "I reg %li is ..." to
8941 just the value of the register. Printing constants is also
8942 supported, but alas, you have to specify the type (print_sc,
8943 print_ic, print_nc).
8945 2001-09-13 15:38 simon
8948 Why don't I actually *test* this stuff before applying it, eh?
8950 2001-09-13 15:34 simon
8952 * TODO, t/euclid.pasm:
8953 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
8954 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
8957 2001-09-13 14:42 simon
8960 A new assembler, from Brian Wheeler.
8962 2001-09-13 09:44 simon
8964 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
8966 Two more from Tom Hughes: Patch to fix C++ style comments
8967 Patch to remove use of structure constant/cast
8969 2001-09-13 09:39 simon
8971 * TODO, docs/strings.pod:
8974 2001-09-13 09:36 simon
8976 * Makefile, basic_opcodes.ops:
8977 Tom Hughes Patch to link with the maths library Tom Hughes
8978 Patch to fix += on rvalue
8980 2001-09-13 08:57 simon
8983 I guess nobody's been using the nightly builds...
8985 2001-09-13 08:27 simon
8987 * assemble.pl, basic_opcodes.ops, opcode_table:
8988 Bitwise ops, from Brian Wheeler.
8990 2001-09-13 08:23 simon
8992 * .cvsignore, t/.cvsignore:
8993 .cvsignore's, from Gregor Purdy.
8995 2001-09-13 08:22 simon
8998 Euclidean test and test output rearranging from Gregor Purdy.
9000 2001-09-13 08:21 simon
9002 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9003 Math ops from Gibbs Tanton.
9005 2001-09-13 08:14 simon
9007 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9009 String substr op; also rearranged "encoding" to be a vtable
9010 pointer, not an array index. Haven't changed docs to reflect this,
9015 2001-09-12 19:48 dan
9017 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9020 2001-09-12 19:39 dan
9022 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9024 2001-09-12 19:23 dan
9026 * interpreter.h, parrot.h: Quick placeholder entry for string
9029 2001-09-12 18:58 dan
9031 * memory.c: Added in a cast to make gcc happy.
9033 2001-09-12 16:44 dan
9035 * docs/parrot_assembly.pod:
9037 PDD describing parrot's assembly language and the opcodes in it
9039 2001-09-12 14:20 dan
9042 Fixed alignment issues with allocation
9044 2001-09-12 10:54 simon
9046 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9047 make_op_header.pl, opcode_table, process_opfunc.pl:
9048 Brian Wheeler's big patch:
9050 * Changes the opcode_table file to provide additional information
9051 about the operands. Case shouldn't be a problem since that data
9052 never becomes a C symbol [this is pretty much as before]
9054 * Padding errors solved: assemble.pl and bytecode.c were padding
9055 the constants incorrectly. It should have been 4-(size % 4), not
9056 just (size % 4). It is now fixed in both places.
9058 * assembler has less special cases, and should be easier to hang
9061 * disassembler dumps constant table and the format is a bit
9062 prettier, including register names, etc.
9064 2001-09-11 23:21 dan
9066 * build_interp_starter.pl, interpreter.c:
9068 Abstracted the runops function core into a macro for easy
9071 2001-09-11 10:43 simon
9073 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9074 Configure system from Brent Dax <brentdax@cpan.org>
9076 2001-09-11 09:38 simon
9078 * assemble.pl, test.pbc:
9079 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9080 assembler deferred output
9082 Also got rid of the bytecode, since that's probably way out of
9085 2001-09-11 09:26 simon
9087 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9088 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9091 2001-09-10 23:20 simon
9094 And that move needs a MANIFEST change. So many things to remember!
9096 2001-09-10 23:18 simon
9098 * t/: test.pasm, test2.pasm, test3.pasm:
9099 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9101 2001-09-10 23:18 simon
9103 * test.pasm, test2.pasm, test3.pasm:
9106 2001-09-10 23:04 dan
9110 Register push/pop test
9112 2001-09-10 22:47 simon
9114 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9115 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9116 (Modified to avoid conflict with Dan's changes.)
9118 2001-09-10 22:45 dan
9122 Happier about blanks in opcode_table
9124 2001-09-10 22:40 dan
9126 * interpreter.c, register.c:
9128 Yanked out debugging code, since these work OK. The bug I want is
9131 2001-09-10 22:30 simon
9134 Uhm. We want make_op_header.pl. We really, really do.
9136 2001-09-10 22:26 simon
9138 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9139 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9140 opcode_table, process_opfunc.pl:
9141 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9142 This means we can add lots more opcodes without fiddling about with
9143 the numbers. Hooray!
9145 Don't forget that "end" needs to be op zero, else the interpreter
9146 falls off the end of the code. This is Bad, and I wonder if there's
9149 2001-09-10 19:49 simon
9151 * MANIFEST, make_op_table_build.pl:
9152 Hey! This doesn't do anything...
9154 2001-09-10 19:46 simon
9157 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9159 2001-09-10 18:31 simon
9162 You know what this means...
9164 2001-09-10 18:30 simon
9167 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9168 wait for a release...? :)
9170 2001-09-10 18:13 simon
9175 2001-09-10 17:56 simon
9178 A *real* README file, which doesn't claim it isn't for public
9181 2001-09-10 17:02 simon
9186 2001-09-10 16:56 dan
9188 * TODO: Added in assembler gripe. Also added a few blank lines for
9191 2001-09-10 16:49 dan
9193 * register.h, register.c: Renamed the core functions so the opcodes
9194 can find 'em OK. (There were some conflicts)
9196 2001-09-10 16:48 dan
9198 * basic_opcodes.ops, opcode_table: Added register window ops
9200 2001-09-10 11:07 simon
9205 2001-09-10 11:05 simon
9207 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9208 note "-s" flag to test prog.
9210 2001-09-10 11:01 simon
9213 New string documentation.
9215 2001-09-10 11:01 simon
9217 * basic_opcodes.ops, opcode_table:
9220 2001-09-10 10:53 simon
9225 2001-09-10 10:51 simon
9228 Just some more aliases for now. Used by string handling stuff.
9230 2001-09-10 10:50 simon
9232 * assemble.pl, bytecode.c, bytecode.h:
9233 Temporary hack to store string constants in bytecode and recreate
9236 2001-09-10 10:48 simon
9239 op.h is now generated by the Makefile; remove it.
9241 2001-09-10 10:47 simon
9244 clean and op.h Makefile targets.
9246 2001-09-10 10:45 simon
9248 * string.c, string.h, strnative.c:
9249 More string vtable stuff.
9251 2001-09-07 21:07 dan
9255 Much less picky about whitespace in the opcode_table now. (Doesn't
9256 whine on blank lines)
9258 2001-09-07 16:23 dan
9260 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9261 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9262 this takes) Added global_setup.h to declare init_world function
9264 Moved variable declarations out of the interpreter loop for small
9267 Changed end opcode to now be opcode #0. A function is provided for
9268 it, but isn't ever executed.
9270 When the interpreter sees an opcode 0 in the stream it means the
9271 end of stream. Things were coring on Cygwin otherwise. (I think I
9272 was dereferencing a zero, which is bad)
9274 2001-09-06 22:07 dan
9276 * basic_opcodes.ops, process_opfunc.pl:
9278 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9279 are minor changes now that things are in a fixed state.
9281 2001-09-06 16:13 dan
9283 * basic_opcodes.c, test_opcodes.c:
9284 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9286 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9287 should be nuked. So it is. :)
9289 2001-09-06 03:35 dan
9291 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9292 Scripts to build the header file that holds the function table
9293 creation code, as well as the script to turn an opcode file to C
9294 source. (And the basic opcode functions turned into an opcode
9297 2001-09-06 03:31 dan
9299 * Makefile, interpreter.c:
9300 Changes to support the autogeneration of the opcode function
9301 pointer table in interpreter.c, along with the changes to the
9304 2001-09-05 13:27 simon
9306 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9307 docs/parrotbyte.pod, docs/vtables.pod:
9308 Added stubs for the documents; working on them this week. (What's
9309 left of it.) config.h change is just to type VTABLE, and the
9310 bytecode thing you might want to revoke. It's apidoc for the
9313 2001-09-03 18:26 simon
9316 A start on the string API documentation.
9318 2001-09-03 17:43 simon
9321 Since we specify the opcode number, we can rearrange to a more
9322 human-friendly ordering.
9324 2001-09-03 17:42 simon
9327 Coupl'a logic bugs. (I think)
9329 2001-09-03 17:41 simon
9331 * string.c, string.h, strnative.c:
9332 Tidying up the string vtables.
9334 2001-09-03 17:38 simon
9336 * make_op_header.pl:
9337 Spit out the whole of op.h, not just the bit in the middle.
9339 2001-08-29 13:16 ask
9341 * README: it seems like we indeed can commit. What about sending
9344 2001-08-29 13:07 simon
9346 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9347 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9348 global_setup.c, interpreter.c, interpreter.h, io.h,
9349 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9350 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9351 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9352 test.pbc, test_main.c, test_opcodes.c:
9353 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9354 I'm still working on the string stuff, though.
9356 2001-08-29 12:44 ask
9358 * README: update README with list address
9360 2001-08-29 12:36 ask
9362 * README: first readme.