20 * changed 'name' method on namespaces to 'get_name' per pdd21
27 * added C<isnull> opcode
34 * added :init pragma functionality to subs
37 * added :vtable pragma functionality to subs
40 * added Parrot::Embed under ext/Parrot-Embed
43 * remove the None PMC - if needed it can trivially be reimplemented
44 in languages from r14189
47 Merged Software Transactional Memory branch into trunk, adds:
48 * several new opcodes whose names start with stm_
49 * read-only PMC support
50 * several new PMC types (whose names start with STM*)
51 * support for threads (again)
58 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
59 there are opcodes now that want the real "in PMC".
60 * namespace and global opcodes now accept name arrays again, as
61 well as keys; the corresponding namespace PMC methods are gone.
64 * Parrot_exit, Parrot_on_exit take now an Interp * argument
67 * add experimental op find_type_i_p
68 * fix longstanding bug that sometimes didn't encode pasm keys as
69 Key PMCs (specifically "[S0]" and "['stringliteral']").
72 further implementation of new pdd21:
73 * new opcodes {get,set}*global
74 (old {find,store}*global will be supported for a short while)
77 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
79 (at the moment code is checking for 2.0 -- ambs)
82 partial implementation of new pdd21:
83 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
84 * get_namespace and find_global opcodes no longer accept arrays
85 of strings. To use arrays, call namespace object methods.
92 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
99 * Make the Perl PMCs dynamic and move them to src/dynpmc
106 * Shifted argument type bits left by 2 according to r11754
107 change of docs/pdds/pdd03_calling_conventions.pod
108 * if you are creating PASM then code needs adjustment
115 * rename src/dynclasses to src/dynpmc
116 * rename src/classes to src/pmc
120 * find_global and friends returns a .Null PMC instead of .Undef on
121 lookup failure, iff lookup exceptions are off
128 * renamed all .imc files to .pir
129 * modified all doc references to .pir as well
132 * moved jit/ directory to src/jit/
135 * moved io/ directory to src/io/
136 * moved classes/ directory to src/classes/
137 * moved dynclasses/ directory to src/dynclasses/
140 * moved types/ directory to src/types/
141 * moved pf/ directory to src/packfile/
142 * moved ops/ directory to src/ops/
145 * moved charset/ directory to src/charset/
146 * moved encodings/ directory to src/encodings/
149 * moved imcc/ directory to compilers/imcc/
152 * moved util/ directory to tools/util/
153 * removed imcc/examples/ directory
154 * moved ast/ directory to compilers/ast/
157 * moved imcc/docs/ directory to docs/imcc/
158 * moved build_tools/ directory to tools/build/
159 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
163 * See NEWS for changes
167 * See NEWS for changes
171 * See NEWS for changes
175 * See NEWS for changes
179 * See NEWS for changes
183 * allow short names for object attributes
184 * string encoding and charset can now be set independently
185 * experimental mmap IO layer for slurping files
186 * enable compile opcode support for compilers written in PASM/PIR
187 * improved HLL support with .HLL and n_operators pragmas
188 * simplified hash code
189 * more strength reduce optimizations
190 * distinct debug and trace flag settings
191 * glob support in PGE
192 * new character classification opcodes and interfaces
193 * numerous bug fixes and enhancements
197 * parrot repository is now under subversion
198 * MMD (Multi Method Dispatch) enhanced
199 * new unary and infix opcodes that return new result PMCs
200 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
201 * more unification of PMCs and ParrotObjects
202 * tailcalls for functions and methods
203 * PGE (Parrot Grammar Engine) reworked
204 * Pugs creates Parrot code and Pugs is a registered compiler now
206 * the usual bug fixes and improvements
210 * big rewrite of string code, not yet finished but ...
211 * partial implementation of a generational garbage collector
212 * indirect register frame addressing
213 * .return(args) PIR syntax
214 * moved most of the Python code to dynclasses
215 * a lot more Python functionality
216 * precalculate opcodes with all constants
217 * PGE - Parrot Grammar Engine
218 * scalar classes refactoring
219 * much more tests and big test system cleanup
220 * improved documentation
221 * and as always a lot more
225 * Need Perl 5.6 now for building
226 * Basic AST support, PAST file parser, bits of code generation
227 * BigInt PMC using GMP
229 * Dynamic loading improved including bundles of PMC classes
230 * Experimental support for "make install"
231 * IA64 and hppa JIT support
232 * ICU unicode support
233 * IO layer handling code
234 * IO readline and buffered IO fixes
236 * Internal pythonic functions: filter, map, reduce, max, min ...
237 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
238 * Library updates, Stream and SDL library
239 * MMD - multi method dispatch for binary vtable methods
240 * Many new array PMCs
241 * Method call syntax in PIR obj."meth"(...)
242 * More OS stuff: stat, exec, system, gmtime, piped read and write
243 * New Python PMCs like Enumerate, None
244 * Non-branching compare opcodes
245 * PIR support for += and friends
246 * Python language subdir
247 * Python types mapped to existing PMCs
248 * Slices and range support
249 * Tons of bug fixes, documentation updates, new tests
250 * Win32 COFF exec support
255 * "Ladies and gentlemen, I give you... objects!"
256 * Huge documentation overhaul
257 * More supported platforms, s. PLATFORMS
258 * Basic thread support for pthread based architectures
259 * Basic event handling for timers and signals including:
260 * PASM callbacks for NCI (native C) functions.
261 * Improved platform configuration
262 * COW stacks now working, stacks code redone
263 * Structure handling vastly improved
264 * Random PMC and rand primitives
265 * Better subroutine call syntax in PIR
266 * Make PIR subroutines compliant with pdd03
267 * Improved profiling (DOD, GC timings)
268 * Hash code improvements, incl. random key order support
269 * Experimental freeze/thaw code for some PMC types
270 * IO improvements for buffered layer and Win32
272 * String bitwise vtables
274 * Support for JIT, where malloced memory isn't executable
275 * Priority DOD scheme for objects that need timely destruction
276 * Improved bytecode loading (e.g. onLoad functions)
277 * Language updates: forth, Perl6/P6C, m4
278 * Libraries: Getopt_Long, SDL, Dumper, Sort
280 * Unified imcc and parrot test handling
281 * Many new tests (make test reports 1386 tests)
287 * Yep thirteen - haunted by the ghost of 0.0.12
288 * Build imcc as parrot
289 * Objects more finished
290 * Delegate vtable methods to byte code
291 * Binary multi-method dispatching
292 * Isa and does methods for PMCs
293 * Call byte code from C
294 * Start of extension interface
295 * Experimental struct handling
296 * Catch access to NULL PMCs
297 * Experimental network socket interface code and opcodes
298 * IO fixes and improvements
299 * Dynamic opcode libraries
300 * Fix-assigned opcode numbers
301 * Argument flattening for function calls
302 * More native call interface (NCI) signatures
303 * Ncurses, postgres, and pcre interface libraries
304 * Forth language is vastly improved
305 * BSD and Win32 build improvements
306 * Many new tests and fixes
309 * imcc moved from parrot/languages/ to parrot/
313 * updated the native_pbc test files (from Leo)
314 * built 0.0.11.1 release tarball
318 * CHANGES BUNDLED INTO 0.0.11:
320 * Dynamic PMC registration
321 * Trial exception system
322 * Beginnings of object system
325 * I/O system improvements
327 * Documentation for basic PMC types
328 * IMCC support of Parrot Calling Conventions
329 * Runtime loading of chartypes (and other string improvements)
330 * Conditional breakpoints
331 * Dramatically accelerated sweeps for finalizable objects
332 * Small PMCs (PMCs split into core and extensions)
333 * Loadable bytecode packfiles
335 * Sub variants that deal with the stack correctly
336 * Switched runops core
337 * Line numbers in warnings
339 * Many documentation cleanups
340 * Conversion to CPS style!
341 * BASIC debugger and many other wacky features
342 * Filename, line number parsing support in IMCC
344 2003-07-21 17:31 chromatic
345 * applied copyright patch from Josh Wilmes
348 * Moved the registers out of the context structure, since they
349 really aren't context
350 * Changed the register stack frames to hold only 16 registers
351 rather than 32, added half-set push and pop ops, and reworked
352 the full set push/pops to do two half-set push/pops. Should
353 speed up saving register data on calls, since we usually only
354 care about the top half of the registers anyway.
355 * Started committing some of the new class/object framework
356 * Remembered to finally start updating the Changelog
361 Update Yet Another copyright statements to reflect the (no longer
364 2003-03-11 22:06 chip
366 * Configure.pl: print help on non-option command line args
368 2002-12-18 20:38 sfink: changes since 0.0.8
370 - Allow suppression of cgoto core to save memory during compile
371 * Native function calling interface
372 * Major rewrite of stack and list aggregates
374 * Scratchpads implemented
376 - Internal memory subsystem documentation
377 * Preliminary DotGNU support
378 - Packfile fingerprinting
379 * Buffer/PMC unification (into PObjs)
380 * stabs debugging information support
381 * Major Jako overhaul, including:
383 - native function calling
384 - Perl6 string interpolation
385 - languages/regex now targets IMCC
386 * Optional Lea memory allocator
387 * Full sprintf implementation
388 * Many, many new tests
391 - runtime-controllable gc debugging
394 * JIT: various improvements
395 - register usage tracking
396 - block register allocation
400 - architecture abstraction layer
402 * Beginning support for extensible packfiles
403 * Much better key support, generally
405 * Restructured PMC hierarchy with better functionality inheritance
406 * IMCC: many, many improvements. See imcc/ChangeLog
407 * Perl6: index map grep join reverse defined
408 * Scheme with functions!
411 2002-03-19 22:54 nicholas
413 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
415 We can now get usage information for test_parrot without having to
418 2002-03-19 22:53 simon
421 Parrot is called parrot.
423 2002-03-19 22:53 nicholas
425 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
427 1. There are tests in t/pmc as well as t/op now.
428 2. Adds a comment about Parrot::Test
432 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
433 messes up automated builds
435 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
437 2002-03-19 00:33 mrjoltcola
439 * core.ops: Doc cleanup from Simon Glover.
441 2002-03-18 23:52 mrjoltcola
443 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
447 * include/parrot/resources.h: Checked in old version
451 * include/parrot/resources.h: Forgot a prototype
455 * resources.c: D'oh! Thinko, fixed.
457 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
459 2002-03-18 17:33 josh
461 * Configure.pl: Lowering the bar a bit.
463 2002-03-18 17:33 sfink
465 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
466 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
467 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
468 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
469 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
470 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
471 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
472 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
473 t/example.t: Whoops, wrong time to check this in.
477 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
478 least we consider the PMC and Buffer free pools worth collecting,
479 and initialize the Buffer pool stuff. Still not 100% correct,
482 2002-03-18 15:35 simon
487 2002-03-18 07:45 brentdax
489 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
492 2002-03-18 00:09 sfink
494 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
495 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
496 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
497 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
498 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
499 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
500 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
501 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
502 t/example.t: Buggy 1st version of regex compiler implementation.
503 Warning: the test code depends on features of the assembler that do
506 2002-03-17 21:35 ajgough
508 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
509 through addition and subtraction. Also added the ability to run
510 all the tests, including the ones which deal with overflow and
511 underflow. These fail, but that's expected. Soon they'll pass.
512 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
513 passsssssssings tesssstsssss.
515 2002-03-17 20:06 ajgough
517 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
518 check_(under|over)flow to test bignumbers, rather than values.
519 context now carries E_limit, from which max and min exp are found.
521 Added a default-context-creating function (although this isn't the
522 same as either of the default contexts defined in the eda).
524 2002-03-17 13:31 ajgough
526 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
527 exported version matches prototypes of other public functions.
529 2002-03-17 06:44 josh
531 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
532 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
533 last-minute re-indenting.
535 2002-03-17 05:07 mrjoltcola
537 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
539 2002-03-16 23:17 nicholas
541 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
544 default.pmc: In function `Parrot_default_get_integer_keyed':
545 default.pmc:50: warning: control reaches end of non-void function
546 default.pmc: In function `Parrot_default_get_number_keyed':
547 default.pmc:58: warning: control reaches end of non-void function
548 default.pmc: In function `Parrot_default_get_string_keyed':
549 default.pmc:67: warning: control reaches end of non-void function
550 default.pmc: In function `Parrot_default_get_pmc_keyed':
551 default.pmc:87: warning: control reaches end of non-void function
553 2002-03-16 18:50 ajgough
555 * types/: bignum.c, bignum.h: Lots of prototypes changed in
556 readiness for nicely telling your caller about any oddness you've
557 caused in the persuit of flow.
561 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
562 include/parrot/interpreter.h, include/parrot/resources.h: Now we
563 can control the GC and DOD, to stop it when we don't really want
568 * resources.c, vtable.tbl, classes/default.pmc,
569 include/parrot/resources.h: Added the last code to let PMCs control
570 their marking at DOD time
572 2002-03-16 16:57 ajgough
574 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
575 feel a little more virtuous now. Really I do. You might not
576 believe me, but you should. perl -pne 's/\t/ /g', if you're
579 2002-03-16 16:57 josh
581 * packfile.c, packout.c: M-x untabify is my new friend.
583 2002-03-16 16:50 josh
585 * trace.c, resources.c: Minor whitespace tweak for the benefit of
586 check_source_standards.pl
588 2002-03-16 16:50 ajgough
590 * types/: bignum.c, bignum.h: More documentation, separate
591 functions into public and private sorts, some initial stuff to cope
592 with over and underflow correctly.
594 2002-03-16 16:49 josh
596 * resources.c: Re-indented (sorry bout the big diff)
598 2002-03-16 16:47 bdwheele
600 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
601 assemble again, both with Simon's new assembler and with the old
604 2002-03-16 16:33 mrjoltcola
606 * io/TODO: Get the TODO up-to-date for 0.0.4.
608 2002-03-16 16:11 josh
610 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
611 silly people (such as me) running Configure with
612 /usr/local/bin/perl (which is 5.004_05) and not realising their
613 mistake until the pmc subdirectory, where the first qr// is
616 Syntax error messages don't tell you what you did wrong. This does:
618 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
619 only version 5.00405, stopped at Configure.pl line 10.
621 2002-03-16 14:38 ajgough
623 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
626 2002-03-16 11:45 simon
628 * MANIFEST, examples/assembly/xml_parser.pasm:
629 Added Clint Pierce's XML parser.
631 2002-03-15 22:24 simon
634 Don't need that function.
636 2002-03-15 21:56 simon
638 * Makefile.in, include/parrot/packfile.h:
639 Rebuild packout.o, since it'll be used for the Packfile XS module
643 * include/parrot/: memory.h, pmc.h: Another add-in for GC
647 * core.ops: No string to int for some reason
651 * string.c, t/op/string.t: Fix 0-length substr problem
655 * core.ops, interpreter.c, resources.c, classes/array.pmc,
656 classes/perlarray.pmc, examples/assembly/life.pasm,
657 include/parrot/interpreter.h, include/parrot/resources.h: Added in
658 a counter for copied memory, with a display in life.pasm
660 2002-03-14 03:16 mrjoltcola
662 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
664 2002-03-13 23:43 simon
669 2002-03-13 23:43 simon
674 2002-03-13 21:31 simon
679 2002-03-13 18:06 simon
683 Fix string_compare screw-up.
685 2002-03-13 18:02 brentdax
687 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
688 and add a new question/answer pair.
690 2002-03-12 22:53 mrjoltcola
692 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
694 2002-03-12 22:48 mrjoltcola
696 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
699 2002-03-12 22:29 ajgough
701 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
703 2002-03-12 22:24 ajgough
705 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
706 version 1.1, Don't know if this is the correct number, but I don't
707 want this stuck on my harddrive where it will get lost, so 14 it is
710 2002-03-12 11:35 simon
712 * MANIFEST, packdump.c, packout.c:
714 Just so the functionality doesn't disappear.
716 2002-03-12 11:33 simon
718 * Makefile.in, chartype.c, encoding.c, packfile.c,
719 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
720 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
721 include/parrot/chartype.h, include/parrot/encoding.h,
722 include/parrot/packfile.h:
726 2002-03-11 23:06 nicholas
728 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
730 Core.ops documentation nits
732 2002-03-11 23:05 nicholas
734 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
736 Most of the PerlUndef tests in pmc.t appear to have been added
738 Enclosed patch removes the duplicates.
740 2002-03-10 23:40 nicholas
742 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
744 More tests for the PerlString test-suite.
746 2002-03-10 23:40 nicholas
748 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
750 test for sleep with negative argument
752 2002-03-10 21:58 nicholas
754 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
756 Enclosed patch fixes up a few more holes in our test coverage.
758 2002-03-10 21:18 mrjoltcola
760 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
761 classes/parrotpointer.pmc, classes/perlarray.pmc,
762 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
763 classes/perlstring.pmc, classes/perlundef.pmc,
764 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
765 argument to the init() vtable method so PMCs have the option to
766 know how to size themselves at creation. size could be N elements
767 or a byte count, depending on the PMC or it may simply be ignored.
768 Overloaded 'new' opcode for optional arg.
770 2002-03-10 21:15 mrjoltcola
772 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
773 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
776 Also added small hack for .sub directive (which simply translates
777 to a label, however we might eventually want to collect these to
780 2002-03-10 15:09 ajgough
782 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
783 Added round_floor and round_ceiling. 3403 tests pass, none fail.
785 2002-03-10 03:56 ajgough
787 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
788 divide, divide integer and remainder. All filled in functions now
789 have special values capability.
791 Much remains to be done though, and the pdd needs to catch up.
793 2002-03-10 01:36 ajgough
795 * types/bignum.c: Added extended stuff to _add, _subtract.
797 2002-03-10 00:14 nicholas
799 * t/op/: integer.t, number.t: Patch from Simon Glover
802 The enclosed patch fixes a few of the holes in our test coverage
803 uncovered by Josh Wilmes
805 2002-03-09 23:03 ajgough
807 * types/: bignum.c, bignum.h: Modified compare to work with
808 extended values. Made a couple of changes here and there to allow
809 BN_comp to take a context, so that an is_zero check doesn't clobber
812 2002-03-09 22:19 ajgough
814 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
815 Unary plus now copes with special values.
817 2002-03-09 04:25 ajgough
819 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
820 traps and flags are now enabled and tested for all the standard
821 tests for all the functions which are currently implemented. Test
822 harness faffed with to allow these to be tested.
824 2002-03-09 02:29 josh
826 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
827 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
830 2002-03-09 02:22 josh
832 * config_h.in: tab-blastin'
834 2002-03-09 02:21 josh
836 * check_source_standards.pl: Play nicer with M-x compile- don't
837 bother giving line numbers for things you don't want to look at.
839 2002-03-09 02:10 josh
841 * examples/mops/mops.c: re-indented
843 2002-03-09 02:07 josh
845 * classes/pmc2c.pl: Use the usual header so that we can detect the
848 2002-03-09 02:05 josh
850 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
853 2002-03-09 01:59 josh
855 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
856 patch- re-indent io/*.c.
858 2002-03-09 01:52 ajgough
860 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
861 special values to the string conversion functions, some other
862 functions now need context (to let -0 pass through really_zero)
863 which have also been added.
865 2002-03-09 01:47 josh
867 * test_main.c: Re-indented.
869 2002-03-09 01:41 josh
871 * rx.c: killed a stray tab
873 2002-03-09 01:38 josh
877 2002-03-09 01:36 josh
879 * misc.c: Oops, some tabs remained- cleaned up.
881 2002-03-09 01:31 josh
883 * misc.c: Re-indented (major patch, sorry)
885 2002-03-09 00:59 josh
887 * embed.c: Re-indented.
889 2002-03-08 23:08 simon
891 * MANIFEST, docs/pdds/pdd10_embedding.pod,
892 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
893 docs/pdds/pdd13_bytecode.pod:
896 2002-03-08 21:12 ajgough
898 * include/parrot/string.h: Added private flags to string.h, mostly
899 so that other GCed stuff can also have its very own private flags.
901 2002-03-08 19:53 simon
906 2002-03-08 19:41 robert
908 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
909 pdd6.pod, pdd7.pod: Renamed...
911 2002-03-08 18:51 simon
913 * MANIFEST, docs/pdds/pdd08_keys.pod:
916 2002-03-08 18:20 ajgough
918 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
919 Introduced exception handlers and exception flags to context, will
920 allow support of extended standard. Unified exception checking
921 mechanism (sort of) and made minimal changes to bulk of code to use
922 this. Tests pass, I'm happy, and further changes will happen more
925 2002-03-08 04:38 josh
927 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
930 2002-03-08 04:37 josh
932 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
934 2002-03-08 04:24 josh
936 * embed.c: A bit more re-indenting
938 2002-03-08 04:20 josh
940 * embed.c: Indenting fixes
942 2002-03-08 04:14 josh
944 * jit.c: Re-indented (run_indent.pl)
946 2002-03-08 03:36 josh
948 * ops2c.pl: Fix the line numbers which get reported while compiling
951 2002-03-08 03:22 josh
953 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
954 The variable "type" is set but never used.
958 2002-03-08 03:04 josh
960 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
961 io/io_unix.c: Clean up unused and set-but-not-referenced variables
962 noticed by the sgi compiler.
964 2002-03-08 03:02 josh
966 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
967 misc.c, Line = 417 The indicated type qualifier is meaningless on
974 2002-03-08 02:55 josh
976 * Makefile.in: Clean up one of the object files it was missing
978 2002-03-08 01:15 josh
980 * include/parrot/interpreter.h: Fixes the following error (tcc):
981 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
982 comma at end of list.
984 2002-03-06 22:15 simon
987 Tidy up stack chunk allocation.
989 2002-03-06 21:00 simon
992 Create strings only once we've got string register heads set up.
994 2002-03-06 20:31 simon
996 * classes/perlarray.pmc:
997 malloc(0) considered harmful.
999 2002-03-06 20:24 simon
1001 * include/parrot/resources.h:
1002 I like it when Parrot compiles.
1004 2002-03-06 17:02 dan
1006 * classes/array.pmc: Changed over to data pointing to a Buffer.
1008 2002-03-06 15:45 dan
1010 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1011 packfile.c, pbc2c.pl, pdump.c, resources.c,
1012 include/parrot/interpreter.h, include/parrot/memory.h,
1013 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1014 and opcode_t > longs will now be even more suspect than what they
1015 were beforehand. 2) Feel free to bicker with names. I don't think
1016 we've come to *any* sort of agreement with these, although we
1017 really, really, need to. 3) I forget the third thing. 4) But I
1018 thought of a fourth. 5) I've now remembered the third thing: IIRC,
1019 ANSI C states that enums will fit within the smallest type (int or
1020 greater) that can hold the values. Is that actually correct, and
1021 does it state whether unsigned is preferred to signed for
1022 non-negative enums? 6) Since I'm no longer constrained by "three"
1023 or "quick", I'm going size_t happy for a lot of memory-related
1024 storage. (That's good. No sense wasting the size or performance
1025 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1026 a couple other internal things (like the GC stat counters, seen
1027 here). Size and performance, again, and unpromotable to a bigint,
1028 so we know that we (theoretically) will wrap. However, size_t
1029 isn't the best choice for the type. (Not that there's anything
1030 wrong with size_t, just that it shouldn't be called size_t.) Any
1031 thoughts? I was thinking of just doing unsigned int, because,
1032 IIRC, int is usually the natural word size, and will be most
1033 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1034 of was while writing down the others. Sorry.
1036 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1038 2002-03-06 15:26 dan
1040 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1041 include/parrot/resources.h: Now we allocate generic Buffers from
1044 2002-03-05 21:42 brentdax
1046 * Configure.pl: Minor cleanup and enhancements.
1048 2002-03-05 21:25 dan
1050 * resources.c: non-special GC now works with PMCs
1052 2002-03-05 19:48 brentdax
1054 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1055 Parrot now "knows" if it's a development version or a release
1056 version. See the instructions in the DEVELOPING file.
1058 2002-03-05 18:05 brentdax
1060 * MANIFEST: pasm.vim wasn't in the manifest.
1062 2002-03-05 17:57 simon
1065 Now, through much evilness, make distclean and make cvsclean work
1068 2002-03-05 17:38 dan
1070 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1071 include/parrot/interpreter.h, include/parrot/pmc.h,
1072 include/parrot/resources.h: PMC tracing complete
1074 2002-03-05 16:28 gregor
1076 * languages/jako/Makefile.in:
1077 Changed -I ../../ to -I ../../lib when calling the assembler, since
1078 the perl modules have moved.
1080 2002-03-05 05:30 josh
1082 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1083 string.c: More re-indenting via run_indent.pl.
1085 2002-03-05 05:17 josh
1087 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1090 2002-03-05 04:26 josh
1092 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1093 using run_indent.pl and some minor tweaking.
1095 2002-03-05 04:21 josh
1097 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1098 interpreter.c: Re-indented using run_indent.pl and some minor
1101 2002-03-05 03:30 josh
1103 * include/parrot/trace.h: These functions are no longer used (or
1106 2002-03-04 18:21 josh
1108 * include/parrot/trace.h: Fix a typo in the argument type.
1110 Patch from <daniel.ritz@gmx.ch>
1112 2002-03-04 03:39 josh
1114 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1115 header to jit_struct.h so we don't try to check it for conformance.
1116 (no way will it conform)
1118 2002-03-04 03:38 josh
1120 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1121 unicode.h, warnings.h: Remove some remaining tabs and split some of
1122 the remaining long lines.
1124 2002-03-04 03:17 josh
1126 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1127 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1128 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1129 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1130 string_funcs.h, trace.h, warnings.h: This is the first batch of
1131 re-indenting. This patch is the result of running run_indent.pl
1132 on the header files and manually tweaking the results where errors
1133 were noticed. This should get us closed, but some refinement may
1136 2002-03-04 03:06 josh
1138 * resources.c: Return without parens, as mentioned in PDD 7
1140 2002-03-04 03:01 josh
1142 * core.ops: POD fixes.
1144 2002-03-04 02:58 josh
1146 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1147 on autogenerated files- used by the check_source_standards.pl
1148 script (for now) to exempt autogenerated files from the checks.
1150 2002-03-04 02:51 josh
1152 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1153 warnings.c: Added the editor "boilerplate" footer to a few files
1154 which were missing it.
1156 2002-03-04 02:34 josh
1158 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1159 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1160 c preprocessor directive indentation to comply with pdd 7.
1162 (also fixes the check for this indentation in
1163 check_source_standards.pl)
1165 2002-03-04 02:32 josh
1167 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1170 perl t/harness t/op/basic..........Use of uninitialized value at
1171 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1172 line 6) # got: undef # expected: ''
1174 2002-03-04 02:30 josh
1176 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1177 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1178 "indent" program to enforce some of the code style standards
1181 Usage: ./run_indent.pl <file>
1183 2002-03-03 19:04 simon
1185 * examples/mops/mops.c:
1186 Let's make it compile, huh?
1188 2002-03-03 19:04 simon
1190 * examples/mops/mops.cs:
1193 2002-03-03 18:11 simon
1195 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1196 Added C# and MS-IL versions of mops tester.
1198 2002-03-03 14:52 simon
1201 Add a sub() op to make mops_p work.
1203 2002-03-02 18:12 nicholas
1205 * examples/mops/mops.c, include/parrot/embed.h,
1206 include/parrot/interp_guts.h, include/parrot/jit.h,
1207 include/parrot/misc.h, include/parrot/packfile.h,
1208 include/parrot/rx.h, include/parrot/warnings.h,
1209 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1210 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1211 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1212 indent variables correctly.
1214 2002-03-02 17:41 nicholas
1216 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1217 patch to fix a compiler warning.
1219 2002-03-01 22:35 dan
1221 * memory.c, resources.c, include/parrot/pmc.h,
1222 include/parrot/resources.h: PMCs now come out of arenas.
1224 2002-03-01 06:15 dan
1227 A non-existing buffer + a non-existing buffer should be a
1228 non-existing buffer, not "", which is really '\0'.
1230 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1232 2002-03-01 06:02 dan
1234 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1236 TMTOWTDI, but strcmp is probably the worse.
1238 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1240 2002-03-01 02:32 brentdax
1242 * embed.c: Debug mode now prints out the GC data.
1244 2002-02-28 23:44 dan
1246 * core.ops, resources.c, include/parrot/resources.h: Added collect
1249 2002-02-28 22:58 dan
1251 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1254 2002-02-28 22:50 dan
1256 * core.ops, interpreter.c, resources.c,
1257 examples/assembly/life.pasm, include/parrot/interpreter.h,
1258 include/parrot/resources.h: Add some stat gathering to the resource
1261 Also add an interpreter info retrieval op, and teach it about the
1262 different things it can retrieve.
1264 Finally, add some stat info to life.pasm as an example
1266 2002-02-28 21:27 dan
1268 * editor/pasm.vim: VIM mode commands for parrot assembly files
1270 Courtesy of Scott Beck <scott@gossamer-threads.com>
1272 2002-02-28 19:20 dan
1274 * examples/assembly/life.pasm: Fix a creeping string length leak.
1276 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1278 2002-02-28 18:26 dan
1280 * string.c: When you clone a constant, it ain't constant no mo'.
1282 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1284 2002-02-28 00:51 dan
1286 * MANIFEST: Add missing files
1288 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1290 2002-02-28 00:49 dan
1292 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1293 CVS seems to have several chunks missing out of it, too. This
1294 patch is simply an administrative patch, with the differences
1295 between my last version, and the one currently in there. There
1296 will be a forthcoming patch for some minor tweaking to the PDD, but
1297 I wanted a common baseline before I make any (potential) semantic
1300 There's only one semi-major change, which noone needs to worry
1301 about just yet. That's a change from PDD Format 1 to PDD Format
1302 6.0 - rationale can be found under 'Standard (Version #)' of the
1303 STANDARDS TRACK infomation. Don't worry about this yet, because it
1304 should be 6.0.0, and we need to discuss Perl versus Parrot with
1307 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1309 2002-02-28 00:27 dan
1311 * packfile.c, resources.c, examples/assembly/life.pasm,
1312 include/parrot/register.h, include/parrot/resources.h,
1313 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1316 This patch now implements a real copying collector. We trace from
1317 our root set and compact the contents of Buffer structs.
1321 *) It's very STRING-centric and doesn't handle memory stuffed in
1322 Buffers. But, then, we don't have pool allocation for Buffers
1323 either, and we need to have that soonish for this to work.
1325 *) Doesn't trace PMCs, so if you trigger a collection and there's
1326 memory or STRING structs only accessible from PMCs, you'll fail
1327 horribly. That needs fixing too
1329 *) Better algorithms for when to trace or collect vs when to just
1330 go allocate more memory from the system. Should probably be more
1333 2002-02-27 21:04 dan
1335 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1336 examples/assembly/life.pasm, include/parrot/resources.h,
1337 include/parrot/string.h, include/parrot/string_funcs.h,
1338 jit/i386/core.jit: Start of GC in
1340 2002-02-26 16:41 dan
1342 * jit/i386/string.jit: Fix a typo
1344 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1346 2002-02-26 16:37 dan
1348 * interpreter.c: Fix solaris test failures
1350 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1352 2002-02-26 16:36 dan
1354 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1355 unicode.h, warnings.h: Fixes various warts in header files, such
1356 as: * macros -added parens to prevent problems with operator
1357 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1358 is no longer used * added some more INLINE definitions for MSVC and
1361 Courtesy of Brian Lee Ray <blray@ualr.edu>
1363 2002-02-26 16:20 dan
1365 * Configure.pl: Turns out we were using a warning flag which
1366 doesn't exist on 2.7. Simple tweak though:
1368 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1370 2002-02-25 22:58 dan
1372 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1374 2002-02-25 17:36 dan
1376 * include/parrot/pmc.h: Fix the bits
1378 2002-02-23 21:57 dan
1380 * include/parrot/resources.h: Another 1.5% never hurts
1382 2002-02-23 21:44 dan
1384 * global_setup.c, memory.c, resources.c, string.c,
1385 include/parrot/resources.h: Allocate STRING headers from an arena
1386 with freelist rather than with the system malloc. First step in a
1387 good (or even a bad) GC system.
1389 2002-02-23 20:37 brentdax
1391 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1393 2002-02-22 14:59 ajgough
1395 * types/bignum.c: BN_multiply split into BN_multiply and
1396 BN_imultiply, the internal version to be used by idivide so that
1397 rounding isn't performed during intermediate stages of division.
1399 following test scripts now all pass: divide divideint add multiply
1400 subtract remainder compare rounding plus minus (these are all the
1401 operations currently implemented, rescale and power must still be
1402 written, so don't pass right now).
1404 2002-02-22 13:13 ajgough
1406 * types/bignum_atest.pl: Test harness modified to understand
1407 comments better, and be able to run unary (and rounding) tests.
1408 Currently a few rounding tests fail, which are being investigated.
1410 2002-02-22 01:41 dan
1412 * key.c: Although there's more work being done on the key stuff and
1413 this isn't the final fix, applying this patch does get parrot to
1414 build with two more compilers, so it's probably worthwhile.
1416 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1418 2002-02-22 00:53 dan
1420 * config_h.in, misc.c, include/parrot/embed.h,
1421 include/parrot/exceptions.h, include/parrot/interpreter.h,
1422 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1423 include/parrot/resources.h, include/parrot/rx.h,
1424 include/parrot/string.h, include/parrot/unicode.h,
1425 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1426 io/io_win32.c: Fixes the following (lcc) warnings:
1428 - interpreter.c:470: warning: expression with no effect elided
1429 (related to the way warnings flags were defined)
1431 - misc.c:352: warning: unreachable code
1432 misc.c:483: warning: unreachable code
1433 (i introduced these with some overzealous de-linting)
1435 - numerous warnings like this:
1436 io/io_unix.c:383: warning: conversion from pointer to void' to
1438 pointer to struct _ParrotIO function(pointer to struct
1439 Parrot_Interp,pointer
1440 to struct _ParrotIOLayer,pointer to const char,pointer to const
1442 to pointer to void)' is compiler dependent
1444 Fixes the following nits: - remove bad indenting (tabs) in the
1447 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1449 2002-02-21 21:12 ajgough
1451 * types/: bignum.c, bignum.h: These might look like massive
1452 changes, but really it's just he imposition of coding standards.
1453 The file still isn't entirely compliant, but is now much more so.
1457 o a few more comments
1458 o BN_compare uses internal BN_comp to compare
1459 o lost_digits behaviour is now correct (test harness modified to
1463 All binary functions now pass all the tests in the basic standard.
1464 Unary functions not yet tested, will be soon.
1466 2002-02-21 18:20 dan
1468 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1469 was no longer needed, and the ssize_t thing really shouldn't be
1472 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1474 2002-02-21 18:15 dan
1476 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1477 include/parrot/parrot.h: this patch adds support for the freely
1478 available borland c++ 5.5.1 compiler
1480 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1481 working borland compiler (compiler must know where to find headers
1482 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1483 cc='cl.exe' - a working make utility (borland make doesn't work,
1486 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1487 hints/mswin32.pl - remove a space from Configure.pl (very very
1488 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1489 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1490 (win32 knows it, linux not)
1492 and the why: - parrot is MUCH faster when compiled with borland c
1493 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1496 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1498 2002-02-21 18:09 dan
1500 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1501 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1502 cuddled elses, as required by PDD 7.
1504 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1506 2002-02-21 18:04 dan
1508 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1509 a new Makefile target called "check_source". This target scans all
1510 the .c and .h files in the directory and checks for conformance to
1511 a number of the standards outlined in PDD 7.
1513 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1515 2002-02-21 16:38 ajgough
1517 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1518 allow arithmetic with numbers with a fixed fractional part, buffer
1519 structures now more ready to be integrated into the parrot memory
1520 allocation game, test harness modified to allow lost_digits
1521 condition to be checked. Some more comments.
1523 2002-02-21 15:53 simon
1528 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1530 2002-02-20 16:41 dan
1532 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1534 2002-02-18 18:25 dan
1536 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1538 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1540 2002-02-18 18:21 dan
1542 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1543 CPrederef.pm to make to generated code compile with the MS
1546 fixes: - ms compiler allows inline only for c++, for c there's
1547 __inline - ms header files knows nothing about ssize_t
1549 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1551 2002-02-18 17:49 dan
1553 * MANIFEST: Add the PDDs
1555 2002-02-18 17:47 dan
1557 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1558 coding standards PDD.
1560 2002-02-18 17:40 dan
1562 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1564 2002-02-18 12:41 gregor
1567 Remove warning about exit() not being declared.
1569 2002-02-18 08:29 simon
1571 * misc.c, warnings.c, include/parrot/misc.h,
1572 include/parrot/warnings.h:
1573 This patch adds some missing const's to silence a number of gcc
1576 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1578 2002-02-18 08:26 simon
1580 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1581 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1582 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1583 include/parrot/parrot.h, include/parrot/rx.h,
1584 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1585 lib/Parrot/OpTrans/CPrederef.pm:
1586 - add makefile target and script to test for external libc
1588 - fix return values in hash and array PMCs (returning 0 in a
1590 - remove unnecessary data pointer <=> function pointer
1592 outside of the JIT code.
1593 - move the definition of the "INLINE" macro out of the rx header
1595 available for general use on C++ compilers and gcc.
1596 - remove a few unused variables
1598 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1600 2002-02-17 16:29 simon
1602 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1603 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1604 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1605 We're organised and responsible. Honest.
1607 2002-02-17 02:46 sfink
1609 * Makefile.in: Remove $^ for nmake compatibility.
1611 2002-02-16 09:20 brentdax
1613 * config_h.in, test_main.c, include/parrot/chartype.h,
1614 include/parrot/embed.h, include/parrot/encoding.h,
1615 include/parrot/string.h, include/parrot/string_funcs.h: Better
1616 embedding exposure and hiding, part 1.
1618 2002-02-16 04:38 dan
1620 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1621 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1622 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1623 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1624 typecasts in various places throughout the code. It probably won't
1625 work for Windows yet. The libparrot.a target might need to be
1626 modified to at least prevent it from confusing make on Windows; I
1629 Preliminary instructions for using pbc2c.pl are in
1630 docs/running.pod. I'll try to do better later.
1632 Courtesy of Steve Fink <steve@fink.com>
1634 2002-02-16 04:15 dan
1636 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1638 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1640 2002-02-16 00:03 simon
1642 * classes/: perlarray.pmc, perlhash.pmc:
1644 pmc is already defined!
1646 2002-02-15 23:20 brentdax
1648 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1649 include/parrot/exceptions.h: Far more informative panic messages.
1651 2002-02-15 03:24 dan
1653 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1654 much more extensive patch that fixes it to work properly, and
1655 deletes a bazillion casts as well. It also points to the question
1656 "can we make the byte_code be an opcode_t* already?"
1658 Oh, and it makes some of the formatting prettier, so it's gotta be
1661 Courtesy of * Steve Fink <steve@fink.com>
1663 2002-02-15 02:30 dan
1665 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1666 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1667 of the things it finds. Attaching the patch as well as the current
1670 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1672 2002-02-15 01:59 dan
1674 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1677 2002-02-15 01:48 dan
1679 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1681 2002-02-15 01:40 dan
1683 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1686 2002-02-14 23:30 dan
1688 * resources.c: Added comment for buffer tag routine. D'oh!
1690 2002-02-14 23:28 dan
1692 * resources.c, include/parrot/resources.h: Added buffer mark
1695 2002-02-14 23:17 dan
1697 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1698 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1699 Rejigged memory system a bit. Now should be ready for the horror
1700 that is garbage collection.
1702 2002-02-14 19:33 gregor
1704 * ops2c.pl, include/parrot/oplib.h:
1705 Added code to automatically generate a function within an oplib to
1706 lookup opinfos given the op name. This will come in handy in future
1707 when we want to twiddle opcode tables at run time and possibly at
1710 2002-02-14 19:25 gregor
1712 * examples/assembly/queens.pasm:
1713 Regenerated queens.pasm from queens.jako since the clone_* stuff
1716 2002-02-14 17:12 dan
1718 * resources.c, include/parrot/resources.h: Finished up the
1719 interface for memory and tracked interpreter thingies.
1721 2002-02-14 16:53 dan
1723 * memory.c, include/parrot/memory.h: intercept free and realloc
1725 2002-02-14 05:53 dan
1727 * interpreter.c, runops_cores.c: The type changes in struct
1728 Packfile break the pointer math used in a few places to calculate
1729 the address of the end of the loaded byte code. This causes
1730 segfaults in build_asm in jit.c when using -j. It also breaks the
1731 bounds checking on opcode address in runops_slow_core.
1733 The patch adds the necessary cast to correct the code_end
1736 Courtesy of Jason Gloudon <perl@gloudon.com>
1738 2002-02-14 01:01 ajgough
1740 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1741 BigInt operations (I think), tests for normal operation continue to
1742 pass. Also a shed load of comments.
1744 2002-02-13 01:34 ajgough
1746 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1747 is a (mostly) working bignumber library. There remains much work
1748 to do though, some functions are not yet implemented and headers
1749 need to find their way to the correct place RSN. Also support for
1750 bigints and a sensible error reporting mechanism are needed.
1752 2002-02-12 18:51 dan
1754 * misc.c: Fix some warnings
1756 2002-02-12 17:10 dan
1758 * misc.c: Run through indent -kr -nce so I can read it
1760 2002-02-12 16:49 dan
1762 * misc.c: Need standard header/footer comments
1764 2002-02-11 20:32 simon
1766 * classes/array.pmc:
1767 get and set pmc methods.
1769 2002-02-11 20:19 simon
1771 * classes/array.pmc:
1772 Maybe the keys aren't integer...
1774 2002-02-11 20:03 simon
1776 * core.ops, vtable.tbl, classes/default.pmc:
1779 2002-02-11 19:07 simon
1781 * vtable.tbl, classes/default.pmc:
1782 Add set_pmc. Usee with caution.
1784 2002-02-11 18:20 dan
1786 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1789 2002-02-11 17:59 simon
1791 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1792 classes/perlarray.pmc, classes/perlhash.pmc:
1795 2002-02-11 17:57 simon
1797 * packfile.c, include/parrot/packfile.h:
1800 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1802 2002-02-11 17:55 dan
1804 * docs/parrot_assembly.pod: Document some key ops
1806 2002-02-11 09:20 brentdax
1808 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1811 2002-02-11 00:34 simon
1813 * core.ops, include/parrot/exceptions.h:
1814 This is what keyed set ops look like. Remember, however, that for
1815 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1816 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1817 obviously ambiguous that you ought to use the 4-arg version
1820 2002-02-10 23:12 jgoff
1822 * classes/: array.pmc, perlarray.pmc: Properly allocate
1823 SELF->data's array of PMC* data in array and perlarray.pmc. This
1824 isn't tested yet, but should be fairly straightforward. PerlHash
1825 needs to be finished before the system will compile again, and that
1826 should be done in the next few days.
1828 2002-02-09 04:46 jgoff
1830 * classes/: array.pmc, default.pmc, intqueue.pmc,
1831 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1832 Added basic _keyed member functions. Unfortunately this still
1833 doesn't fix the problems that are causing the build to break. It's
1834 a start though. I'm not implementing the PMC add functions just
1837 2002-02-08 15:59 simon
1839 * classes/array.pmc:
1840 Some more work on getting the array stuff up to date.
1842 2002-02-08 12:23 simon
1844 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1845 lib/Parrot/Vtable.pm:
1846 Got array->get_integer_keyed doing what I think it ought to. One
1847 down, all the rest to go.
1849 2002-02-08 11:47 simon
1852 Although I didn't intend it to be quite that broken...
1854 2002-02-08 11:42 simon
1856 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1857 Completely break Parrot, but at least we get the key stuff right
1860 2002-02-08 06:25 dan
1862 * hints/darwin.pl: Silences the warning about passing in
1863 -flat_namespace to the compile. That's a link-only flag.
1865 2002-02-08 04:52 jgoff
1867 * classes/: array.pmc, default.pmc, intqueue.pmc,
1868 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1869 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1870 return values in *.pmc, added some missing casts to the repeat_foo
1871 members, and deleted the _index members from the perlscalar
1872 classes. Basic cleanup, and getting ready for _keyed functions.
1874 2002-02-07 04:49 mrjoltcola
1876 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1877 added a nested subroutine call.
1879 2002-02-07 04:32 jgoff
1881 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1882 changes in order to give the whitespace rules a little workout, and
1883 do a little bit more testing. No actual structural changes were
1884 made. lib/Parrot/Vtable.pm got an interface change, and more
1885 importantly should be ready to support the new '_keyed' attribute,
1886 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1887 src_value' followed by 'KEY* src_key'. This will be how the new
1888 _keyed operators will function, and those should be written within
1891 2002-02-06 18:00 doughera
1893 * misc.c: Change C++-style comments to C comments (again). Remove
1894 unused perl5 code that was in #if 0/#endif.
1896 2002-02-06 17:59 doughera
1898 * warnings.c: Add trailing newline.
1900 2002-02-06 04:14 mrjoltcola
1902 * include/parrot/io.h, io/io.c: Minor cleanup.
1904 2002-02-06 03:11 mrjoltcola
1906 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
1907 couple of loose end in win32 IO stuff. Open behaves now but needs
1910 2002-02-05 21:02 brentdax
1912 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
1913 which showed up in Purify builds.
1915 2002-02-05 17:15 simon
1920 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
1922 2002-02-05 17:08 doughera
1924 * misc.c: Avoid C++-style comments.
1926 2002-02-05 17:07 doughera
1928 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
1929 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
1930 thanks to Jason Gloudon <perl@gloudon.com>.
1932 2002-02-05 14:04 simon
1935 Make the problem different, perhaps even better.
1937 2002-02-05 13:49 simon
1940 Possibly fix a `short int' is promoted to `int' when passed through
1941 `...' scary error, possibly make things absolutely worse.
1943 2002-02-05 13:15 simon
1948 2002-02-05 13:12 simon
1951 Not going to get far without this one...
1953 2002-02-05 11:41 simon
1956 Don't barf when handed null pointers.
1958 2002-02-05 10:04 simon
1960 * misc.c, include/parrot/misc.h:
1961 Fix some trivial bugs in warnings code.
1963 2002-02-05 09:27 simon
1966 Oops, forgot this one; also added %P support.
1968 2002-02-05 09:20 simon
1970 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
1971 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
1972 include/parrot/interpreter.h, include/parrot/misc.h,
1973 include/parrot/parrot.h, include/parrot/warnings.h:
1976 Courtesy of: Brent Dax <brentdax@cpan.org>
1978 2002-02-05 05:41 jgoff
1980 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
1981 format of vtable.tbl to get rid of the tab-dependence. The format
1982 now looks roughly like this:
1984 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
1985 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
1986 assumed here, but note the C-like prototyping. Also had to disable
1987 one test that depended upon 'concat_p_p_s', which isn't necessary
1990 Vtable.pm will change again when the type '_keyed' is added,
1991 because that requires remapping parameters slightly differently
1992 again. Also, note that it assumes 'value' is the first parameter
1993 in the list. This assumption will go away at the same time.
1995 2002-02-04 16:57 ajgough
1997 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
1998 functions. Thanks to Simon Glover.
2000 2002-02-04 02:47 ajgough
2002 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2003 needed. I suspect that the entire hints file isn't really needed,
2004 but there's no one to actually tell us this.
2006 2002-02-02 15:45 ask
2008 * docs/ParrotFAQ.htm: fix internal links
2010 2002-02-02 04:06 jgoff
2012 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2013 Moving the internal KEY structure from the cache.struct_val member,
2014 where it doesn't really belong, to the internal SELF->data member.
2015 This frees up the cache/type members for other usage.
2017 This is the first step in moving PMCs to the point where we can do
2018 multidimensional PMC handles. The next step is to change the
2019 assembler to accept the syntax of 'set P0["foo"],7'.
2021 2002-02-02 00:13 nicholas
2023 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2024 prototype Parrot_Array_class_init
2026 2002-02-02 00:13 nicholas
2028 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2029 time to sum_time to avoid warning on FreeBSD about tracking a
2030 global [No, this warning does not appear on Linux. Yes, it is real
2033 2002-02-01 23:02 nicholas
2035 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2038 2002-02-01 20:20 nicholas
2040 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2042 2002-02-01 18:20 nicholas
2044 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2047 2002-02-01 13:22 nicholas
2049 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2051 2002-02-01 12:19 simon
2053 * core.ops, t/op/ifunless.t, t/op/integer.t:
2056 2002-02-01 12:11 simon
2058 * lib/Parrot/Test.pm:
2061 2002-02-01 01:38 nicholas
2063 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2064 and a manitest target to Makefile.in that lets one test the
2067 2002-02-01 00:03 dan
2069 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2072 2002-01-31 21:46 gregor
2074 * Configure.pl, Makefile.in, hints/mswin32.pl:
2075 A few more things are now configable, so we are closer to win32
2076 shared library builds. Not there yet, but closer.
2078 2002-01-31 21:00 dan
2080 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2081 include/parrot/pmc.h: First step in dynamically loading PMC classes
2083 2002-01-31 19:38 dan
2085 * Makefile.in: Dependencies in the Makefile are currently too broad
2086 brush. I don't enjoy waiting for everything to recompile every
2087 time I try to tweak the jit. The only file that #includes
2088 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2089 should reflect this, and not cause a gratuitous recompile of
2090 everything. There are probably other auto-generated header files
2091 that world+dog should not depend on.
2093 Courtesy of Nicholas Clark <nick@unfortu.net>
2095 2002-01-31 19:03 gregor
2097 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2098 Added two new make targets:
2100 * testp: Like 'make test', but passes -P to t/harness, so you get
2102 see how broken predereferencing is.
2104 * testj: Like 'make test', but passes -j to t/harness, so you get
2106 see how broken JIT is.
2108 Now, anyone who wants to see how good all three ways of running are
2109 can do so, at the cost of about 3x the time.
2111 2002-01-31 17:09 brentdax
2113 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2115 2002-01-31 03:41 grunblatt
2117 * docs/jit.pod: Update jit.pod
2119 2002-01-31 03:20 grunblatt
2121 * jit/i386/core.jit: Hold this until we get an assemble tool,
2122 because of the different objdump problems.
2124 2002-01-31 03:13 grunblatt
2126 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2127 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2128 of: Jason Gloudon <perl@gloudon.com>
2130 2002-01-31 02:22 grunblatt
2132 * jit/i386/core.jit: Continue if the register is null
2134 2002-01-30 23:50 grunblatt
2136 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2137 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2138 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2141 2002-01-30 23:35 mrjoltcola
2143 * io/io_win32.c: Change implementation of isatty on win32,
2144 suggested by Hong Zhang.
2146 2002-01-30 23:19 sfink
2148 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2149 Op::may_jump boolean method.
2151 Replaced jit2h's hardcoded pattern match to decide what ops might
2152 change the control flow.
2154 2002-01-30 22:13 dan
2156 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2157 parrot to mostly-build with tcc. It allows one to skip compiling
2158 the JIT stuff (by specifying --define jitcapable=0), and it
2159 introduces a test program which gives a friendlier error in this
2160 case for compilers which are as picky as tcc is about function
2163 If anyone figures out the proper way to cast these function
2164 pointers this may not be necessary.
2166 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2168 2002-01-30 20:54 dan
2170 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2171 Here's an update to docs/running.pod to better reflect the current
2172 state (both the test_parrot and assemble.pl improvements, plus
2173 documentation of a few more things.) And also a speling fiks
2174 s/POST_MORTERM/POST_MORTEM/.
2176 I could also replace some "perl foo" calls with "./foo" if someone
2177 wanted to set the executable flag in CVS on assemble.pl,
2180 Courtesy of Steve Fink <steve@fink.com>
2182 2002-01-30 20:43 dan
2184 * core.ops: find_global doesn't work, so stub out the wrong code
2186 2002-01-30 19:08 dan
2188 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2190 can read it and just tidies it up generally. It also adds
2192 for the constantize_integer and constantize_number functions.
2194 Courtesy of Simon Glover <scog@roe.ac.uk>
2196 2002-01-30 18:02 dan
2198 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2199 classes/genclass.pl, classes/pmc2c.pl,
2200 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2201 distribution (including assemble.pl !)
2202 can no longer find the Parrot::* modules. Enclosed patch fixes
2204 it would be nice if there were an easier way to do this).
2206 Courtesy of Simon Glover <scog@roe.ac.uk>
2208 2002-01-30 16:00 mrjoltcola
2210 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2213 2002-01-30 15:50 mrjoltcola
2215 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2217 2002-01-30 15:42 grunblatt
2219 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2222 2002-01-30 15:38 grunblatt
2224 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2225 the manifest, and also puts it back into alphabetical order.
2227 Courtesy of: Simon Glover <scog@roe.ac.uk>
2229 2002-01-30 14:41 nicholas
2231 * embed.c: Patch from Simon Glover to clean up warnings where
2232 prototype is () not (void)
2234 2002-01-30 13:54 nicholas
2236 * include/parrot/embed.h, test_main.c: Add void as an explicit
2237 parameter in test_main.c's usage(), version(void) and embed.h's
2238 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2239 warning: function declaration isn't a prototype
2241 2002-01-30 12:08 simon
2243 * lib/Parrot/.cvsignore:
2244 Ignore generated Perl modules.
2246 2002-01-30 12:07 simon
2249 Run the PMC tests as well.
2251 2002-01-30 12:04 simon
2254 Fix MANIFEST after recent t/pmc rejig.
2256 2002-01-30 11:42 simon
2258 * lib/Parrot/Test.pm:
2259 Report non-zero exit codes.
2261 Courtesy of: Michael G Schwern <schwern@pobox.com>
2263 2002-01-30 11:39 simon
2266 Skip final test, TODO doesn't work yet.
2268 2002-01-30 09:54 brentdax
2270 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2271 predereferencing works.
2273 2002-01-30 09:38 brentdax
2275 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2278 2002-01-30 09:37 brentdax
2280 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2282 2002-01-30 09:37 brentdax
2284 * config_h.in: Expose another flag for embedders.
2286 2002-01-30 05:07 jgoff
2288 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2289 location for Parrot/, and t/harness wasn't able to run the new
2290 op/pmc tests. Both problems fixed, so I think I'm going to declare
2291 the build suitable for public consumption.
2293 2002-01-30 04:34 robert
2295 * docs/Makefile.in: update for CVS movement
2297 2002-01-30 04:32 robert
2299 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2300 .in file, not the real Makefile)
2302 2002-01-30 04:20 robert
2304 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2305 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2306 related to moving files around
2308 2002-01-30 04:10 robert
2310 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2312 2002-01-30 04:07 robert
2314 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2316 2002-01-30 03:56 robert
2318 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2319 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2320 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2321 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2322 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2323 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2324 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2325 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2328 2002-01-30 03:46 robert
2330 * languages/miniperl/miniperlc: renamed to mpc
2332 2002-01-30 03:45 robert
2334 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2335 pmc_perlstring.t: Moved to t/op/pmc/
2337 2002-01-30 03:40 robert
2339 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2341 2002-01-30 03:14 jgoff
2343 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2344 Fixed some problems with PerlArray and added tests. Previously,
2345 only integers could be accessed by negative indices. After this
2346 change, all basic types can be accessed by negative indices, and
2347 they can also be set at negative indices.
2349 2002-01-29 22:13 brentdax
2351 * TODO: Just look at the stupid diff.
2353 2002-01-29 21:53 simon
2355 * TODO, docs/vtables.pod:
2356 New TODO, and tiny addition to vtables.pod
2358 2002-01-29 21:47 mrjoltcola
2360 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2362 2002-01-29 21:38 mrjoltcola
2364 * Makefile.in: Makefile.in tweak for io depend.
2366 2002-01-29 21:15 brentdax
2368 * embed.c: Fix a segfault and some profiling formatting nits.
2370 2002-01-29 20:54 brentdax
2374 2002-01-29 20:50 brentdax
2376 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2379 2002-01-29 20:17 mrjoltcola
2381 * interpreter.c, core.ops, io.ops: CVS missed this.
2383 2002-01-29 20:17 mrjoltcola
2385 * io/io.c: These should have gone in Sunday with the rest. CVS is
2388 2002-01-29 18:39 brentdax
2390 * platforms/win32.h: Fix Win32 whoops.
2392 2002-01-29 18:29 brentdax
2394 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2396 2002-01-29 17:51 simon
2398 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2399 include/parrot/embed.h, include/parrot/parrot.h:
2400 Embedding support. Cool.
2402 Courtesy of: <brentdax@cpan.org>
2404 2002-01-29 15:40 grunblatt
2406 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2407 Gloudon <perl@gloudon.com>
2409 2002-01-29 14:42 simon
2411 * include/parrot/parrot.h:
2412 Platform stuff has to be included *after* system headers.
2414 2002-01-29 14:05 grunblatt
2416 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2417 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2418 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2419 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2420 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2422 2002-01-29 10:56 simon
2424 * platforms/generic.h:
2425 If we don't have a S_ISREG, produce something close to it.
2427 2002-01-29 06:01 dan
2429 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2431 2002-01-29 04:38 jgoff
2433 * classes/array.pmc: Forgot to remove some C++-isms from the
2434 get_{foo}_index routines.
2436 2002-01-29 04:26 jgoff
2438 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2439 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2440 t/pmc/array.t: Added array class that languages other than perl can
2441 use for a basis. It has no features like preextension, and the
2442 array index starts at 0.
2444 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2445 and classes/Makefile.in - Added array.pmc to the makefile.
2446 (Assuming rules like .pmc.o are portable (or even possible) I might
2447 alter classes/Makefile.in to autobuild the appropriate files.
2449 2002-01-29 02:32 dan
2451 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2452 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2453 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2454 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2455 Update to Test::More 0.41 which adds Test::Builder
2457 Delete the vestigal Test::Utils
2459 Change Parrot::Test so it uses Test::Builder instead of Evil
2463 output_* now returns whether the test passes or fails
2465 Parrot::Test no longer exports Test::More's functions. Instead
2467 can simply be used together. The few tests which used
2469 features (ie. skip) have 'use Test::More' added.
2471 I ditched the export_to_level() crutch. Do we expect parrot to
2473 5.004? (literally 5.004, not 5.004_04)
2475 Courtesy of Michael G Schwern <schwern@pobox.com>
2477 2002-01-28 21:04 dan
2479 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2480 pointer should actually be to
2481 parrot_assembly.pod, as the canonical documentation.
2483 Courtesy of Simon Glover <scog@roe.ac.uk>
2485 2002-01-28 20:21 dan
2487 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2490 2002-01-28 19:18 dan
2492 * core.ops, register.c: clone[insp] is dead
2494 2002-01-28 17:46 grunblatt
2496 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2497 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2499 2002-01-28 16:45 dan
2501 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2502 the requirement for fink at the moment.
2504 2002-01-28 15:59 simon
2507 People might try and run a directory file, with spectacular
2508 results. We don't want that. No.
2510 2002-01-28 14:58 doughera
2512 * core.ops: Avoid C++-style comments.
2514 2002-01-28 14:16 grunblatt
2516 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2517 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2520 2002-01-28 13:47 doughera
2522 * include/parrot/register.h: Avoid C++-style comment.
2524 2002-01-28 06:03 dan
2526 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2527 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2528 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2529 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2530 include/parrot/parrot.h, include/parrot/regfuncs.h,
2531 include/parrot/register.h, include/parrot/register_funcs.h,
2532 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2533 are now stored in the interpreter structure itself, rather than
2534 just a pointer to the top of the register structure. Pushes and
2535 pops now involve memcpys, but register access has one fewer
2538 Fails four of the register stack tests, though, so not perfect.
2539 Needs fixing, but this is a good place to start.
2541 2002-01-28 04:40 mrjoltcola
2543 * test_main.c: cvs commit missed this. ??
2545 2002-01-28 04:27 mrjoltcola
2547 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2548 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2549 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2550 interpreter now (at least in theory). IO handle array added. Misc
2551 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2552 we don't conflict with system libraries. Still have broken
2553 stuff in win32 and stdio layer.
2555 2002-01-28 04:01 mrjoltcola
2557 * include/parrot/chartype.h: Typo in chartype.h include guard.
2559 2002-01-28 03:41 mrjoltcola
2561 * t/op/interp.t: Fix flag for interp so we don't get "info"
2562 messages which break tests.
2564 2002-01-28 01:54 dan
2566 * include/parrot/string.h: A few more buffer/string flags
2568 2002-01-27 11:33 nicholas
2570 * chartypes/unicode.c: Cast unsigned argument to int in call to
2571 isdigit to silence gcc warning.
2573 2002-01-26 23:18 grunblatt
2575 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2578 2002-01-26 23:17 grunblatt
2580 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2581 jit/i386/core.jit: [no log message]
2583 2002-01-26 22:18 simon
2585 * jit/i386/core.jit:
2586 Jumping to 0x0 is a recipe for segfaults.
2588 2002-01-26 18:35 simon
2591 Allow user to select which tests to harness
2593 Courtesy of: Nicholas Clark <nick@unfortu.net>
2595 2002-01-26 17:20 grunblatt
2597 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2598 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2599 to make the jit work in linux again.
2601 2002-01-26 16:52 dan
2603 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2604 headers can't cope with this. Darwin-only
2606 2002-01-26 16:04 dan
2608 * include/parrot/parrot.h: Quick note to remind folks that this
2609 isn't the file they're looking for if they're writing extensions or
2612 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2614 2002-01-26 00:41 mrjoltcola
2618 2002-01-26 00:37 mrjoltcola
2620 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2623 2002-01-25 01:31 grunblatt
2625 * jit/alpha/core.jit: There is no neg or fneg.
2627 2002-01-25 01:27 grunblatt
2629 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2630 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2631 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2632 t/op/number.t: Added Parrot_neg. Erase t.s
2634 2002-01-24 23:26 dan
2636 * interpreter.c: Best make sure unused elements are NULL
2638 2002-01-24 23:24 dan
2640 * interpreter.c: Fix stupid thinko
2642 2002-01-24 18:37 doughera
2644 * Makefile.in: Add a few missing dollar signs in the lifetest
2645 section so that ${exe} and the like get properly interpolated.
2647 2002-01-24 18:15 mrjoltcola
2649 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2650 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2651 Simon Glover <scog@roe.ac.uk>
2653 2002-01-24 06:43 mrjoltcola
2655 * io/io_stdio.c: Oops.
2657 2002-01-24 06:34 mrjoltcola
2659 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2660 of work on the buffering layer. Decided to use shared read/write
2661 buffer (as do most implementations) for now since its the simplest
2662 way to keep everything synced, (flush on seeks, flush read on
2665 2002-01-24 03:38 mrjoltcola
2667 * test_main.c: Cleaned up option handling code a bit for main().
2669 2002-01-23 23:22 dan
2671 * interpreter.c, include/parrot/interpreter.h,
2672 include/parrot/resources.h: Now each interpreter gets its own hash
2675 2002-01-23 20:45 dan
2677 * Configure.pl: Fix a warning when there's no - in an architecture
2679 2002-01-22 23:57 grunblatt
2681 * docs/running.pod: [no log message]
2683 2002-01-22 20:29 doughera
2685 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2686 appears to be a generic problem (if sizeof(long double) >
2687 sizeof(double)), not an x86-specific one.
2689 2002-01-22 16:57 doughera
2691 * runops_cores.c: Change variable name from time to starttime to
2692 avoid gcc warning about variable name shadowing.
2694 2002-01-22 16:55 doughera
2696 * classes/pmc2c.pl: Include class_init prototype too.
2698 2002-01-22 16:01 doughera
2700 * MANIFEST: [no log message]
2702 2002-01-22 01:04 ajgough
2704 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2705 classes/parrotpointer.pmc, classes/perlarray.pmc,
2706 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2707 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2708 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2709 warnings from pmc files. Message-ID:
2710 <20020121224719.GE1726@Bagpuss.unfortu.net>
2712 2002-01-22 00:53 ajgough
2714 * test_main.c: Clears up a couple of warnings in test_main.c.
2715 Thanks to Nick Clark. Message-ID:
2716 <20020121190457.GB1726@Bagpuss.unfortu.net>
2718 2002-01-22 00:47 ajgough
2720 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2721 include/parrot/chartype.h: Cause all codepoints to be treated as
2722 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2723 Nick Clark, see also: Message-ID:
2724 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2726 2002-01-22 00:24 dan
2728 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2730 Appended patch cures these warnings:
2732 key.c: In function `debug_key': key.c:29: warning: int format,
2733 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2734 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2735 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2736 format, INTVAL arg (arg 4)
2738 Courtesy of Nicholas Clark <nick@unfortu.net>
2740 2002-01-21 12:41 mrjoltcola
2742 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2745 2002-01-21 06:37 mrjoltcola
2747 * io/io.c: Cleanup a warning
2749 2002-01-21 06:28 mrjoltcola
2751 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2752 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2753 ops. Various other IO twiddlings.
2755 2002-01-21 03:25 grunblatt
2757 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2758 Melvin Smith for the catch up.
2760 2002-01-20 23:13 sfink
2762 * stacks.c: Fixed logic errors, need tests
2764 2002-01-20 22:17 brentdax
2766 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2767 prepare for /i to work.
2769 2002-01-20 20:52 grunblatt
2771 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2772 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2773 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2774 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2775 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2776 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2777 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2778 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2779 jit/alpha/string.jit:
2780 - Added support for ALPHA, by now linux and bsd.
2782 - Reduced jit2h.pl execution time by precompiling the call to the
2785 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2786 Parrot/Jit/${cpuarch}Generic.pm
2788 - Changed the way to detect quads to what is written in "man
2791 2002-01-20 17:23 brentdax
2793 * rx.ops: There's no such thing as rx_allocateinfo.
2795 2002-01-19 08:26 brentdax
2797 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2799 2002-01-19 07:12 mrjoltcola
2801 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2802 into io.ops, leave the STDIO wrappers in core.ops until they
2803 disappear. Added debug op for switching on VM debug flag
2805 2002-01-19 01:55 mrjoltcola
2807 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2808 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2810 2002-01-19 00:55 brentdax
2812 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2813 include/parrot/rxstacks.h: Add regex-specific stacks for
2816 2002-01-18 23:58 dan
2818 * Configure.pl: I think the optimal fix here is simply to remove
2819 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2820 man pages say "There is no reason to use this option [-pedantic];
2821 it exists only to satisfy pedants."
2823 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2825 2002-01-18 23:23 dan
2827 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2828 docs/running.pod, which lists the various executables Parrot
2829 currently includes, examples of running them, and mentions of where
2830 they fail to work. It's more of a cry for help than a useful
2831 reference. :-) I've been having trouble recently when making
2832 changes in figuring out whether I broke anything, because any
2833 non-default way of running the system seems to be already broken. I
2834 can't tell what brokenness is expected and what isn't.
2836 Courtesy of Steve Fink <steve@fink.com>
2838 2002-01-15 22:13 brentdax
2840 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2841 substring use and enhance performance.
2843 2002-01-15 21:03 ajgough
2845 * string.c: Fix problem with string_transcode, &dest not being
2846 updated if src was already in desired encoding.
2848 2002-01-15 16:54 brentdax
2850 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2851 warnings. Leaves only one warning, at rx.ops line 409, that I
2852 can't manage to get rid of.
2854 2002-01-15 16:50 dan
2856 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2857 code. Also patches pbc2c.pl to work with rx.ops.
2859 Courtesy of Jason Gloudon <perl@gloudon.com>
2861 2002-01-15 16:15 dan
2863 * classes/Makefile.in: All the C files in classes/ weren't being
2864 compiled with an of the gcc warnings flags. With this patch they
2865 are, and there are an awful lot of warnings, more than I could hope
2866 to understand and clear up (within any sensible time period before
2867 submitting a rash of patches, by which time everyone else would
2868 have moved the code on)
2870 Courtesy of Nicholas Clark <nick@unfortu.net>
2872 2002-01-15 16:10 dan
2874 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2875 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2876 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2877 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2878 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2879 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2880 chartypes/usascii.c: This patch adds a few more macros for .ops
2881 files to use. In addition to the existing
2895 This is intended mainly for use in helper functions in .ops files,
2896 but also for ops that need to eg push the address of the next
2897 opcode onto a stack. The only place this currently happens (outside
2898 of my private code) is in the bsr opcode, which previously
2899 hardcoded the computation.
2901 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
2902 higher in the generated file so that it can be used by static
2903 functions in the preamble.
2905 Finally, I ran into a parentheses matching problem -- should goto
2906 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
2907 \bgoto\s+OFFSET\((.*?)\)
2909 It was done inconsistently for the different calculations, and of
2910 course neither are correct because you really want matching
2911 parentheses. But that seems like too much bother. (Currently,
2912 there's only one place that uses anything other than $n in the
2913 parentheses, and that's the enternative() op.) So I made them all
2914 .*? but emulated recent POD by also allowing (( ... )) (that's two
2915 parenthesis with a space padding the body.)
2917 The generated core_ops.c and core_ops_prederef.c files after this
2918 patch are identical except for the CUR_OPCODE and REL_PC macros
2919 getting moved a little higher, and the bsr in the regular path (not
2920 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
2922 In summary, this is a big wad of meaningless changes for the
2923 current code. But it will make adding some opcodes easier in the
2924 future, and cleans up a small nit in the current bsr.
2926 Courtesy of Steve Fink <steve@fink.com>
2928 2002-01-15 08:48 brentdax
2930 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
2933 2002-01-15 08:45 brentdax
2935 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
2937 2002-01-15 05:00 brentdax
2939 * rx.ops: Speed up rx_literal--roughly doubles benchmark
2942 2002-01-14 20:18 dan
2944 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
2946 Courtesy of Nicholas Clark <nick@unfortu.net>
2948 2002-01-14 20:03 dan
2950 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
2951 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
2952 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
2953 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
2954 classes/parrotpointer.pmc, classes/perlarray.pmc,
2955 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2956 classes/perlstring.pmc, classes/perlundef.pmc,
2957 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
2958 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
2959 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
2960 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
2961 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
2962 patch cleans up most of the MSVC-warnings when using warning level
2963 4 (the highest, one above the default level 3). It turns off two
2964 level-4 warnings for 'unreferenced formal parameter' and 'named
2965 type definition in parentheses', the latter of which was turning up
2966 warnings in MS VC headers. Level 4 warnings also helped me find a
2967 couple of other lurking bugs in the parrot code.
2969 Replaces the various fprintf/exit combos with calls to
2970 internal_exception, which uses var_args to emulate printf. Various
2971 exception types were added as well. These are probably temporary
2972 until a real exception system arrives.
2974 Fixed some places in the IO code where wrong functions were being
2975 called, or put into the vtable.
2977 Courtesy of "Michel Lambert" <mlambert@legendent.com>
2979 2002-01-14 19:00 dan
2981 * MANIFEST: D'oh! Forgot a file.
2983 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2985 2002-01-14 18:44 brentdax
2987 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
2988 sense (and a few other enhancements to regexes).
2990 2002-01-14 07:07 brentdax
2992 * interpreter.c, runops_cores.c, test_main.c,
2993 include/parrot/interpreter.h: Make profiling a little more useful.
2995 2002-01-13 19:44 dan
2997 * Configure.pl: Turn off unsed things warnings for now
2999 2002-01-13 19:39 dan
3001 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
3003 classes/perlarray.c: * get_string: is casting
3004 SELF->cache.struct_val to a STRING*, while all other methods are
3005 using it as a KEY*; don't know what a perlarray stringifies to,
3006 so replacing with NULL * get_bool: the default behaviour does not
3009 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3011 2002-01-13 19:37 dan
3013 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
3014 flags to LDFLAGS, so that Configure.pl --debugging works with
3017 classes/Makefile.in make easier to add pmb2c.pl flags to all
3020 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3022 2002-01-13 19:36 dan
3024 * io/io_win32.c: according to my MSVC docs, you should use
3028 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3030 2002-01-13 19:35 dan
3032 * docs/intro.pod: Doc tweak.
3034 Courtesy of Simon Glover <scog@roe.ac.uk>
3036 2002-01-13 19:34 dan
3038 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3043 works with PerlString PMCs; these should be false if they are "",
3045 are undefined, and true in every other case.
3047 Courtesy of Simon Glover <scog@roe.ac.uk>
3049 2002-01-13 19:23 dan
3051 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3052 NUMVAL_FMT to FLOATVAL_FMT.
3054 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3056 2002-01-13 17:45 jgoff
3058 * Makefile.in, global_setup.c, classes/Makefile.in,
3059 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3060 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3061 designing your own classes.
3063 2002-01-13 08:47 simon
3065 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3066 lib/Parrot/OpTrans/CPrederef.pm:
3067 Fix bsr in prederef mode.
3069 Courtesy of: Jason Gloudon <perl@gloudon.com>
3071 2002-01-12 15:33 dan
3073 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3074 string.c, encodings/singlebyte.c, encodings/utf32.c,
3075 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3076 Silence most of the unused variable warnings.
3078 Courtesy of Nicholas Clark <nick@unfortu.net>
3080 2002-01-12 15:18 dan
3082 * rx.ops: This patch fixes a warning and also changes an 'int' to
3083 an 'INTVAL'. All tests should pass on Solaris.
3085 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3087 2002-01-12 15:13 dan
3089 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3090 examples/assembly/life.pasm, include/parrot/interpreter.h,
3091 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3092 io/io_win32.c: More IO work. (Plus some misc twiddles)
3094 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3096 2002-01-12 01:14 dan
3098 * include/parrot/string.h: fix a missing name
3100 2002-01-12 00:39 grunblatt
3102 * include/parrot/string.h: Few typos.
3104 2002-01-12 00:16 grunblatt
3106 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3107 that change the program control flow.
3109 2002-01-11 23:53 brentdax
3111 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3112 ParrotPointer's guts.
3114 2002-01-11 23:03 dan
3116 * include/parrot/string.h: flags for the buffers, for GC
3118 2002-01-11 22:31 dan
3120 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3122 2002-01-11 22:21 dan
3124 * include/parrot/pmc.h: Started with PMC flags
3126 2002-01-11 19:33 dan
3128 * config_h.in, memory.c, resources.c, string.c,
3129 include/parrot/resources.h: Beginnings of a memory allocation/gc
3130 system. Without the GC part.
3132 2002-01-11 18:05 dan
3134 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3137 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3139 2002-01-11 17:50 dan
3141 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3142 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3143 a patch that makes pbc2c generated code work with the bsr opcode.
3144 It creates a new opcode 'enternative', and uses this to support a
3145 mixed model of interpretation and execution of compiled C code.
3147 Courtesy of Jason Gloudon <perl@gloudon.com>
3149 2002-01-11 17:48 dan
3151 * Makefile.in: Add life as a potential .exe target
3153 2002-01-11 17:30 dan
3155 * include/parrot/resources.h: Start of arena stuff for GC
3157 2002-01-11 05:34 brentdax
3159 * rx.ops: Docs modifications.
3161 2002-01-11 04:19 brentdax
3163 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3164 regular expressions.
3166 2002-01-11 03:44 grunblatt
3168 * jit/i386/core.jit: off by one.
3170 2002-01-11 02:25 dan
3172 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3174 Courtesy of Steve Fink <steve@fink.com>
3176 2002-01-11 00:32 brentdax
3178 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3180 2002-01-10 23:22 ajgough
3182 * string.c, docs/strings.pod: Removed all the nul termination code,
3183 as this is in general a bad idea. Note added to docs/strings.pod
3184 to warn people away from assuming termination.
3186 2002-01-10 23:14 dan
3188 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3189 testparrotsizes_c.in, include/parrot/interpreter.h,
3190 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3193 Courtesy of Steve Fink <steve@fink.com>
3195 2002-01-10 22:48 dan
3197 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3200 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3202 2002-01-10 22:46 dan
3204 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3205 t/pmc/perlhash.t: Well, actually two bugs.
3207 The first is an off-by-one error in key.c than can cause parrot
3208 to segfault if hash % NUM_BUCKETS happens to be zero.
3210 The other is a bug in the PerlHash init() code that causes new
3212 PMCs to start with the wrong size.
3214 Both fixed below; also tests to prevent them recurring.
3216 Courtesy of Simon Glover <scog@roe.ac.uk>
3218 2002-01-10 22:30 dan
3220 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3221 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3224 Courtesy of Simon Glover <scog@roe.ac.uk>
3226 2002-01-10 21:31 dan
3228 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3230 2002-01-10 20:30 grunblatt
3232 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3233 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3234 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3235 All the op codes that doesn't change the program control flow now
3236 work in the JIT by calling the code generated by the compiler when
3237 the op is not in core.jit TODO: * Make all the ops that change
3238 the program control flow (and are not on core.jit) work. *
3239 Remove the dispatch payload.
3241 2002-01-10 17:13 dan
3243 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3244 which tries to return 0 from a void function.
3246 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3248 2002-01-10 17:12 dan
3250 * t/op/macro.t: Skip tests, don't comment them out.
3252 Courtesy of Simon Glover <scog@roe.ac.uk>
3254 2002-01-10 17:10 dan
3256 * rx.c: This fixes a couple of nits in rx.c:
3258 1. There's no newline at the end, which makes gcc unhappy.
3259 2. We should use NULL, not 0 or "", for creating null pointers.
3261 Courtesy of Simon Glover <scog@roe.ac.uk>
3263 2002-01-10 17:09 dan
3265 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3269 Courtesy of Simon Glover <scog@roe.ac.uk>
3271 2002-01-10 16:54 ajgough
3273 * resources.c: Made free_string check that there was a string to
3274 free. In reponse to a bug spotted by Joshua Nye.
3276 2002-01-09 22:44 dan
3278 * global_setup.c: Forgot the setup
3280 2002-01-09 22:35 dan
3282 * rx.ops: Forgot this one
3284 2002-01-09 22:35 dan
3286 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3287 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3288 Tests don't work, though.
3290 Courtesy of "Brent Dax" <brentdax@cpan.org>
3292 2002-01-09 21:48 dan
3294 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3296 2002-01-09 21:22 dan
3298 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3299 Generic pointer holder class
3301 Courtesy of "Brent Dax" <brentdax@cpan.org>
3303 2002-01-09 21:19 dan
3305 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3308 2002-01-09 19:54 dan
3310 * io/io_unix.c: Whoops. Forgot one
3312 2002-01-09 19:43 dan
3314 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3315 t/pmc/perlhash.t: Fix hash crash bugs
3317 Courtesy of Simon Glover <scog@roe.ac.uk>
3319 2002-01-09 19:13 dan
3321 * memory.c: Signedness whoops.
3323 Courtesy of Simon Glover <scog@roe.ac.uk>
3325 2002-01-09 18:23 dan
3327 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3328 io/io_stdio.c, io/io_win32.c: Changes:
3330 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3331 will be using the Win32 API and company rather than the unix-ish
3332 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3333 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3334 stuff is there. Soon we should be able to start using these
3335 rather than fprintf(stderr, ...) and remove stdio linkage.
3337 Courtesy of <mrjoltcola@mindspring.com>
3339 2002-01-09 17:26 dan
3341 * test_main.c: Fixes bad code gen on x86.
3343 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3345 2002-01-09 17:24 dan
3347 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3348 classes/perlnum.pmc: This patch adds macros to the config.h file
3349 for INTVAL and NUMVAL printf formats.
3351 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3353 2002-01-08 22:55 ajgough
3355 * docs/vtables.pod: Clarify what get_string should do.
3357 2002-01-08 20:05 dan
3359 * key.c: Keep comments in sync.
3361 Courtesy of Simon Glover <scog@roe.ac.uk>
3363 2002-01-08 19:50 dan
3365 * memory.c, include/parrot/memory.h: Need a realloc
3367 2002-01-08 17:24 gregor
3369 * .cvsignore, Configure.pl, Makefile.in:
3370 Added 'reconfig' make target and corresponding --reconfig option to
3371 Configure.pl, so its very easy to re-run Configure.pl with the last
3372 (command-line) options you passed it.
3374 2002-01-08 16:33 dan
3376 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3377 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3378 in core.ops. Potential help for optimizers and JITters.
3380 Courtesy of gregor@linux1.kennedytech.com
3382 2002-01-08 16:32 dan
3384 * key.c: Grab key length from the right spot
3386 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3388 2002-01-08 13:27 ajgough
3390 * test_main.c: Fix slight thinko in realloc usage for reading from
3393 2002-01-08 11:34 ajgough
3395 * test_main.c: Allow test_parrot to read bytecode stream from
3396 stdin, adds -f command line option, with "-f -" doing the stdin
3399 2002-01-08 06:34 jgoff
3401 * key.c, include/parrot/key.h: key.c - Added simple implementation
3402 of buckets. include/parrot/key.h - Added enum_key_bucket type
3404 2002-01-08 03:21 jgoff
3406 * include/parrot/key.h: Added an undef type to the key structure,
3407 so we can delete keys without confusion.
3409 2002-01-07 22:09 dan
3411 * key.c, packfile.c, string.c, include/parrot/key.h,
3412 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3413 about index being redefined
3415 Courtesy of Nick Clark
3417 2002-01-07 21:15 dan
3419 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3421 Courtesy of Steve Fink <steve@fink.com>
3423 2002-01-07 20:48 dan
3425 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3428 Courtesy of "Brent Dax" <brentdax@cpan.org>
3430 2002-01-07 20:43 dan
3432 * docs/intro.pod: Missing a comma
3434 Courtesy of "coral" <coral@eekeek.org>
3436 2002-01-07 20:41 dan
3438 * global_setup.c: Quiet a warning
3440 Courtesy of Simon Glover <scog@roe.ac.uk>
3442 2002-01-07 18:58 gregor
3445 Ignore intermediate test files.
3447 2002-01-07 17:01 gregor
3450 Print a warning if an .ops file is mentioned more than once on the
3453 2002-01-07 16:12 ajgough
3455 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3456 these shouldn't fail.
3458 2002-01-07 15:15 simon
3460 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3463 2002-01-07 15:11 simon
3466 Fix zero-termination bug in hash function.
3468 2002-01-07 13:37 ajgough
3470 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3471 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3473 2002-01-07 11:53 brentdax
3475 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3476 (:add{foo}) and a new deleting thing (:rem{foo})
3478 2002-01-07 11:43 simon
3481 Gobble the + before concatenating.
3483 2002-01-07 03:53 dan
3485 * Makefile.in: Dependency fix for new ops setup.
3487 2002-01-07 03:33 jgoff
3489 * classes/perlarray.pmc: Add negative indices, and fix a small
3492 2002-01-06 23:54 ajgough
3494 * hints/os2.pl: Makes the hints file take account of ldflags and
3495 ccflags being split. This hints file is still very specific to
3496 builds with gnu tools, but a proper solution can wait. Thanks to
3499 2002-01-06 22:12 dan
3501 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3502 -changes Parrot::OpLib::core's dependencies to reflect the new
3503 selectable ops files -allows some of the special forms of 'goto'
3504 inside the PREAMBLE of an opcode file
3506 Courtesy of "Brent Dax" <brentdax@cpan.org>
3508 2002-01-06 19:59 simon
3513 2002-01-06 18:19 dan
3515 * classes/perlhash.pmc: Fix some type issues.
3517 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3519 2002-01-06 18:03 dan
3521 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3522 for a list of opcode files to use. The default is everything
3523 available except for obscure.ops.
3525 In addition, it makes it so that if your answer to a question
3526 starts with '+', it will concatenate it to the default. For
3529 What C compiler do you want to use? [cl] +HAHAHA!!!
3531 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3532 is not terribly useful, it is quite useful with things like
3533 command-line flags and the like.
3535 Finally, it contains a couple tweaks so that my syntax-highlighting
3536 editor recognizes some heredocs correctly. :^)
3538 Courtesy of "Brent Dax" <brentdax@cpan.org>
3540 2002-01-06 17:59 dan
3542 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3544 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3546 2002-01-06 17:58 dan
3548 * MANIFEST: We're missing a couple of files from the MANIFEST.
3550 Courtesy of Simon Glover <scog@roe.ac.uk>
3552 2002-01-06 17:57 dan
3554 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3555 Compiler directives, etc. in files other than core.ops will now
3556 work. 2. Compiler warnings will now display the file and line
3557 number of the opcode file.
3559 Courtesy of "Brent Dax" <brentdax@cpan.org>
3561 2002-01-06 17:52 dan
3563 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3565 Courtesy of Simon Glover <scog@roe.ac.uk>
3567 2002-01-06 17:36 dan
3569 * docs/intro.pod: Lots of updates
3571 Courtesy of Simon Glover <scog@roe.ac.uk>
3573 2002-01-06 02:34 gregor
3576 Add some internal documentation on the theory of operation of the
3579 2002-01-06 02:17 gregor
3582 Removed unnecessary include.
3584 2002-01-05 12:37 simon
3586 * classes/.cvsignore:
3587 Ignore generated .h files.
3589 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3591 2002-01-05 12:37 simon
3594 Make lcc happier by adding a dummy structure.
3596 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3598 2002-01-05 12:35 simon
3600 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3601 Make perlundef work. (And coincidentally stop segfaults in the
3604 Courtesy of: Jason Gloudon <perl@gloudon.com>
3606 2002-01-05 04:59 dan
3608 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3610 2002-01-05 04:55 jgoff
3612 * classes/perlhash.pmc: Added perlhash class definition
3614 2002-01-05 04:48 dan
3616 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3618 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3620 2002-01-05 03:57 jgoff
3622 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3623 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3624 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3625 t/pmc/pmc.t: Initial hash commit.
3627 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3628 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3629 set_{integer,number,string}_index_s
3631 This does not yet do collision resolution, but will soon.
3633 2002-01-05 02:54 dan
3635 * interpreter.c: More unsigned fixes
3637 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3639 2002-01-04 22:13 dan
3641 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3642 test programs happier.
3644 Courtesy of "Jason Diamond" <jason@injektilo.org>
3646 2002-01-04 19:00 dan
3648 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3651 2002-01-04 18:27 dan
3653 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3654 Fixes to get things configuring and building on Win32 Native.
3656 Courtesy of "Jason Diamond" <jason@injektilo.org>
3658 2002-01-04 17:39 dan
3660 * hints/vms.pl: debug cleanup
3662 2002-01-04 16:53 dan
3664 * docs/parrot.pod: The enclosed patch brings the list of
3665 documentation in parrot.pod
3668 Courtesy of Simon Glover <scog@roe.ac.uk>
3670 2002-01-04 16:47 dan
3672 * test_main.c, Parrot/Jit/i386-linux.pm,
3673 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3676 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3678 2002-01-04 16:44 dan
3680 * Configure.pl, Makefile.in: Fixed linking to use linker.
3682 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3684 2002-01-04 16:39 dan
3686 * io/io_stdio.c: Added CVS tag info
3688 2002-01-04 16:35 dan
3690 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3693 2002-01-04 16:26 dan
3695 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3698 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3700 2002-01-04 16:17 dan
3702 * chartypes/unicode.c: Silence some warnings.
3704 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3706 2002-01-04 16:09 dan
3708 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3709 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3710 into generated files
3711 but the $Id$ string gets mangled when it's committed.
3712 This patch fixes the existing .pmc files and fixes genclass.pl.
3714 - Makes capitalization in .pmc header match actual filenames
3716 - The command for calling genclass.pl in vtables.pod is incorrect,
3717 since it assumes you're running in classes/ but genclass.pl
3719 it's being run from the main directory. I changed genclass.pl to
3723 Courtesy of Steve Fink <steve@fink.com>
3725 2002-01-04 03:57 dan
3727 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3728 me--I *had* the files:wq!
3730 2002-01-04 03:40 dan
3732 * MANIFEST: Whoops--remove files not really there
3734 2002-01-04 03:37 dan
3736 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3737 my sig adds a new_stack() function to take care of the allocation
3738 and setup of "generic" stacks.
3740 Courtesy of "Brent Dax" <brentdax@cpan.org>
3742 2002-01-04 02:36 dan
3744 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3746 writes a load of junk in core_ops.pod. Applied patch fixes.
3748 Courtesy of Simon Glover <scog@roe.ac.uk>
3750 2002-01-04 02:35 dan
3752 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3753 logical-or is using get_integer instead of get_bool for logical
3754 operations. This patch corrects that.
3756 Perlnum and perlstring have working get_bool's, so the default
3757 logical_or and logical_and should be sufficient. The empty methods
3758 are pointed to the default logical_or.
3760 Courtesy of Jason Gloudon <perl@gloudon.com>
3762 2002-01-04 02:31 dan
3764 * Makefile.in: docs/Makefile should be removed by realclean, but
3767 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3769 2002-01-04 02:29 dan
3771 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3773 Courtesy of Steve Fink <steve@fink.com>
3775 2002-01-04 00:51 dan
3777 * docs/vtables.pod: More docs
3779 Courtesy of Steve Fink <steve@fink.com>
3781 2002-01-04 00:47 dan
3783 * Configure.pl: Updated 64-bit patch
3785 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3787 2002-01-04 00:43 dan
3789 * Configure.pl: 64-bit Fix.
3791 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3793 2002-01-03 22:37 dan
3795 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3796 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3797 some buffering work. Additional work on other layers.
3799 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3801 2002-01-03 19:41 gregor
3803 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3804 Updated copyright messages on top-level files.
3806 2002-01-03 04:23 robert
3808 * make.pl: Add author information. Bonsai test.
3810 2002-01-03 04:02 dan
3812 * io/io_os.c: Twig Bonsai
3814 2002-01-03 03:45 dan
3816 * io/: io_os.c, io_os.c: Twig Bonsai
3818 2002-01-03 03:41 dan
3820 * io/io_os.c: Twig Bonsai
3822 2002-01-02 21:42 gregor
3824 * packfile.c, include/parrot/packfile.h:
3825 Get rid of warnings in packfile.[hc]
3827 2002-01-02 20:39 gregor
3830 Bracketed translated patterns with ^ and $.
3832 2002-01-02 20:11 dan
3834 * io/io_os.c: silence a warning
3836 2002-01-02 19:52 grunblatt
3838 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3839 op_assembly to jit_struct.h, so that we get the real number of ops.
3840 Removed some warnings.
3842 2002-01-02 19:31 tom
3844 * string.c: Fix string transcoding so that it actually works.
3846 Patch from Peter Gibbs <peter@emkel.co.za>
3848 2002-01-02 19:20 gregor
3851 A program to check the MANIFEST file, accounting for .cvsignore
3854 2002-01-02 19:19 dan
3856 * t/harness: twig bonsai
3858 2002-01-02 19:13 dan
3860 * t/harness: twig bonsai
3862 2002-01-02 18:54 dan
3864 * t/harness: Tweak to test Bonsai
3866 2002-01-02 16:27 dan
3868 * Configure.pl: Allow 64-bit build of parrot on systems with a
3869 mixed 32/64 bit perl
3871 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3873 2002-01-02 15:33 simon
3875 * MANIFEST, docs/Makefile:
3876 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3878 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3880 2002-01-02 13:51 simon
3883 Die on broken manifest.
3885 2002-01-02 13:48 simon
3887 * jit2h.pl, examples/assembly/mops.pasm:
3888 Clear up JIT warnings.
3890 Courtesy of: Nick Clark <nick@unfortu.net>
3892 2002-01-02 04:10 dan
3894 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
3895 only once, so new interp creation works again
3897 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3899 2002-01-02 03:32 dan
3901 * t/op/interp.t: Stubbed the test out, since it's hanging at the
3904 2002-01-02 00:55 dan
3906 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
3907 io/io_os.c: Initial IO system patches
3909 Courtesy of <mrjoltcola@mindspring.com>
3911 2002-01-01 22:55 ajgough
3913 * classes/default.pmc: On second thoughts, and some prodding, the
3914 set_* methods now only set the appropriate part of the cache, and
3917 2002-01-01 22:29 ajgough
3919 * classes/default.pmc: Wrote a whole host of default pmc methods.
3921 set_* create appropriate Perl* result.
3922 get_* simply grabs needed bit of cache.*_val
3924 Other methods do the rightest thing I can think of, at the moment.
3926 None yet cope with overflow, the modulus operation needs to be
3928 I don't know quite which semantics we really want.
3932 2002-01-01 20:23 dan
3934 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
3935 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
3936 rid of unneeded tmp var and eliminated const from encode prototype
3937 since it does make changes to the string.
3939 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3941 2002-01-01 20:11 dan
3943 * Makefile.in: Make clean now tosses pdump.o
3945 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3947 2002-01-01 19:49 dan
3949 * pdump.c, test_main.c: Warnings cleanup
3951 Courtesy of Josh Wilmes <josh@sky.net>
3953 2002-01-01 19:45 dan
3955 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
3956 hints/mswin32.pl, languages/jako/Makefile.in,
3957 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
3960 Courtesy of "Jason Diamond" <jason@injektilo.org>
3962 2002-01-01 19:41 dan
3964 * include/parrot/register.h: Clean up some warnings
3966 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3968 2002-01-01 19:10 simon
3970 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3971 Hack-around to enable compilation of code using vtable ops.
3973 2002-01-01 18:43 dan
3975 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
3976 checks on unsigned things
3978 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3980 2002-01-01 18:26 dan
3982 * runops_cores.c: More warning silences.
3984 Courtesy of Nicholas Clark <nick@unfortu.net>
3986 2002-01-01 18:25 dan
3988 * trace.c: Shuts up a warning.
3990 Courtesy of Nicholas Clark <nick@unfortu.net>
3992 2002-01-01 18:24 dan
3994 * encodings/singlebyte.c: Clean up some warnings.
3996 Courtesy of Nicholas Clark <nick@unfortu.net>
3998 2002-01-01 18:20 dan
4000 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4003 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4005 2002-01-01 18:17 dan
4007 * packfile.c: Warning cleanup
4009 Courtesy of Nicholas Clark <nick@unfortu.net>
4011 2002-01-01 17:53 dan
4013 * string.c: New string size should be based on output encoding's
4014 size, not input encoding's size.
4016 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4018 2002-01-01 17:22 dan
4020 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4021 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4022 include/parrot/interpreter.h, include/parrot/memory.h,
4023 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4026 Courtesy of Chip Turner <cturner@redhat.com>
4028 2002-01-01 17:09 dan
4030 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4031 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4032 now unsigned, as is proper.
4034 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4035 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4037 2002-01-01 16:59 dan
4039 * include/parrot/trace.h: Useless debugging prototype removed
4041 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4043 2002-01-01 16:58 dan
4045 * MANIFEST: We forgot a file.
4047 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4049 2002-01-01 03:53 dan
4051 * Configure.pl: Okay, I give. Removed some warnings because the
4052 darned system headers were triggering them. Sloppy, sloppy
4055 2002-01-01 03:48 dan
4057 * config_h.in: Add in an unsigned INTVAL.
4059 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4061 2002-01-01 03:46 dan
4063 * global_setup.c: Clean up some compiler warnings.
4065 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4067 2002-01-01 03:43 dan
4069 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4070 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4071 include/parrot/op.h: Cleaned up some things to make the compiler
4074 Courtesy of Nicholas Clark <nick@unfortu.net>
4076 2002-01-01 03:14 dan
4078 * Configure.pl: Quad updates.
4080 Courtesy of Nicholas Clark <nick@unfortu.net>
4082 2001-12-31 22:53 dan
4084 * include/parrot/op.h: Typedef had parameters backwards. Threw
4085 core.ops for a big whiny warnings loop.
4087 2001-12-31 22:37 dan
4089 * Makefile.in, resources.c: Tweaks to try and get things to build
4092 2001-12-31 21:58 dan
4094 * Configure.pl: Stupid thinko fix
4096 2001-12-31 21:34 dan
4098 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4100 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4102 2001-12-31 21:32 dan
4104 * Configure.pl: Fix for non-gcc systems
4106 2001-12-31 20:22 dan
4108 * interpreter.c: Tweak so we can build on non-JIT platforms
4110 2001-12-31 20:11 dan
4112 * Configure.pl: Force the time on some copied files to be 'now' to
4113 make the Win builds much less annoying.
4115 Courtesy of "Jason Diamond" <jason@injektilo.org>
4117 2001-12-31 20:07 dan
4119 * Configure.pl: Nuke all object files in the parrot tree that
4120 matter when configuring. Shouldn't be necessary with good
4121 dependencies in the makefile, but we don't have those yet.
4123 2001-12-31 20:00 gregor
4125 * chartypes/unicode.c:
4126 Silence unused variable warnings.
4128 2001-12-31 19:40 dan
4130 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4132 2001-12-31 19:37 gregor
4134 * interpreter.c, jit.c, include/parrot/jit.h:
4135 Created a prototype for JIT functions and used it in interpreter.c.
4137 2001-12-31 19:31 dan
4139 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4140 detection) with really cranky warnings if we find we're using it.
4142 Courtesy of: Nicholas Clark <nick@unfortu.net>
4144 2001-12-31 18:01 gregor
4146 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4148 Fixed a few warnings wrt prototypes, etc.
4150 2001-12-31 17:23 dan
4152 * string.c: Silenced most of the compiler whines
4154 2001-12-31 17:15 gregor
4157 Get the ccname from either ccname or just cc config var.
4159 2001-12-31 17:14 gregor
4161 * Parrot/Op.pm, lib/Parrot/Op.pm:
4162 Another intermediate opbody notation. Could come in handy. Explicit
4165 2001-12-31 17:05 dan
4167 * string.c: Minor warnings update
4169 2001-12-31 17:00 dan
4171 * include/parrot/string.h: Warnings cleanup
4173 2001-12-31 16:00 simon
4175 * encodings/utf8.c, include/parrot/encoding.h:
4176 Remove a couple more.
4178 2001-12-31 15:58 simon
4180 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4181 include/parrot/op.h:
4182 Rid ourselves of a few warnings.
4184 2001-12-31 15:32 dan
4186 * Configure.pl: Made GCC ever so much pickier.
4188 Switch list courtesy of Jarkko.
4190 2001-12-31 15:22 dan
4192 * string.c: Tightened up initial allocation.
4194 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4196 2001-12-31 06:48 dan
4198 * Configure.pl: Minor Windows tweak
4200 2001-12-31 05:32 dan
4202 * core.ops: Unused temp variable tossed.
4204 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4206 2001-12-31 05:09 grunblatt
4208 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4209 supported plataforms
4211 2001-12-31 03:05 dan
4213 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4214 platform-independent quote substitution for the makefiles.
4215 Hopefully this'll make the Win32 builds happier.
4217 2001-12-30 21:08 dan
4219 * string.c, include/parrot/string.h: More string system tweaks.
4221 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4223 2001-12-30 20:45 dan
4225 * core.ops: Some pod cleanup
4227 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4229 2001-12-30 20:22 ajgough
4231 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4232 we aren't using them right now. Clarified the workings of set Px,
4233 Py and clone Px, Py.
4235 2001-12-30 20:15 grunblatt
4237 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4238 Added readjit() to read *.jit files Updated core.jit to the new
4241 2001-12-30 20:14 ajgough
4243 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4245 2001-12-30 19:52 dan
4247 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4248 include/parrot/trace.h, platforms/generic.c: Compiler whine
4251 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4253 2001-12-30 19:13 dan
4255 * Configure.pl, Makefile.in: Make GCC pickier by default.
4257 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4259 2001-12-30 18:41 dan
4261 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4262 ntoi opcodes to sets.
4264 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4266 2001-12-30 17:58 gregor
4269 'make' no longer builds the mops test. Use 'make mops' for that. To
4270 run the test, you can do 'make mopstest'.
4272 2001-12-30 17:30 gregor
4275 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4278 2001-12-30 17:26 gregor
4280 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4281 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4282 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4283 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4284 Build enhancements. Originally to support building shared
4285 libraries, but now of broader impact.
4287 * .cvsignore: Ignore the blib/ directory, about which more later.
4291 * Got rid of TAB formatting and lined a few things up.
4293 * Added header comment with CVS Id variable, and a few other
4294 block header comments.
4296 * Uses new Parrot::BuildUtil module to determine the Parrot
4299 * Reworded a few messages, added a couple, and wrapped
4303 * Added 2002 to the Copyright statement.
4305 * Added new configure variables: VERSION, MAJOR, MINOR and
4308 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4310 than 5.6.0, but the comment implies it isn't.
4314 * Added $(SO), $(A) and $(AR_CRS) defines for library
4317 * Added $(RM_RF) define for removing directory trees
4319 * Grouped generated files into two classes: "sticky" (made by
4321 persisting across 'make clean') and 'fluid' (made during
4323 process, deleted by 'make clean').
4325 * Added header comments.
4327 * Added target for test_prog linked with shared library.
4329 * Added rules to build shared libraries in blib/lib. The
4331 built with trailing version numbers in their file names,
4333 symbolic links are created for shorter and no version tag
4336 * Added some missing dependencies
4338 * Added some missing 'make clean' targets.
4340 * Added 'make realclean' target that deletes files created by
4341 Configure.pl (including Makefile), forcing a re-configure.
4343 * Added a 'status' CVS target.
4345 * VERSION: New file, contains only the version. This version
4347 propagated to a few places, such as the core oplib version
4349 reduces the amount of coordination that has to happen to get
4351 number stuff throughout the tree in sync and updated prior to
4353 a new release. Feel free to grep for '0.0.3' to see the other
4355 that contain the version number (but, do that in a fresh CVS
4357 after doing 'make realclean').
4359 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4361 since the oplib and Parrot itself share a version number now.
4363 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4367 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4369 specifying the version by hand. Non-core oplibs will set this
4371 a quoted dot-string with three natural number components
4375 * interpreter.c: Make use of PARROT_VERSION to simplify some
4377 to get the complete version number in the resulting strings
4381 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4385 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4387 * ops2c.pl: Account for the PATCH version, too. This affects the
4389 oplib init function, and the oplib info struct initializer.
4391 * Parrot/BuildUtil.pm: New file for reading in and validating the
4393 the new VERSION file. Other build utilities could go here in
4396 * Parrot/OpsFile.pm:
4398 * Allow three components in version number, and require that
4400 be in double quotes.
4402 * Allow "VERSION = PARROT_VERSION", substituting the shared
4404 VERSION in that case.
4406 * include/parrot/oplib.h: Add the patch_version member.
4408 2001-12-30 12:16 simon
4410 * MANIFEST, Makefile.in:
4411 More stuff forgotten from MANIFEST.
4413 2001-12-30 12:13 simon
4418 2001-12-30 12:12 simon
4423 2001-12-30 12:12 simon
4428 2001-12-30 12:04 simon
4430 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4431 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4432 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4433 include/parrot/string.h, t/op/string.t:
4434 * Expand the strings test suite to be more complete * Make string
4435 commands more consistent (i.e, now the only string command that
4436 actually changes the original is chopn) * Significantly reduce the
4437 number of memory allocations and eliminate reallocations.
4439 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4441 2001-12-29 22:12 dan
4443 * interpreter.c, key.c, register.c, stacks.c, string.c,
4444 test_main.c, trace.c: Updates to match the coding standards.
4446 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4448 2001-12-29 20:42 grunblatt
4450 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4451 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4452 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4453 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4454 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4455 Kitover <caelum@debian.org>
4457 2001-12-28 21:20 dan
4459 * core.ops: Okay, now print takes a preceding file handle.
4461 I feel so dirty now.
4463 2001-12-28 20:46 dan
4465 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4466 changing the open op to use fopen under the hood.
4468 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4470 2001-12-28 18:20 ajgough
4472 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4473 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4474 include/parrot/exceptions.h, include/parrot/string.h,
4475 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4476 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4477 vtables appropriately. Also tests for same, new pmc_perlstring.t
4478 to hold tests specific to PerlStrings, as the pmc.t file is taking
4479 too long to run and slowing down my thought processes.
4481 Changes to strings.c etc to take string functions.
4483 Some changes to the strings docs, but not yet complete.
4485 Also, PerlString was copying pointers to strings, rather than
4486 strings themselves, so some action-at-a-distance bugs were creeping
4487 in, I think I've fixed this so everything works nicely.
4489 2001-12-28 04:56 gregor
4491 * examples/assembly/pmcmops.pasm:
4492 PMC-using version of mops.pasm.
4494 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4496 2001-12-28 04:56 gregor
4498 * examples/assembly/.cvsignore:
4499 Small tinkering. Removed old stuff, etc.
4501 2001-12-28 01:26 gregor
4503 * examples/mops/mops.scheme:
4504 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4505 to the very un-scheme-like implementation.
4507 2001-12-28 01:19 gregor
4509 * examples/mops/mops.c:
4510 Some people's picky compilers don't like us redefineing time(), so
4511 we call it time_n(). :)
4513 2001-12-28 00:28 gregor
4515 * examples/mops/: README, mops.ps:
4516 Added a PostScript example and a README.
4518 2001-12-27 23:57 gregor
4521 Build the C mops translation in examples/mops/mops.c
4523 2001-12-27 23:56 gregor
4525 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4526 Some translations of mops.pasm into other languages, for inner loop
4527 performance comparisons.
4529 2001-12-27 22:40 gregor
4531 * examples/assembly/mops.pasm:
4532 Fixed erroneous file name in header comment.
4534 2001-12-27 21:18 gregor
4537 One-liner to avoid no-op gotos to the next op.
4539 2001-12-27 21:06 gregor
4542 Fixed -p (profiling). Slow runops core was doing unconditional
4543 tracing, when it should have been checking the flags.
4545 2001-12-27 18:50 ajgough
4547 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4548 classes/perlstring.pmc, include/parrot/chartype.h,
4549 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4550 dded get_digit() to chartypes * Added string_bool() to strings *
4551 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4552 to perlstring.pmc * Tests for above, also a for couple of other
4555 The unicode chartype has only had placeholders added for get_digit,
4556 string_to_num has been updated to use type->get_digit rather than
4557 the previous ascii-isms. Some remain, but we need to carefully
4558 define what we mean by a number before we let thousands of code
4559 points act as a minus sign.
4561 2001-12-27 18:32 dan
4563 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4566 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4568 2001-12-27 18:23 dan
4570 * t/op/bitwise.t: More tests.
4572 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4574 2001-12-27 17:08 gregor
4576 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4577 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4578 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4579 include/parrot/interpreter.h, include/parrot/oplib.h,
4580 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4581 platforms/win32.c, platforms/win32.h:
4582 Initial code for dynamic loading of oplibs, applied for now to the
4583 loading of the core_prederef oplib when the -P flag is passed to
4586 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4590 * Added libcore_prederef_0_3.so to the shared target.
4591 * Added build rule for libcore_prederef_0_3.so.
4592 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4593 to Parrot/OpLib/core.pm, core_ops.c and
4594 core_ops_prederef.c.
4596 * config_h.in: Added defines for constants used to locate the
4597 core oplib's init function, and the core_prederef oplib for
4600 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4601 required by Parrot/OpsFile.pm.
4605 * Added init_prederef() and stop_prederef() functions to load
4606 and unload the core_prederef oplib when we are in prederef
4609 NOTE: In all likelihood, the prederef stuff has a rapidly
4610 dwindling time-to-live. The JIT should provide vastly
4612 performance, and loading an alternate set of core_ops isn't
4613 the real direction for the dynaloading stuff. Loading
4614 *additional* ops is. It does provide a handy test case for
4616 general idea for now, though.
4618 * Gets the core copcode table, etc. via the core oplibs oplib
4619 info pointer, as returned by the core oplib's init
4624 * Make use of the version, major version and minor version
4625 stuff parsed by Parrot/OpsFile.pm
4627 * The only exported symbol in the generated files is the init
4628 function now, since that returns an oplib info struct
4629 pointer, and all the important stuff can be found there.
4631 * ops2pm.pl: Put the oplib version in the generated .pm file.
4633 * test_main.c: Small changes necessitated by changes in the names
4634 of some members of the interpreter struct.
4636 * trace.c: Small changes necessitated by changes in the names
4637 of some members of the interpreter struct.
4639 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4642 * include/parrot/interp_guts.h: Small changes necessitated by
4643 changes in the names of some members of the interpreter struct.
4645 * include/parrot/interpreter.h: Include the new
4646 include/parrot/oplib.h header. Small changes to the oplib-
4649 * include/parrot/oplib.h: Define the type of the oplib init
4650 function, and the struct type for the oplib info.
4652 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4653 since not all platforms have it. For those that do, a default
4654 second argument is provided.
4656 2001-12-26 05:12 gregor
4659 Make jitarch calculation not get tripped up by extra components to
4662 2001-12-24 21:23 gregor
4664 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4665 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4666 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4667 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4668 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4669 Some more JIT work from Daniel Grunblatt.
4671 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4675 * Added JUMP(END) to place the number of bytes to the end of the
4679 * The *.jit files syntax changed.
4681 * Added jit/i386/lib.jit to place handly functions as jump that
4683 argument the address where is the opcode number to jump to.
4685 * There is a bug at some point, but I will start writing
4686 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4688 calls, which make the jit as slow as the interpreter.
4690 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4692 2001-12-24 03:46 dan
4694 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4695 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4696 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4697 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4698 Perls before 5.6.0 don't like it.
4700 2001-12-22 16:02 ajgough
4702 * t/op/stacks.t: stopped skipping tests we can run now. added
4705 2001-12-21 21:13 gregor
4707 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4708 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4709 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4710 Fixed some package name goofs.
4712 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4714 2001-12-21 19:32 gregor
4716 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4717 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4718 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4719 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4720 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4721 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4722 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4723 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4724 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4725 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4728 * Removed ops2c-prederef.pl
4730 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4732 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4733 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4734 for old functionality of ops2c-prederef.pl), and
4735 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4737 "OpTrans" == "Op Transformation"
4739 * Makefile.in modifications to call "ops2c.pl C" where it used
4740 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4741 to be "ops2c-prederef.pl".
4743 * core.ops and obscure.ops changes to syntax. Semantics are
4744 identical with previous version:
4746 return HALT --> HALT()
4747 return AUTO --> goto NEXT()
4748 return RETREL(...) --> goto OFFSET(...)
4749 return RESTART(*) --> restart NEXT()
4751 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4752 for dest-less branch ops replaced with new notation "goto
4754 which uses the new pop_dest() function in stacks.c. This also
4755 allowed these ops to become 'inline' ops, since they no longer
4756 have local variables.
4758 The 'ret' op also became simplified to just "goto POP()", and
4759 also became an inline op.
4761 * interpreter.c reflects the change in type name:
4763 prederef_op_func_t --> op_func_prederef_t
4765 that occurred in include/parrot/op.h
4767 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4770 * ops2c.pl is now generic. Its first argument is the last
4771 package name component of a subclass of Parrot::OpTrans. These
4772 subclasses all have full names of the form Parrot::OpTrans::*.
4773 An instance of the class is created and later consulted for
4774 various bits of information needed to generate the C code.
4776 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4777 contain its transformation rules.
4779 * stacks.c has a new function pop_dest() that pops a destination
4780 off the control stack. include/parrot/stacks.h has the
4783 * Parrot/Op.pm now supports the syntax generated by
4785 for the "goto POP" case.
4787 Also, the source() method now expects its second argument to be
4788 an object that ISA Parrot::OpTrans. Methods of this object are
4789 called to perform the substitutions.
4791 * Parrot/OpsFile.pm supports the change in notation mentioned
4794 * docs/intro.pod reflects these changes.
4796 * include/parrot/op.h: Renamed type prederef_op_func_t to
4797 op_func_prederef_t because it made the implementation of the
4798 shared ops2c.pl easier.
4800 2001-12-21 13:47 gregor
4802 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4803 Both test_parrot (via test_main.c) and the intepreter itself (via
4804 interpreter.c) use the JIT_CAPABLE config to decide whether to
4805 actually attempt JIT operation, or to complain.
4807 2001-12-20 23:25 gregor
4809 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4810 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4811 Changes to the format of *.ops files. An attempt to provide hints
4812 for future opfunc processing logic that wants to know if an opfunc
4813 is simple enough to JIT (e.g.) inline, or not.
4815 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4816 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4819 2001-12-20 21:28 gregor
4821 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4825 * A fix to Gregor's last Configure.pl update.
4827 * Remove the need for hardcoded "\n" at the end of the "%f"
4828 format for printing floating-point numbers.
4830 * New, improved *.jit syntax for references to registers,
4833 * Support for C() improved.
4835 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4837 2001-12-20 16:55 dan
4839 * MANIFEST: Added jit.c to the manifest.
4841 2001-12-20 15:24 simon
4844 Off-by-one error fixed.
4846 2001-12-20 14:18 simon
4848 * jit/i386/core.jit:
4849 Just a noop. It's the only machine code I know.
4851 2001-12-20 13:10 gregor
4853 * Configure.pl, Makefile.in, jit2h.pl:
4854 Attempt to fix Win32 builds.
4856 * No more empty braces in include/parrot/jit_struct.h
4860 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4864 2001-12-20 11:56 simon
4869 2001-12-20 01:57 gregor
4871 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4872 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4873 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4874 include/parrot/.cvsignore, include/parrot/interpreter.h,
4875 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4876 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4877 lib/Parrot/Jit/i386-nojit.pm:
4878 Initial JIT implementation.
4880 * Enabled with test_parrot -j. 20x speed boosts seen.
4882 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4886 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4888 2001-12-20 01:53 jgoff
4890 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4891 core.ops - Removed key operators, they should be hidden from the
4892 assembler. t/op/key.t - No need to test the nonexistent key
4895 2001-12-20 00:13 ajgough
4897 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
4898 that asking for type of entry at depth causes segfault as stack is
4899 zero based, fixed cmp in core.ops to reflect this. Last test is
4900 skipped as we don't do exceptions right yet.
4902 2001-12-19 19:11 ajgough
4904 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
4905 non-being was causing Irix "issues".
4907 2001-12-19 03:37 jgoff
4909 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
4910 004_combined.t: Changed tests to make sure they pass with the
4911 addition of the clone operator.
4913 2001-12-18 20:06 gregor
4915 * interpreter.c, include/parrot/interp_guts.h:
4916 Performance improvements to the predereferencing code path
4917 suggested to me over lunch yesterday by my friend John Kennedy.
4918 The goal is to remove the additional test in the inner loop that
4919 was checking for NULL to decide whether or not to call the
4920 prederef() function. Also moved pc & pc_prederef syncing outside
4923 * Changed the prototype of the prederef() function in
4924 interpreter.c to match that of an opfunc.
4926 * Instead of initializing the prederef void * array with NULL,
4927 we initialize it with pointers to prederef().
4929 * prederef() now returns the prederef_pc passed in, so that
4930 after predereferencing, the same location is executed, but now
4931 with the real code being called.
4933 Thanks to: John Kennedy
4935 2001-12-18 19:59 ajgough
4937 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
4938 (including some more in the skipped string -> int tests).
4940 2001-12-18 07:06 jgoff
4942 * MANIFEST: Forgot to add classes/perlarray.pmc
4944 2001-12-18 07:05 jgoff
4946 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
4947 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
4948 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
4949 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
4950 t/pmc/pmc.t: Big update... Makefile.in - Added
4951 classes/perlarray.pmc core.ops - Added new series of set() ops for
4952 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
4953 Added perlarray.pmc classes/*.pmc - Added
4954 set_{integer,number,string}_index and
4955 get_{integer,number,string}_index include/parrot/pmc.h - Added new
4956 type t/op/pmc.t - Added basic array test
4958 classes/perlarray.pmc - Added
4960 2001-12-17 05:29 jgoff
4962 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
4963 generator to use clone operator instead of set Px,Py
4965 2001-12-17 05:25 jgoff
4967 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
4968 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
4969 PMC,PMC operator. Uses the clone() vtable entries.
4971 2001-12-17 04:51 jgoff
4973 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
4976 2001-12-17 04:41 jgoff
4978 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
4981 2001-12-17 04:41 jgoff
4983 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
4985 2001-12-17 04:39 jgoff
4987 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
4988 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
4991 2001-12-17 04:27 jgoff
4993 * languages/miniperl/Miniperl.pm: Latest version of the driver.
4994 Admittedly it's a little thin on true OO, but the algorithms are
4997 2001-12-17 04:24 jgoff
4999 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5000 003_generator.t, 004_combined.t: Much more comprehensive test suite
5001 for the codegen et al
5003 2001-12-17 04:22 jgoff
5005 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5006 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5009 2001-12-17 04:20 jgoff
5011 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5014 2001-12-17 04:17 jgoff
5016 * languages/miniperl/foo.mpl: Test file that'll be outdated by
5017 changes to the new compiler
5019 2001-12-17 04:11 jgoff
5021 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5024 2001-12-16 14:11 simon
5026 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5028 Fix bogus assumption that multiplying an integer by an integer
5031 2001-12-16 12:48 simon
5033 * make_vtable_ops.pl:
5036 2001-12-16 12:45 simon
5038 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5039 Expand multimethod vtable ops.
5041 2001-12-16 12:04 simon
5044 Added 'cvsclean' which doesn't zap CVS/* directories.
5046 2001-12-15 01:50 dan
5048 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5051 Thanks to grunblatt fom #parrot for the catch
5053 2001-12-15 01:39 dan
5055 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5056 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5057 languages/miniperl/Makefile.in,
5058 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5059 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5062 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5064 2001-12-14 17:39 dan
5066 * t/op/trans.t: More trans tests.
5068 Courtesy of: Simon Glover <scog@roe.ac.uk>
5070 2001-12-14 07:41 robert
5072 * make.pl: - define MAKE macro - topological sort and subgraph
5073 order - start of timestamp stuff (still badly broken)
5075 2001-12-14 06:06 jgoff
5077 * optimizer.pl: Hopefully this should do the trick..
5079 2001-12-14 06:04 jgoff
5081 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5083 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5085 The optimizer performs its work on a file post-macro expansion.
5086 Run it on a .pasm file, preferably with some trivially reducible
5088 like 'add I0,5,-6' or 'mul I0,I1,0'
5090 2001-12-14 05:48 robert
5092 * Makefile.in: case error EXE -> exe
5094 2001-12-14 05:42 robert
5096 * Makefile.in: remove legacy PDISASM macro
5098 2001-12-14 04:01 dan
5100 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5103 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5105 2001-12-13 22:03 dan
5107 * Configure.pl, Makefile.in, Parrot/Test.pm,
5108 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5109 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5110 can change it without having to change the world.
5112 2001-12-13 21:57 dan
5114 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5115 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5116 file/line/package to interp structure, with ops to get and set
5117 them. Now we can know where we are!
5119 2001-12-13 19:43 dan
5121 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5122 WinXP builds work out of the box
5124 2001-12-13 17:05 dan
5126 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5127 name again--makes case-insensitive systems much happier.
5129 2001-12-13 16:21 dan
5131 * core.ops, key.c, string.c, test_main.c, trace.c,
5132 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5135 Courtesy of: Josh Wilmes <josh@sky.net>
5137 2001-12-13 13:33 gregor
5139 * languages/jako/Makefile.in:
5140 Improved the method of calling the assembler.
5142 2001-12-13 13:30 gregor
5144 * languages/jako/Makefile.in:
5145 Improve the build process. It now works from the main parrot dir,
5146 and from the languages/jako directory. Now uses the .SUFFIXES
5147 target and generic build rules to reduce clutter in the
5150 2001-12-13 13:29 gregor
5152 * languages/jako/.cvsignore:
5153 Ignore the (now generated Makefile), and don't ignore .list files
5154 anymore, since we aren't generating them.
5156 2001-12-13 13:11 gregor
5158 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5159 languages/Makefile.in, languages/jako/Makefile,
5160 languages/jako/Makefile.in:
5161 Added a 'languages' target to the top-level Makefile.in, and
5162 modified the jako build procedure to involve Makefile.in -->
5163 Makefile too (done by Configure.pl).
5165 NOTE: languages/jako and language/scheme are built.
5166 languages/miniperl wasn't building right, so it was left off for
5169 2001-12-13 12:15 gregor
5172 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5175 2001-12-13 12:12 gregor
5177 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5178 ops2c-prederef.pl, ops2c.pl, test_main.c,
5179 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5180 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5181 Welcome to the Just-in-Time Predereferencing Patch!
5183 This patch implements a "predereferencing" mode for parrot. That
5184 means that a lot of the dereferencing you see in DO_OP and in the
5185 opfuncs is done up front (really, JIT) rather than as and each time
5186 we execute each op in the byte code stream.
5188 This works by creating an array of void pointers with the same
5189 number of elements as the byte code array. This array starts out
5190 life zero-initialized. Each time we go to execute an op, we check
5191 first to see if we have a NULL pointer at *cur_opcode. If so, we
5192 know we haven't done our predereferencing yet (this is the JIT
5193 part), so we call the prederef() function with sufficient args that
5194 it can go look up opfunc pointers and op arg types and put the
5195 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5196 where N is the number of args (counting the op itself as one arg).
5198 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5199 to have inline INTVAL constants.
5201 I've been getting about a 22% speed increase over vanilla code path
5202 when I compile with -O0. Advantage decreases at -O9 here. I tested
5203 with mops.pbc, and also by temporarily putting the -P flag in
5204 Parrot/Test.pm and running all the tests. So, this code is as
5205 correct as the test suite can detect.
5207 Here's how it plays out in the code:
5209 * New script ops2c-prederef.pl
5211 Copy-paste code reuse from ops2c.pl. Modified to expect the
5213 a void ** cur_opcode and to return a void **.
5217 * opfuncs are now static. Who needs to call them by name from
5219 anyway? They are accessed via the opfunc table.
5221 * Some MACRO stuff to make things work whether we prederef or
5223 may be possible to get rid of these some day if other folks
5225 that we should be using CODE object pointers + offsets as
5227 rather than raw pointers to either opcode_t's or (void *)'s
5228 (depending on prederef mode or no).
5230 * core.ops modified to be usable to build both kinds of opfuncs.
5234 * calls to push_generic_entry(... cur_opcode ...) were
5236 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5238 macro that does the right thing in both kinds of ops.c
5241 This is applicable to the bsr op. If we treated
5243 (Code PMC + local offset) rather than as
5244 pointer-to-memory-somewhere,
5245 this wouldn't be a big deal. We may need to do that at some
5247 anyway, so that when you jump around and return not only do
5249 the right PC (pointer, today), but you also have the
5251 knowing what chunk of bytecode it is in at all times
5253 allow reflection, as in ops that query or affect the
5256 * runinterp was modified. Instead of copying the top-level
5258 and blasting its byte_code pointer, we simply call runops
5260 interp, passing in the pointer to the current interp's code
5262 offset into that code at which to start (this last arg used
5264 pointer PC, now its an offset PC).
5266 * include/parrot/op.h
5268 * new typedef for prederef opfuncs (they return void **)
5270 * include/parrot/interp_guts.h
5272 * New DO_OP_PREDEREF() macro described above.
5274 * include/parrot/interpreter.h
5276 * New prototype of runops() -- see below.
5278 * resume_addr field changed to resume_flag and resume_offset
5280 We might be resuming from interp using prederef to one not
5282 so pointers between the two don't play nice together.
5283 Offsets are beautiful.
5285 * New PARROT_PREDEREF_FLAG constant
5289 * include "parrot/oplib/core_ops_prederef.h"
5291 * prederef() function described above.
5293 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5296 * runops() modified to take size_t CODE-relative offset PC
5298 pointer PC. This made other things workable and doesn't
5300 anything important (IMO).
5304 * New flag '-P' to enable predereferencing.
5306 * Makefile modified to build core_ops_prederef.c from core.ops
5310 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5312 Added core_ops_prederef$(O) to O_FILES
5314 2001-12-13 12:12 gregor
5316 * languages/jako/MAINTAINER:
5317 Thought it would be nice to put this right in the code...
5319 2001-12-13 04:36 jgoff
5321 * languages/miniperl/Miniperl/Generator.pm: Commented out
5322 debugging, fixed register spillover algorithm
5324 2001-12-13 04:23 jgoff
5326 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5327 line) Restructured a bit of the dependency generator to fix a
5330 2001-12-13 03:43 robert
5332 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5334 2001-12-13 03:03 jgoff
5336 * make.pl: Added make.pl
5338 2001-12-13 02:44 jgoff
5340 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5341 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5342 special flags... - Dies on undefined macros
5343 such as $(PDISASM) in current make - Dies on
5344 recursive macro expansions (Doesn't test for
5345 mutual or multipart loops) - In general it
5346 seems to be a little less lenient... Missing bits - File
5347 mod/creation times aren't being looked at - Actions
5348 aren't being taken - The few funky variables ($@, $<)
5349 aren't being dealt with Bugs - Line numbers are slipping a bit.
5351 2001-12-13 02:29 jgoff
5353 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5354 Reconstructing files to make the parser flow a little better.
5356 2001-12-13 00:51 dan
5358 * resources.c: Be a bit less wasteful with resources that don't
5361 2001-12-12 18:22 dan
5363 * Makefile.in: D'oh! Fixed looping makefile bug.
5365 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5367 2001-12-12 16:23 jgoff
5369 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5371 2001-12-12 16:22 jgoff
5373 * MANIFEST: Manifest additions for languages/miniperl
5375 2001-12-12 16:19 jgoff
5377 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5378 tests. These are left over from the Scheme suite and shouldn't be
5381 2001-12-12 16:18 jgoff
5383 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5384 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5385 modules. Miniperl/ is where the real work gets done. t/ is largely
5386 vacant because it isn't ready to survive real tests yet.
5388 2001-12-12 16:17 jgoff
5390 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5391 mpc: Final go-round, hopefully.
5393 languages/miniperl/Makefile - Used basically to run tests, as there
5394 is nothing here that needs to be
5395 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5396 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5397 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5400 2001-12-12 16:09 dan
5402 * Configure.pl: Setting a variable with the make command name is
5405 2001-12-12 15:07 simon
5407 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5408 Recursive make considered "ow, don't do that".
5410 2001-12-12 14:45 dan
5412 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5413 non-portable code) Killing builds on Win32 native. Small patch
5414 applied which hopefully fixes it.
5416 2001-12-12 06:12 ajgough
5418 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5420 2001-12-12 06:08 ajgough
5422 * Makefile.in: perl is $(PERL).
5424 2001-12-12 06:00 ajgough
5426 * t/op/integer.t: Added tests to integer.t so that all permutations
5427 of arguments are actually called at some point.
5429 2001-12-12 05:18 ajgough
5431 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5432 Tests for sleep i|ic
5434 2001-12-12 05:09 ajgough
5436 * t/op/stacks.t: Added pushp and popp register stack tests.
5438 2001-12-12 04:51 ajgough
5440 * t/op/stacks.t: Added tests for save and restore, for all register
5441 types. Let there be Haiku.
5443 2001-12-12 04:27 ajgough
5445 * t/op/basic.t: bsr_i test. You know you want it.
5447 2001-12-12 02:55 ajgough
5449 * MANIFEST: Added hints/os2.pl to MANIFEST.
5451 2001-12-12 02:52 jgoff
5453 * core.ops, key.c: Final checkin... These are actually the correct
5456 2001-12-12 02:12 jgoff
5458 * include/parrot/key.h: key.c - Removed a few functions,
5459 generalized set_element_value and element_value to accept
5460 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5461 core.ops - Modified to accept the new return style.
5463 This is a prelude to adding virtual-table methods to allow hashing
5464 &c. Expect at least one or two more redesigns before this settles
5465 down. However, it still passes the original tests.
5467 2001-12-11 13:35 gregor
5472 2001-12-11 12:03 gregor
5475 Don't ignore test_prog, but do ignore parrot.
5477 2001-12-11 12:03 gregor
5479 * classes/.cvsignore:
5480 Ignore the generated file default.h
5482 2001-12-11 04:07 jgoff
5486 2001-12-11 04:05 jgoff
5488 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5490 2001-12-11 04:00 jgoff
5492 * core.ops: Added new key aggregate operations to core ops.
5494 2001-12-11 04:00 jgoff
5496 * include/parrot/parrot.h: Added key.h to header list
5498 2001-12-11 03:59 jgoff
5500 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5502 2001-12-11 03:58 jgoff
5504 * Makefile.in: Added implementation of key aggregates.
5506 2001-12-08 23:07 simon
5511 2001-12-08 23:05 simon
5513 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5514 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5515 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5516 test_prog? What is test_prog?
5518 2001-12-08 22:57 simon
5522 Oops, the changelog commit was on *this* machine.
5524 2001-12-08 22:56 simon
5527 Updates to NEWS and ChangeLog pre-release.
5529 2001-12-08 22:07 simon
5531 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5532 classes/perlnum.pmc, classes/pmc2c.pl:
5533 Add "default" PMC vtable so you can inherit implied stuff.
5535 2001-12-08 21:24 simon
5537 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5538 docs/vtables.pod, lib/Parrot/PackFile.pm:
5539 Getting the documentation up to scratch.
5541 2001-12-08 21:21 simon
5544 Allow inheriting from default class.
5546 2001-12-07 20:43 gregor
5548 * examples/assembly/queens.pasm:
5549 Regenerated the file with the latest jakoc.
5551 2001-12-07 20:29 simon
5553 * core.ops, t/op/stacks.t:
5554 Rename "rotate" to "rotate_up".
5556 2001-12-07 20:15 simon
5559 Some tests for rotate.
5561 2001-12-07 00:55 gregor
5564 Cast the result of the pointer arithmetic, since without the cast
5565 there are warnings with some compilers, and without the parens
5566 around the pointer arithmetic, precedence breaks the meaning and
5569 2001-12-06 23:37 simon
5572 Temporary. I prefer compiler warnings to segfaults, thanks.
5574 2001-12-06 23:34 simon
5577 Make "trace" work again.
5579 2001-12-06 21:23 dan
5581 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5583 2001-12-06 21:22 dan
5585 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5586 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5588 2001-12-06 19:22 simon
5591 Yet another "How the *%$! did that compile?" moment.
5593 2001-12-06 18:28 dan
5595 * hints/vms.pl: Fix to build, with a HERE logical required
5597 2001-12-06 17:48 dan
5599 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5600 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5601 changes to the interpreter--flags are now part of the interp
5604 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5606 2001-12-06 14:02 gregor
5609 s/little_languages/languages/ in Jako section.
5611 2001-12-06 13:15 simon
5614 Ensure the documentation gets made.
5616 2001-12-06 13:12 simon
5618 * MANIFEST, docs/intro.pod:
5619 Documentation! Added the "Some Assembly Required" article with
5622 2001-12-06 00:39 simon
5627 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5629 2001-12-06 00:37 simon
5632 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5634 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5636 2001-12-06 00:11 tom
5638 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5639 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5640 include/parrot/chartype.h, include/parrot/encoding.h,
5641 include/parrot/parrot.h: Moved string to number conversion code out
5642 of the encoding layer and into the main string layer as neither the
5643 encoding layer nor the character type layer knows enough on it's
5644 own to do the conversion correctly.
5646 2001-12-05 23:12 tom
5648 * Makefile.in: Rebuild the classes directory if any of the object
5649 files for the classes are missing rather than only when perlint.o
5652 2001-12-05 19:43 gregor
5654 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5655 * Reworked the constantize_string() stuff a little bit because it
5657 puking on things like "\033[H\033[2J\0" (which occurs in the
5658 languages/jako/mandelzoom.jako example).
5660 2001-12-05 19:39 gregor
5662 * languages/jako/: Makefile, mandelzoom.jako:
5663 Added 'mandelzoom' example.
5665 2001-12-05 19:38 gregor
5667 * languages/jako/jakoc:
5670 * Changed some instances of die() to confess()
5672 2001-12-05 18:34 gregor
5674 * t/: op/pmc.t, pmc/pmc.t:
5675 s/sting->int/string->int/
5677 2001-12-05 18:08 gregor
5679 * Parrot/.cvsignore:
5682 2001-12-05 18:05 gregor
5684 * classes/.cvsignore:
5685 Ignore the generated files.
5687 2001-12-05 17:19 gregor
5690 * Reverted recent changes, since they broke the script. Real fix
5694 2001-12-05 17:03 simon
5696 * classes/Makefile.in:
5697 Remember: change Makefile.in, not Makefile. D'oh.
5699 2001-12-05 17:02 simon
5702 Ensure PMC.pm gets remade.
5704 2001-12-05 16:58 simon
5706 * MANIFEST, Makefile.in, classes/Makefile.in,
5707 classes/perlundef.pmc, include/parrot/pmc.h:
5708 Add perlundef class.
5710 2001-12-05 16:45 simon
5713 Document "new P0, foo"
5715 2001-12-05 16:43 simon
5717 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5718 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5719 Allow assembler to know about PMC class names.
5721 2001-12-04 13:39 ajgough
5723 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5725 2001-12-04 05:02 ajgough
5727 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5730 2001-12-04 04:24 ajgough
5732 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5733 broken form of strtod and appropriate tests. Does not yet check
5736 2001-12-04 01:31 ajgough
5738 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5739 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5740 to extract_num and extract_int string vtables, without this it
5741 would be impossible to have strings with nulls in while still
5742 knowing where they ended.
5744 2001-12-03 18:40 ajgough
5746 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5747 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5748 include/parrot/string.h: Moved pmc string to number conversion into
5749 the string encoding tables.
5751 2001-12-03 00:21 ajgough
5753 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5756 2001-12-02 23:09 jgoff
5758 * classes/Makefile.in: Removed some redundant targets.
5760 2001-12-02 19:02 ajgough
5762 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5763 equality macro rather than using perl to generate expected output,
5764 all tests now have <<OUTPUT.
5766 2001-12-02 17:44 ajgough
5768 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5769 for pmc.t as well. Will probably move macros into another file at
5770 some point, although this might be best left until the tests are
5773 2001-12-02 06:16 jgoff
5775 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5776 within Parrot_Perl{Class}_init.
5778 2001-12-02 06:09 jgoff
5780 * classes/Makefile.in: I seem to have removed *$(O) twice..
5782 2001-12-02 05:06 jgoff
5784 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5785 Configure.pl - Removed '-I./include', added classes/Makefile
5786 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5787 Removed old classes/* make stuff Added target for
5790 2001-12-02 04:48 jgoff
5792 * classes/Makefile.in: Going to be used shortly...
5794 2001-12-02 04:40 jgoff
5796 * docs/Makefile: Configure.pl - Added automatic makefile creation
5797 for docs/ and classes/ Removed '-I./include' because
5798 it was getting incorrectly passed to classes/
5799 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5800 - Removed classes/ build stuff, replaced with classes/Makefile.in
5801 Added '-I./include' locally docs/Makefile - Should no
5802 longer be used, but I'm not brave enough to do a
5805 2001-12-02 01:21 ajgough
5807 * t/op/trans.t: Refactored trans math tests to have hard coded
5808 expected return values and be more ready to be unperled at some
5809 point in the future. Added $fp_equality_macro which is a
5810 "nearly-equal-to" function.
5812 2001-12-02 01:18 ajgough
5814 * Makefile.in: Humph. People really ought to use Makefile
5815 variables, s/perl/$(PERL)/ throughout.
5817 2001-12-01 18:15 jgoff
5819 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5820 figure out what to do vis-a-vis the lack of snprintf.
5822 2001-11-30 13:14 ajgough
5824 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5827 2001-11-30 13:14 ajgough
5829 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5832 2001-11-30 10:36 simon
5835 Rewrite print_p to do the right thing.
5837 2001-11-30 06:21 jgoff
5839 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5840 concat, integer/number/string math
5842 2001-11-30 06:20 jgoff
5844 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5845 classes/perlint.pmc - Fixes and expanding for concat and math with
5846 strings classes/perlnum.pmc - Fixes and expanding for concat and
5847 math with strings classes/perlstring.pmc - Fixes and expanding for
5848 concat and math with strings
5850 2001-11-29 15:21 ajgough
5852 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5853 $^X lies, which confused bash which make uses to run things when
5856 2001-11-29 04:58 jgoff
5858 * classes/perlstring.pmc: Removed C++-style comments for good
5861 2001-11-29 04:51 jgoff
5863 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5865 2001-11-29 04:28 jgoff
5867 * global_setup.c: Initialize PMC strings
5869 2001-11-29 04:25 jgoff
5871 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5874 2001-11-29 04:24 jgoff
5876 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5877 files to properly upgrade int to num, do calculations. Also added
5878 basic string operations. Currently errors out on anything but set
5879 operations, but this will be fixed soon.
5881 2001-11-29 04:22 jgoff
5883 * Makefile.in: PMC .c files weren't getting cleaned out.
5885 2001-11-28 17:00 simon
5889 Make csh-glob happy.
5891 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
5893 2001-11-28 16:40 simon
5895 * classes/perlnum.pmc:
5899 2001-11-28 15:22 simon
5903 Fixes Alex's string concat worry.
5905 2001-11-28 14:27 ajgough
5907 * t/op/string.t: test "null onto null" incorrectly passing as it
5908 produced no output. Output provided.
5910 2001-11-28 11:14 simon
5912 * include/parrot/pmc.h:
5916 2001-11-26 21:03 dan
5918 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
5920 2001-11-26 17:29 simon
5922 * classes/perlint.pmc:
5924 Various subtle but non-showstopper bugs.
5926 2001-11-26 11:23 simon
5930 Replace dependency on Text::Balanced
5932 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
5934 2001-11-26 05:22 jgoff
5936 * global_setup.c: Last file that should need to be committed. I
5939 2001-11-26 05:09 jgoff
5941 * core.ops: Let's try this again... Changes to core.ops required
5943 2001-11-26 04:58 jgoff
5945 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
5946 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
5947 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
5948 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
5949 functions classes/perlnum.pmc - Set up basic number functions
5950 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
5951 tests against numbers and numbers+integers
5953 2001-11-25 13:18 simon
5956 Windows XP make doesn't like $<
5958 2001-11-25 12:56 simon
5960 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
5961 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
5962 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
5963 examples/assembly/mops_p.pasm:
5966 Courtesy of: Angel Faus <afaus@corp.vlex.com>
5968 I (Simon) also added a couple more integer methods, but no tests
5969 since I'm a Bad Person.
5971 2001-11-25 08:40 brentdax
5973 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
5974 lib/Parrot/OpsFile.pm: Allow _ in op names
5976 2001-11-25 05:54 jgoff
5978 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
5979 Added basic math ops t/op/pmc.t - Added tests of basic math ops
5981 2001-11-23 18:27 simon
5983 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
5984 Add everything you need to make MOPS use PMCs.
5986 2001-11-23 18:06 simon
5989 Eh, you'll need this for rewriting mops.pasm.
5991 2001-11-23 17:55 simon
5993 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
5995 More work on integer PMCs.
5997 2001-11-23 17:29 simon
6000 Surprise! Whitespace! HLAGHLAGHLAGH
6002 2001-11-23 17:28 simon
6004 * Makefile.in, ops2c.pl, ops2pm.pl:
6005 Add vtables.ops to the core
6007 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6009 2001-11-22 18:39 simon
6011 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6013 We can now create PMCs.
6015 2001-11-21 05:49 jgoff
6017 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6019 2001-11-20 16:00 simon
6021 * docs/vtables.pod, include/parrot/pmc.h:
6022 Reorder PMC flags so there's a fixed number of user-defined flags.
6024 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6026 2001-11-19 03:39 jgoff
6028 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6029 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6030 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6031 escaped quotes, and proper handling of newlines.
6033 2001-11-16 22:03 simon
6035 * classes/perlint.c:
6036 More work on the Perl Integer class. More needed, though.
6038 2001-11-16 21:57 simon
6040 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6041 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6043 2001-11-16 20:49 simon
6045 * interpreter.c, runops_cores.c, trace.c,
6046 include/parrot/runops_cores.h:
6047 Kill superfluous runops cores.
6049 2001-11-16 17:50 simon
6051 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6052 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6053 include/parrot/parrot.h, include/parrot/pmc.h:
6054 Skeleton for Perl scalar types, done right.
6056 2001-11-16 16:15 simon
6058 * classes/genclass.pl:
6059 This tidies up genclass to deal with the new-style multimethods.
6061 2001-11-16 15:29 simon
6063 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6064 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6065 Rework multimethods to be *true* multimethods - that is, have
6068 2001-11-15 22:29 simon
6070 * MANIFEST, Makefile.in, pmc.c:
6071 pmc.c linkage and support. Oh, and making it compile.
6073 2001-11-15 22:26 dan
6075 * t/op/interp.t: Forgot to tell CVS about the test...
6077 2001-11-15 22:10 dan
6079 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6080 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6081 for PMC registers for the interpreter.
6083 Added in the docs for the runinterp opcode.
6085 Added in code for both the newinterp and runinterp opcodes, so we
6086 can now create new interpreters from within parrot and have them do
6087 things. (Though we can't pass data back and forth. Yet)
6089 2001-11-15 21:24 simon
6091 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6092 More documentation, and other changes as discussed with Dan.
6094 2001-11-15 19:51 simon
6096 * classes/scalarclass.c:
6099 2001-11-15 19:50 simon
6101 * classes/scalarclass.c:
6102 A little code tidiness.
6104 2001-11-15 19:33 simon
6106 * include/parrot/pmc.h:
6107 Missed this in the previous commit - un-constantize the base for
6108 user-defined PMC flags.
6110 2001-11-15 19:28 simon
6112 * classes/scalarclass.c:
6115 2001-11-15 17:09 simon
6117 * classes/scalarclass.c:
6118 It seems I have completely forgotten how to write C.
6120 2001-11-15 16:53 simon
6123 Start of the PMC classes documentation.
6125 2001-11-15 14:46 simon
6127 * classes/scalarclass.c:
6128 Changing to use a Perl-style struct instead of the union cache.
6130 2001-11-13 23:56 tom
6132 * string.c: Removed leading _ from string_index as function names
6133 starting with _ are reserved to implementors by the C standard.
6135 Also fixed string_index to use the encoding routines instead of
6136 assuming a single byte encoding.
6138 2001-11-13 12:59 jgoff
6140 * string.c: Patched string_concat to accept null strings. That
6141 test was failing. Nothing to do with ord().
6143 2001-11-13 12:43 jgoff
6145 * string.c: string_ord function, string_concat fixes
6147 2001-11-13 04:52 jgoff
6149 * core.ops: Added ord to core.ops
6151 2001-11-13 04:35 jgoff
6153 * docs/strings.pod, include/parrot/exceptions.h,
6154 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6155 operator, documentation string.c - Added string_ord, _string_index
6156 (_string_index is a static helper) Patched
6157 string_concat to handle null strings properly. docs/strings.pod -
6158 Description of string_ord include/parrot/exceptions.h - Added
6159 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6160 string_ord() t/op/string.t - Added full set of test for
6161 ord_i_(s|sc)(_(i|ic))?
6163 string.c contains a bit of documentation explaining the logic
6164 behind _string_index, primarily having to do with multiple encoding
6167 2001-11-12 22:30 simon
6172 2001-11-12 22:28 simon
6175 Add a rule to compile "platform"
6177 2001-11-12 22:26 simon
6180 Tidy up distclean target.
6182 2001-11-12 16:54 dan
6184 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6185 t/op/macro.t: Fixes to the assembler's macro facility and a test
6187 Courtesy of: Jeff <jgoff@speakeasy.net>
6189 2001-11-12 16:50 dan
6191 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6194 Courtesy of: Jeff <jgoff@speakeasy.net>
6196 2001-11-12 16:36 dan
6198 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6201 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6203 2001-11-12 11:22 simon
6205 * examples/assembly/mops.pasm:
6207 Trivial tightening of mops loop.
6209 2001-11-07 23:57 ajgough
6211 * docs/tests.pod: This is a basic quide to writing tests with
6214 2001-11-07 22:29 dan
6216 * stacks.c: Added a little documentation on the cleanup parameter
6219 2001-11-07 14:43 dan
6221 * MANIFEST, platforms/generic.c, platforms/linux.c,
6222 platforms/linux.h: Portability patches.
6224 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6226 2001-11-06 19:51 tom
6228 * Makefile.in: Clean up object files in the subdirectories as well
6229 as those in the top level directory.
6231 Enhanced version of patch from Daniel Grunblatt
6232 <daniel@grunblatt.com.ar>
6234 2001-11-06 16:14 dan
6236 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6237 platforms/generic.c, platforms/generic.h: Made things a bit more
6238 platform-independent. Makefile still needs work to pick up changes
6239 to the platform-specific files.
6241 2001-11-05 21:32 dan
6243 * docs/parrot_assembly.pod: Added docs for the GC control ops
6245 2001-11-04 02:52 gregor
6247 * platforms/: win32.c, win32.h:
6248 * win32 dynamic loading functions.
6250 Courtesy of Jason Diamond <jason@injektilo.org>
6252 2001-11-04 00:04 brentdax
6254 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6255 allows an absolute path to be used and gives a useful error message
6256 if the original source file can't be found
6258 2001-11-02 12:37 gregor
6260 * platforms/: linux.c, linux.h:
6261 * Beginning of dynamic loading support. Linux only for now.
6263 2001-11-02 12:13 gregor
6265 * MANIFEST, time.c, include/parrot/time.h:
6266 * Removed time.[hc], since they have been superseded by the new
6270 2001-11-02 12:11 gregor
6272 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6273 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6274 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6275 platforms/win32.c, platforms/win32.h:
6276 Patch from Jason Diamond to make win32 platform stuff work:
6278 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6279 platform specific files in the platforms directory gets copied to
6280 the correct directories. The Makefile will re-copy the platform.h
6281 and .c files if the original is modified.
6283 * #include platform.h in parrot.h instead of time.h.
6285 * Removed time.h and time.obj from the Makefile. time.h and time.c
6286 aren't being used anymore since that code was moved to linux.c and
6289 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6290 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6291 windows.h. This required updating several files besides parrot.h.
6293 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6294 instead of the missing identifiers (on Windows) in core.ops in the
6297 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6298 platform files and called those from core.ops. The Linux code for
6299 these functions came from core.ops so they should hopefully work.
6301 Courtesy of Jason Diamond <jason@injektilo.org>
6303 2001-11-02 06:43 brentdax
6305 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6306 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6308 2001-11-02 02:26 gregor
6310 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6311 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6313 * Beginnings of platform support files in platform/*.[hc]
6315 2001-11-01 23:37 tom
6317 * classes/intclass.c: Added missing *'s to STRING arguments and
6318 return values to avoid compiler warnings.
6320 2001-11-01 22:21 gregor
6322 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6323 include/parrot/parrot.h, include/parrot/time.h:
6324 Initial "fix" of time(n) op for Win32:
6326 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6328 * time.c and include/parrot/time.h
6330 First attempt at getting this working across platforms. The
6331 macro WIN32 being tested might not be right.
6333 * New functions Parrot_intval_time() and Parrot_floatval_time()
6334 wrap the appropriate functionality depending upon platform.
6335 Changed core.ops to call these.
6337 Added obscure.ops with obscure transcendental ops.
6339 Added simple file I/O ops (close, open, read, write):
6341 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6343 * I changed some arg ordering stuff.
6345 * I added read/write of INTVALs and FLOATVALs.
6347 Added environment variable ops (getenv, setenv)
6349 Added system error ops (err(i) and err(s) for accessing errno and
6352 Moved print ops in with other "temporary" developer ops, since
6353 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6355 2001-10-31 22:51 tom
6357 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6358 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6359 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6360 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6361 encodings/utf8.c, include/parrot/chartype.h,
6362 include/parrot/encoding.h, include/parrot/exceptions.h,
6363 include/parrot/parrot.h, include/parrot/string.h,
6364 include/parrot/strnative.h, include/parrot/strutf16.h,
6365 include/parrot/strutf32.h, include/parrot/strutf8.h,
6366 include/parrot/transcode.h: Reworked the string code in line with
6367 Dan's latest design that separates character sets from encodings.
6369 2001-10-31 19:53 dan
6371 * docs/parrot_assembly.pod: Finished I/O section of docs
6373 2001-10-31 16:51 dan
6375 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6376 Moved includes out of core.ops and into parrot.h where they belong
6377 (suitably guarded with #ifdefs). Also some updates to
6380 2001-10-30 21:43 dan
6382 * core.ops, stacks.c, docs/parrot_assembly.pod,
6383 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6384 of the entry on the stack
6386 2001-10-29 18:30 dan
6388 * stacks.c: You can turn off stack entry type validation on pop by
6389 passing in a type of 0 now. (For those cases where you just want to
6390 throw the darned thing away)
6392 2001-10-29 14:37 gregor
6394 * core.ops, languages/jako/jakoc:
6395 * New variants of the save ops to save constants on the stack.
6397 useful for saving zero arg and result counts on the stack, for
6400 * Modified jakoc to to adapt to the newly announced calling
6402 Even though Jako source code appears to show subroutines with
6404 numbers of arguments and results, they are implemented with the
6405 variable count calling convention. Future modifications will be
6407 to ensure that an exception is raised if the stack frame is of
6409 wrong size (or, at least that we pop the complete frame off).
6411 also have to make more changes to support the true
6413 and fixed-result-count parts of the calling convention spec.
6415 2001-10-28 16:53 simon
6417 * MANIFEST, stacks.c, classes/scalarclass.c,
6418 include/parrot/stacks.h:
6419 Unbelievably bad errors of mine, plus a type incompatibility of
6422 2001-10-28 08:30 simon
6424 * classes/scalarclass.c:
6425 Beginning of a scalar class.
6427 2001-10-28 08:29 simon
6429 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6430 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6431 include/parrot/pmc.h:
6432 This fixes the problem with vtables and pointer arithmetic.
6434 2001-10-26 19:58 dan
6436 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6437 include/parrot/stacks.h: Split the generic stack into a user push
6438 stack and a control stack
6440 2001-10-26 02:59 bdwheele
6442 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6444 2001-10-24 20:27 dan
6446 * languages/scheme/: Makefile, Scheme.pm, schemec,
6447 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6448 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6449 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6452 2001-10-24 20:23 dan
6454 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6455 interpreter needs in pdump.c. Added scheme bits to manifest
6457 2001-10-24 16:43 gregor
6459 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6460 * Make the assembler handle octal character code escapes in
6464 2001-10-24 15:56 dan
6466 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6467 play the game of life
6469 2001-10-24 15:54 dan
6471 * core.ops: Added sleep. We'll need to override this to do events
6472 properly anyway, so...
6474 2001-10-24 14:03 gregor
6476 * Makefile.in, pbc2c.pl, pdump.c:
6477 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6479 pointer into string functions.
6481 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6483 2001-10-23 20:09 gregor
6485 * languages/jako/jakoc:
6486 * Terminological refinement in regexp capture comment.
6488 2001-10-23 15:23 simon
6490 * classes/genclass.pl:
6491 Use a saner ANSI C construct to make MIPSPro happy.
6493 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6495 2001-10-23 00:34 tom
6497 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6498 strutf8.c, include/parrot/string.h: Make sure the interpreter
6499 structure is passed to the transcoder as necessary, including
6500 passing it to string_compare().
6502 2001-10-23 00:32 tom
6504 * Makefile.in: Make pdump build again by including resources.o in
6507 2001-10-22 22:43 dan
6509 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6510 strutf32.c, strutf8.c, test_main.c, transcode.c,
6511 include/parrot/packfile.h, include/parrot/parrot.h,
6512 include/parrot/resources.h, include/parrot/string.h,
6513 include/parrot/transcode.h: Everything now uses the allocators and
6514 deallocators in resources.c.
6516 Unfortunately we lost standalone string-test mode, but I can cope
6519 Please note that until we have a real allocation/deallocation/GC
6520 system, this'll leak. A *lot*.
6522 2001-10-22 20:27 dan
6524 * MANIFEST, Makefile.in, pmc.c, resources.c,
6525 include/parrot/resources.h: First cut to handle arena allocation of
6526 PMC headers. (Amongst other things)
6528 2001-10-22 19:02 dan
6530 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6531 Now each register type has its own mask macro, which is the right
6534 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6536 2001-10-21 23:40 tom
6538 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6539 stack chunk and add a test to test this rollover in future.
6541 Courtesy of Jason Gloudon <perl@gloudon.com>.
6543 2001-10-21 19:14 dan
6545 * include/parrot/string.h: Changed string 'unused' field to the
6548 2001-10-21 18:18 gregor
6550 * languages/jako/: Makefile, mops.jako:
6551 * Makefile: 'clean' target removes .list files, too. And, it does
6553 with wildcards rather than listing things explicitly.
6555 * mops.jako actually prints out the
6556 millions-of-operations-per-second
6557 (mops) value instead of just the operations-per-second value.
6559 2001-10-21 18:03 simon
6561 * classes/intclass.o:
6564 2001-10-21 17:47 simon
6566 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6567 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6568 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6569 lib/Parrot/Vtable.pm:
6570 Initial work on PMCs. Explanation to follow
6572 2001-10-21 15:20 gregor
6574 * examples/assembly/queens.pasm:
6575 * Modernize the calling conventions in queens.pasm. It was using
6577 which now must be rotate. Also, changed to use return values on
6579 stack instead of in I0.
6581 2001-10-19 18:14 gregor
6583 * core.ops, stacks.c, include/parrot/stacks.h,
6584 languages/jako/jakoc:
6585 Per Dan's request, replacing 'swap' op by 'rotate'.
6587 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6589 * stacks.c and stacks.h: Removed swap-related functions from my
6590 prior commit, replacing them with stack_depth(), stack_entry()
6591 and rotate_entries().
6593 NOTE: The stack_depth() and rotate_entries() routines could
6594 be made more efficient through the caching of the sum of chunk
6595 'used' members from lower chunks in a field in the upper
6596 chunks. Also, if the interpreter's stack_base was changed to
6597 hold the pointer to the *top* chunk (since we usually come
6598 at the stack from the top down) instead of the *bottom*
6599 chunk. The code here at least works, and we can decide about
6600 bigger changes separately.
6602 For now, rotate only handles rotates in one direction and
6603 of magnituded one. A fully general rotate would do handle
6604 rotates in both directions and of arbitrary amounts. Again,
6605 this implementation is sufficient for current applications,
6606 and a feature-complete version can be developed if this turns
6607 out to be otherwise the right type of implementation.
6609 This change includes a new exception for ERROR_STACK_SHALLOW,
6610 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6612 * jakoc: Changed the calling convention to use rotate instead
6613 of swap (of course). Also changed the convention for return
6614 value passing to use the stack as well.
6616 2001-10-19 13:36 gregor
6618 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6619 examples/assembly/queens.pasm, include/parrot/stacks.h,
6620 languages/jako/.cvsignore, languages/jako/Makefile,
6621 languages/jako/bench.jako, languages/jako/euclid.jako,
6622 languages/jako/fact.jako, languages/jako/jakoc,
6623 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6624 languages/jako/primes.jako, languages/jako/queens.jako,
6625 languages/jako/sub.jako:
6626 * New stack functions push_entry(), pop_entry() and swap_entry().
6627 The first two exist for the support of the last one. These
6628 functions don't care what is in the stack entries. These exist
6629 to support the new 'swap' op (see next bullet).
6631 * New op 'swap' for swapping the top two elements on the stack.
6632 This is necessary for passing arguments to functions, since
6633 the return address will be on top of any arguments that have
6634 been pushed on the stack. This way, you can use a (swap, pop)
6635 pair to retrieve each argument (for subroutine linkage).
6637 * Disassembler now prints numbers in decimal by default, with
6638 a new '-x' flag to turn on hexadecimal display. Since other
6639 members of the Parrot Tool Set use decimal by default, this
6640 makes it easier to compare output from the various tools.
6642 * Jako compiler has more explanatory comments and the following
6645 * Lexically scoped variables.
6647 * Subroutines that take arguments and return values:
6649 sub int foo(int bar) {
6656 * ... if (...) and ... unless (...) statement modifiers
6657 can be used on next, last and redo.
6659 * Bitwise and (&, &=) and or (|, |=) ops.
6661 * Type names are just 'int', 'num', 'str', and 'poly' now.
6662 The old long names 'integer', 'number', 'string', and
6663 'polytype' are no longer valid.
6665 * Integer variable assignments can now use 0b (binary),
6666 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6668 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6669 solving the eight-queens problem. The assembly example is a
6670 hand-modified version of the assembly code produced by the
6671 Jako compiler from queens.jako. A few unnecessary ops have
6672 been removed, lots of unnecessary labels have been removed,
6673 and all the Jako source code comments have been removed.
6675 * Makefile and .cvsignore in languages/jako modified so that
6676 the assembler produces listings when assembling the programs,
6677 yet the *.list files are ignored by CVS.
6679 * Made the default target in languages/jako/Makefile 'all'.
6681 * Modified some of the Jako examples to use some of the new
6682 features of Jako, such as subroutines and lexical variable
6685 2001-10-19 02:43 gregor
6687 * runops_cores.c, include/parrot/runops_cores.h:
6688 Bug fix (gcc doesn't complain, but MIPSpro does):
6690 * Added missing extern to runops_cores array declaration in
6691 include/parrot/runops_cores.h
6693 * Also added 'const' there and in runops_cores.c
6695 2001-10-18 15:18 gregor
6697 * .cvsignore, include/parrot/oplib/.cvsignore:
6698 * Ignore the vtable-related generated files.
6700 2001-10-18 15:14 gregor
6703 * left and right shifts now allow the 2nd argument to be a
6706 2001-10-18 14:55 simon
6708 * make_vtable_ops.pl:
6709 This is C, not Perl. How on earth did that even compile?
6711 2001-10-18 14:54 simon
6713 * make_vtable_ops.pl:
6716 2001-10-18 12:33 simon
6718 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6719 Initial stab at vtable opcode creation stuff.
6721 2001-10-18 02:15 gregor
6723 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6724 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6725 include/parrot/trace.h: Preparation for autogenerated runops cores:
6727 * Split tracing and runops core stuff out of interpreter.c into
6728 trace.c and runops_cores.c
6730 * Similar split of stuff from include/parrot/interpreter.h
6732 * Manifest and Makefile.in updates to make things still compile.
6734 2001-10-18 01:21 gregor
6736 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6738 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6740 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6742 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6744 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6746 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6748 copy of $ops->preamble.
6750 2001-10-17 22:32 bdwheele
6752 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6755 2001-10-17 22:08 gregor
6757 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6758 * Now handles label-and-comment-only lines.
6760 2001-10-17 22:04 bdwheele
6762 * interpreter.c: added more comprehensive trace output
6764 2001-10-17 16:50 tom
6766 * Makefile.in: Removed the explicit rule for building mops.o from
6767 mops.c so that the implicit rule for compiling C files is used
6768 instead. This means that the chosen C flags are used, including any
6769 optimisation options.
6771 2001-10-17 15:24 tom
6773 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6774 op explosion logic to be able to handle exploding this:
6784 without also generating this unwanted version:
6788 The enhanced version rejects any expansion where there is more than
6789 one expanded argument and all the expanded arguments are constants.
6791 2001-10-17 14:20 simon
6793 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6794 Build fixes to use correct Perl version and ensure that things are
6795 running in the right directory.
6797 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6799 2001-10-17 13:16 simon
6802 core.pm is more critical than that.
6804 2001-10-17 13:05 simon
6806 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6807 "Explode" ops into multiple versions for different parameters.
6809 Courtesy of: Tom Hughes <tom@compton.nu>
6811 2001-10-17 12:54 simon
6814 Fix dependencies and cleaning.
6816 2001-10-17 12:45 simon
6818 * Configure.pl, Makefile.in:
6819 Fixes to make Parrot compile without the temporary build hack
6821 Courtesy of: Jason Gloudon <perl@gloudon.com>
6823 2001-10-16 20:43 gregor
6826 * Fixed dependencies for building Parrot/OpLib/core.pm
6828 2001-10-16 19:35 bdwheele
6830 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6831 added test, thanks to Alex Gough
6833 2001-10-16 16:49 bdwheele
6835 * core.ops: added opcode variants for constants and 3 arg concat
6837 2001-10-16 15:12 bdwheele
6839 * core.ops: added "set Sx,Sy" as a string copy to match the other
6840 register-to-register copies available
6842 2001-10-16 13:09 gregor
6845 * Added #include <sys/time.h> in the preamble for gettimeofday().
6847 2001-10-16 13:09 gregor
6850 * Removed cd t; make, which no longer applies
6852 2001-10-16 03:18 bdwheele
6854 * core.ops: fix save & restore operations to push correct type onto
6855 stack. [good eye to Jason Gloudon for noticing this]
6857 2001-10-16 01:38 bdwheele
6859 * core.ops, register.c, examples/assembly/fact.pasm,
6860 include/parrot/register.h: send in the clones: clone routines for
6861 parrot + example program
6863 2001-10-15 22:37 gregor
6865 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6866 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6867 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6868 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6869 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6870 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6871 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6872 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6873 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6874 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6876 renames so the names match what they demonstrate.
6878 2001-10-15 22:18 gregor
6880 * core.ops, t/test.pasm:
6881 * time_n uses gettimeofday() to get sub-second times.
6883 * t/test.pasm uses time_n directly rather than doing int stuff
6885 converting to num later.
6887 2001-10-15 12:28 gregor
6889 * t/: test.pasm, test2.pasm, trace.pasm:
6890 * t/test.pasm prints using string constants instead of string
6893 * t/test2.pasm assembles (using implicit op modes)
6895 * t/trace.pasm updated for new behavior of trace_ic, which does
6897 require an 'end' after 'trace'.
6899 2001-10-15 00:47 gregor
6901 * core.ops, interpreter.c, test_main.c,
6902 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
6905 * New runops cores to handle profiling
6907 * Support for -p flag in test_prog to enable profiling
6909 * New profile_ic op to control profiling at run-time
6911 2001-10-14 21:54 gregor
6913 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
6914 lib/Parrot/OpsFile.pm: Integrated op documentation.
6916 * core.ops now contains POD documentation of ops, interspersed
6920 * Ops are organized into POD =head2 sections
6922 * Parrot/OpsFile.pm now treats the preamble of the ops file as
6924 up to the first POD directive OR op definition.
6926 * docs/Makefile now generates core_ops.pod from core.ops vi
6929 2001-10-14 11:58 simon
6932 Unbreak Digital Un^W^WTru64
6934 2001-10-14 11:00 simon
6939 2001-10-14 10:56 tom
6941 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
6942 op_info.c no longer exists and op.h is no longer a generated file.
6944 2001-10-14 10:54 tom
6946 * Makefile.in: Added vtable.h to the list of things removed by the
6949 2001-10-14 01:43 gregor
6951 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
6952 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
6953 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
6954 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
6955 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
6956 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
6957 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
6958 include/parrot/.cvsignore, include/parrot/interp_guts.h,
6959 include/parrot/interpreter.h, include/parrot/op.h,
6960 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
6961 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
6962 t/op/stacks.t, t/op/string.t, t/op/trans.t:
6965 * basic_opcodes.ops and opcode_table replaced by core.ops
6967 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
6968 and ops2c.pl. These convert *.ops to *_ops.c and
6969 include/parrot/oplib/*_ops.h
6971 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
6973 * disassemble.pl modified to use
6975 * interpreter.c modified to use structures in core_ops.c instead
6976 of the old op_info and op_func stuff. We're not yet to the
6977 point of handling multiple oplibs at a time, but we are getting
6980 Fingerprinting stuff disabled for now. We used to go off
6981 opcode_table. We need to rethink this. I have some ideas to
6982 make it unnecessary, but it remains to be seen whether others
6983 will like the direction they take us.
6985 Termination condition for while(){} loop in runops is now
6986 (pc) instead of (*pc). Any op can cause a HALT by returning
6987 a NULL pointer. Ops end, bounds and trace all do this. So, now
6988 the 'end' op body is actually executed, although all it does
6991 * Makefile.in modified to perform a test build using pbc2c.pl,
6992 which is the bytecode --> C compiler I've posted to the
6995 * Op full names are now autogenerated. Op root names must not
6996 contain underscores, so some op renamings have happened.
6997 Such as clear_i becoming cleari.
6999 2001-10-13 11:49 simon
7001 * Configure.pl, MANIFEST:
7002 Make parrot actually build again.
7004 2001-10-12 21:34 dan
7006 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7009 2001-10-12 20:56 dan
7011 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7012 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7013 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7014 generic stack now in. We also have subroutines, of a simple sort!
7016 2001-10-12 19:15 tom
7018 * t/op/string.t: Improved string comparison tests try all string
7019 combinations with each of the comparison ops.
7021 2001-10-12 19:09 dan
7023 * interpreter.c: Properly sets up generic stack now
7025 2001-10-12 19:09 dan
7027 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7028 interpreter structure
7030 2001-10-12 18:59 dan
7032 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7033 changes to get the generic stack working
7035 2001-10-12 18:59 dan
7037 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7038 hints/vms.pl: Made the changes to figure out mask bits for various
7039 register and stack chunks
7041 2001-10-11 22:09 dan
7043 * docs/parrot_assembly.pod: Tossed the parameter for return
7045 2001-10-11 19:28 tom
7047 * strnative.c: Assignment, not comparison. (Plus formatted for
7050 Courtesy of Bryan C. Warnock
7052 2001-10-10 19:21 tom
7054 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7055 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7056 include/parrot/string.h, t/op/string.t: Added support for string
7057 comparisons and extended the comparison ops to include comparison
7060 2001-10-10 17:58 dan
7062 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7064 2001-10-10 17:54 dan
7066 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7067 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7068 vtable type entries properly
7070 2001-10-10 15:37 dan
7072 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7073 parse new vtable.tbl file now that I've actually checked *in* the
7074 new format vtable.tbl file...
7076 2001-10-10 15:32 dan
7078 * vtable.tbl: New Column to indicate the type of the vtabel entry
7079 so we can know how many slots it takes
7081 2001-10-10 05:26 thgibbs
7083 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7084 allow parrot to compile. PACKAGE is not defined, therefore, I
7085 added a struct before it to have it not complain until we define
7086 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7087 semicolon at the end of the struct declaration.
7089 2001-10-10 05:09 thgibbs
7091 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7092 string constants of the form U"string" become unicode encoded
7093 parrot strings and the form N"string" become native encoded parrot
7096 Courtesy of: Tom Hughes <tom@compton.nu>
7098 2001-10-10 04:55 dan
7100 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7101 support for generating the vtable function table offset macros
7103 2001-10-10 01:05 simon
7106 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7107 compiles into the mod op, not the cmod_i op, hence wasn't testing
7108 what it thought it was.
7110 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7112 2001-10-09 03:45 thgibbs
7114 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7115 assembler to generate unicode strings.
7117 Courtesy of: Tom Hughes <tom@compton.nu>
7119 2001-10-08 19:30 brentdax
7121 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7122 info for Parrot::Config to remember, more flexible test.c stuff
7124 2001-10-08 15:04 gregor
7126 * basic_opcodes.ops:
7127 * Removed trash from early mod_i experiments (pardon our dust)
7129 2001-10-08 14:56 gregor
7131 * basic_opcodes.ops:
7132 * Fixed a couple of typos.
7134 2001-10-08 14:45 gregor
7136 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7137 Arithmetic enhancements:
7139 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7141 NOTE: This "uncorrected mod" algorithm uses the C language's
7143 mod operator (x % y), which is
7145 ... the remainder when x is divided by y, and thus is zero
7149 The direction of truncation for / and teh sign of the
7151 are machine-dependent for negative operands, as is the
7153 on overflow or underflow.
7159 ... if the second operand is 0, the result is undefined.
7161 is always true that (a/b)*b + a%b is equal to z. I both
7163 non-negative, then teh remainder is non-negative and
7165 divisor; if not, it is guaranteed only that the absolute
7167 remainder is smaller than the absolute value of the
7172 This op is provided for those who need it (such as
7174 applications with heavy use of mod, but using it only with
7176 arguments), but a more mathematically useful numeric mod based
7178 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7180 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7182 Language*, Second Edition. Prentice Hall, 1988.
7184 * Added "corrected" mod_i:
7186 NOTE: This "corrected mod" algorithm is based on the C code on
7188 of [1]. Assuming correct behavior of C's built-in mod operator
7190 positive arguments, this algorithm implements a mathematically
7192 version of mod, defined thus:
7194 x mod y = x - y * floor(x / y)
7196 For more information on this definition of mod, see section 3.4
7202 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7203 Millennium* Springer, 1999.
7205 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7207 Mathematics*, Second Edition. Addison-Wesley, 1994.
7209 * Added mod_n, using the same formula as above, but with FLOATVAL
7212 * Added cmod_n, using the C math library's fmod() function:
7214 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7216 fmod() function, which computes
7218 ... the remainder of dividing x by y. The return value is x
7220 where n is the quotient of x / y, rounded towards zero to
7223 -- fmod() manpage on RedHat
7226 In addition, fmod() returns
7228 the remainder, unless y is zero, when the function fails
7232 According to page 251 of [1], the result when y is zero is
7236 This op is provided for those who need it, but a more
7238 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7240 defined with y == 0 is provided by the mod_n op.
7242 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7244 Language*, Second Edition. Prentice Hall, 1988.
7246 * Added and modified tests as appropriate for the above.
7248 2001-10-08 08:49 thgibbs
7250 * include/parrot/exceptions.h, include/parrot/parrot.h,
7251 include/parrot/string.h, include/parrot/strutf16.h,
7252 include/parrot/strutf32.h, include/parrot/strutf8.h,
7253 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7254 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7255 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7256 strings for utf8, utf16, and utf32.
7258 Courtesy of: Tom Hughes <tom@compton.nu>
7260 2001-10-08 08:10 thgibbs
7262 * memory.c: Fixed uninitialized variables.
7264 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7266 2001-10-08 01:21 gregor
7268 * packfile.c: * Casting a return value
7270 * Potential uninitialized variable fix
7272 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7274 2001-10-08 01:15 gregor
7276 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7277 a few tweaks of my own):
7281 * Printf format fixes
7283 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7285 2001-10-07 22:39 thgibbs
7287 * build_interp_starter.pl: No longer adds (void*) casts to
7288 interp_guts.c function table as they are not necessary in ANSI C.
7290 2001-10-07 16:27 gregor
7292 * basic_opcodes.ops, interpreter.c, opcode_table,
7293 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7295 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7296 interpreter->flags and set interpreter->resume_addr.
7298 * Two new runops core variants, so now we cover the relevant
7299 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7301 * Runops core selection that converts the flags into an index
7303 a core table (runops_cores) to get the core function pointer.
7305 * A new trace_op variant that doesn't do bounds checking (used by
7306 the non-bounds-checking-but-tracing runops core).
7308 * PC is passed into the cores so that they can be used when
7309 resuming (they used to assume starting at the beginning of the
7310 code, which would thwart resumption).
7312 * runops() itself is changed to have a while() loop in it so that
7313 any time we drop out of the core, we'll resume if we have an
7314 interpreter->resume_addr set (after reselecting the core,
7317 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7318 interpreter->resume_addr. This is used by the new ops. The new
7319 ops still return the new PC as the next op (which MUST be an
7320 'end' op to force the core loop to terminate -- *pc being false
7321 is the only termination condition we can count on for all
7324 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7325 bounds checking core selection.
7327 * test_prog now has a '-b' flag in addition to the '-t' flag.
7329 bounds checking is off by default (I saw a performance boost:
7330 6.3 Mop/s with -b, 7.0 Mop/s without).
7332 * A new sample/test program: t/trace.pasm that twiddles the trace
7333 flag while it is running.
7335 2001-10-07 15:41 gregor
7337 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7338 include/parrot/.cvsignore, include/parrot/interpreter.h:
7339 Now that 0.0.2 is released, I can clear out the backlog of approved
7340 but uncommitted patches. Here's one Dan approved on 2001-09-21
7343 * test_prog and pdump are linked with only the files the need,
7347 * build_interp_starter.pl writes out op_info.[hc], too. These
7349 contain op name, arg count and arg type information. This will
7351 useful for multiple things in the future, including better
7353 output and the crystalizing loader.
7355 * The DO_OP macro is now simpler and doesn't require explicit
7358 * interpreter.c is modified to use the new op info in tracing
7361 * The interpreter just points its opcode_funcs and opcode_info
7362 members at the default tables rather than allocating memory on
7365 2001-10-07 03:58 thgibbs
7367 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7368 comment and adding vtable.h to .cvsignore as it is produced by
7371 2001-10-06 20:58 thgibbs
7373 * vtable.tbl: Added * to REGEX type.
7375 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7377 2001-10-06 13:41 simon
7379 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7380 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7381 Framework for vtable functions.
7383 2001-10-06 06:52 thgibbs
7385 * make_op_header.pl: Removed confusing and unused typedef.
7387 2001-10-06 06:31 thgibbs
7389 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7392 2001-10-06 06:26 thgibbs
7394 * disassemble.pl: Changed intval to op in disassembler.
7396 2001-10-06 06:21 thgibbs
7398 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7399 Assembler, local labels, and integer constants.
7401 2001-10-06 03:11 ask
7403 * Makefile.in: make `make test` actually run the tests on
7406 2001-10-06 02:04 thgibbs
7408 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7409 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7410 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7411 include/parrot/register.h, lib/Parrot/Assembler.pm,
7412 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7413 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7414 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7417 2001-10-06 02:02 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: oops...this messed something up. I must have
7426 missed something in the patch...I have reverted.
7428 2001-10-06 01:57 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, Types_pm.in, basic_opcodes.ops, config_h.in,
7437 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7438 This patch ensures that all bytecode is of type opcode_t except for
7439 the constant table constants. That means that almost all of the
7440 INTVALs in the code were replaced with opcode_t and the i pack type
7441 was replaced with the op pack type in calls to pack_arg and such.
7442 Also, since it has been declared that ALL integer constants are to
7443 be 32 bits, some test cases were changed to ensure that an integer
7444 constant was no bigger than 2 ** 31.
7446 process_opfunc.pl was also cleaned up to no longer look at either
7447 opcode_table or interp_guts.h but gather all of its information
7450 The Assembler.pm module was changed to do late binding of arguments
7451 so that 0 could be treated like 0.0 without having to be so
7452 declared. Also, only strings now use the [sc:N] intermediate form
7453 as it was unnecessary for integer and float types.
7455 2001-10-05 21:59 gregor
7457 * MANIFEST, languages/jako/Makefile:
7458 Fixed things due to the movement of little_languages/* to
7461 2001-10-05 18:31 gregor
7464 Updated MANIFEST to reflect recent additions for Jako.
7466 2001-10-05 17:54 gregor
7468 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7469 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7470 mops.jako, primes.jako, sub.jako:
7473 * User-defined subroutines.
7474 * Generates assembly code with the Jako code in comments.
7475 * "end;" no longer required at the end of programs.
7476 * Better handling of const-reg and reg-const.
7477 * Optimizes const-const operations to compile-time
7479 * Constants in addition to variables.
7481 * Allow leading minus signs in integer and number constants
7485 * New sample programs:
7487 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7489 * mandelbrot.jako (based on Leon Brocard's translation of
7490 Glenn Rhodes' C code)
7491 * mops.jako (based on t/test.pasm)
7492 * primes.jako (based on Leon Brocard's primes.pasm example)
7493 * sub.jako (demonstrates a simple user-defined subroutine)
7495 2001-10-05 12:54 gregor
7497 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7498 * Removed mysterious extra copy of code after POD.
7500 2001-10-05 12:46 gregor
7502 * basic_opcodes.ops, t/op/string.t:
7503 * Enabled the previously SKIPped test of printing string regs
7507 * Made print_s do nothing if the STRING pointer in the register
7511 2001-10-04 21:19 dan
7513 * Configure.pl: VMS tweaks
7515 2001-10-04 21:17 dan
7517 * hints/vms.pl: Hints file for VMS
7519 2001-10-04 00:58 bdwheele
7521 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7522 Assembler which stopped equates from working.
7524 2001-10-03 21:50 gregor
7526 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7528 * More documentation updates for the packfile stuff.
7530 2001-10-03 21:37 gregor
7532 * docs/parrotbyte.pod:
7533 * Pointed the reader at Parrot::PackFile.
7535 2001-10-03 21:34 gregor
7537 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7538 * Updated documentation to match current implementation.
7540 2001-10-03 18:30 gregor
7542 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7543 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7544 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7546 * Added new syntax to the assembler to allow square-bracket
7547 arithmetic expressions involving (global) labels, the current
7548 instructions base address ('@'), numeric constants (not
7550 and basic arithmetic operators (+, -, *, / -- although + and -
7551 are likely to be the only ones used in practice).
7553 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7555 fail (argument passing wasn't working).
7557 * Enabled t/op/basic.t's last test, which is actually a copy of
7559 code from t/call.pasm. Now all tests there are enabled and
7562 * Added new example/test program t/call.pasm to demonstrate
7564 macros and poor-man's subroutine calls
7566 * Added header comments to t/*.pasm
7568 2001-10-03 18:00 simon
7571 Needed, since it's in the MANIFEST.
7573 2001-10-03 17:56 simon
7575 * t/op/: string.t, time.t:
7576 Small fixes to help Win32 on its way.
7578 2001-10-03 17:41 simon
7583 2001-10-03 17:39 simon
7585 * MANIFEST, NEWS, README:
7586 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7589 2001-10-03 17:21 simon
7591 * basic_opcodes.ops, interpreter.c, packfile.c:
7592 Evil printf bandaid (which allows Sparc64 to pass tests)
7594 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7596 2001-10-03 16:58 simon
7598 * string.c, t/op/string.t:
7599 chop fixes for n < 0 and tests
7601 Courtesy of: Alex Gough <alex@rcon.org>
7603 2001-10-03 15:51 thgibbs
7605 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7607 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7609 2001-10-02 17:48 dan
7611 * include/parrot/stacks.h: Fix typo in function name
7613 2001-10-02 17:35 dan
7615 * include/parrot/stacks.h: changed to support new stack stuff
7618 2001-10-02 15:01 simon
7620 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7621 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7622 process_opfunc.pl, register.c, string.c, strnative.c,
7623 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7624 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7625 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7626 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7627 include/parrot/memory.h, include/parrot/packfile.h,
7628 include/parrot/parrot.h, include/parrot/register.h,
7629 include/parrot/stacks.h, include/parrot/string.h,
7630 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7634 2001-10-02 12:49 gregor
7636 * process_opfunc.pl:
7637 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7639 2001-10-02 12:40 simon
7641 * basic_opcodes.ops, process_opfunc.pl, register.c,
7642 include/parrot/register.h:
7643 Move preprocessing of register accessors to process_opfunc.pl
7645 Courtesy of: Jason Gloudon <perl@gloudon.com>
7647 2001-10-02 01:20 ask
7649 * README: add a few lines about lists.
7651 2001-10-01 23:00 brentdax
7653 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7654 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7656 2001-10-01 22:50 brentdax
7658 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7660 2001-10-01 21:51 simon
7662 * process_opfunc.pl:
7663 Michael Fischer's patch broke conditionals.
7665 2001-10-01 15:38 simon
7667 * process_opfunc.pl:
7668 Small hack to keep process_opfunc.pl from generating extra return()
7671 Courtesy of: Michael Fischer <michael@visv.net>
7673 2001-10-01 15:32 simon
7675 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7678 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7680 2001-10-01 01:49 simon
7683 Simon is an idiot. Don't trust him with your code.
7685 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7687 2001-10-01 00:59 simon
7689 * Parrot/String.pm, lib/Parrot/String.pm:
7690 Was in manifest, but not in CVS.
7692 2001-09-30 21:25 simon
7694 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7695 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7696 Parrot/Assembler.pm, Parrot/PackFile.pm,
7697 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7698 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7699 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7700 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7701 include/parrot/packfile.h, include/parrot/string.h:
7702 Move NVs to the constant table. * Changes to Types_pm.in to make
7703 life easier for some of the packing/etc. I'm doing elsewhere.
7704 Also, we now pack 'n' as 'i'.
7706 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7707 eventually we can use all these tools together inside scripts
7708 rather than call out to the shell to run the programs.
7710 * As I was tracking down problems, I converted the internal
7711 documentation of the assembler to POD from comments.
7713 * Changed the numeric regexp in the assembler to detect leading
7714 signs and trailing exponents.
7716 * Updated basic_opcodes.ops to fetch numeric constants from the
7719 * Enhanced the disassembler in a number of ways to make my life
7720 easier while tracking down bugs (try it out). It now puts in
7721 labels for ops that are the destinations of flow control ops.
7723 * packfile.c now has a TRACE_PACKFILE switch that can be set
7724 to get it to print info as it processes. I needed this while
7725 debugging, but I can remove it or change it before committing
7728 * Updated pdump.c because it was missing a call to init_world().
7730 * Updated process_opfunc.pl to deal with numeric constants
7731 being stored in the constant table instead of inline.
7733 * Added multiple type support to Parrot/PackFile/Constant.pm
7735 * Added Parrot/String.pm, to be used for constants.
7737 * Added packfile.[hc] functions for allocating new constants
7740 * Made string_copy visible to the world in parrot/string.h.
7744 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7746 2001-09-29 15:56 gregor
7748 * languages/jako/Makefile:
7749 Removed assumption that '.' is on the path.
7751 2001-09-29 15:55 gregor
7753 * languages/jako/Makefile:
7754 Removed references to leibnitz test program.
7756 2001-09-29 15:21 thgibbs
7758 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7759 math ops args to work on Solaris.
7761 2001-09-27 15:15 thgibbs
7763 * assemble.pl: Added case insensitive matches to hex and binary
7766 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7768 2001-09-27 04:46 thgibbs
7770 * assemble.pl: This patch makes integer constants of the form
7771 0b[01]+ work with perl 5.005. The oct function in versions of perl
7772 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7773 returning 0. To fix this, I added a from_binary function that
7774 would take a binary string and return its decimal representation.
7775 Now, instead of blindly calilng oct, it makes a distinction between
7776 0/0x numbers and 0b numbers.
7778 2001-09-26 19:30 thgibbs
7780 * assemble.pl: Error now returns a non-zero status
7782 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7784 2001-09-26 19:13 gregor
7786 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7787 interpreter.c, packfile.c, pdump.c, test_main.c,
7788 include/parrot/bytecode.h, include/parrot/interpreter.h,
7789 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7791 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7792 packfile/bytecode file from C. May be renamed in the future.
7794 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7795 of 'PackFile *', just like the interpreter, etc.
7797 * Constants are accessed via the interpreter's 'code' member
7798 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7799 provided to access constants by index and the number of
7800 constants, respectively (assumes a variable 'interpreter' of
7801 the appropriate type is in scope).
7803 * Byte Code is accessed via the interpreter's 'code' member.
7805 * Changed PackFile_Constant to point to a STRING instead of
7807 members for the string_make() arguments. Also has a 'type' IV
7808 in preparation for allowing multiple types of constants in
7811 * Removed hardcoded example program from test_main.c. We have
7812 plenty of test programs elsewhere.
7814 * test_prog now uses a PackFile to deal with the program before
7815 sending it on to the interpreter.
7817 * Added missing 'end' ops to some tests in t/op/integer.t and
7820 2001-09-26 18:38 thgibbs
7822 * assemble.pl: Separated code into functions and added comments.
7824 2001-09-26 18:29 simon
7827 Fix 64-bit chunk-base issue.
7829 2001-09-26 06:55 thgibbs
7831 * t/op/bitwise.t: Added end to bitwise tests.
7833 2001-09-26 00:54 dan
7835 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7836 and interpreter creation. Skeleton only, but it's something to peer
7839 2001-09-25 21:44 thgibbs
7841 * t/op/trans.t: Removed loops in transcendtal op test.
7843 2001-09-25 10:12 simon
7845 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7846 t/op/string.t, t/op/time.t:
7849 Courtesy of: Alex Gough <alex@rcon.org>
7851 2001-09-24 19:08 gregor
7854 * Enabled the clear_n test.
7856 2001-09-24 18:56 gregor
7858 * Parrot/.cvsignore:
7859 * Ignore the generated Types.pm file.
7861 2001-09-24 18:52 gregor
7863 * languages/jako/Makefile, t/op/number.t:
7864 * No need to skip the inc and dec numeric tests anymore. I fixed
7866 assembler earlier today.
7868 2001-09-24 18:21 simon
7870 * MANIFEST, t/op/stacks.t:
7873 2001-09-24 18:19 simon
7875 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7876 include/parrot/exceptions.h, include/parrot/interpreter.h,
7877 lib/Parrot/Test.pm, t/op/string.t:
7878 1) captured error output, so can test errors, this might be bad,
7879 not sure. 2) basic tests for register stack frames, including some
7880 errors 3) I think we can stop skipping one of the string tests 4) I
7881 added some more substr tests, but substr was broken, so 5) changed
7882 substr to work with out of range values, or 6) throw an error if
7883 they're far too silly
7885 Courtesy of: Alex Gough <alex@rcon.org>
7887 2001-09-24 17:27 gregor
7889 * basic_opcodes.ops, opcode_table, t/op/number.t:
7890 * Op set_n was missing. Added it and a test for it. We now have
7892 same int and num ops, except mod is int-only.
7894 2001-09-24 17:01 gregor
7897 * Fixed a typo: s/Line/line/
7899 2001-09-24 16:02 gregor
7901 * basic_opcodes.ops:
7902 * Fixed dec_n_nc opcode, which had += where it should have had
7905 2001-09-24 15:34 gregor
7908 * Fixed handling of constants starting with '0' that should not
7910 sent through oct(). For example 'set N2 0.1' was being
7912 as 'set N2 0' (naughty).
7914 As reported by Leon Brocard <acme@astray.com> in the comments
7916 his mandelbrot.pasm example.
7918 2001-09-24 02:21 bdwheele
7920 * assemble.pl: fixed dumb code when --include was not specified.
7922 2001-09-24 02:17 simon
7927 2001-09-24 01:56 bdwheele
7929 * assemble.pl: * Added --include=dir option to assembler to provide
7930 a path to look for included files. * Error message of a macro is
7931 defined inside of a macro
7933 2001-09-23 21:29 bdwheele
7935 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
7937 2001-09-23 15:50 simon
7940 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
7942 2001-09-23 02:03 ask
7944 * Configure.pl, test_c.in: fix missing newline at the end of test.c
7945 Courtesy of: acme@astray.com (Leon Brocard)
7947 rename 'test' executable used in Configure process to test_siz.
7949 2001-09-23 01:03 simon
7951 * process_opfunc.pl:
7952 iPaq fix. No, really.
7954 2001-09-23 00:47 simon
7957 Missed several, in fact.
7959 2001-09-23 00:46 simon
7964 2001-09-22 21:13 simon
7967 Assembler register numbering rigour.
7969 Courtesy of: Leon Brocard <acme@astray.com>
7971 2001-09-22 18:20 simon
7973 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
7975 I'm sick of having to install Test::More everywhere. Temporary
7976 measure until we remove this silly dependency.
7978 Also a typo in Makefile.in which suggests some things were only
7979 happening correctly by sheer chance. :)
7981 2001-09-22 18:06 simon
7984 test.pasm is dead, long like make test.
7986 2001-09-22 17:47 simon
7989 De-fang overzealous floating point test.
7991 2001-09-22 17:39 simon
7993 * process_opfunc.pl:
7994 Remove hard-coded NV size assumption. Tru64 is nearly there!
7996 2001-09-22 17:18 simon
7998 * assemble.pl, disassemble.pl:
7999 More portability fixups.
8001 2001-09-22 16:44 simon
8003 * assemble.pl, Parrot/PackFile/Constant.pm,
8004 lib/Parrot/PackFile/Constant.pm:
8005 And I *think* this fixes Tru64.
8007 2001-09-22 16:37 simon
8009 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8013 2001-09-22 16:36 simon
8015 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8016 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8017 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8019 More removal of hard-coded pack formats.
8021 2001-09-22 15:21 simon
8025 Grrr. Why isn't this working?
8027 2001-09-22 15:18 simon
8029 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8030 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8032 Make assemble use the PackFile modules; also fixed some bugs in
8035 2001-09-22 14:38 simon
8037 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8039 Abstract the argument and opcode packing types and functions out
8040 into a separate module. This *should* help us maintain consistency
8041 when we change the various types.
8043 2001-09-22 00:46 brentdax
8045 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8046 test program finishes.
8048 2001-09-21 21:24 brentdax
8050 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8051 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8053 2001-09-21 21:09 gregor
8055 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8056 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8058 * Fixed pad calculation (similar to recent bug fix on C library)
8060 2001-09-21 20:23 simon
8063 Pack types and sizes have gone askew.
8065 2001-09-21 20:18 brentdax
8067 * Configure.pl: Fix typo in setting stuff from the C test program
8069 2001-09-21 10:25 simon
8071 * basic_opcodes.ops, process_opfunc.pl:
8074 Courtesy of: Leon Brocard <acme@astray.com>
8076 2001-09-21 06:06 ask
8078 * Config_pm.in, assemble.pl: fix 5.005_03.
8080 2001-09-21 06:03 ask
8082 * Configure.pl: make the ivsize detection work for us normal people
8083 without . in our PATH. :-)
8085 2001-09-21 05:56 brentdax
8087 * test_main.c: Change _read to read for portability to Tru64
8088 (Damien Neil <neild@misago.org> and likely many others)
8090 2001-09-21 05:46 ask
8092 * Makefile.in: "update" target to update from cvs.
8094 2001-09-21 05:44 brentdax
8096 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8098 2001-09-21 02:43 brentdax
8100 * Configure.pl: Fix a typo that forced the -g flag on
8102 2001-09-20 22:41 dan
8104 * packfile.c: Had some no-value returns. Naughty
8106 2001-09-20 22:40 dan
8108 * t/test.pasm: Added labels to output
8110 2001-09-20 15:39 simon
8112 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8114 This patch does two only somewhat related things.
8116 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8117 = 2*sizeof(iv) to a PConfig-type computed value.
8119 Parrot/Test.pm: Change it to run with the perl that was used to
8120 generate this version of Parrot. This is useful if, for example,
8121 you want to use bleadperl to build and test parrot (e.g. to try out
8122 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8123 installed as the default 'perl' on your system. Since perl-5.7.x
8124 is installed 'version-only', a plain 'perl' is quite likely to pick
8125 up the older perl in such cases. Such an older perl might well not
8126 understand pack('q') used in the assembler.
8128 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8130 2001-09-20 15:14 gregor
8133 * Fixed a typo in pad calculation that throwing off unpack and
8136 2001-09-20 15:03 thgibbs
8138 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8139 tests now cover all registers.
8141 Courtesy of: Damien Neil neild@misago.org
8143 2001-09-20 14:48 thgibbs
8145 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8148 2001-09-20 14:35 simon
8150 * Configure.pl, assemble.pl:
8153 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8155 2001-09-20 14:06 gregor
8157 * languages/jako/jakoc:
8158 * Fixed a tyop in the string interpolation regex.
8160 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8162 2001-09-20 13:56 gregor
8164 * languages/jako/jakoc:
8165 * Updated jakoc to work with the single-destination comp ops.
8167 2001-09-20 05:08 bdwheele
8169 * assemble.pl: macro expansion. Here's the test macro I was using:
8171 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8172 label. testi macro num,got,want print "Test #"
8173 print num print "..." set I32,want set
8174 I31,got eq I32,I31,$ok print "NG\n" branch
8175 $end $ok: print "OK\n" $end: endm
8179 Test1: testi 1,I3,I2
8181 2001-09-20 03:52 dan
8183 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8184 generic stack support
8186 2001-09-20 02:49 bdwheele
8188 * assemble.pl: Added include processing to assemble.pl the syntax
8189 is: include 'file.to.include'
8191 2001-09-19 23:57 thgibbs
8193 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8194 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8195 function to only use 2 args, but the opcode_table still had three
8196 listed. Fixed integer.t and number.t to use the new comparison
8197 operators. Improved assemble.pl ability to grok operators by
8198 constructing a function set and comparing operator types.
8200 2001-09-19 22:42 dan
8202 * assemble.pl: Binmodes the output filehandles now. (No more
8203 bytecode munching...)
8205 2001-09-19 22:32 dan
8207 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8208 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8209 conditional branches take a single argument, and fall through
8212 2001-09-19 21:19 thgibbs
8214 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8217 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8219 2001-09-19 21:04 thgibbs
8221 * include/parrot/interpreter.h, Configure.pl,
8222 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8223 process_opfunc.pl: Changed opcode_t from a union to a configurable
8226 2001-09-19 20:54 thgibbs
8228 * assemble.pl: Missed a couple of changes for 64 bit portability.
8230 2001-09-19 20:37 gregor
8232 * packfile.c, include/parrot/packfile.h:
8233 * Added "methods" for setting and getting all the various
8235 probably sufficient for an assembler to use the library.
8237 2001-09-19 20:04 thgibbs
8239 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8240 a 64 bit platform manually change the setting for 'i' from 'l' to
8241 'q'. This should be automatically done by a Configure setting in
8244 2001-09-19 19:10 thgibbs
8246 * config_h.in: changed c++ comment to c comment.
8248 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8250 2001-09-19 17:48 gregor
8252 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8253 include/parrot/packfile.h:
8254 * C code for dealing with PackFiles as if they were objects.
8256 read-only interface for now, but it would not be hard to make
8258 read-write. [packfile.c, include/parrot/packfile.h]
8260 * PackFile Dumping program that falls short of disassembling, but
8261 tests the above code and provides a hex listing of the byte
8263 contents of the PackFile. [pdump.c]
8265 * New Makefile target 'pdump' for the above program, and related
8266 Makefile.in changes.
8268 * Updated MANIFEST to reflect the added files
8270 * Update .cvsignore to ignore pdump.
8272 2001-09-19 14:55 thgibbs
8274 * MANIFEST: Added number.t and trans.t to MANIFEST
8276 2001-09-19 05:40 thgibbs
8278 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8279 of union opcode_t. I hope this will be more portable for set_n_nc.
8281 2001-09-19 05:39 thgibbs
8283 * t/op/integer.t: Added end to test 1.
8285 2001-09-19 00:09 thgibbs
8287 * t/op/number.t: Added end to each test
8289 2001-09-19 00:00 simon
8294 Courtesy of: Damien Neil <neild@misago.org>
8296 2001-09-18 23:52 thgibbs
8298 * interpreter.c: Added casts to appropriate types to make -Wall not
8299 complain on certain printf formats
8301 2001-09-18 23:31 thgibbs
8303 * t/op/integer.t: Added end to each test.
8305 2001-09-18 22:54 thgibbs
8307 * t/op/trans.t: Added trans.t for transcendental math function
8310 2001-09-18 22:28 simon
8313 MANIFEST updates. (And notice how I carefully snuck in the
8314 t/op/integer.t there...)
8316 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8318 2001-09-18 22:26 simon
8320 * t/: integer.t, op/integer.t:
8321 Except it doesn't go there. Duh.
8323 2001-09-18 22:25 simon
8326 Tests for integer ops.
8328 Courtesy of: Damien Neil <neild@misago.org>
8330 2001-09-18 22:03 thgibbs
8332 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8333 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8334 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8335 opcode_t union for operators. This required a few perl script
8336 changes to output the correct type. There were also some changes
8337 to allow -pedantic in gcc
8339 2001-09-18 21:07 gregor
8341 * disassemble.pl, Parrot/PackFile.pm,
8342 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8343 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8344 lib/Parrot/PackFile/Constant.pm:
8345 Converted the disassembler to use the Parrot::PackFile Perl classes
8348 2001-09-18 19:18 brentdax
8350 * Makefile.in: Fix missing functions for real this time. (I
8353 2001-09-18 18:49 brentdax
8355 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8356 <doughera@lafayette.edu>}
8358 2001-09-18 18:47 brentdax
8360 * Makefile.in: Fix bugs with missing math, etc. functions
8362 2001-09-18 14:42 thgibbs
8364 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8367 2001-09-18 13:59 thgibbs
8369 * strnative.c: Removed unnecessary IV cast in concat.
8371 2001-09-18 13:58 thgibbs
8373 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8374 to concat test in string.t
8376 2001-09-18 12:07 gregor
8378 * languages/jako/jakoc:
8379 * var num ... no longer requires assignment
8380 * automatic casting between int and num
8381 * Fixed an error message
8383 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8385 2001-09-18 11:57 simon
8388 Gonna have to start thinking of more things to do, soon.
8390 2001-09-18 10:42 simon
8393 Introduce a little more tidiness into the opcode table.
8395 2001-09-18 03:06 gregor
8397 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8398 Resurrected register-const ops per Dan's request.
8400 2001-09-18 02:20 gregor
8402 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8403 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8404 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8405 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8406 Committed some files that were missed in the last *.h moving
8409 2001-09-18 02:17 gregor
8411 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8413 2001-09-18 02:16 gregor
8415 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8416 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8417 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8418 missed in last commit for the move of *.h to include/parrot.
8420 2001-09-18 01:32 simon
8423 Trivial "clean" target to t/Makefile.
8425 2001-09-18 01:32 simon
8427 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8428 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8429 Change icky Digest::MD5 for nice simple unpack()
8431 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8433 2001-09-18 00:35 simon
8435 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8437 New concat op. Hey, if I'm going to talk about it in an article,
8438 better implement it...
8440 2001-09-17 22:54 gregor
8442 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8443 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8444 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8445 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8447 Functions for reading, writing and manipulating Parrot Pack Files.
8448 NOTE: This is a proposed term based on the fact that the file
8449 contains more than just byte code, and another language (Java)
8450 calls its binary files by a broader notion of what's in them (Class
8451 Files). Since Perl has packages, and since we use pack() to write
8452 them, we'll call them PackFiles (at least for now).
8454 That does, however, beg the question of file extension. Should we
8455 name the files "foo.pack" instead of "foo.pbc"?
8457 2001-09-17 20:23 thgibbs
8459 * interpreter.c, test_main.c: Uncuddled else statements for coding
8462 2001-09-17 19:57 gregor
8464 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8465 Added a $revision variable, parsing of the CVS Id line in
8466 opcode_table and a &revision() subroutine.
8468 2001-09-17 19:53 gregor
8471 Added a CVS Id tag to it.
8473 2001-09-17 18:58 thgibbs
8475 * interpreter.c: Cleared interpreter flags on creation.
8477 2001-09-17 18:38 gregor
8479 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8480 interpreter.h, test_main.c:
8481 * Provides macros in interp_guts.h for setting up arrays with
8482 op names and op arg counts (done via build_interp_starter.pl).
8484 These are used in the op tracing
8486 * The functions in bytecode.[hc] pass around a pointer to the
8488 of the bytecode so that later when we get to runops, we know
8489 how much bytecode we've got and we can detect out-of-bounds
8490 jumping. The documentation is updated, too.
8492 * runops in interpreter.c now looks at interpreter->flags to
8493 decide if the core of runops should be runops_trace_core or
8494 runops_notrace_core. These new functions contain just the
8495 while-loop portion of runops. A new function runops_generic
8496 does any other setup (such as checking the bytecode
8497 fingerprint) or wrapup (such as complaining if we ended up
8498 out-of-bounds). NOTE: I didn't know what we should do for
8499 functions in here that are not part of the api, so I gave
8500 them docs with 'TODO' marks mentioning they really aren't
8501 part of the api. Guidance appreciated.
8503 * test_main.c now checks for '-t' arg and sets the tracing flag
8504 on its interpreter instance as appropriate.
8506 2001-09-17 17:47 bdwheele
8508 * assemble.pl: added some default equates, and if they're sub
8509 references, they are computed each time it is referenced.
8511 2001-09-17 16:15 dan
8515 Added flags to the interpreter structure and defined a few.
8517 2001-09-17 15:51 simon
8519 * bytecode.h, string.h:
8520 VAR_SCOPE on globals.
8522 2001-09-17 15:20 simon
8525 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8527 2001-09-17 15:05 gregor
8529 * t/jump.pasm, MANIFEST:
8530 Added a test program to demonstrate jump_i.
8532 2001-09-17 14:44 thgibbs
8534 * register.c: Fixed register pop not using correct offset (off by
8537 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8539 2001-09-17 13:56 thgibbs
8541 * interpreter.c, register.c: Added code to call Parrot_clear_s
8542 during initialization and Parrot_clear_s and Parrot_clear_p when a
8543 new stack frame is pushed.
8545 2001-09-17 13:51 gregor
8547 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8548 fib.jako, hello.jako: Added bench.pasm to "clean"
8550 2001-09-17 13:49 gregor
8552 * languages/jako/: jakoc, Makefile:
8555 2001-09-17 13:49 gregor
8557 * languages/jako/jakoc:
8560 Courtesy of: Buggs <buggs-perl6@splashground.de>
8562 2001-09-17 13:29 gregor
8564 * MANIFEST, opcheck.pl:
8565 Added an opcode_table checker to make sure that all opcodes listed
8566 there conform to a simple set of naming rules (rules themselves, of
8567 course, are subject to change).
8569 2001-09-17 13:23 thgibbs
8571 * string.c: Modified string.c to correctly use the return value of
8574 2001-09-17 05:26 brentdax
8576 * Makefile.in: Making the Makefile smarter
8578 2001-09-16 23:06 brentdax
8580 * hints/mswin32.pl: Finishing the Configure hints
8582 2001-09-16 23:05 brentdax
8584 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8585 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8586 Configure hints, 5.005 compatibility, MANIFEST checking
8588 2001-09-16 19:25 bdwheele
8590 * assemble.pl: parrot assembly equates
8592 2001-09-16 18:03 gregor
8595 Added 'test' target to run new test suite.
8597 2001-09-16 17:33 simon
8599 * basic_opcodes.ops:
8600 'not' was being !, rather than ~. Too many Perl programmers here, I
8603 Courtesy of: Tom Hughes <tom@compton.nu>
8605 2001-09-16 17:21 simon
8607 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8609 A *real* test suite!
8611 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8613 2001-09-16 16:49 gregor
8615 * basic_opcodes.ops, opcode_table:
8616 At Dan's request, my new register-constant comparison ops have been
8619 2001-09-16 16:40 gregor
8621 * languages/jako/jakoc:
8622 Fixed a copy-paste error in one of jakoc's error messages.
8624 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8626 2001-09-16 16:37 gregor
8628 * languages/jako/jakoc:
8629 Modified comparison implementation to use temporary registers in
8630 the case of register-constant and constant-register comparisons.
8631 This will allow the compiler to emit code that works when the
8632 constant-comparison ops are backed out of Parrot. If the ops ever
8633 make their way back in, then jakoc can emit more efficient code
8636 2001-09-16 16:19 bdwheele
8638 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8639 ... though not subroutine based like the documentation wants, they
8640 are local to the last non-local label defined.
8642 2001-09-16 14:02 simon
8645 And remember, when you add stuff, keep the manifest up to date.
8647 2001-09-16 02:55 ask
8649 * Makefile.in: a "shared" target for building libparrot.so
8651 2001-09-16 02:45 thgibbs
8653 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8654 global_setup.h, interpreter.c, interpreter.h, io.h,
8655 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8656 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8657 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8658 use the coding standard PDD. Also changed Perl_Interp to
8661 2001-09-16 02:21 ask
8663 * README: emphasise the bits about the license not being worked out
8666 2001-09-15 22:21 simon
8668 * process_opfunc.pl:
8669 basic_opcodes.c should *scream* that it's autogenerated.
8671 2001-09-15 21:58 gregor
8673 * languages/jako/Makefile:
8674 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8677 2001-09-15 21:58 gregor
8679 * languages/jako/: jako_compiler.pl, jakoc:
8680 Renamed the Jako compiler to jakoc from jako_compiler.pl
8682 2001-09-15 21:51 gregor
8684 * languages/jako/: Makefile, bench.jako, euclid.jako,
8686 Added a new bench.jako example based on Leon Brocard's Bench.java.
8688 Jako Compiler: * fix a bug in assignment handling * add some
8689 more conditionals to while and if * revert to using implicit
8690 opcodes in a few cases that were broken before the assembler
8691 patch went in recently.
8693 2001-09-15 21:46 gregor
8695 * assemble.pl, basic_opcodes.ops, opcode_table:
8696 New ops for register-constant INTEGER comparisons:
8698 {eq,ne,lt,le,gt,ge}_ic_ic
8700 New ops for register-register and register-constant NUMERIC
8704 {ne,lt,le,gt,ge}_{n,nc}_ic
8708 Allow uppercase and underscores in labels.
8710 Tweaks to the op infer code to make it work with the examples
8714 2001-09-15 19:16 thgibbs
8716 * README: Updated README to include Configure.pl
8718 2001-09-15 17:05 simon
8720 * build_interp_starter.pl:
8723 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8725 2001-09-15 16:45 simon
8728 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8730 2001-09-15 16:40 simon
8733 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8736 2001-09-15 12:26 simon
8739 Fixed to match the coding standards.
8741 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8743 2001-09-15 01:57 ask
8745 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8746 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8749 2001-09-15 01:48 ask
8751 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8754 2001-09-15 01:42 gregor
8756 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8758 Compiler: Added variable interpolation in double-quoted strings.
8759 Examples: Made use of variable interpolation.
8761 2001-09-15 01:28 gregor
8763 * Parrot/.cvsignore:
8764 Ignore the Config.pm generated file.
8766 2001-09-15 01:22 gregor
8768 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8769 fib.jako, hello.jako, jako_compiler.pl:
8770 gnp: Added some more sample Jako files and added many more
8771 operators to the compiler. Preparations for supporting all the Math
8774 2001-09-14 19:06 simon
8776 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8777 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8778 lib/Parrot/Opcode.pm:
8779 Move common table reading stuff to a module.
8781 Courtesy of: Damien Neil <neild@misago.org>
8783 2001-09-14 17:42 simon
8786 More .cvsignore foo.
8788 2001-09-14 17:40 simon
8790 * assemble.pl, config_h.in:
8793 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8795 2001-09-14 17:38 simon
8797 * assemble.pl, t/Makefile:
8798 Make assemble.pl look in its parent directory if the data files it
8799 needs aren't in the current one. Plus a Makefile that lets "make
8802 Courtesy of: Rocco Caputo <troc@netrus.net>
8804 2001-09-14 16:29 simon
8806 * make_op_header.pl:
8807 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8808 probably segfault everywhere else.)
8810 2001-09-14 15:58 dan
8812 * languages/jako/: euclid.jako, jako_compiler.pl:
8814 Added in the first mini-language that targets Parrot.
8816 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8818 2001-09-14 15:20 dan
8820 * memory.c: Was misaligning returned memory. Fixed.
8822 2001-09-14 15:08 simon
8824 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8825 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8826 register.c, register.h, string.c, string.h, strnative.c,
8828 Fixes to include <parrot/foo.h>
8830 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8832 2001-09-14 12:05 simon
8837 2001-09-14 12:01 simon
8842 2001-09-14 11:54 simon
8847 2001-09-14 11:45 simon
8852 2001-09-14 11:39 simon
8855 Tru64 cc doesn't like -Wall
8857 2001-09-14 10:57 simon
8859 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8860 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8861 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8862 Configure now generates Makefile
8864 Courtesy of: Brent Dax <brentdax@cpan.org>
8866 2001-09-14 10:08 simon
8871 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8873 2001-09-14 10:07 simon
8876 * uses Getopt::Long for options. -c is now --checksyntax.
8878 sure how to keep compatible (patches welcome!) * options
8879 include: --help --version
8880 --verbose --output=file
8881 --listing=file --checksyntax * produces
8882 verbose listing of what the assembler saw :) Only one nitpick with
8883 it: unknown symbols are given as 0xffffffff, unfortunately, this
8884 includes symbols which may be defined later in the file (i.e.
8887 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8889 2001-09-14 10:06 simon
8894 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8896 2001-09-14 10:03 simon
8898 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
8899 register.c, string.c, strnative.c, test_main.c:
8900 Coding standards conformance
8902 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8904 2001-09-14 09:46 simon
8907 Make the assembler grok transcendental maths again. Courtesy of:
8908 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8910 2001-09-13 17:29 simon
8913 Better opcode guessing, from Brian Wheeler. (Again!)
8915 2001-09-13 17:20 dan
8917 * docs/parrot_assembly.pod:
8919 Took out duplicate entries for iton, ntoi, and tostring.
8921 2001-09-13 17:16 simon
8923 * assemble.pl, basic_opcodes.ops, opcode_table:
8926 This patch gives the assembler support of '\a','\n','\r','\t', and
8927 '\\' in string constants.
8929 In addition, it changes (for all registers) "I reg %li is ..." to
8930 just the value of the register. Printing constants is also
8931 supported, but alas, you have to specify the type (print_sc,
8932 print_ic, print_nc).
8934 2001-09-13 15:38 simon
8937 Why don't I actually *test* this stuff before applying it, eh?
8939 2001-09-13 15:34 simon
8941 * TODO, t/euclid.pasm:
8942 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
8943 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
8946 2001-09-13 14:42 simon
8949 A new assembler, from Brian Wheeler.
8951 2001-09-13 09:44 simon
8953 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
8955 Two more from Tom Hughes: Patch to fix C++ style comments
8956 Patch to remove use of structure constant/cast
8958 2001-09-13 09:39 simon
8960 * TODO, docs/strings.pod:
8963 2001-09-13 09:36 simon
8965 * Makefile, basic_opcodes.ops:
8966 Tom Hughes Patch to link with the maths library Tom Hughes
8967 Patch to fix += on rvalue
8969 2001-09-13 08:57 simon
8972 I guess nobody's been using the nightly builds...
8974 2001-09-13 08:27 simon
8976 * assemble.pl, basic_opcodes.ops, opcode_table:
8977 Bitwise ops, from Brian Wheeler.
8979 2001-09-13 08:23 simon
8981 * .cvsignore, t/.cvsignore:
8982 .cvsignore's, from Gregor Purdy.
8984 2001-09-13 08:22 simon
8987 Euclidean test and test output rearranging from Gregor Purdy.
8989 2001-09-13 08:21 simon
8991 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
8992 Math ops from Gibbs Tanton.
8994 2001-09-13 08:14 simon
8996 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
8998 String substr op; also rearranged "encoding" to be a vtable
8999 pointer, not an array index. Haven't changed docs to reflect this,
9004 2001-09-12 19:48 dan
9006 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9009 2001-09-12 19:39 dan
9011 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9013 2001-09-12 19:23 dan
9015 * interpreter.h, parrot.h: Quick placeholder entry for string
9018 2001-09-12 18:58 dan
9020 * memory.c: Added in a cast to make gcc happy.
9022 2001-09-12 16:44 dan
9024 * docs/parrot_assembly.pod:
9026 PDD describing parrot's assembly language and the opcodes in it
9028 2001-09-12 14:20 dan
9031 Fixed alignment issues with allocation
9033 2001-09-12 10:54 simon
9035 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9036 make_op_header.pl, opcode_table, process_opfunc.pl:
9037 Brian Wheeler's big patch:
9039 * Changes the opcode_table file to provide additional information
9040 about the operands. Case shouldn't be a problem since that data
9041 never becomes a C symbol [this is pretty much as before]
9043 * Padding errors solved: assemble.pl and bytecode.c were padding
9044 the constants incorrectly. It should have been 4-(size % 4), not
9045 just (size % 4). It is now fixed in both places.
9047 * assembler has less special cases, and should be easier to hang
9050 * disassembler dumps constant table and the format is a bit
9051 prettier, including register names, etc.
9053 2001-09-11 23:21 dan
9055 * build_interp_starter.pl, interpreter.c:
9057 Abstracted the runops function core into a macro for easy
9060 2001-09-11 10:43 simon
9062 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9063 Configure system from Brent Dax <brentdax@cpan.org>
9065 2001-09-11 09:38 simon
9067 * assemble.pl, test.pbc:
9068 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9069 assembler deferred output
9071 Also got rid of the bytecode, since that's probably way out of
9074 2001-09-11 09:26 simon
9076 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9077 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9080 2001-09-10 23:20 simon
9083 And that move needs a MANIFEST change. So many things to remember!
9085 2001-09-10 23:18 simon
9087 * t/: test.pasm, test2.pasm, test3.pasm:
9088 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9090 2001-09-10 23:18 simon
9092 * test.pasm, test2.pasm, test3.pasm:
9095 2001-09-10 23:04 dan
9099 Register push/pop test
9101 2001-09-10 22:47 simon
9103 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9104 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9105 (Modified to avoid conflict with Dan's changes.)
9107 2001-09-10 22:45 dan
9111 Happier about blanks in opcode_table
9113 2001-09-10 22:40 dan
9115 * interpreter.c, register.c:
9117 Yanked out debugging code, since these work OK. The bug I want is
9120 2001-09-10 22:30 simon
9123 Uhm. We want make_op_header.pl. We really, really do.
9125 2001-09-10 22:26 simon
9127 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9128 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9129 opcode_table, process_opfunc.pl:
9130 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9131 This means we can add lots more opcodes without fiddling about with
9132 the numbers. Hooray!
9134 Don't forget that "end" needs to be op zero, else the interpreter
9135 falls off the end of the code. This is Bad, and I wonder if there's
9138 2001-09-10 19:49 simon
9140 * MANIFEST, make_op_table_build.pl:
9141 Hey! This doesn't do anything...
9143 2001-09-10 19:46 simon
9146 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9148 2001-09-10 18:31 simon
9151 You know what this means...
9153 2001-09-10 18:30 simon
9156 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9157 wait for a release...? :)
9159 2001-09-10 18:13 simon
9164 2001-09-10 17:56 simon
9167 A *real* README file, which doesn't claim it isn't for public
9170 2001-09-10 17:02 simon
9175 2001-09-10 16:56 dan
9177 * TODO: Added in assembler gripe. Also added a few blank lines for
9180 2001-09-10 16:49 dan
9182 * register.h, register.c: Renamed the core functions so the opcodes
9183 can find 'em OK. (There were some conflicts)
9185 2001-09-10 16:48 dan
9187 * basic_opcodes.ops, opcode_table: Added register window ops
9189 2001-09-10 11:07 simon
9194 2001-09-10 11:05 simon
9196 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9197 note "-s" flag to test prog.
9199 2001-09-10 11:01 simon
9202 New string documentation.
9204 2001-09-10 11:01 simon
9206 * basic_opcodes.ops, opcode_table:
9209 2001-09-10 10:53 simon
9214 2001-09-10 10:51 simon
9217 Just some more aliases for now. Used by string handling stuff.
9219 2001-09-10 10:50 simon
9221 * assemble.pl, bytecode.c, bytecode.h:
9222 Temporary hack to store string constants in bytecode and recreate
9225 2001-09-10 10:48 simon
9228 op.h is now generated by the Makefile; remove it.
9230 2001-09-10 10:47 simon
9233 clean and op.h Makefile targets.
9235 2001-09-10 10:45 simon
9237 * string.c, string.h, strnative.c:
9238 More string vtable stuff.
9240 2001-09-07 21:07 dan
9244 Much less picky about whitespace in the opcode_table now. (Doesn't
9245 whine on blank lines)
9247 2001-09-07 16:23 dan
9249 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9250 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9251 this takes) Added global_setup.h to declare init_world function
9253 Moved variable declarations out of the interpreter loop for small
9256 Changed end opcode to now be opcode #0. A function is provided for
9257 it, but isn't ever executed.
9259 When the interpreter sees an opcode 0 in the stream it means the
9260 end of stream. Things were coring on Cygwin otherwise. (I think I
9261 was dereferencing a zero, which is bad)
9263 2001-09-06 22:07 dan
9265 * basic_opcodes.ops, process_opfunc.pl:
9267 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9268 are minor changes now that things are in a fixed state.
9270 2001-09-06 16:13 dan
9272 * basic_opcodes.c, test_opcodes.c:
9273 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9275 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9276 should be nuked. So it is. :)
9278 2001-09-06 03:35 dan
9280 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9281 Scripts to build the header file that holds the function table
9282 creation code, as well as the script to turn an opcode file to C
9283 source. (And the basic opcode functions turned into an opcode
9286 2001-09-06 03:31 dan
9288 * Makefile, interpreter.c:
9289 Changes to support the autogeneration of the opcode function
9290 pointer table in interpreter.c, along with the changes to the
9293 2001-09-05 13:27 simon
9295 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9296 docs/parrotbyte.pod, docs/vtables.pod:
9297 Added stubs for the documents; working on them this week. (What's
9298 left of it.) config.h change is just to type VTABLE, and the
9299 bytecode thing you might want to revoke. It's apidoc for the
9302 2001-09-03 18:26 simon
9305 A start on the string API documentation.
9307 2001-09-03 17:43 simon
9310 Since we specify the opcode number, we can rearrange to a more
9311 human-friendly ordering.
9313 2001-09-03 17:42 simon
9316 Coupl'a logic bugs. (I think)
9318 2001-09-03 17:41 simon
9320 * string.c, string.h, strnative.c:
9321 Tidying up the string vtables.
9323 2001-09-03 17:38 simon
9325 * make_op_header.pl:
9326 Spit out the whole of op.h, not just the bit in the middle.
9328 2001-08-29 13:16 ask
9330 * README: it seems like we indeed can commit. What about sending
9333 2001-08-29 13:07 simon
9335 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9336 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9337 global_setup.c, interpreter.c, interpreter.h, io.h,
9338 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9339 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9340 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9341 test.pbc, test_main.c, test_opcodes.c:
9342 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9343 I'm still working on the string stuff, though.
9345 2001-08-29 12:44 ask
9347 * README: update README with list address
9349 2001-08-29 12:36 ask
9351 * README: first readme.