71 * changed 'name' method on namespaces to 'get_name' per pdd21
78 * added C<isnull> opcode
85 * added :init pragma functionality to subs
88 * added :vtable pragma functionality to subs
91 * added Parrot::Embed under ext/Parrot-Embed
94 * remove the None PMC - if needed it can trivially be reimplemented
95 in languages from r14189
98 Merged Software Transactional Memory branch into trunk, adds:
99 * several new opcodes whose names start with stm_
100 * read-only PMC support
101 * several new PMC types (whose names start with STM*)
102 * support for threads (again)
109 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
110 there are opcodes now that want the real "in PMC".
111 * namespace and global opcodes now accept name arrays again, as
112 well as keys; the corresponding namespace PMC methods are gone.
115 * Parrot_exit, Parrot_on_exit take now an Interp * argument
118 * add experimental op find_type_i_p
119 * fix longstanding bug that sometimes didn't encode pasm keys as
120 Key PMCs (specifically "[S0]" and "['stringliteral']").
123 further implementation of new pdd21:
124 * new opcodes {get,set}*global
125 (old {find,store}*global will be supported for a short while)
128 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
130 (at the moment code is checking for 2.0 -- ambs)
133 partial implementation of new pdd21:
134 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
135 * get_namespace and find_global opcodes no longer accept arrays
136 of strings. To use arrays, call namespace object methods.
143 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
150 * Make the Perl PMCs dynamic and move them to src/dynpmc
157 * Shifted argument type bits left by 2 according to r11754
158 change of docs/pdds/pdd03_calling_conventions.pod
159 * if you are creating PASM then code needs adjustment
166 * rename src/dynclasses to src/dynpmc
167 * rename src/classes to src/pmc
171 * find_global and friends returns a .Null PMC instead of .Undef on
172 lookup failure, iff lookup exceptions are off
179 * renamed all .imc files to .pir
180 * modified all doc references to .pir as well
183 * moved jit/ directory to src/jit/
186 * moved io/ directory to src/io/
187 * moved classes/ directory to src/classes/
188 * moved dynclasses/ directory to src/dynclasses/
191 * moved types/ directory to src/types/
192 * moved pf/ directory to src/packfile/
193 * moved ops/ directory to src/ops/
196 * moved charset/ directory to src/charset/
197 * moved encodings/ directory to src/encodings/
200 * moved imcc/ directory to compilers/imcc/
203 * moved util/ directory to tools/util/
204 * removed imcc/examples/ directory
205 * moved ast/ directory to compilers/ast/
208 * moved imcc/docs/ directory to docs/imcc/
209 * moved build_tools/ directory to tools/build/
210 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
214 * See NEWS for changes
218 * See NEWS for changes
222 * See NEWS for changes
226 * See NEWS for changes
230 * See NEWS for changes
234 * allow short names for object attributes
235 * string encoding and charset can now be set independently
236 * experimental mmap IO layer for slurping files
237 * enable compile opcode support for compilers written in PASM/PIR
238 * improved HLL support with .HLL and n_operators pragmas
239 * simplified hash code
240 * more strength reduce optimizations
241 * distinct debug and trace flag settings
242 * glob support in PGE
243 * new character classification opcodes and interfaces
244 * numerous bug fixes and enhancements
248 * parrot repository is now under subversion
249 * MMD (Multi Method Dispatch) enhanced
250 * new unary and infix opcodes that return new result PMCs
251 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
252 * more unification of PMCs and ParrotObjects
253 * tailcalls for functions and methods
254 * PGE (Parrot Grammar Engine) reworked
255 * Pugs creates Parrot code and Pugs is a registered compiler now
257 * the usual bug fixes and improvements
261 * big rewrite of string code, not yet finished but ...
262 * partial implementation of a generational garbage collector
263 * indirect register frame addressing
264 * .return(args) PIR syntax
265 * moved most of the Python code to dynclasses
266 * a lot more Python functionality
267 * precalculate opcodes with all constants
268 * PGE - Parrot Grammar Engine
269 * scalar classes refactoring
270 * much more tests and big test system cleanup
271 * improved documentation
272 * and as always a lot more
276 * Need Perl 5.6 now for building
277 * Basic AST support, PAST file parser, bits of code generation
278 * BigInt PMC using GMP
280 * Dynamic loading improved including bundles of PMC classes
281 * Experimental support for "make install"
282 * IA64 and hppa JIT support
283 * ICU unicode support
284 * IO layer handling code
285 * IO readline and buffered IO fixes
287 * Internal pythonic functions: filter, map, reduce, max, min ...
288 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
289 * Library updates, Stream and SDL library
290 * MMD - multi method dispatch for binary vtable methods
291 * Many new array PMCs
292 * Method call syntax in PIR obj."meth"(...)
293 * More OS stuff: stat, exec, system, gmtime, piped read and write
294 * New Python PMCs like Enumerate, None
295 * Non-branching compare opcodes
296 * PIR support for += and friends
297 * Python language subdir
298 * Python types mapped to existing PMCs
299 * Slices and range support
300 * Tons of bug fixes, documentation updates, new tests
301 * Win32 COFF exec support
306 * "Ladies and gentlemen, I give you... objects!"
307 * Huge documentation overhaul
308 * More supported platforms, s. PLATFORMS
309 * Basic thread support for pthread based architectures
310 * Basic event handling for timers and signals including:
311 * PASM callbacks for NCI (native C) functions.
312 * Improved platform configuration
313 * COW stacks now working, stacks code redone
314 * Structure handling vastly improved
315 * Random PMC and rand primitives
316 * Better subroutine call syntax in PIR
317 * Make PIR subroutines compliant with pdd03
318 * Improved profiling (DOD, GC timings)
319 * Hash code improvements, incl. random key order support
320 * Experimental freeze/thaw code for some PMC types
321 * IO improvements for buffered layer and Win32
323 * String bitwise vtables
325 * Support for JIT, where malloced memory isn't executable
326 * Priority DOD scheme for objects that need timely destruction
327 * Improved bytecode loading (e.g. onLoad functions)
328 * Language updates: forth, Perl6/P6C, m4
329 * Libraries: Getopt_Long, SDL, Dumper, Sort
331 * Unified imcc and parrot test handling
332 * Many new tests (make test reports 1386 tests)
338 * Yep thirteen - haunted by the ghost of 0.0.12
339 * Build imcc as parrot
340 * Objects more finished
341 * Delegate vtable methods to byte code
342 * Binary multi-method dispatching
343 * Isa and does methods for PMCs
344 * Call byte code from C
345 * Start of extension interface
346 * Experimental struct handling
347 * Catch access to NULL PMCs
348 * Experimental network socket interface code and opcodes
349 * IO fixes and improvements
350 * Dynamic opcode libraries
351 * Fix-assigned opcode numbers
352 * Argument flattening for function calls
353 * More native call interface (NCI) signatures
354 * Ncurses, postgres, and pcre interface libraries
355 * Forth language is vastly improved
356 * BSD and Win32 build improvements
357 * Many new tests and fixes
360 * imcc moved from parrot/languages/ to parrot/
364 * updated the native_pbc test files (from Leo)
365 * built 0.0.11.1 release tarball
369 * CHANGES BUNDLED INTO 0.0.11:
371 * Dynamic PMC registration
372 * Trial exception system
373 * Beginnings of object system
376 * I/O system improvements
378 * Documentation for basic PMC types
379 * IMCC support of Parrot Calling Conventions
380 * Runtime loading of chartypes (and other string improvements)
381 * Conditional breakpoints
382 * Dramatically accelerated sweeps for finalizable objects
383 * Small PMCs (PMCs split into core and extensions)
384 * Loadable bytecode packfiles
386 * Sub variants that deal with the stack correctly
387 * Switched runops core
388 * Line numbers in warnings
390 * Many documentation cleanups
391 * Conversion to CPS style!
392 * BASIC debugger and many other wacky features
393 * Filename, line number parsing support in IMCC
395 2003-07-21 17:31 chromatic
396 * applied copyright patch from Josh Wilmes
399 * Moved the registers out of the context structure, since they
400 really aren't context
401 * Changed the register stack frames to hold only 16 registers
402 rather than 32, added half-set push and pop ops, and reworked
403 the full set push/pops to do two half-set push/pops. Should
404 speed up saving register data on calls, since we usually only
405 care about the top half of the registers anyway.
406 * Started committing some of the new class/object framework
407 * Remembered to finally start updating the Changelog
412 Update Yet Another copyright statements to reflect the (no longer
415 2003-03-11 22:06 chip
417 * Configure.pl: print help on non-option command line args
419 2002-12-18 20:38 sfink: changes since 0.0.8
421 - Allow suppression of cgoto core to save memory during compile
422 * Native function calling interface
423 * Major rewrite of stack and list aggregates
425 * Scratchpads implemented
427 - Internal memory subsystem documentation
428 * Preliminary DotGNU support
429 - Packfile fingerprinting
430 * Buffer/PMC unification (into PObjs)
431 * stabs debugging information support
432 * Major Jako overhaul, including:
434 - native function calling
435 - Perl6 string interpolation
436 - languages/regex now targets IMCC
437 * Optional Lea memory allocator
438 * Full sprintf implementation
439 * Many, many new tests
442 - runtime-controllable gc debugging
445 * JIT: various improvements
446 - register usage tracking
447 - block register allocation
451 - architecture abstraction layer
453 * Beginning support for extensible packfiles
454 * Much better key support, generally
456 * Restructured PMC hierarchy with better functionality inheritance
457 * IMCC: many, many improvements. See imcc/ChangeLog
458 * Perl6: index map grep join reverse defined
459 * Scheme with functions!
462 2002-03-19 22:54 nicholas
464 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
466 We can now get usage information for test_parrot without having to
469 2002-03-19 22:53 simon
472 Parrot is called parrot.
474 2002-03-19 22:53 nicholas
476 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
478 1. There are tests in t/pmc as well as t/op now.
479 2. Adds a comment about Parrot::Test
483 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
484 messes up automated builds
486 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
488 2002-03-19 00:33 mrjoltcola
490 * core.ops: Doc cleanup from Simon Glover.
492 2002-03-18 23:52 mrjoltcola
494 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
498 * include/parrot/resources.h: Checked in old version
502 * include/parrot/resources.h: Forgot a prototype
506 * resources.c: D'oh! Thinko, fixed.
508 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
510 2002-03-18 17:33 josh
512 * Configure.pl: Lowering the bar a bit.
514 2002-03-18 17:33 sfink
516 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
517 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
518 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
519 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
520 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
521 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
522 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
523 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
524 t/example.t: Whoops, wrong time to check this in.
528 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
529 least we consider the PMC and Buffer free pools worth collecting,
530 and initialize the Buffer pool stuff. Still not 100% correct,
533 2002-03-18 15:35 simon
538 2002-03-18 07:45 brentdax
540 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
543 2002-03-18 00:09 sfink
545 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
546 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
547 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
548 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
549 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
550 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
551 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
552 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
553 t/example.t: Buggy 1st version of regex compiler implementation.
554 Warning: the test code depends on features of the assembler that do
557 2002-03-17 21:35 ajgough
559 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
560 through addition and subtraction. Also added the ability to run
561 all the tests, including the ones which deal with overflow and
562 underflow. These fail, but that's expected. Soon they'll pass.
563 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
564 passsssssssings tesssstsssss.
566 2002-03-17 20:06 ajgough
568 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
569 check_(under|over)flow to test bignumbers, rather than values.
570 context now carries E_limit, from which max and min exp are found.
572 Added a default-context-creating function (although this isn't the
573 same as either of the default contexts defined in the eda).
575 2002-03-17 13:31 ajgough
577 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
578 exported version matches prototypes of other public functions.
580 2002-03-17 06:44 josh
582 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
583 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
584 last-minute re-indenting.
586 2002-03-17 05:07 mrjoltcola
588 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
590 2002-03-16 23:17 nicholas
592 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
595 default.pmc: In function `Parrot_default_get_integer_keyed':
596 default.pmc:50: warning: control reaches end of non-void function
597 default.pmc: In function `Parrot_default_get_number_keyed':
598 default.pmc:58: warning: control reaches end of non-void function
599 default.pmc: In function `Parrot_default_get_string_keyed':
600 default.pmc:67: warning: control reaches end of non-void function
601 default.pmc: In function `Parrot_default_get_pmc_keyed':
602 default.pmc:87: warning: control reaches end of non-void function
604 2002-03-16 18:50 ajgough
606 * types/: bignum.c, bignum.h: Lots of prototypes changed in
607 readiness for nicely telling your caller about any oddness you've
608 caused in the persuit of flow.
612 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
613 include/parrot/interpreter.h, include/parrot/resources.h: Now we
614 can control the GC and DOD, to stop it when we don't really want
619 * resources.c, vtable.tbl, classes/default.pmc,
620 include/parrot/resources.h: Added the last code to let PMCs control
621 their marking at DOD time
623 2002-03-16 16:57 ajgough
625 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
626 feel a little more virtuous now. Really I do. You might not
627 believe me, but you should. perl -pne 's/\t/ /g', if you're
630 2002-03-16 16:57 josh
632 * packfile.c, packout.c: M-x untabify is my new friend.
634 2002-03-16 16:50 josh
636 * trace.c, resources.c: Minor whitespace tweak for the benefit of
637 check_source_standards.pl
639 2002-03-16 16:50 ajgough
641 * types/: bignum.c, bignum.h: More documentation, separate
642 functions into public and private sorts, some initial stuff to cope
643 with over and underflow correctly.
645 2002-03-16 16:49 josh
647 * resources.c: Re-indented (sorry bout the big diff)
649 2002-03-16 16:47 bdwheele
651 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
652 assemble again, both with Simon's new assembler and with the old
655 2002-03-16 16:33 mrjoltcola
657 * io/TODO: Get the TODO up-to-date for 0.0.4.
659 2002-03-16 16:11 josh
661 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
662 silly people (such as me) running Configure with
663 /usr/local/bin/perl (which is 5.004_05) and not realising their
664 mistake until the pmc subdirectory, where the first qr// is
667 Syntax error messages don't tell you what you did wrong. This does:
669 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
670 only version 5.00405, stopped at Configure.pl line 10.
672 2002-03-16 14:38 ajgough
674 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
677 2002-03-16 11:45 simon
679 * MANIFEST, examples/assembly/xml_parser.pasm:
680 Added Clint Pierce's XML parser.
682 2002-03-15 22:24 simon
685 Don't need that function.
687 2002-03-15 21:56 simon
689 * Makefile.in, include/parrot/packfile.h:
690 Rebuild packout.o, since it'll be used for the Packfile XS module
694 * include/parrot/: memory.h, pmc.h: Another add-in for GC
698 * core.ops: No string to int for some reason
702 * string.c, t/op/string.t: Fix 0-length substr problem
706 * core.ops, interpreter.c, resources.c, classes/array.pmc,
707 classes/perlarray.pmc, examples/assembly/life.pasm,
708 include/parrot/interpreter.h, include/parrot/resources.h: Added in
709 a counter for copied memory, with a display in life.pasm
711 2002-03-14 03:16 mrjoltcola
713 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
715 2002-03-13 23:43 simon
720 2002-03-13 23:43 simon
725 2002-03-13 21:31 simon
730 2002-03-13 18:06 simon
734 Fix string_compare screw-up.
736 2002-03-13 18:02 brentdax
738 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
739 and add a new question/answer pair.
741 2002-03-12 22:53 mrjoltcola
743 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
745 2002-03-12 22:48 mrjoltcola
747 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
750 2002-03-12 22:29 ajgough
752 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
754 2002-03-12 22:24 ajgough
756 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
757 version 1.1, Don't know if this is the correct number, but I don't
758 want this stuck on my harddrive where it will get lost, so 14 it is
761 2002-03-12 11:35 simon
763 * MANIFEST, packdump.c, packout.c:
765 Just so the functionality doesn't disappear.
767 2002-03-12 11:33 simon
769 * Makefile.in, chartype.c, encoding.c, packfile.c,
770 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
771 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
772 include/parrot/chartype.h, include/parrot/encoding.h,
773 include/parrot/packfile.h:
777 2002-03-11 23:06 nicholas
779 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
781 Core.ops documentation nits
783 2002-03-11 23:05 nicholas
785 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
787 Most of the PerlUndef tests in pmc.t appear to have been added
789 Enclosed patch removes the duplicates.
791 2002-03-10 23:40 nicholas
793 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
795 More tests for the PerlString test-suite.
797 2002-03-10 23:40 nicholas
799 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
801 test for sleep with negative argument
803 2002-03-10 21:58 nicholas
805 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
807 Enclosed patch fixes up a few more holes in our test coverage.
809 2002-03-10 21:18 mrjoltcola
811 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
812 classes/parrotpointer.pmc, classes/perlarray.pmc,
813 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
814 classes/perlstring.pmc, classes/perlundef.pmc,
815 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
816 argument to the init() vtable method so PMCs have the option to
817 know how to size themselves at creation. size could be N elements
818 or a byte count, depending on the PMC or it may simply be ignored.
819 Overloaded 'new' opcode for optional arg.
821 2002-03-10 21:15 mrjoltcola
823 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
824 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
827 Also added small hack for .sub directive (which simply translates
828 to a label, however we might eventually want to collect these to
831 2002-03-10 15:09 ajgough
833 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
834 Added round_floor and round_ceiling. 3403 tests pass, none fail.
836 2002-03-10 03:56 ajgough
838 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
839 divide, divide integer and remainder. All filled in functions now
840 have special values capability.
842 Much remains to be done though, and the pdd needs to catch up.
844 2002-03-10 01:36 ajgough
846 * types/bignum.c: Added extended stuff to _add, _subtract.
848 2002-03-10 00:14 nicholas
850 * t/op/: integer.t, number.t: Patch from Simon Glover
853 The enclosed patch fixes a few of the holes in our test coverage
854 uncovered by Josh Wilmes
856 2002-03-09 23:03 ajgough
858 * types/: bignum.c, bignum.h: Modified compare to work with
859 extended values. Made a couple of changes here and there to allow
860 BN_comp to take a context, so that an is_zero check doesn't clobber
863 2002-03-09 22:19 ajgough
865 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
866 Unary plus now copes with special values.
868 2002-03-09 04:25 ajgough
870 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
871 traps and flags are now enabled and tested for all the standard
872 tests for all the functions which are currently implemented. Test
873 harness faffed with to allow these to be tested.
875 2002-03-09 02:29 josh
877 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
878 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
881 2002-03-09 02:22 josh
883 * config_h.in: tab-blastin'
885 2002-03-09 02:21 josh
887 * check_source_standards.pl: Play nicer with M-x compile- don't
888 bother giving line numbers for things you don't want to look at.
890 2002-03-09 02:10 josh
892 * examples/mops/mops.c: re-indented
894 2002-03-09 02:07 josh
896 * classes/pmc2c.pl: Use the usual header so that we can detect the
899 2002-03-09 02:05 josh
901 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
904 2002-03-09 01:59 josh
906 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
907 patch- re-indent io/*.c.
909 2002-03-09 01:52 ajgough
911 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
912 special values to the string conversion functions, some other
913 functions now need context (to let -0 pass through really_zero)
914 which have also been added.
916 2002-03-09 01:47 josh
918 * test_main.c: Re-indented.
920 2002-03-09 01:41 josh
922 * rx.c: killed a stray tab
924 2002-03-09 01:38 josh
928 2002-03-09 01:36 josh
930 * misc.c: Oops, some tabs remained- cleaned up.
932 2002-03-09 01:31 josh
934 * misc.c: Re-indented (major patch, sorry)
936 2002-03-09 00:59 josh
938 * embed.c: Re-indented.
940 2002-03-08 23:08 simon
942 * MANIFEST, docs/pdds/pdd10_embedding.pod,
943 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
944 docs/pdds/pdd13_bytecode.pod:
947 2002-03-08 21:12 ajgough
949 * include/parrot/string.h: Added private flags to string.h, mostly
950 so that other GCed stuff can also have its very own private flags.
952 2002-03-08 19:53 simon
957 2002-03-08 19:41 robert
959 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
960 pdd6.pod, pdd7.pod: Renamed...
962 2002-03-08 18:51 simon
964 * MANIFEST, docs/pdds/pdd08_keys.pod:
967 2002-03-08 18:20 ajgough
969 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
970 Introduced exception handlers and exception flags to context, will
971 allow support of extended standard. Unified exception checking
972 mechanism (sort of) and made minimal changes to bulk of code to use
973 this. Tests pass, I'm happy, and further changes will happen more
976 2002-03-08 04:38 josh
978 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
981 2002-03-08 04:37 josh
983 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
985 2002-03-08 04:24 josh
987 * embed.c: A bit more re-indenting
989 2002-03-08 04:20 josh
991 * embed.c: Indenting fixes
993 2002-03-08 04:14 josh
995 * jit.c: Re-indented (run_indent.pl)
997 2002-03-08 03:36 josh
999 * ops2c.pl: Fix the line numbers which get reported while compiling
1002 2002-03-08 03:22 josh
1004 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
1005 The variable "type" is set but never used.
1009 2002-03-08 03:04 josh
1011 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
1012 io/io_unix.c: Clean up unused and set-but-not-referenced variables
1013 noticed by the sgi compiler.
1015 2002-03-08 03:02 josh
1017 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
1018 misc.c, Line = 417 The indicated type qualifier is meaningless on
1025 2002-03-08 02:55 josh
1027 * Makefile.in: Clean up one of the object files it was missing
1029 2002-03-08 01:15 josh
1031 * include/parrot/interpreter.h: Fixes the following error (tcc):
1032 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
1033 comma at end of list.
1035 2002-03-06 22:15 simon
1038 Tidy up stack chunk allocation.
1040 2002-03-06 21:00 simon
1043 Create strings only once we've got string register heads set up.
1045 2002-03-06 20:31 simon
1047 * classes/perlarray.pmc:
1048 malloc(0) considered harmful.
1050 2002-03-06 20:24 simon
1052 * include/parrot/resources.h:
1053 I like it when Parrot compiles.
1055 2002-03-06 17:02 dan
1057 * classes/array.pmc: Changed over to data pointing to a Buffer.
1059 2002-03-06 15:45 dan
1061 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
1062 packfile.c, pbc2c.pl, pdump.c, resources.c,
1063 include/parrot/interpreter.h, include/parrot/memory.h,
1064 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
1065 and opcode_t > longs will now be even more suspect than what they
1066 were beforehand. 2) Feel free to bicker with names. I don't think
1067 we've come to *any* sort of agreement with these, although we
1068 really, really, need to. 3) I forget the third thing. 4) But I
1069 thought of a fourth. 5) I've now remembered the third thing: IIRC,
1070 ANSI C states that enums will fit within the smallest type (int or
1071 greater) that can hold the values. Is that actually correct, and
1072 does it state whether unsigned is preferred to signed for
1073 non-negative enums? 6) Since I'm no longer constrained by "three"
1074 or "quick", I'm going size_t happy for a lot of memory-related
1075 storage. (That's good. No sense wasting the size or performance
1076 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1077 a couple other internal things (like the GC stat counters, seen
1078 here). Size and performance, again, and unpromotable to a bigint,
1079 so we know that we (theoretically) will wrap. However, size_t
1080 isn't the best choice for the type. (Not that there's anything
1081 wrong with size_t, just that it shouldn't be called size_t.) Any
1082 thoughts? I was thinking of just doing unsigned int, because,
1083 IIRC, int is usually the natural word size, and will be most
1084 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1085 of was while writing down the others. Sorry.
1087 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1089 2002-03-06 15:26 dan
1091 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1092 include/parrot/resources.h: Now we allocate generic Buffers from
1095 2002-03-05 21:42 brentdax
1097 * Configure.pl: Minor cleanup and enhancements.
1099 2002-03-05 21:25 dan
1101 * resources.c: non-special GC now works with PMCs
1103 2002-03-05 19:48 brentdax
1105 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1106 Parrot now "knows" if it's a development version or a release
1107 version. See the instructions in the DEVELOPING file.
1109 2002-03-05 18:05 brentdax
1111 * MANIFEST: pasm.vim wasn't in the manifest.
1113 2002-03-05 17:57 simon
1116 Now, through much evilness, make distclean and make cvsclean work
1119 2002-03-05 17:38 dan
1121 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1122 include/parrot/interpreter.h, include/parrot/pmc.h,
1123 include/parrot/resources.h: PMC tracing complete
1125 2002-03-05 16:28 gregor
1127 * languages/jako/Makefile.in:
1128 Changed -I ../../ to -I ../../lib when calling the assembler, since
1129 the perl modules have moved.
1131 2002-03-05 05:30 josh
1133 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1134 string.c: More re-indenting via run_indent.pl.
1136 2002-03-05 05:17 josh
1138 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1141 2002-03-05 04:26 josh
1143 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1144 using run_indent.pl and some minor tweaking.
1146 2002-03-05 04:21 josh
1148 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1149 interpreter.c: Re-indented using run_indent.pl and some minor
1152 2002-03-05 03:30 josh
1154 * include/parrot/trace.h: These functions are no longer used (or
1157 2002-03-04 18:21 josh
1159 * include/parrot/trace.h: Fix a typo in the argument type.
1161 Patch from <daniel.ritz@gmx.ch>
1163 2002-03-04 03:39 josh
1165 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1166 header to jit_struct.h so we don't try to check it for conformance.
1167 (no way will it conform)
1169 2002-03-04 03:38 josh
1171 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1172 unicode.h, warnings.h: Remove some remaining tabs and split some of
1173 the remaining long lines.
1175 2002-03-04 03:17 josh
1177 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1178 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1179 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1180 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1181 string_funcs.h, trace.h, warnings.h: This is the first batch of
1182 re-indenting. This patch is the result of running run_indent.pl
1183 on the header files and manually tweaking the results where errors
1184 were noticed. This should get us closed, but some refinement may
1187 2002-03-04 03:06 josh
1189 * resources.c: Return without parens, as mentioned in PDD 7
1191 2002-03-04 03:01 josh
1193 * core.ops: POD fixes.
1195 2002-03-04 02:58 josh
1197 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1198 on autogenerated files- used by the check_source_standards.pl
1199 script (for now) to exempt autogenerated files from the checks.
1201 2002-03-04 02:51 josh
1203 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1204 warnings.c: Added the editor "boilerplate" footer to a few files
1205 which were missing it.
1207 2002-03-04 02:34 josh
1209 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1210 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1211 c preprocessor directive indentation to comply with pdd 7.
1213 (also fixes the check for this indentation in
1214 check_source_standards.pl)
1216 2002-03-04 02:32 josh
1218 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1221 perl t/harness t/op/basic..........Use of uninitialized value at
1222 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1223 line 6) # got: undef # expected: ''
1225 2002-03-04 02:30 josh
1227 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1228 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1229 "indent" program to enforce some of the code style standards
1232 Usage: ./run_indent.pl <file>
1234 2002-03-03 19:04 simon
1236 * examples/mops/mops.c:
1237 Let's make it compile, huh?
1239 2002-03-03 19:04 simon
1241 * examples/mops/mops.cs:
1244 2002-03-03 18:11 simon
1246 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1247 Added C# and MS-IL versions of mops tester.
1249 2002-03-03 14:52 simon
1252 Add a sub() op to make mops_p work.
1254 2002-03-02 18:12 nicholas
1256 * examples/mops/mops.c, include/parrot/embed.h,
1257 include/parrot/interp_guts.h, include/parrot/jit.h,
1258 include/parrot/misc.h, include/parrot/packfile.h,
1259 include/parrot/rx.h, include/parrot/warnings.h,
1260 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1261 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1262 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1263 indent variables correctly.
1265 2002-03-02 17:41 nicholas
1267 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1268 patch to fix a compiler warning.
1270 2002-03-01 22:35 dan
1272 * memory.c, resources.c, include/parrot/pmc.h,
1273 include/parrot/resources.h: PMCs now come out of arenas.
1275 2002-03-01 06:15 dan
1278 A non-existing buffer + a non-existing buffer should be a
1279 non-existing buffer, not "", which is really '\0'.
1281 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1283 2002-03-01 06:02 dan
1285 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1287 TMTOWTDI, but strcmp is probably the worse.
1289 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1291 2002-03-01 02:32 brentdax
1293 * embed.c: Debug mode now prints out the GC data.
1295 2002-02-28 23:44 dan
1297 * core.ops, resources.c, include/parrot/resources.h: Added collect
1300 2002-02-28 22:58 dan
1302 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1305 2002-02-28 22:50 dan
1307 * core.ops, interpreter.c, resources.c,
1308 examples/assembly/life.pasm, include/parrot/interpreter.h,
1309 include/parrot/resources.h: Add some stat gathering to the resource
1312 Also add an interpreter info retrieval op, and teach it about the
1313 different things it can retrieve.
1315 Finally, add some stat info to life.pasm as an example
1317 2002-02-28 21:27 dan
1319 * editor/pasm.vim: VIM mode commands for parrot assembly files
1321 Courtesy of Scott Beck <scott@gossamer-threads.com>
1323 2002-02-28 19:20 dan
1325 * examples/assembly/life.pasm: Fix a creeping string length leak.
1327 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1329 2002-02-28 18:26 dan
1331 * string.c: When you clone a constant, it ain't constant no mo'.
1333 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1335 2002-02-28 00:51 dan
1337 * MANIFEST: Add missing files
1339 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1341 2002-02-28 00:49 dan
1343 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1344 CVS seems to have several chunks missing out of it, too. This
1345 patch is simply an administrative patch, with the differences
1346 between my last version, and the one currently in there. There
1347 will be a forthcoming patch for some minor tweaking to the PDD, but
1348 I wanted a common baseline before I make any (potential) semantic
1351 There's only one semi-major change, which noone needs to worry
1352 about just yet. That's a change from PDD Format 1 to PDD Format
1353 6.0 - rationale can be found under 'Standard (Version #)' of the
1354 STANDARDS TRACK infomation. Don't worry about this yet, because it
1355 should be 6.0.0, and we need to discuss Perl versus Parrot with
1358 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1360 2002-02-28 00:27 dan
1362 * packfile.c, resources.c, examples/assembly/life.pasm,
1363 include/parrot/register.h, include/parrot/resources.h,
1364 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1367 This patch now implements a real copying collector. We trace from
1368 our root set and compact the contents of Buffer structs.
1372 *) It's very STRING-centric and doesn't handle memory stuffed in
1373 Buffers. But, then, we don't have pool allocation for Buffers
1374 either, and we need to have that soonish for this to work.
1376 *) Doesn't trace PMCs, so if you trigger a collection and there's
1377 memory or STRING structs only accessible from PMCs, you'll fail
1378 horribly. That needs fixing too
1380 *) Better algorithms for when to trace or collect vs when to just
1381 go allocate more memory from the system. Should probably be more
1384 2002-02-27 21:04 dan
1386 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1387 examples/assembly/life.pasm, include/parrot/resources.h,
1388 include/parrot/string.h, include/parrot/string_funcs.h,
1389 jit/i386/core.jit: Start of GC in
1391 2002-02-26 16:41 dan
1393 * jit/i386/string.jit: Fix a typo
1395 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1397 2002-02-26 16:37 dan
1399 * interpreter.c: Fix solaris test failures
1401 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1403 2002-02-26 16:36 dan
1405 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1406 unicode.h, warnings.h: Fixes various warts in header files, such
1407 as: * macros -added parens to prevent problems with operator
1408 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1409 is no longer used * added some more INLINE definitions for MSVC and
1412 Courtesy of Brian Lee Ray <blray@ualr.edu>
1414 2002-02-26 16:20 dan
1416 * Configure.pl: Turns out we were using a warning flag which
1417 doesn't exist on 2.7. Simple tweak though:
1419 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1421 2002-02-25 22:58 dan
1423 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1425 2002-02-25 17:36 dan
1427 * include/parrot/pmc.h: Fix the bits
1429 2002-02-23 21:57 dan
1431 * include/parrot/resources.h: Another 1.5% never hurts
1433 2002-02-23 21:44 dan
1435 * global_setup.c, memory.c, resources.c, string.c,
1436 include/parrot/resources.h: Allocate STRING headers from an arena
1437 with freelist rather than with the system malloc. First step in a
1438 good (or even a bad) GC system.
1440 2002-02-23 20:37 brentdax
1442 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1444 2002-02-22 14:59 ajgough
1446 * types/bignum.c: BN_multiply split into BN_multiply and
1447 BN_imultiply, the internal version to be used by idivide so that
1448 rounding isn't performed during intermediate stages of division.
1450 following test scripts now all pass: divide divideint add multiply
1451 subtract remainder compare rounding plus minus (these are all the
1452 operations currently implemented, rescale and power must still be
1453 written, so don't pass right now).
1455 2002-02-22 13:13 ajgough
1457 * types/bignum_atest.pl: Test harness modified to understand
1458 comments better, and be able to run unary (and rounding) tests.
1459 Currently a few rounding tests fail, which are being investigated.
1461 2002-02-22 01:41 dan
1463 * key.c: Although there's more work being done on the key stuff and
1464 this isn't the final fix, applying this patch does get parrot to
1465 build with two more compilers, so it's probably worthwhile.
1467 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1469 2002-02-22 00:53 dan
1471 * config_h.in, misc.c, include/parrot/embed.h,
1472 include/parrot/exceptions.h, include/parrot/interpreter.h,
1473 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1474 include/parrot/resources.h, include/parrot/rx.h,
1475 include/parrot/string.h, include/parrot/unicode.h,
1476 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1477 io/io_win32.c: Fixes the following (lcc) warnings:
1479 - interpreter.c:470: warning: expression with no effect elided
1480 (related to the way warnings flags were defined)
1482 - misc.c:352: warning: unreachable code
1483 misc.c:483: warning: unreachable code
1484 (i introduced these with some overzealous de-linting)
1486 - numerous warnings like this:
1487 io/io_unix.c:383: warning: conversion from pointer to void' to
1489 pointer to struct _ParrotIO function(pointer to struct
1490 Parrot_Interp,pointer
1491 to struct _ParrotIOLayer,pointer to const char,pointer to const
1493 to pointer to void)' is compiler dependent
1495 Fixes the following nits: - remove bad indenting (tabs) in the
1498 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1500 2002-02-21 21:12 ajgough
1502 * types/: bignum.c, bignum.h: These might look like massive
1503 changes, but really it's just he imposition of coding standards.
1504 The file still isn't entirely compliant, but is now much more so.
1508 o a few more comments
1509 o BN_compare uses internal BN_comp to compare
1510 o lost_digits behaviour is now correct (test harness modified to
1514 All binary functions now pass all the tests in the basic standard.
1515 Unary functions not yet tested, will be soon.
1517 2002-02-21 18:20 dan
1519 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1520 was no longer needed, and the ssize_t thing really shouldn't be
1523 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1525 2002-02-21 18:15 dan
1527 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1528 include/parrot/parrot.h: this patch adds support for the freely
1529 available borland c++ 5.5.1 compiler
1531 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1532 working borland compiler (compiler must know where to find headers
1533 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1534 cc='cl.exe' - a working make utility (borland make doesn't work,
1537 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1538 hints/mswin32.pl - remove a space from Configure.pl (very very
1539 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1540 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1541 (win32 knows it, linux not)
1543 and the why: - parrot is MUCH faster when compiled with borland c
1544 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1547 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1549 2002-02-21 18:09 dan
1551 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1552 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1553 cuddled elses, as required by PDD 7.
1555 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1557 2002-02-21 18:04 dan
1559 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1560 a new Makefile target called "check_source". This target scans all
1561 the .c and .h files in the directory and checks for conformance to
1562 a number of the standards outlined in PDD 7.
1564 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1566 2002-02-21 16:38 ajgough
1568 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1569 allow arithmetic with numbers with a fixed fractional part, buffer
1570 structures now more ready to be integrated into the parrot memory
1571 allocation game, test harness modified to allow lost_digits
1572 condition to be checked. Some more comments.
1574 2002-02-21 15:53 simon
1579 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1581 2002-02-20 16:41 dan
1583 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1585 2002-02-18 18:25 dan
1587 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1589 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1591 2002-02-18 18:21 dan
1593 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1594 CPrederef.pm to make to generated code compile with the MS
1597 fixes: - ms compiler allows inline only for c++, for c there's
1598 __inline - ms header files knows nothing about ssize_t
1600 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1602 2002-02-18 17:49 dan
1604 * MANIFEST: Add the PDDs
1606 2002-02-18 17:47 dan
1608 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1609 coding standards PDD.
1611 2002-02-18 17:40 dan
1613 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1615 2002-02-18 12:41 gregor
1618 Remove warning about exit() not being declared.
1620 2002-02-18 08:29 simon
1622 * misc.c, warnings.c, include/parrot/misc.h,
1623 include/parrot/warnings.h:
1624 This patch adds some missing const's to silence a number of gcc
1627 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1629 2002-02-18 08:26 simon
1631 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1632 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1633 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1634 include/parrot/parrot.h, include/parrot/rx.h,
1635 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1636 lib/Parrot/OpTrans/CPrederef.pm:
1637 - add makefile target and script to test for external libc
1639 - fix return values in hash and array PMCs (returning 0 in a
1641 - remove unnecessary data pointer <=> function pointer
1643 outside of the JIT code.
1644 - move the definition of the "INLINE" macro out of the rx header
1646 available for general use on C++ compilers and gcc.
1647 - remove a few unused variables
1649 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1651 2002-02-17 16:29 simon
1653 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1654 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1655 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1656 We're organised and responsible. Honest.
1658 2002-02-17 02:46 sfink
1660 * Makefile.in: Remove $^ for nmake compatibility.
1662 2002-02-16 09:20 brentdax
1664 * config_h.in, test_main.c, include/parrot/chartype.h,
1665 include/parrot/embed.h, include/parrot/encoding.h,
1666 include/parrot/string.h, include/parrot/string_funcs.h: Better
1667 embedding exposure and hiding, part 1.
1669 2002-02-16 04:38 dan
1671 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1672 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1673 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1674 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1675 typecasts in various places throughout the code. It probably won't
1676 work for Windows yet. The libparrot.a target might need to be
1677 modified to at least prevent it from confusing make on Windows; I
1680 Preliminary instructions for using pbc2c.pl are in
1681 docs/running.pod. I'll try to do better later.
1683 Courtesy of Steve Fink <steve@fink.com>
1685 2002-02-16 04:15 dan
1687 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1689 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1691 2002-02-16 00:03 simon
1693 * classes/: perlarray.pmc, perlhash.pmc:
1695 pmc is already defined!
1697 2002-02-15 23:20 brentdax
1699 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1700 include/parrot/exceptions.h: Far more informative panic messages.
1702 2002-02-15 03:24 dan
1704 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1705 much more extensive patch that fixes it to work properly, and
1706 deletes a bazillion casts as well. It also points to the question
1707 "can we make the byte_code be an opcode_t* already?"
1709 Oh, and it makes some of the formatting prettier, so it's gotta be
1712 Courtesy of * Steve Fink <steve@fink.com>
1714 2002-02-15 02:30 dan
1716 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1717 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1718 of the things it finds. Attaching the patch as well as the current
1721 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1723 2002-02-15 01:59 dan
1725 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1728 2002-02-15 01:48 dan
1730 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1732 2002-02-15 01:40 dan
1734 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1737 2002-02-14 23:30 dan
1739 * resources.c: Added comment for buffer tag routine. D'oh!
1741 2002-02-14 23:28 dan
1743 * resources.c, include/parrot/resources.h: Added buffer mark
1746 2002-02-14 23:17 dan
1748 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1749 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1750 Rejigged memory system a bit. Now should be ready for the horror
1751 that is garbage collection.
1753 2002-02-14 19:33 gregor
1755 * ops2c.pl, include/parrot/oplib.h:
1756 Added code to automatically generate a function within an oplib to
1757 lookup opinfos given the op name. This will come in handy in future
1758 when we want to twiddle opcode tables at run time and possibly at
1761 2002-02-14 19:25 gregor
1763 * examples/assembly/queens.pasm:
1764 Regenerated queens.pasm from queens.jako since the clone_* stuff
1767 2002-02-14 17:12 dan
1769 * resources.c, include/parrot/resources.h: Finished up the
1770 interface for memory and tracked interpreter thingies.
1772 2002-02-14 16:53 dan
1774 * memory.c, include/parrot/memory.h: intercept free and realloc
1776 2002-02-14 05:53 dan
1778 * interpreter.c, runops_cores.c: The type changes in struct
1779 Packfile break the pointer math used in a few places to calculate
1780 the address of the end of the loaded byte code. This causes
1781 segfaults in build_asm in jit.c when using -j. It also breaks the
1782 bounds checking on opcode address in runops_slow_core.
1784 The patch adds the necessary cast to correct the code_end
1787 Courtesy of Jason Gloudon <perl@gloudon.com>
1789 2002-02-14 01:01 ajgough
1791 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1792 BigInt operations (I think), tests for normal operation continue to
1793 pass. Also a shed load of comments.
1795 2002-02-13 01:34 ajgough
1797 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1798 is a (mostly) working bignumber library. There remains much work
1799 to do though, some functions are not yet implemented and headers
1800 need to find their way to the correct place RSN. Also support for
1801 bigints and a sensible error reporting mechanism are needed.
1803 2002-02-12 18:51 dan
1805 * misc.c: Fix some warnings
1807 2002-02-12 17:10 dan
1809 * misc.c: Run through indent -kr -nce so I can read it
1811 2002-02-12 16:49 dan
1813 * misc.c: Need standard header/footer comments
1815 2002-02-11 20:32 simon
1817 * classes/array.pmc:
1818 get and set pmc methods.
1820 2002-02-11 20:19 simon
1822 * classes/array.pmc:
1823 Maybe the keys aren't integer...
1825 2002-02-11 20:03 simon
1827 * core.ops, vtable.tbl, classes/default.pmc:
1830 2002-02-11 19:07 simon
1832 * vtable.tbl, classes/default.pmc:
1833 Add set_pmc. Usee with caution.
1835 2002-02-11 18:20 dan
1837 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1840 2002-02-11 17:59 simon
1842 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1843 classes/perlarray.pmc, classes/perlhash.pmc:
1846 2002-02-11 17:57 simon
1848 * packfile.c, include/parrot/packfile.h:
1851 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1853 2002-02-11 17:55 dan
1855 * docs/parrot_assembly.pod: Document some key ops
1857 2002-02-11 09:20 brentdax
1859 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1862 2002-02-11 00:34 simon
1864 * core.ops, include/parrot/exceptions.h:
1865 This is what keyed set ops look like. Remember, however, that for
1866 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1867 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1868 obviously ambiguous that you ought to use the 4-arg version
1871 2002-02-10 23:12 jgoff
1873 * classes/: array.pmc, perlarray.pmc: Properly allocate
1874 SELF->data's array of PMC* data in array and perlarray.pmc. This
1875 isn't tested yet, but should be fairly straightforward. PerlHash
1876 needs to be finished before the system will compile again, and that
1877 should be done in the next few days.
1879 2002-02-09 04:46 jgoff
1881 * classes/: array.pmc, default.pmc, intqueue.pmc,
1882 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1883 Added basic _keyed member functions. Unfortunately this still
1884 doesn't fix the problems that are causing the build to break. It's
1885 a start though. I'm not implementing the PMC add functions just
1888 2002-02-08 15:59 simon
1890 * classes/array.pmc:
1891 Some more work on getting the array stuff up to date.
1893 2002-02-08 12:23 simon
1895 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1896 lib/Parrot/Vtable.pm:
1897 Got array->get_integer_keyed doing what I think it ought to. One
1898 down, all the rest to go.
1900 2002-02-08 11:47 simon
1903 Although I didn't intend it to be quite that broken...
1905 2002-02-08 11:42 simon
1907 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1908 Completely break Parrot, but at least we get the key stuff right
1911 2002-02-08 06:25 dan
1913 * hints/darwin.pl: Silences the warning about passing in
1914 -flat_namespace to the compile. That's a link-only flag.
1916 2002-02-08 04:52 jgoff
1918 * classes/: array.pmc, default.pmc, intqueue.pmc,
1919 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1920 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1921 return values in *.pmc, added some missing casts to the repeat_foo
1922 members, and deleted the _index members from the perlscalar
1923 classes. Basic cleanup, and getting ready for _keyed functions.
1925 2002-02-07 04:49 mrjoltcola
1927 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1928 added a nested subroutine call.
1930 2002-02-07 04:32 jgoff
1932 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1933 changes in order to give the whitespace rules a little workout, and
1934 do a little bit more testing. No actual structural changes were
1935 made. lib/Parrot/Vtable.pm got an interface change, and more
1936 importantly should be ready to support the new '_keyed' attribute,
1937 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1938 src_value' followed by 'KEY* src_key'. This will be how the new
1939 _keyed operators will function, and those should be written within
1942 2002-02-06 18:00 doughera
1944 * misc.c: Change C++-style comments to C comments (again). Remove
1945 unused perl5 code that was in #if 0/#endif.
1947 2002-02-06 17:59 doughera
1949 * warnings.c: Add trailing newline.
1951 2002-02-06 04:14 mrjoltcola
1953 * include/parrot/io.h, io/io.c: Minor cleanup.
1955 2002-02-06 03:11 mrjoltcola
1957 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
1958 couple of loose end in win32 IO stuff. Open behaves now but needs
1961 2002-02-05 21:02 brentdax
1963 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
1964 which showed up in Purify builds.
1966 2002-02-05 17:15 simon
1971 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
1973 2002-02-05 17:08 doughera
1975 * misc.c: Avoid C++-style comments.
1977 2002-02-05 17:07 doughera
1979 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
1980 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
1981 thanks to Jason Gloudon <perl@gloudon.com>.
1983 2002-02-05 14:04 simon
1986 Make the problem different, perhaps even better.
1988 2002-02-05 13:49 simon
1991 Possibly fix a `short int' is promoted to `int' when passed through
1992 `...' scary error, possibly make things absolutely worse.
1994 2002-02-05 13:15 simon
1999 2002-02-05 13:12 simon
2002 Not going to get far without this one...
2004 2002-02-05 11:41 simon
2007 Don't barf when handed null pointers.
2009 2002-02-05 10:04 simon
2011 * misc.c, include/parrot/misc.h:
2012 Fix some trivial bugs in warnings code.
2014 2002-02-05 09:27 simon
2017 Oops, forgot this one; also added %P support.
2019 2002-02-05 09:20 simon
2021 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
2022 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
2023 include/parrot/interpreter.h, include/parrot/misc.h,
2024 include/parrot/parrot.h, include/parrot/warnings.h:
2027 Courtesy of: Brent Dax <brentdax@cpan.org>
2029 2002-02-05 05:41 jgoff
2031 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
2032 format of vtable.tbl to get rid of the tab-dependence. The format
2033 now looks roughly like this:
2035 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
2036 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
2037 assumed here, but note the C-like prototyping. Also had to disable
2038 one test that depended upon 'concat_p_p_s', which isn't necessary
2041 Vtable.pm will change again when the type '_keyed' is added,
2042 because that requires remapping parameters slightly differently
2043 again. Also, note that it assumes 'value' is the first parameter
2044 in the list. This assumption will go away at the same time.
2046 2002-02-04 16:57 ajgough
2048 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
2049 functions. Thanks to Simon Glover.
2051 2002-02-04 02:47 ajgough
2053 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
2054 needed. I suspect that the entire hints file isn't really needed,
2055 but there's no one to actually tell us this.
2057 2002-02-02 15:45 ask
2059 * docs/ParrotFAQ.htm: fix internal links
2061 2002-02-02 04:06 jgoff
2063 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
2064 Moving the internal KEY structure from the cache.struct_val member,
2065 where it doesn't really belong, to the internal SELF->data member.
2066 This frees up the cache/type members for other usage.
2068 This is the first step in moving PMCs to the point where we can do
2069 multidimensional PMC handles. The next step is to change the
2070 assembler to accept the syntax of 'set P0["foo"],7'.
2072 2002-02-02 00:13 nicholas
2074 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2075 prototype Parrot_Array_class_init
2077 2002-02-02 00:13 nicholas
2079 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2080 time to sum_time to avoid warning on FreeBSD about tracking a
2081 global [No, this warning does not appear on Linux. Yes, it is real
2084 2002-02-01 23:02 nicholas
2086 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2089 2002-02-01 20:20 nicholas
2091 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2093 2002-02-01 18:20 nicholas
2095 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2098 2002-02-01 13:22 nicholas
2100 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2102 2002-02-01 12:19 simon
2104 * core.ops, t/op/ifunless.t, t/op/integer.t:
2107 2002-02-01 12:11 simon
2109 * lib/Parrot/Test.pm:
2112 2002-02-01 01:38 nicholas
2114 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2115 and a manitest target to Makefile.in that lets one test the
2118 2002-02-01 00:03 dan
2120 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2123 2002-01-31 21:46 gregor
2125 * Configure.pl, Makefile.in, hints/mswin32.pl:
2126 A few more things are now configable, so we are closer to win32
2127 shared library builds. Not there yet, but closer.
2129 2002-01-31 21:00 dan
2131 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2132 include/parrot/pmc.h: First step in dynamically loading PMC classes
2134 2002-01-31 19:38 dan
2136 * Makefile.in: Dependencies in the Makefile are currently too broad
2137 brush. I don't enjoy waiting for everything to recompile every
2138 time I try to tweak the jit. The only file that #includes
2139 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2140 should reflect this, and not cause a gratuitous recompile of
2141 everything. There are probably other auto-generated header files
2142 that world+dog should not depend on.
2144 Courtesy of Nicholas Clark <nick@unfortu.net>
2146 2002-01-31 19:03 gregor
2148 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2149 Added two new make targets:
2151 * testp: Like 'make test', but passes -P to t/harness, so you get
2153 see how broken predereferencing is.
2155 * testj: Like 'make test', but passes -j to t/harness, so you get
2157 see how broken JIT is.
2159 Now, anyone who wants to see how good all three ways of running are
2160 can do so, at the cost of about 3x the time.
2162 2002-01-31 17:09 brentdax
2164 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2166 2002-01-31 03:41 grunblatt
2168 * docs/jit.pod: Update jit.pod
2170 2002-01-31 03:20 grunblatt
2172 * jit/i386/core.jit: Hold this until we get an assemble tool,
2173 because of the different objdump problems.
2175 2002-01-31 03:13 grunblatt
2177 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2178 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2179 of: Jason Gloudon <perl@gloudon.com>
2181 2002-01-31 02:22 grunblatt
2183 * jit/i386/core.jit: Continue if the register is null
2185 2002-01-30 23:50 grunblatt
2187 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2188 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2189 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2192 2002-01-30 23:35 mrjoltcola
2194 * io/io_win32.c: Change implementation of isatty on win32,
2195 suggested by Hong Zhang.
2197 2002-01-30 23:19 sfink
2199 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2200 Op::may_jump boolean method.
2202 Replaced jit2h's hardcoded pattern match to decide what ops might
2203 change the control flow.
2205 2002-01-30 22:13 dan
2207 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2208 parrot to mostly-build with tcc. It allows one to skip compiling
2209 the JIT stuff (by specifying --define jitcapable=0), and it
2210 introduces a test program which gives a friendlier error in this
2211 case for compilers which are as picky as tcc is about function
2214 If anyone figures out the proper way to cast these function
2215 pointers this may not be necessary.
2217 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2219 2002-01-30 20:54 dan
2221 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2222 Here's an update to docs/running.pod to better reflect the current
2223 state (both the test_parrot and assemble.pl improvements, plus
2224 documentation of a few more things.) And also a speling fiks
2225 s/POST_MORTERM/POST_MORTEM/.
2227 I could also replace some "perl foo" calls with "./foo" if someone
2228 wanted to set the executable flag in CVS on assemble.pl,
2231 Courtesy of Steve Fink <steve@fink.com>
2233 2002-01-30 20:43 dan
2235 * core.ops: find_global doesn't work, so stub out the wrong code
2237 2002-01-30 19:08 dan
2239 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2241 can read it and just tidies it up generally. It also adds
2243 for the constantize_integer and constantize_number functions.
2245 Courtesy of Simon Glover <scog@roe.ac.uk>
2247 2002-01-30 18:02 dan
2249 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2250 classes/genclass.pl, classes/pmc2c.pl,
2251 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2252 distribution (including assemble.pl !)
2253 can no longer find the Parrot::* modules. Enclosed patch fixes
2255 it would be nice if there were an easier way to do this).
2257 Courtesy of Simon Glover <scog@roe.ac.uk>
2259 2002-01-30 16:00 mrjoltcola
2261 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2264 2002-01-30 15:50 mrjoltcola
2266 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2268 2002-01-30 15:42 grunblatt
2270 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2273 2002-01-30 15:38 grunblatt
2275 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2276 the manifest, and also puts it back into alphabetical order.
2278 Courtesy of: Simon Glover <scog@roe.ac.uk>
2280 2002-01-30 14:41 nicholas
2282 * embed.c: Patch from Simon Glover to clean up warnings where
2283 prototype is () not (void)
2285 2002-01-30 13:54 nicholas
2287 * include/parrot/embed.h, test_main.c: Add void as an explicit
2288 parameter in test_main.c's usage(), version(void) and embed.h's
2289 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2290 warning: function declaration isn't a prototype
2292 2002-01-30 12:08 simon
2294 * lib/Parrot/.cvsignore:
2295 Ignore generated Perl modules.
2297 2002-01-30 12:07 simon
2300 Run the PMC tests as well.
2302 2002-01-30 12:04 simon
2305 Fix MANIFEST after recent t/pmc rejig.
2307 2002-01-30 11:42 simon
2309 * lib/Parrot/Test.pm:
2310 Report non-zero exit codes.
2312 Courtesy of: Michael G Schwern <schwern@pobox.com>
2314 2002-01-30 11:39 simon
2317 Skip final test, TODO doesn't work yet.
2319 2002-01-30 09:54 brentdax
2321 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2322 predereferencing works.
2324 2002-01-30 09:38 brentdax
2326 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2329 2002-01-30 09:37 brentdax
2331 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2333 2002-01-30 09:37 brentdax
2335 * config_h.in: Expose another flag for embedders.
2337 2002-01-30 05:07 jgoff
2339 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2340 location for Parrot/, and t/harness wasn't able to run the new
2341 op/pmc tests. Both problems fixed, so I think I'm going to declare
2342 the build suitable for public consumption.
2344 2002-01-30 04:34 robert
2346 * docs/Makefile.in: update for CVS movement
2348 2002-01-30 04:32 robert
2350 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2351 .in file, not the real Makefile)
2353 2002-01-30 04:20 robert
2355 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2356 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2357 related to moving files around
2359 2002-01-30 04:10 robert
2361 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2363 2002-01-30 04:07 robert
2365 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2367 2002-01-30 03:56 robert
2369 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2370 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2371 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2372 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2373 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2374 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2375 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2376 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2379 2002-01-30 03:46 robert
2381 * languages/miniperl/miniperlc: renamed to mpc
2383 2002-01-30 03:45 robert
2385 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2386 pmc_perlstring.t: Moved to t/op/pmc/
2388 2002-01-30 03:40 robert
2390 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2392 2002-01-30 03:14 jgoff
2394 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2395 Fixed some problems with PerlArray and added tests. Previously,
2396 only integers could be accessed by negative indices. After this
2397 change, all basic types can be accessed by negative indices, and
2398 they can also be set at negative indices.
2400 2002-01-29 22:13 brentdax
2402 * TODO: Just look at the stupid diff.
2404 2002-01-29 21:53 simon
2406 * TODO, docs/vtables.pod:
2407 New TODO, and tiny addition to vtables.pod
2409 2002-01-29 21:47 mrjoltcola
2411 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2413 2002-01-29 21:38 mrjoltcola
2415 * Makefile.in: Makefile.in tweak for io depend.
2417 2002-01-29 21:15 brentdax
2419 * embed.c: Fix a segfault and some profiling formatting nits.
2421 2002-01-29 20:54 brentdax
2425 2002-01-29 20:50 brentdax
2427 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2430 2002-01-29 20:17 mrjoltcola
2432 * interpreter.c, core.ops, io.ops: CVS missed this.
2434 2002-01-29 20:17 mrjoltcola
2436 * io/io.c: These should have gone in Sunday with the rest. CVS is
2439 2002-01-29 18:39 brentdax
2441 * platforms/win32.h: Fix Win32 whoops.
2443 2002-01-29 18:29 brentdax
2445 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2447 2002-01-29 17:51 simon
2449 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2450 include/parrot/embed.h, include/parrot/parrot.h:
2451 Embedding support. Cool.
2453 Courtesy of: <brentdax@cpan.org>
2455 2002-01-29 15:40 grunblatt
2457 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2458 Gloudon <perl@gloudon.com>
2460 2002-01-29 14:42 simon
2462 * include/parrot/parrot.h:
2463 Platform stuff has to be included *after* system headers.
2465 2002-01-29 14:05 grunblatt
2467 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2468 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2469 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2470 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2471 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2473 2002-01-29 10:56 simon
2475 * platforms/generic.h:
2476 If we don't have a S_ISREG, produce something close to it.
2478 2002-01-29 06:01 dan
2480 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2482 2002-01-29 04:38 jgoff
2484 * classes/array.pmc: Forgot to remove some C++-isms from the
2485 get_{foo}_index routines.
2487 2002-01-29 04:26 jgoff
2489 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2490 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2491 t/pmc/array.t: Added array class that languages other than perl can
2492 use for a basis. It has no features like preextension, and the
2493 array index starts at 0.
2495 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2496 and classes/Makefile.in - Added array.pmc to the makefile.
2497 (Assuming rules like .pmc.o are portable (or even possible) I might
2498 alter classes/Makefile.in to autobuild the appropriate files.
2500 2002-01-29 02:32 dan
2502 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2503 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2504 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2505 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2506 Update to Test::More 0.41 which adds Test::Builder
2508 Delete the vestigal Test::Utils
2510 Change Parrot::Test so it uses Test::Builder instead of Evil
2514 output_* now returns whether the test passes or fails
2516 Parrot::Test no longer exports Test::More's functions. Instead
2518 can simply be used together. The few tests which used
2520 features (ie. skip) have 'use Test::More' added.
2522 I ditched the export_to_level() crutch. Do we expect parrot to
2524 5.004? (literally 5.004, not 5.004_04)
2526 Courtesy of Michael G Schwern <schwern@pobox.com>
2528 2002-01-28 21:04 dan
2530 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2531 pointer should actually be to
2532 parrot_assembly.pod, as the canonical documentation.
2534 Courtesy of Simon Glover <scog@roe.ac.uk>
2536 2002-01-28 20:21 dan
2538 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2541 2002-01-28 19:18 dan
2543 * core.ops, register.c: clone[insp] is dead
2545 2002-01-28 17:46 grunblatt
2547 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2548 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2550 2002-01-28 16:45 dan
2552 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2553 the requirement for fink at the moment.
2555 2002-01-28 15:59 simon
2558 People might try and run a directory file, with spectacular
2559 results. We don't want that. No.
2561 2002-01-28 14:58 doughera
2563 * core.ops: Avoid C++-style comments.
2565 2002-01-28 14:16 grunblatt
2567 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2568 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2571 2002-01-28 13:47 doughera
2573 * include/parrot/register.h: Avoid C++-style comment.
2575 2002-01-28 06:03 dan
2577 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2578 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2579 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2580 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2581 include/parrot/parrot.h, include/parrot/regfuncs.h,
2582 include/parrot/register.h, include/parrot/register_funcs.h,
2583 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2584 are now stored in the interpreter structure itself, rather than
2585 just a pointer to the top of the register structure. Pushes and
2586 pops now involve memcpys, but register access has one fewer
2589 Fails four of the register stack tests, though, so not perfect.
2590 Needs fixing, but this is a good place to start.
2592 2002-01-28 04:40 mrjoltcola
2594 * test_main.c: cvs commit missed this. ??
2596 2002-01-28 04:27 mrjoltcola
2598 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2599 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2600 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2601 interpreter now (at least in theory). IO handle array added. Misc
2602 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2603 we don't conflict with system libraries. Still have broken
2604 stuff in win32 and stdio layer.
2606 2002-01-28 04:01 mrjoltcola
2608 * include/parrot/chartype.h: Typo in chartype.h include guard.
2610 2002-01-28 03:41 mrjoltcola
2612 * t/op/interp.t: Fix flag for interp so we don't get "info"
2613 messages which break tests.
2615 2002-01-28 01:54 dan
2617 * include/parrot/string.h: A few more buffer/string flags
2619 2002-01-27 11:33 nicholas
2621 * chartypes/unicode.c: Cast unsigned argument to int in call to
2622 isdigit to silence gcc warning.
2624 2002-01-26 23:18 grunblatt
2626 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2629 2002-01-26 23:17 grunblatt
2631 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2632 jit/i386/core.jit: [no log message]
2634 2002-01-26 22:18 simon
2636 * jit/i386/core.jit:
2637 Jumping to 0x0 is a recipe for segfaults.
2639 2002-01-26 18:35 simon
2642 Allow user to select which tests to harness
2644 Courtesy of: Nicholas Clark <nick@unfortu.net>
2646 2002-01-26 17:20 grunblatt
2648 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2649 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2650 to make the jit work in linux again.
2652 2002-01-26 16:52 dan
2654 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2655 headers can't cope with this. Darwin-only
2657 2002-01-26 16:04 dan
2659 * include/parrot/parrot.h: Quick note to remind folks that this
2660 isn't the file they're looking for if they're writing extensions or
2663 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2665 2002-01-26 00:41 mrjoltcola
2669 2002-01-26 00:37 mrjoltcola
2671 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2674 2002-01-25 01:31 grunblatt
2676 * jit/alpha/core.jit: There is no neg or fneg.
2678 2002-01-25 01:27 grunblatt
2680 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2681 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2682 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2683 t/op/number.t: Added Parrot_neg. Erase t.s
2685 2002-01-24 23:26 dan
2687 * interpreter.c: Best make sure unused elements are NULL
2689 2002-01-24 23:24 dan
2691 * interpreter.c: Fix stupid thinko
2693 2002-01-24 18:37 doughera
2695 * Makefile.in: Add a few missing dollar signs in the lifetest
2696 section so that ${exe} and the like get properly interpolated.
2698 2002-01-24 18:15 mrjoltcola
2700 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2701 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2702 Simon Glover <scog@roe.ac.uk>
2704 2002-01-24 06:43 mrjoltcola
2706 * io/io_stdio.c: Oops.
2708 2002-01-24 06:34 mrjoltcola
2710 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2711 of work on the buffering layer. Decided to use shared read/write
2712 buffer (as do most implementations) for now since its the simplest
2713 way to keep everything synced, (flush on seeks, flush read on
2716 2002-01-24 03:38 mrjoltcola
2718 * test_main.c: Cleaned up option handling code a bit for main().
2720 2002-01-23 23:22 dan
2722 * interpreter.c, include/parrot/interpreter.h,
2723 include/parrot/resources.h: Now each interpreter gets its own hash
2726 2002-01-23 20:45 dan
2728 * Configure.pl: Fix a warning when there's no - in an architecture
2730 2002-01-22 23:57 grunblatt
2732 * docs/running.pod: [no log message]
2734 2002-01-22 20:29 doughera
2736 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2737 appears to be a generic problem (if sizeof(long double) >
2738 sizeof(double)), not an x86-specific one.
2740 2002-01-22 16:57 doughera
2742 * runops_cores.c: Change variable name from time to starttime to
2743 avoid gcc warning about variable name shadowing.
2745 2002-01-22 16:55 doughera
2747 * classes/pmc2c.pl: Include class_init prototype too.
2749 2002-01-22 16:01 doughera
2751 * MANIFEST: [no log message]
2753 2002-01-22 01:04 ajgough
2755 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2756 classes/parrotpointer.pmc, classes/perlarray.pmc,
2757 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2758 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2759 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2760 warnings from pmc files. Message-ID:
2761 <20020121224719.GE1726@Bagpuss.unfortu.net>
2763 2002-01-22 00:53 ajgough
2765 * test_main.c: Clears up a couple of warnings in test_main.c.
2766 Thanks to Nick Clark. Message-ID:
2767 <20020121190457.GB1726@Bagpuss.unfortu.net>
2769 2002-01-22 00:47 ajgough
2771 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2772 include/parrot/chartype.h: Cause all codepoints to be treated as
2773 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2774 Nick Clark, see also: Message-ID:
2775 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2777 2002-01-22 00:24 dan
2779 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2781 Appended patch cures these warnings:
2783 key.c: In function `debug_key': key.c:29: warning: int format,
2784 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2785 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2786 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2787 format, INTVAL arg (arg 4)
2789 Courtesy of Nicholas Clark <nick@unfortu.net>
2791 2002-01-21 12:41 mrjoltcola
2793 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2796 2002-01-21 06:37 mrjoltcola
2798 * io/io.c: Cleanup a warning
2800 2002-01-21 06:28 mrjoltcola
2802 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2803 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2804 ops. Various other IO twiddlings.
2806 2002-01-21 03:25 grunblatt
2808 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2809 Melvin Smith for the catch up.
2811 2002-01-20 23:13 sfink
2813 * stacks.c: Fixed logic errors, need tests
2815 2002-01-20 22:17 brentdax
2817 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2818 prepare for /i to work.
2820 2002-01-20 20:52 grunblatt
2822 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2823 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2824 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2825 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2826 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2827 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2828 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2829 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2830 jit/alpha/string.jit:
2831 - Added support for ALPHA, by now linux and bsd.
2833 - Reduced jit2h.pl execution time by precompiling the call to the
2836 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2837 Parrot/Jit/${cpuarch}Generic.pm
2839 - Changed the way to detect quads to what is written in "man
2842 2002-01-20 17:23 brentdax
2844 * rx.ops: There's no such thing as rx_allocateinfo.
2846 2002-01-19 08:26 brentdax
2848 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2850 2002-01-19 07:12 mrjoltcola
2852 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2853 into io.ops, leave the STDIO wrappers in core.ops until they
2854 disappear. Added debug op for switching on VM debug flag
2856 2002-01-19 01:55 mrjoltcola
2858 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2859 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2861 2002-01-19 00:55 brentdax
2863 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2864 include/parrot/rxstacks.h: Add regex-specific stacks for
2867 2002-01-18 23:58 dan
2869 * Configure.pl: I think the optimal fix here is simply to remove
2870 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2871 man pages say "There is no reason to use this option [-pedantic];
2872 it exists only to satisfy pedants."
2874 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2876 2002-01-18 23:23 dan
2878 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2879 docs/running.pod, which lists the various executables Parrot
2880 currently includes, examples of running them, and mentions of where
2881 they fail to work. It's more of a cry for help than a useful
2882 reference. :-) I've been having trouble recently when making
2883 changes in figuring out whether I broke anything, because any
2884 non-default way of running the system seems to be already broken. I
2885 can't tell what brokenness is expected and what isn't.
2887 Courtesy of Steve Fink <steve@fink.com>
2889 2002-01-15 22:13 brentdax
2891 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2892 substring use and enhance performance.
2894 2002-01-15 21:03 ajgough
2896 * string.c: Fix problem with string_transcode, &dest not being
2897 updated if src was already in desired encoding.
2899 2002-01-15 16:54 brentdax
2901 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2902 warnings. Leaves only one warning, at rx.ops line 409, that I
2903 can't manage to get rid of.
2905 2002-01-15 16:50 dan
2907 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2908 code. Also patches pbc2c.pl to work with rx.ops.
2910 Courtesy of Jason Gloudon <perl@gloudon.com>
2912 2002-01-15 16:15 dan
2914 * classes/Makefile.in: All the C files in classes/ weren't being
2915 compiled with an of the gcc warnings flags. With this patch they
2916 are, and there are an awful lot of warnings, more than I could hope
2917 to understand and clear up (within any sensible time period before
2918 submitting a rash of patches, by which time everyone else would
2919 have moved the code on)
2921 Courtesy of Nicholas Clark <nick@unfortu.net>
2923 2002-01-15 16:10 dan
2925 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2926 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2927 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2928 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2929 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2930 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2931 chartypes/usascii.c: This patch adds a few more macros for .ops
2932 files to use. In addition to the existing
2946 This is intended mainly for use in helper functions in .ops files,
2947 but also for ops that need to eg push the address of the next
2948 opcode onto a stack. The only place this currently happens (outside
2949 of my private code) is in the bsr opcode, which previously
2950 hardcoded the computation.
2952 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
2953 higher in the generated file so that it can be used by static
2954 functions in the preamble.
2956 Finally, I ran into a parentheses matching problem -- should goto
2957 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
2958 \bgoto\s+OFFSET\((.*?)\)
2960 It was done inconsistently for the different calculations, and of
2961 course neither are correct because you really want matching
2962 parentheses. But that seems like too much bother. (Currently,
2963 there's only one place that uses anything other than $n in the
2964 parentheses, and that's the enternative() op.) So I made them all
2965 .*? but emulated recent POD by also allowing (( ... )) (that's two
2966 parenthesis with a space padding the body.)
2968 The generated core_ops.c and core_ops_prederef.c files after this
2969 patch are identical except for the CUR_OPCODE and REL_PC macros
2970 getting moved a little higher, and the bsr in the regular path (not
2971 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
2973 In summary, this is a big wad of meaningless changes for the
2974 current code. But it will make adding some opcodes easier in the
2975 future, and cleans up a small nit in the current bsr.
2977 Courtesy of Steve Fink <steve@fink.com>
2979 2002-01-15 08:48 brentdax
2981 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
2984 2002-01-15 08:45 brentdax
2986 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
2988 2002-01-15 05:00 brentdax
2990 * rx.ops: Speed up rx_literal--roughly doubles benchmark
2993 2002-01-14 20:18 dan
2995 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
2997 Courtesy of Nicholas Clark <nick@unfortu.net>
2999 2002-01-14 20:03 dan
3001 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
3002 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
3003 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
3004 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
3005 classes/parrotpointer.pmc, classes/perlarray.pmc,
3006 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
3007 classes/perlstring.pmc, classes/perlundef.pmc,
3008 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3009 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
3010 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
3011 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
3012 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
3013 patch cleans up most of the MSVC-warnings when using warning level
3014 4 (the highest, one above the default level 3). It turns off two
3015 level-4 warnings for 'unreferenced formal parameter' and 'named
3016 type definition in parentheses', the latter of which was turning up
3017 warnings in MS VC headers. Level 4 warnings also helped me find a
3018 couple of other lurking bugs in the parrot code.
3020 Replaces the various fprintf/exit combos with calls to
3021 internal_exception, which uses var_args to emulate printf. Various
3022 exception types were added as well. These are probably temporary
3023 until a real exception system arrives.
3025 Fixed some places in the IO code where wrong functions were being
3026 called, or put into the vtable.
3028 Courtesy of "Michel Lambert" <mlambert@legendent.com>
3030 2002-01-14 19:00 dan
3032 * MANIFEST: D'oh! Forgot a file.
3034 Courtesy of Andy Dougherty <doughera@lafayette.edu>
3036 2002-01-14 18:44 brentdax
3038 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
3039 sense (and a few other enhancements to regexes).
3041 2002-01-14 07:07 brentdax
3043 * interpreter.c, runops_cores.c, test_main.c,
3044 include/parrot/interpreter.h: Make profiling a little more useful.
3046 2002-01-13 19:44 dan
3048 * Configure.pl: Turn off unsed things warnings for now
3050 2002-01-13 19:39 dan
3052 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
3054 classes/perlarray.c: * get_string: is casting
3055 SELF->cache.struct_val to a STRING*, while all other methods are
3056 using it as a KEY*; don't know what a perlarray stringifies to,
3057 so replacing with NULL * get_bool: the default behaviour does not
3060 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3062 2002-01-13 19:37 dan
3064 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
3065 flags to LDFLAGS, so that Configure.pl --debugging works with
3068 classes/Makefile.in make easier to add pmb2c.pl flags to all
3071 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3073 2002-01-13 19:36 dan
3075 * io/io_win32.c: according to my MSVC docs, you should use
3079 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3081 2002-01-13 19:35 dan
3083 * docs/intro.pod: Doc tweak.
3085 Courtesy of Simon Glover <scog@roe.ac.uk>
3087 2002-01-13 19:34 dan
3089 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3094 works with PerlString PMCs; these should be false if they are "",
3096 are undefined, and true in every other case.
3098 Courtesy of Simon Glover <scog@roe.ac.uk>
3100 2002-01-13 19:23 dan
3102 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3103 NUMVAL_FMT to FLOATVAL_FMT.
3105 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3107 2002-01-13 17:45 jgoff
3109 * Makefile.in, global_setup.c, classes/Makefile.in,
3110 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3111 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3112 designing your own classes.
3114 2002-01-13 08:47 simon
3116 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3117 lib/Parrot/OpTrans/CPrederef.pm:
3118 Fix bsr in prederef mode.
3120 Courtesy of: Jason Gloudon <perl@gloudon.com>
3122 2002-01-12 15:33 dan
3124 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3125 string.c, encodings/singlebyte.c, encodings/utf32.c,
3126 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3127 Silence most of the unused variable warnings.
3129 Courtesy of Nicholas Clark <nick@unfortu.net>
3131 2002-01-12 15:18 dan
3133 * rx.ops: This patch fixes a warning and also changes an 'int' to
3134 an 'INTVAL'. All tests should pass on Solaris.
3136 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3138 2002-01-12 15:13 dan
3140 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3141 examples/assembly/life.pasm, include/parrot/interpreter.h,
3142 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3143 io/io_win32.c: More IO work. (Plus some misc twiddles)
3145 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3147 2002-01-12 01:14 dan
3149 * include/parrot/string.h: fix a missing name
3151 2002-01-12 00:39 grunblatt
3153 * include/parrot/string.h: Few typos.
3155 2002-01-12 00:16 grunblatt
3157 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3158 that change the program control flow.
3160 2002-01-11 23:53 brentdax
3162 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3163 ParrotPointer's guts.
3165 2002-01-11 23:03 dan
3167 * include/parrot/string.h: flags for the buffers, for GC
3169 2002-01-11 22:31 dan
3171 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3173 2002-01-11 22:21 dan
3175 * include/parrot/pmc.h: Started with PMC flags
3177 2002-01-11 19:33 dan
3179 * config_h.in, memory.c, resources.c, string.c,
3180 include/parrot/resources.h: Beginnings of a memory allocation/gc
3181 system. Without the GC part.
3183 2002-01-11 18:05 dan
3185 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3188 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3190 2002-01-11 17:50 dan
3192 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3193 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3194 a patch that makes pbc2c generated code work with the bsr opcode.
3195 It creates a new opcode 'enternative', and uses this to support a
3196 mixed model of interpretation and execution of compiled C code.
3198 Courtesy of Jason Gloudon <perl@gloudon.com>
3200 2002-01-11 17:48 dan
3202 * Makefile.in: Add life as a potential .exe target
3204 2002-01-11 17:30 dan
3206 * include/parrot/resources.h: Start of arena stuff for GC
3208 2002-01-11 05:34 brentdax
3210 * rx.ops: Docs modifications.
3212 2002-01-11 04:19 brentdax
3214 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3215 regular expressions.
3217 2002-01-11 03:44 grunblatt
3219 * jit/i386/core.jit: off by one.
3221 2002-01-11 02:25 dan
3223 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3225 Courtesy of Steve Fink <steve@fink.com>
3227 2002-01-11 00:32 brentdax
3229 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3231 2002-01-10 23:22 ajgough
3233 * string.c, docs/strings.pod: Removed all the nul termination code,
3234 as this is in general a bad idea. Note added to docs/strings.pod
3235 to warn people away from assuming termination.
3237 2002-01-10 23:14 dan
3239 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3240 testparrotsizes_c.in, include/parrot/interpreter.h,
3241 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3244 Courtesy of Steve Fink <steve@fink.com>
3246 2002-01-10 22:48 dan
3248 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3251 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3253 2002-01-10 22:46 dan
3255 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3256 t/pmc/perlhash.t: Well, actually two bugs.
3258 The first is an off-by-one error in key.c than can cause parrot
3259 to segfault if hash % NUM_BUCKETS happens to be zero.
3261 The other is a bug in the PerlHash init() code that causes new
3263 PMCs to start with the wrong size.
3265 Both fixed below; also tests to prevent them recurring.
3267 Courtesy of Simon Glover <scog@roe.ac.uk>
3269 2002-01-10 22:30 dan
3271 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3272 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3275 Courtesy of Simon Glover <scog@roe.ac.uk>
3277 2002-01-10 21:31 dan
3279 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3281 2002-01-10 20:30 grunblatt
3283 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3284 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3285 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3286 All the op codes that doesn't change the program control flow now
3287 work in the JIT by calling the code generated by the compiler when
3288 the op is not in core.jit TODO: * Make all the ops that change
3289 the program control flow (and are not on core.jit) work. *
3290 Remove the dispatch payload.
3292 2002-01-10 17:13 dan
3294 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3295 which tries to return 0 from a void function.
3297 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3299 2002-01-10 17:12 dan
3301 * t/op/macro.t: Skip tests, don't comment them out.
3303 Courtesy of Simon Glover <scog@roe.ac.uk>
3305 2002-01-10 17:10 dan
3307 * rx.c: This fixes a couple of nits in rx.c:
3309 1. There's no newline at the end, which makes gcc unhappy.
3310 2. We should use NULL, not 0 or "", for creating null pointers.
3312 Courtesy of Simon Glover <scog@roe.ac.uk>
3314 2002-01-10 17:09 dan
3316 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3320 Courtesy of Simon Glover <scog@roe.ac.uk>
3322 2002-01-10 16:54 ajgough
3324 * resources.c: Made free_string check that there was a string to
3325 free. In reponse to a bug spotted by Joshua Nye.
3327 2002-01-09 22:44 dan
3329 * global_setup.c: Forgot the setup
3331 2002-01-09 22:35 dan
3333 * rx.ops: Forgot this one
3335 2002-01-09 22:35 dan
3337 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3338 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3339 Tests don't work, though.
3341 Courtesy of "Brent Dax" <brentdax@cpan.org>
3343 2002-01-09 21:48 dan
3345 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3347 2002-01-09 21:22 dan
3349 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3350 Generic pointer holder class
3352 Courtesy of "Brent Dax" <brentdax@cpan.org>
3354 2002-01-09 21:19 dan
3356 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3359 2002-01-09 19:54 dan
3361 * io/io_unix.c: Whoops. Forgot one
3363 2002-01-09 19:43 dan
3365 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3366 t/pmc/perlhash.t: Fix hash crash bugs
3368 Courtesy of Simon Glover <scog@roe.ac.uk>
3370 2002-01-09 19:13 dan
3372 * memory.c: Signedness whoops.
3374 Courtesy of Simon Glover <scog@roe.ac.uk>
3376 2002-01-09 18:23 dan
3378 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3379 io/io_stdio.c, io/io_win32.c: Changes:
3381 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3382 will be using the Win32 API and company rather than the unix-ish
3383 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3384 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3385 stuff is there. Soon we should be able to start using these
3386 rather than fprintf(stderr, ...) and remove stdio linkage.
3388 Courtesy of <mrjoltcola@mindspring.com>
3390 2002-01-09 17:26 dan
3392 * test_main.c: Fixes bad code gen on x86.
3394 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3396 2002-01-09 17:24 dan
3398 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3399 classes/perlnum.pmc: This patch adds macros to the config.h file
3400 for INTVAL and NUMVAL printf formats.
3402 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3404 2002-01-08 22:55 ajgough
3406 * docs/vtables.pod: Clarify what get_string should do.
3408 2002-01-08 20:05 dan
3410 * key.c: Keep comments in sync.
3412 Courtesy of Simon Glover <scog@roe.ac.uk>
3414 2002-01-08 19:50 dan
3416 * memory.c, include/parrot/memory.h: Need a realloc
3418 2002-01-08 17:24 gregor
3420 * .cvsignore, Configure.pl, Makefile.in:
3421 Added 'reconfig' make target and corresponding --reconfig option to
3422 Configure.pl, so its very easy to re-run Configure.pl with the last
3423 (command-line) options you passed it.
3425 2002-01-08 16:33 dan
3427 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3428 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3429 in core.ops. Potential help for optimizers and JITters.
3431 Courtesy of gregor@linux1.kennedytech.com
3433 2002-01-08 16:32 dan
3435 * key.c: Grab key length from the right spot
3437 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3439 2002-01-08 13:27 ajgough
3441 * test_main.c: Fix slight thinko in realloc usage for reading from
3444 2002-01-08 11:34 ajgough
3446 * test_main.c: Allow test_parrot to read bytecode stream from
3447 stdin, adds -f command line option, with "-f -" doing the stdin
3450 2002-01-08 06:34 jgoff
3452 * key.c, include/parrot/key.h: key.c - Added simple implementation
3453 of buckets. include/parrot/key.h - Added enum_key_bucket type
3455 2002-01-08 03:21 jgoff
3457 * include/parrot/key.h: Added an undef type to the key structure,
3458 so we can delete keys without confusion.
3460 2002-01-07 22:09 dan
3462 * key.c, packfile.c, string.c, include/parrot/key.h,
3463 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3464 about index being redefined
3466 Courtesy of Nick Clark
3468 2002-01-07 21:15 dan
3470 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3472 Courtesy of Steve Fink <steve@fink.com>
3474 2002-01-07 20:48 dan
3476 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3479 Courtesy of "Brent Dax" <brentdax@cpan.org>
3481 2002-01-07 20:43 dan
3483 * docs/intro.pod: Missing a comma
3485 Courtesy of "coral" <coral@eekeek.org>
3487 2002-01-07 20:41 dan
3489 * global_setup.c: Quiet a warning
3491 Courtesy of Simon Glover <scog@roe.ac.uk>
3493 2002-01-07 18:58 gregor
3496 Ignore intermediate test files.
3498 2002-01-07 17:01 gregor
3501 Print a warning if an .ops file is mentioned more than once on the
3504 2002-01-07 16:12 ajgough
3506 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3507 these shouldn't fail.
3509 2002-01-07 15:15 simon
3511 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3514 2002-01-07 15:11 simon
3517 Fix zero-termination bug in hash function.
3519 2002-01-07 13:37 ajgough
3521 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3522 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3524 2002-01-07 11:53 brentdax
3526 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3527 (:add{foo}) and a new deleting thing (:rem{foo})
3529 2002-01-07 11:43 simon
3532 Gobble the + before concatenating.
3534 2002-01-07 03:53 dan
3536 * Makefile.in: Dependency fix for new ops setup.
3538 2002-01-07 03:33 jgoff
3540 * classes/perlarray.pmc: Add negative indices, and fix a small
3543 2002-01-06 23:54 ajgough
3545 * hints/os2.pl: Makes the hints file take account of ldflags and
3546 ccflags being split. This hints file is still very specific to
3547 builds with gnu tools, but a proper solution can wait. Thanks to
3550 2002-01-06 22:12 dan
3552 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3553 -changes Parrot::OpLib::core's dependencies to reflect the new
3554 selectable ops files -allows some of the special forms of 'goto'
3555 inside the PREAMBLE of an opcode file
3557 Courtesy of "Brent Dax" <brentdax@cpan.org>
3559 2002-01-06 19:59 simon
3564 2002-01-06 18:19 dan
3566 * classes/perlhash.pmc: Fix some type issues.
3568 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3570 2002-01-06 18:03 dan
3572 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3573 for a list of opcode files to use. The default is everything
3574 available except for obscure.ops.
3576 In addition, it makes it so that if your answer to a question
3577 starts with '+', it will concatenate it to the default. For
3580 What C compiler do you want to use? [cl] +HAHAHA!!!
3582 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3583 is not terribly useful, it is quite useful with things like
3584 command-line flags and the like.
3586 Finally, it contains a couple tweaks so that my syntax-highlighting
3587 editor recognizes some heredocs correctly. :^)
3589 Courtesy of "Brent Dax" <brentdax@cpan.org>
3591 2002-01-06 17:59 dan
3593 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3595 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3597 2002-01-06 17:58 dan
3599 * MANIFEST: We're missing a couple of files from the MANIFEST.
3601 Courtesy of Simon Glover <scog@roe.ac.uk>
3603 2002-01-06 17:57 dan
3605 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3606 Compiler directives, etc. in files other than core.ops will now
3607 work. 2. Compiler warnings will now display the file and line
3608 number of the opcode file.
3610 Courtesy of "Brent Dax" <brentdax@cpan.org>
3612 2002-01-06 17:52 dan
3614 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3616 Courtesy of Simon Glover <scog@roe.ac.uk>
3618 2002-01-06 17:36 dan
3620 * docs/intro.pod: Lots of updates
3622 Courtesy of Simon Glover <scog@roe.ac.uk>
3624 2002-01-06 02:34 gregor
3627 Add some internal documentation on the theory of operation of the
3630 2002-01-06 02:17 gregor
3633 Removed unnecessary include.
3635 2002-01-05 12:37 simon
3637 * classes/.cvsignore:
3638 Ignore generated .h files.
3640 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3642 2002-01-05 12:37 simon
3645 Make lcc happier by adding a dummy structure.
3647 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3649 2002-01-05 12:35 simon
3651 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3652 Make perlundef work. (And coincidentally stop segfaults in the
3655 Courtesy of: Jason Gloudon <perl@gloudon.com>
3657 2002-01-05 04:59 dan
3659 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3661 2002-01-05 04:55 jgoff
3663 * classes/perlhash.pmc: Added perlhash class definition
3665 2002-01-05 04:48 dan
3667 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3669 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3671 2002-01-05 03:57 jgoff
3673 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3674 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3675 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3676 t/pmc/pmc.t: Initial hash commit.
3678 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3679 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3680 set_{integer,number,string}_index_s
3682 This does not yet do collision resolution, but will soon.
3684 2002-01-05 02:54 dan
3686 * interpreter.c: More unsigned fixes
3688 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3690 2002-01-04 22:13 dan
3692 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3693 test programs happier.
3695 Courtesy of "Jason Diamond" <jason@injektilo.org>
3697 2002-01-04 19:00 dan
3699 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3702 2002-01-04 18:27 dan
3704 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3705 Fixes to get things configuring and building on Win32 Native.
3707 Courtesy of "Jason Diamond" <jason@injektilo.org>
3709 2002-01-04 17:39 dan
3711 * hints/vms.pl: debug cleanup
3713 2002-01-04 16:53 dan
3715 * docs/parrot.pod: The enclosed patch brings the list of
3716 documentation in parrot.pod
3719 Courtesy of Simon Glover <scog@roe.ac.uk>
3721 2002-01-04 16:47 dan
3723 * test_main.c, Parrot/Jit/i386-linux.pm,
3724 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3727 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3729 2002-01-04 16:44 dan
3731 * Configure.pl, Makefile.in: Fixed linking to use linker.
3733 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3735 2002-01-04 16:39 dan
3737 * io/io_stdio.c: Added CVS tag info
3739 2002-01-04 16:35 dan
3741 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3744 2002-01-04 16:26 dan
3746 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3749 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3751 2002-01-04 16:17 dan
3753 * chartypes/unicode.c: Silence some warnings.
3755 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3757 2002-01-04 16:09 dan
3759 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3760 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3761 into generated files
3762 but the $Id$ string gets mangled when it's committed.
3763 This patch fixes the existing .pmc files and fixes genclass.pl.
3765 - Makes capitalization in .pmc header match actual filenames
3767 - The command for calling genclass.pl in vtables.pod is incorrect,
3768 since it assumes you're running in classes/ but genclass.pl
3770 it's being run from the main directory. I changed genclass.pl to
3774 Courtesy of Steve Fink <steve@fink.com>
3776 2002-01-04 03:57 dan
3778 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3779 me--I *had* the files:wq!
3781 2002-01-04 03:40 dan
3783 * MANIFEST: Whoops--remove files not really there
3785 2002-01-04 03:37 dan
3787 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3788 my sig adds a new_stack() function to take care of the allocation
3789 and setup of "generic" stacks.
3791 Courtesy of "Brent Dax" <brentdax@cpan.org>
3793 2002-01-04 02:36 dan
3795 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3797 writes a load of junk in core_ops.pod. Applied patch fixes.
3799 Courtesy of Simon Glover <scog@roe.ac.uk>
3801 2002-01-04 02:35 dan
3803 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3804 logical-or is using get_integer instead of get_bool for logical
3805 operations. This patch corrects that.
3807 Perlnum and perlstring have working get_bool's, so the default
3808 logical_or and logical_and should be sufficient. The empty methods
3809 are pointed to the default logical_or.
3811 Courtesy of Jason Gloudon <perl@gloudon.com>
3813 2002-01-04 02:31 dan
3815 * Makefile.in: docs/Makefile should be removed by realclean, but
3818 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3820 2002-01-04 02:29 dan
3822 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3824 Courtesy of Steve Fink <steve@fink.com>
3826 2002-01-04 00:51 dan
3828 * docs/vtables.pod: More docs
3830 Courtesy of Steve Fink <steve@fink.com>
3832 2002-01-04 00:47 dan
3834 * Configure.pl: Updated 64-bit patch
3836 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3838 2002-01-04 00:43 dan
3840 * Configure.pl: 64-bit Fix.
3842 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3844 2002-01-03 22:37 dan
3846 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3847 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3848 some buffering work. Additional work on other layers.
3850 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3852 2002-01-03 19:41 gregor
3854 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3855 Updated copyright messages on top-level files.
3857 2002-01-03 04:23 robert
3859 * make.pl: Add author information. Bonsai test.
3861 2002-01-03 04:02 dan
3863 * io/io_os.c: Twig Bonsai
3865 2002-01-03 03:45 dan
3867 * io/: io_os.c, io_os.c: Twig Bonsai
3869 2002-01-03 03:41 dan
3871 * io/io_os.c: Twig Bonsai
3873 2002-01-02 21:42 gregor
3875 * packfile.c, include/parrot/packfile.h:
3876 Get rid of warnings in packfile.[hc]
3878 2002-01-02 20:39 gregor
3881 Bracketed translated patterns with ^ and $.
3883 2002-01-02 20:11 dan
3885 * io/io_os.c: silence a warning
3887 2002-01-02 19:52 grunblatt
3889 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3890 op_assembly to jit_struct.h, so that we get the real number of ops.
3891 Removed some warnings.
3893 2002-01-02 19:31 tom
3895 * string.c: Fix string transcoding so that it actually works.
3897 Patch from Peter Gibbs <peter@emkel.co.za>
3899 2002-01-02 19:20 gregor
3902 A program to check the MANIFEST file, accounting for .cvsignore
3905 2002-01-02 19:19 dan
3907 * t/harness: twig bonsai
3909 2002-01-02 19:13 dan
3911 * t/harness: twig bonsai
3913 2002-01-02 18:54 dan
3915 * t/harness: Tweak to test Bonsai
3917 2002-01-02 16:27 dan
3919 * Configure.pl: Allow 64-bit build of parrot on systems with a
3920 mixed 32/64 bit perl
3922 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3924 2002-01-02 15:33 simon
3926 * MANIFEST, docs/Makefile:
3927 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3929 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3931 2002-01-02 13:51 simon
3934 Die on broken manifest.
3936 2002-01-02 13:48 simon
3938 * jit2h.pl, examples/assembly/mops.pasm:
3939 Clear up JIT warnings.
3941 Courtesy of: Nick Clark <nick@unfortu.net>
3943 2002-01-02 04:10 dan
3945 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
3946 only once, so new interp creation works again
3948 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3950 2002-01-02 03:32 dan
3952 * t/op/interp.t: Stubbed the test out, since it's hanging at the
3955 2002-01-02 00:55 dan
3957 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
3958 io/io_os.c: Initial IO system patches
3960 Courtesy of <mrjoltcola@mindspring.com>
3962 2002-01-01 22:55 ajgough
3964 * classes/default.pmc: On second thoughts, and some prodding, the
3965 set_* methods now only set the appropriate part of the cache, and
3968 2002-01-01 22:29 ajgough
3970 * classes/default.pmc: Wrote a whole host of default pmc methods.
3972 set_* create appropriate Perl* result.
3973 get_* simply grabs needed bit of cache.*_val
3975 Other methods do the rightest thing I can think of, at the moment.
3977 None yet cope with overflow, the modulus operation needs to be
3979 I don't know quite which semantics we really want.
3983 2002-01-01 20:23 dan
3985 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
3986 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
3987 rid of unneeded tmp var and eliminated const from encode prototype
3988 since it does make changes to the string.
3990 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3992 2002-01-01 20:11 dan
3994 * Makefile.in: Make clean now tosses pdump.o
3996 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3998 2002-01-01 19:49 dan
4000 * pdump.c, test_main.c: Warnings cleanup
4002 Courtesy of Josh Wilmes <josh@sky.net>
4004 2002-01-01 19:45 dan
4006 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
4007 hints/mswin32.pl, languages/jako/Makefile.in,
4008 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
4011 Courtesy of "Jason Diamond" <jason@injektilo.org>
4013 2002-01-01 19:41 dan
4015 * include/parrot/register.h: Clean up some warnings
4017 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4019 2002-01-01 19:10 simon
4021 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
4022 Hack-around to enable compilation of code using vtable ops.
4024 2002-01-01 18:43 dan
4026 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
4027 checks on unsigned things
4029 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4031 2002-01-01 18:26 dan
4033 * runops_cores.c: More warning silences.
4035 Courtesy of Nicholas Clark <nick@unfortu.net>
4037 2002-01-01 18:25 dan
4039 * trace.c: Shuts up a warning.
4041 Courtesy of Nicholas Clark <nick@unfortu.net>
4043 2002-01-01 18:24 dan
4045 * encodings/singlebyte.c: Clean up some warnings.
4047 Courtesy of Nicholas Clark <nick@unfortu.net>
4049 2002-01-01 18:20 dan
4051 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
4054 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4056 2002-01-01 18:17 dan
4058 * packfile.c: Warning cleanup
4060 Courtesy of Nicholas Clark <nick@unfortu.net>
4062 2002-01-01 17:53 dan
4064 * string.c: New string size should be based on output encoding's
4065 size, not input encoding's size.
4067 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4069 2002-01-01 17:22 dan
4071 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
4072 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
4073 include/parrot/interpreter.h, include/parrot/memory.h,
4074 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4077 Courtesy of Chip Turner <cturner@redhat.com>
4079 2002-01-01 17:09 dan
4081 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4082 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4083 now unsigned, as is proper.
4085 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4086 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4088 2002-01-01 16:59 dan
4090 * include/parrot/trace.h: Useless debugging prototype removed
4092 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4094 2002-01-01 16:58 dan
4096 * MANIFEST: We forgot a file.
4098 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4100 2002-01-01 03:53 dan
4102 * Configure.pl: Okay, I give. Removed some warnings because the
4103 darned system headers were triggering them. Sloppy, sloppy
4106 2002-01-01 03:48 dan
4108 * config_h.in: Add in an unsigned INTVAL.
4110 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4112 2002-01-01 03:46 dan
4114 * global_setup.c: Clean up some compiler warnings.
4116 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4118 2002-01-01 03:43 dan
4120 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4121 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4122 include/parrot/op.h: Cleaned up some things to make the compiler
4125 Courtesy of Nicholas Clark <nick@unfortu.net>
4127 2002-01-01 03:14 dan
4129 * Configure.pl: Quad updates.
4131 Courtesy of Nicholas Clark <nick@unfortu.net>
4133 2001-12-31 22:53 dan
4135 * include/parrot/op.h: Typedef had parameters backwards. Threw
4136 core.ops for a big whiny warnings loop.
4138 2001-12-31 22:37 dan
4140 * Makefile.in, resources.c: Tweaks to try and get things to build
4143 2001-12-31 21:58 dan
4145 * Configure.pl: Stupid thinko fix
4147 2001-12-31 21:34 dan
4149 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4151 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4153 2001-12-31 21:32 dan
4155 * Configure.pl: Fix for non-gcc systems
4157 2001-12-31 20:22 dan
4159 * interpreter.c: Tweak so we can build on non-JIT platforms
4161 2001-12-31 20:11 dan
4163 * Configure.pl: Force the time on some copied files to be 'now' to
4164 make the Win builds much less annoying.
4166 Courtesy of "Jason Diamond" <jason@injektilo.org>
4168 2001-12-31 20:07 dan
4170 * Configure.pl: Nuke all object files in the parrot tree that
4171 matter when configuring. Shouldn't be necessary with good
4172 dependencies in the makefile, but we don't have those yet.
4174 2001-12-31 20:00 gregor
4176 * chartypes/unicode.c:
4177 Silence unused variable warnings.
4179 2001-12-31 19:40 dan
4181 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4183 2001-12-31 19:37 gregor
4185 * interpreter.c, jit.c, include/parrot/jit.h:
4186 Created a prototype for JIT functions and used it in interpreter.c.
4188 2001-12-31 19:31 dan
4190 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4191 detection) with really cranky warnings if we find we're using it.
4193 Courtesy of: Nicholas Clark <nick@unfortu.net>
4195 2001-12-31 18:01 gregor
4197 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4199 Fixed a few warnings wrt prototypes, etc.
4201 2001-12-31 17:23 dan
4203 * string.c: Silenced most of the compiler whines
4205 2001-12-31 17:15 gregor
4208 Get the ccname from either ccname or just cc config var.
4210 2001-12-31 17:14 gregor
4212 * Parrot/Op.pm, lib/Parrot/Op.pm:
4213 Another intermediate opbody notation. Could come in handy. Explicit
4216 2001-12-31 17:05 dan
4218 * string.c: Minor warnings update
4220 2001-12-31 17:00 dan
4222 * include/parrot/string.h: Warnings cleanup
4224 2001-12-31 16:00 simon
4226 * encodings/utf8.c, include/parrot/encoding.h:
4227 Remove a couple more.
4229 2001-12-31 15:58 simon
4231 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4232 include/parrot/op.h:
4233 Rid ourselves of a few warnings.
4235 2001-12-31 15:32 dan
4237 * Configure.pl: Made GCC ever so much pickier.
4239 Switch list courtesy of Jarkko.
4241 2001-12-31 15:22 dan
4243 * string.c: Tightened up initial allocation.
4245 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4247 2001-12-31 06:48 dan
4249 * Configure.pl: Minor Windows tweak
4251 2001-12-31 05:32 dan
4253 * core.ops: Unused temp variable tossed.
4255 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4257 2001-12-31 05:09 grunblatt
4259 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4260 supported plataforms
4262 2001-12-31 03:05 dan
4264 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4265 platform-independent quote substitution for the makefiles.
4266 Hopefully this'll make the Win32 builds happier.
4268 2001-12-30 21:08 dan
4270 * string.c, include/parrot/string.h: More string system tweaks.
4272 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4274 2001-12-30 20:45 dan
4276 * core.ops: Some pod cleanup
4278 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4280 2001-12-30 20:22 ajgough
4282 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4283 we aren't using them right now. Clarified the workings of set Px,
4284 Py and clone Px, Py.
4286 2001-12-30 20:15 grunblatt
4288 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4289 Added readjit() to read *.jit files Updated core.jit to the new
4292 2001-12-30 20:14 ajgough
4294 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4296 2001-12-30 19:52 dan
4298 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4299 include/parrot/trace.h, platforms/generic.c: Compiler whine
4302 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4304 2001-12-30 19:13 dan
4306 * Configure.pl, Makefile.in: Make GCC pickier by default.
4308 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4310 2001-12-30 18:41 dan
4312 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4313 ntoi opcodes to sets.
4315 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4317 2001-12-30 17:58 gregor
4320 'make' no longer builds the mops test. Use 'make mops' for that. To
4321 run the test, you can do 'make mopstest'.
4323 2001-12-30 17:30 gregor
4326 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4329 2001-12-30 17:26 gregor
4331 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4332 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4333 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4334 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4335 Build enhancements. Originally to support building shared
4336 libraries, but now of broader impact.
4338 * .cvsignore: Ignore the blib/ directory, about which more later.
4342 * Got rid of TAB formatting and lined a few things up.
4344 * Added header comment with CVS Id variable, and a few other
4345 block header comments.
4347 * Uses new Parrot::BuildUtil module to determine the Parrot
4350 * Reworded a few messages, added a couple, and wrapped
4354 * Added 2002 to the Copyright statement.
4356 * Added new configure variables: VERSION, MAJOR, MINOR and
4359 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4361 than 5.6.0, but the comment implies it isn't.
4365 * Added $(SO), $(A) and $(AR_CRS) defines for library
4368 * Added $(RM_RF) define for removing directory trees
4370 * Grouped generated files into two classes: "sticky" (made by
4372 persisting across 'make clean') and 'fluid' (made during
4374 process, deleted by 'make clean').
4376 * Added header comments.
4378 * Added target for test_prog linked with shared library.
4380 * Added rules to build shared libraries in blib/lib. The
4382 built with trailing version numbers in their file names,
4384 symbolic links are created for shorter and no version tag
4387 * Added some missing dependencies
4389 * Added some missing 'make clean' targets.
4391 * Added 'make realclean' target that deletes files created by
4392 Configure.pl (including Makefile), forcing a re-configure.
4394 * Added a 'status' CVS target.
4396 * VERSION: New file, contains only the version. This version
4398 propagated to a few places, such as the core oplib version
4400 reduces the amount of coordination that has to happen to get
4402 number stuff throughout the tree in sync and updated prior to
4404 a new release. Feel free to grep for '0.0.3' to see the other
4406 that contain the version number (but, do that in a fresh CVS
4408 after doing 'make realclean').
4410 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4412 since the oplib and Parrot itself share a version number now.
4414 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4418 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4420 specifying the version by hand. Non-core oplibs will set this
4422 a quoted dot-string with three natural number components
4426 * interpreter.c: Make use of PARROT_VERSION to simplify some
4428 to get the complete version number in the resulting strings
4432 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4436 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4438 * ops2c.pl: Account for the PATCH version, too. This affects the
4440 oplib init function, and the oplib info struct initializer.
4442 * Parrot/BuildUtil.pm: New file for reading in and validating the
4444 the new VERSION file. Other build utilities could go here in
4447 * Parrot/OpsFile.pm:
4449 * Allow three components in version number, and require that
4451 be in double quotes.
4453 * Allow "VERSION = PARROT_VERSION", substituting the shared
4455 VERSION in that case.
4457 * include/parrot/oplib.h: Add the patch_version member.
4459 2001-12-30 12:16 simon
4461 * MANIFEST, Makefile.in:
4462 More stuff forgotten from MANIFEST.
4464 2001-12-30 12:13 simon
4469 2001-12-30 12:12 simon
4474 2001-12-30 12:12 simon
4479 2001-12-30 12:04 simon
4481 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4482 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4483 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4484 include/parrot/string.h, t/op/string.t:
4485 * Expand the strings test suite to be more complete * Make string
4486 commands more consistent (i.e, now the only string command that
4487 actually changes the original is chopn) * Significantly reduce the
4488 number of memory allocations and eliminate reallocations.
4490 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4492 2001-12-29 22:12 dan
4494 * interpreter.c, key.c, register.c, stacks.c, string.c,
4495 test_main.c, trace.c: Updates to match the coding standards.
4497 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4499 2001-12-29 20:42 grunblatt
4501 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4502 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4503 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4504 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4505 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4506 Kitover <caelum@debian.org>
4508 2001-12-28 21:20 dan
4510 * core.ops: Okay, now print takes a preceding file handle.
4512 I feel so dirty now.
4514 2001-12-28 20:46 dan
4516 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4517 changing the open op to use fopen under the hood.
4519 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4521 2001-12-28 18:20 ajgough
4523 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4524 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4525 include/parrot/exceptions.h, include/parrot/string.h,
4526 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4527 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4528 vtables appropriately. Also tests for same, new pmc_perlstring.t
4529 to hold tests specific to PerlStrings, as the pmc.t file is taking
4530 too long to run and slowing down my thought processes.
4532 Changes to strings.c etc to take string functions.
4534 Some changes to the strings docs, but not yet complete.
4536 Also, PerlString was copying pointers to strings, rather than
4537 strings themselves, so some action-at-a-distance bugs were creeping
4538 in, I think I've fixed this so everything works nicely.
4540 2001-12-28 04:56 gregor
4542 * examples/assembly/pmcmops.pasm:
4543 PMC-using version of mops.pasm.
4545 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4547 2001-12-28 04:56 gregor
4549 * examples/assembly/.cvsignore:
4550 Small tinkering. Removed old stuff, etc.
4552 2001-12-28 01:26 gregor
4554 * examples/mops/mops.scheme:
4555 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4556 to the very un-scheme-like implementation.
4558 2001-12-28 01:19 gregor
4560 * examples/mops/mops.c:
4561 Some people's picky compilers don't like us redefineing time(), so
4562 we call it time_n(). :)
4564 2001-12-28 00:28 gregor
4566 * examples/mops/: README, mops.ps:
4567 Added a PostScript example and a README.
4569 2001-12-27 23:57 gregor
4572 Build the C mops translation in examples/mops/mops.c
4574 2001-12-27 23:56 gregor
4576 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4577 Some translations of mops.pasm into other languages, for inner loop
4578 performance comparisons.
4580 2001-12-27 22:40 gregor
4582 * examples/assembly/mops.pasm:
4583 Fixed erroneous file name in header comment.
4585 2001-12-27 21:18 gregor
4588 One-liner to avoid no-op gotos to the next op.
4590 2001-12-27 21:06 gregor
4593 Fixed -p (profiling). Slow runops core was doing unconditional
4594 tracing, when it should have been checking the flags.
4596 2001-12-27 18:50 ajgough
4598 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4599 classes/perlstring.pmc, include/parrot/chartype.h,
4600 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4601 dded get_digit() to chartypes * Added string_bool() to strings *
4602 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4603 to perlstring.pmc * Tests for above, also a for couple of other
4606 The unicode chartype has only had placeholders added for get_digit,
4607 string_to_num has been updated to use type->get_digit rather than
4608 the previous ascii-isms. Some remain, but we need to carefully
4609 define what we mean by a number before we let thousands of code
4610 points act as a minus sign.
4612 2001-12-27 18:32 dan
4614 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4617 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4619 2001-12-27 18:23 dan
4621 * t/op/bitwise.t: More tests.
4623 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4625 2001-12-27 17:08 gregor
4627 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4628 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4629 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4630 include/parrot/interpreter.h, include/parrot/oplib.h,
4631 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4632 platforms/win32.c, platforms/win32.h:
4633 Initial code for dynamic loading of oplibs, applied for now to the
4634 loading of the core_prederef oplib when the -P flag is passed to
4637 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4641 * Added libcore_prederef_0_3.so to the shared target.
4642 * Added build rule for libcore_prederef_0_3.so.
4643 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4644 to Parrot/OpLib/core.pm, core_ops.c and
4645 core_ops_prederef.c.
4647 * config_h.in: Added defines for constants used to locate the
4648 core oplib's init function, and the core_prederef oplib for
4651 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4652 required by Parrot/OpsFile.pm.
4656 * Added init_prederef() and stop_prederef() functions to load
4657 and unload the core_prederef oplib when we are in prederef
4660 NOTE: In all likelihood, the prederef stuff has a rapidly
4661 dwindling time-to-live. The JIT should provide vastly
4663 performance, and loading an alternate set of core_ops isn't
4664 the real direction for the dynaloading stuff. Loading
4665 *additional* ops is. It does provide a handy test case for
4667 general idea for now, though.
4669 * Gets the core copcode table, etc. via the core oplibs oplib
4670 info pointer, as returned by the core oplib's init
4675 * Make use of the version, major version and minor version
4676 stuff parsed by Parrot/OpsFile.pm
4678 * The only exported symbol in the generated files is the init
4679 function now, since that returns an oplib info struct
4680 pointer, and all the important stuff can be found there.
4682 * ops2pm.pl: Put the oplib version in the generated .pm file.
4684 * test_main.c: Small changes necessitated by changes in the names
4685 of some members of the interpreter struct.
4687 * trace.c: Small changes necessitated by changes in the names
4688 of some members of the interpreter struct.
4690 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4693 * include/parrot/interp_guts.h: Small changes necessitated by
4694 changes in the names of some members of the interpreter struct.
4696 * include/parrot/interpreter.h: Include the new
4697 include/parrot/oplib.h header. Small changes to the oplib-
4700 * include/parrot/oplib.h: Define the type of the oplib init
4701 function, and the struct type for the oplib info.
4703 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4704 since not all platforms have it. For those that do, a default
4705 second argument is provided.
4707 2001-12-26 05:12 gregor
4710 Make jitarch calculation not get tripped up by extra components to
4713 2001-12-24 21:23 gregor
4715 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4716 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4717 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4718 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4719 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4720 Some more JIT work from Daniel Grunblatt.
4722 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4726 * Added JUMP(END) to place the number of bytes to the end of the
4730 * The *.jit files syntax changed.
4732 * Added jit/i386/lib.jit to place handly functions as jump that
4734 argument the address where is the opcode number to jump to.
4736 * There is a bug at some point, but I will start writing
4737 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4739 calls, which make the jit as slow as the interpreter.
4741 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4743 2001-12-24 03:46 dan
4745 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4746 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4747 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4748 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4749 Perls before 5.6.0 don't like it.
4751 2001-12-22 16:02 ajgough
4753 * t/op/stacks.t: stopped skipping tests we can run now. added
4756 2001-12-21 21:13 gregor
4758 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4759 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4760 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4761 Fixed some package name goofs.
4763 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4765 2001-12-21 19:32 gregor
4767 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4768 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4769 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4770 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4771 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4772 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4773 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4774 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4775 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4776 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4779 * Removed ops2c-prederef.pl
4781 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4783 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4784 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4785 for old functionality of ops2c-prederef.pl), and
4786 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4788 "OpTrans" == "Op Transformation"
4790 * Makefile.in modifications to call "ops2c.pl C" where it used
4791 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4792 to be "ops2c-prederef.pl".
4794 * core.ops and obscure.ops changes to syntax. Semantics are
4795 identical with previous version:
4797 return HALT --> HALT()
4798 return AUTO --> goto NEXT()
4799 return RETREL(...) --> goto OFFSET(...)
4800 return RESTART(*) --> restart NEXT()
4802 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4803 for dest-less branch ops replaced with new notation "goto
4805 which uses the new pop_dest() function in stacks.c. This also
4806 allowed these ops to become 'inline' ops, since they no longer
4807 have local variables.
4809 The 'ret' op also became simplified to just "goto POP()", and
4810 also became an inline op.
4812 * interpreter.c reflects the change in type name:
4814 prederef_op_func_t --> op_func_prederef_t
4816 that occurred in include/parrot/op.h
4818 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4821 * ops2c.pl is now generic. Its first argument is the last
4822 package name component of a subclass of Parrot::OpTrans. These
4823 subclasses all have full names of the form Parrot::OpTrans::*.
4824 An instance of the class is created and later consulted for
4825 various bits of information needed to generate the C code.
4827 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4828 contain its transformation rules.
4830 * stacks.c has a new function pop_dest() that pops a destination
4831 off the control stack. include/parrot/stacks.h has the
4834 * Parrot/Op.pm now supports the syntax generated by
4836 for the "goto POP" case.
4838 Also, the source() method now expects its second argument to be
4839 an object that ISA Parrot::OpTrans. Methods of this object are
4840 called to perform the substitutions.
4842 * Parrot/OpsFile.pm supports the change in notation mentioned
4845 * docs/intro.pod reflects these changes.
4847 * include/parrot/op.h: Renamed type prederef_op_func_t to
4848 op_func_prederef_t because it made the implementation of the
4849 shared ops2c.pl easier.
4851 2001-12-21 13:47 gregor
4853 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4854 Both test_parrot (via test_main.c) and the intepreter itself (via
4855 interpreter.c) use the JIT_CAPABLE config to decide whether to
4856 actually attempt JIT operation, or to complain.
4858 2001-12-20 23:25 gregor
4860 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4861 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4862 Changes to the format of *.ops files. An attempt to provide hints
4863 for future opfunc processing logic that wants to know if an opfunc
4864 is simple enough to JIT (e.g.) inline, or not.
4866 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4867 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4870 2001-12-20 21:28 gregor
4872 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4876 * A fix to Gregor's last Configure.pl update.
4878 * Remove the need for hardcoded "\n" at the end of the "%f"
4879 format for printing floating-point numbers.
4881 * New, improved *.jit syntax for references to registers,
4884 * Support for C() improved.
4886 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4888 2001-12-20 16:55 dan
4890 * MANIFEST: Added jit.c to the manifest.
4892 2001-12-20 15:24 simon
4895 Off-by-one error fixed.
4897 2001-12-20 14:18 simon
4899 * jit/i386/core.jit:
4900 Just a noop. It's the only machine code I know.
4902 2001-12-20 13:10 gregor
4904 * Configure.pl, Makefile.in, jit2h.pl:
4905 Attempt to fix Win32 builds.
4907 * No more empty braces in include/parrot/jit_struct.h
4911 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4915 2001-12-20 11:56 simon
4920 2001-12-20 01:57 gregor
4922 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4923 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4924 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4925 include/parrot/.cvsignore, include/parrot/interpreter.h,
4926 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4927 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4928 lib/Parrot/Jit/i386-nojit.pm:
4929 Initial JIT implementation.
4931 * Enabled with test_parrot -j. 20x speed boosts seen.
4933 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4937 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4939 2001-12-20 01:53 jgoff
4941 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4942 core.ops - Removed key operators, they should be hidden from the
4943 assembler. t/op/key.t - No need to test the nonexistent key
4946 2001-12-20 00:13 ajgough
4948 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
4949 that asking for type of entry at depth causes segfault as stack is
4950 zero based, fixed cmp in core.ops to reflect this. Last test is
4951 skipped as we don't do exceptions right yet.
4953 2001-12-19 19:11 ajgough
4955 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
4956 non-being was causing Irix "issues".
4958 2001-12-19 03:37 jgoff
4960 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
4961 004_combined.t: Changed tests to make sure they pass with the
4962 addition of the clone operator.
4964 2001-12-18 20:06 gregor
4966 * interpreter.c, include/parrot/interp_guts.h:
4967 Performance improvements to the predereferencing code path
4968 suggested to me over lunch yesterday by my friend John Kennedy.
4969 The goal is to remove the additional test in the inner loop that
4970 was checking for NULL to decide whether or not to call the
4971 prederef() function. Also moved pc & pc_prederef syncing outside
4974 * Changed the prototype of the prederef() function in
4975 interpreter.c to match that of an opfunc.
4977 * Instead of initializing the prederef void * array with NULL,
4978 we initialize it with pointers to prederef().
4980 * prederef() now returns the prederef_pc passed in, so that
4981 after predereferencing, the same location is executed, but now
4982 with the real code being called.
4984 Thanks to: John Kennedy
4986 2001-12-18 19:59 ajgough
4988 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
4989 (including some more in the skipped string -> int tests).
4991 2001-12-18 07:06 jgoff
4993 * MANIFEST: Forgot to add classes/perlarray.pmc
4995 2001-12-18 07:05 jgoff
4997 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
4998 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
4999 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
5000 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
5001 t/pmc/pmc.t: Big update... Makefile.in - Added
5002 classes/perlarray.pmc core.ops - Added new series of set() ops for
5003 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
5004 Added perlarray.pmc classes/*.pmc - Added
5005 set_{integer,number,string}_index and
5006 get_{integer,number,string}_index include/parrot/pmc.h - Added new
5007 type t/op/pmc.t - Added basic array test
5009 classes/perlarray.pmc - Added
5011 2001-12-17 05:29 jgoff
5013 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
5014 generator to use clone operator instead of set Px,Py
5016 2001-12-17 05:25 jgoff
5018 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
5019 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
5020 PMC,PMC operator. Uses the clone() vtable entries.
5022 2001-12-17 04:51 jgoff
5024 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
5027 2001-12-17 04:41 jgoff
5029 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
5032 2001-12-17 04:41 jgoff
5034 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
5036 2001-12-17 04:39 jgoff
5038 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
5039 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
5042 2001-12-17 04:27 jgoff
5044 * languages/miniperl/Miniperl.pm: Latest version of the driver.
5045 Admittedly it's a little thin on true OO, but the algorithms are
5048 2001-12-17 04:24 jgoff
5050 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
5051 003_generator.t, 004_combined.t: Much more comprehensive test suite
5052 for the codegen et al
5054 2001-12-17 04:22 jgoff
5056 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
5057 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
5060 2001-12-17 04:20 jgoff
5062 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
5065 2001-12-17 04:17 jgoff
5067 * languages/miniperl/foo.mpl: Test file that'll be outdated by
5068 changes to the new compiler
5070 2001-12-17 04:11 jgoff
5072 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5075 2001-12-16 14:11 simon
5077 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5079 Fix bogus assumption that multiplying an integer by an integer
5082 2001-12-16 12:48 simon
5084 * make_vtable_ops.pl:
5087 2001-12-16 12:45 simon
5089 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5090 Expand multimethod vtable ops.
5092 2001-12-16 12:04 simon
5095 Added 'cvsclean' which doesn't zap CVS/* directories.
5097 2001-12-15 01:50 dan
5099 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5102 Thanks to grunblatt fom #parrot for the catch
5104 2001-12-15 01:39 dan
5106 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5107 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5108 languages/miniperl/Makefile.in,
5109 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5110 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5113 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5115 2001-12-14 17:39 dan
5117 * t/op/trans.t: More trans tests.
5119 Courtesy of: Simon Glover <scog@roe.ac.uk>
5121 2001-12-14 07:41 robert
5123 * make.pl: - define MAKE macro - topological sort and subgraph
5124 order - start of timestamp stuff (still badly broken)
5126 2001-12-14 06:06 jgoff
5128 * optimizer.pl: Hopefully this should do the trick..
5130 2001-12-14 06:04 jgoff
5132 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5134 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5136 The optimizer performs its work on a file post-macro expansion.
5137 Run it on a .pasm file, preferably with some trivially reducible
5139 like 'add I0,5,-6' or 'mul I0,I1,0'
5141 2001-12-14 05:48 robert
5143 * Makefile.in: case error EXE -> exe
5145 2001-12-14 05:42 robert
5147 * Makefile.in: remove legacy PDISASM macro
5149 2001-12-14 04:01 dan
5151 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5154 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5156 2001-12-13 22:03 dan
5158 * Configure.pl, Makefile.in, Parrot/Test.pm,
5159 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5160 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5161 can change it without having to change the world.
5163 2001-12-13 21:57 dan
5165 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5166 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5167 file/line/package to interp structure, with ops to get and set
5168 them. Now we can know where we are!
5170 2001-12-13 19:43 dan
5172 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5173 WinXP builds work out of the box
5175 2001-12-13 17:05 dan
5177 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5178 name again--makes case-insensitive systems much happier.
5180 2001-12-13 16:21 dan
5182 * core.ops, key.c, string.c, test_main.c, trace.c,
5183 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5186 Courtesy of: Josh Wilmes <josh@sky.net>
5188 2001-12-13 13:33 gregor
5190 * languages/jako/Makefile.in:
5191 Improved the method of calling the assembler.
5193 2001-12-13 13:30 gregor
5195 * languages/jako/Makefile.in:
5196 Improve the build process. It now works from the main parrot dir,
5197 and from the languages/jako directory. Now uses the .SUFFIXES
5198 target and generic build rules to reduce clutter in the
5201 2001-12-13 13:29 gregor
5203 * languages/jako/.cvsignore:
5204 Ignore the (now generated Makefile), and don't ignore .list files
5205 anymore, since we aren't generating them.
5207 2001-12-13 13:11 gregor
5209 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5210 languages/Makefile.in, languages/jako/Makefile,
5211 languages/jako/Makefile.in:
5212 Added a 'languages' target to the top-level Makefile.in, and
5213 modified the jako build procedure to involve Makefile.in -->
5214 Makefile too (done by Configure.pl).
5216 NOTE: languages/jako and language/scheme are built.
5217 languages/miniperl wasn't building right, so it was left off for
5220 2001-12-13 12:15 gregor
5223 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5226 2001-12-13 12:12 gregor
5228 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5229 ops2c-prederef.pl, ops2c.pl, test_main.c,
5230 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5231 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5232 Welcome to the Just-in-Time Predereferencing Patch!
5234 This patch implements a "predereferencing" mode for parrot. That
5235 means that a lot of the dereferencing you see in DO_OP and in the
5236 opfuncs is done up front (really, JIT) rather than as and each time
5237 we execute each op in the byte code stream.
5239 This works by creating an array of void pointers with the same
5240 number of elements as the byte code array. This array starts out
5241 life zero-initialized. Each time we go to execute an op, we check
5242 first to see if we have a NULL pointer at *cur_opcode. If so, we
5243 know we haven't done our predereferencing yet (this is the JIT
5244 part), so we call the prederef() function with sufficient args that
5245 it can go look up opfunc pointers and op arg types and put the
5246 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5247 where N is the number of args (counting the op itself as one arg).
5249 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5250 to have inline INTVAL constants.
5252 I've been getting about a 22% speed increase over vanilla code path
5253 when I compile with -O0. Advantage decreases at -O9 here. I tested
5254 with mops.pbc, and also by temporarily putting the -P flag in
5255 Parrot/Test.pm and running all the tests. So, this code is as
5256 correct as the test suite can detect.
5258 Here's how it plays out in the code:
5260 * New script ops2c-prederef.pl
5262 Copy-paste code reuse from ops2c.pl. Modified to expect the
5264 a void ** cur_opcode and to return a void **.
5268 * opfuncs are now static. Who needs to call them by name from
5270 anyway? They are accessed via the opfunc table.
5272 * Some MACRO stuff to make things work whether we prederef or
5274 may be possible to get rid of these some day if other folks
5276 that we should be using CODE object pointers + offsets as
5278 rather than raw pointers to either opcode_t's or (void *)'s
5279 (depending on prederef mode or no).
5281 * core.ops modified to be usable to build both kinds of opfuncs.
5285 * calls to push_generic_entry(... cur_opcode ...) were
5287 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5289 macro that does the right thing in both kinds of ops.c
5292 This is applicable to the bsr op. If we treated
5294 (Code PMC + local offset) rather than as
5295 pointer-to-memory-somewhere,
5296 this wouldn't be a big deal. We may need to do that at some
5298 anyway, so that when you jump around and return not only do
5300 the right PC (pointer, today), but you also have the
5302 knowing what chunk of bytecode it is in at all times
5304 allow reflection, as in ops that query or affect the
5307 * runinterp was modified. Instead of copying the top-level
5309 and blasting its byte_code pointer, we simply call runops
5311 interp, passing in the pointer to the current interp's code
5313 offset into that code at which to start (this last arg used
5315 pointer PC, now its an offset PC).
5317 * include/parrot/op.h
5319 * new typedef for prederef opfuncs (they return void **)
5321 * include/parrot/interp_guts.h
5323 * New DO_OP_PREDEREF() macro described above.
5325 * include/parrot/interpreter.h
5327 * New prototype of runops() -- see below.
5329 * resume_addr field changed to resume_flag and resume_offset
5331 We might be resuming from interp using prederef to one not
5333 so pointers between the two don't play nice together.
5334 Offsets are beautiful.
5336 * New PARROT_PREDEREF_FLAG constant
5340 * include "parrot/oplib/core_ops_prederef.h"
5342 * prederef() function described above.
5344 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5347 * runops() modified to take size_t CODE-relative offset PC
5349 pointer PC. This made other things workable and doesn't
5351 anything important (IMO).
5355 * New flag '-P' to enable predereferencing.
5357 * Makefile modified to build core_ops_prederef.c from core.ops
5361 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5363 Added core_ops_prederef$(O) to O_FILES
5365 2001-12-13 12:12 gregor
5367 * languages/jako/MAINTAINER:
5368 Thought it would be nice to put this right in the code...
5370 2001-12-13 04:36 jgoff
5372 * languages/miniperl/Miniperl/Generator.pm: Commented out
5373 debugging, fixed register spillover algorithm
5375 2001-12-13 04:23 jgoff
5377 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5378 line) Restructured a bit of the dependency generator to fix a
5381 2001-12-13 03:43 robert
5383 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5385 2001-12-13 03:03 jgoff
5387 * make.pl: Added make.pl
5389 2001-12-13 02:44 jgoff
5391 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5392 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5393 special flags... - Dies on undefined macros
5394 such as $(PDISASM) in current make - Dies on
5395 recursive macro expansions (Doesn't test for
5396 mutual or multipart loops) - In general it
5397 seems to be a little less lenient... Missing bits - File
5398 mod/creation times aren't being looked at - Actions
5399 aren't being taken - The few funky variables ($@, $<)
5400 aren't being dealt with Bugs - Line numbers are slipping a bit.
5402 2001-12-13 02:29 jgoff
5404 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5405 Reconstructing files to make the parser flow a little better.
5407 2001-12-13 00:51 dan
5409 * resources.c: Be a bit less wasteful with resources that don't
5412 2001-12-12 18:22 dan
5414 * Makefile.in: D'oh! Fixed looping makefile bug.
5416 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5418 2001-12-12 16:23 jgoff
5420 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5422 2001-12-12 16:22 jgoff
5424 * MANIFEST: Manifest additions for languages/miniperl
5426 2001-12-12 16:19 jgoff
5428 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5429 tests. These are left over from the Scheme suite and shouldn't be
5432 2001-12-12 16:18 jgoff
5434 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5435 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5436 modules. Miniperl/ is where the real work gets done. t/ is largely
5437 vacant because it isn't ready to survive real tests yet.
5439 2001-12-12 16:17 jgoff
5441 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5442 mpc: Final go-round, hopefully.
5444 languages/miniperl/Makefile - Used basically to run tests, as there
5445 is nothing here that needs to be
5446 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5447 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5448 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5451 2001-12-12 16:09 dan
5453 * Configure.pl: Setting a variable with the make command name is
5456 2001-12-12 15:07 simon
5458 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5459 Recursive make considered "ow, don't do that".
5461 2001-12-12 14:45 dan
5463 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5464 non-portable code) Killing builds on Win32 native. Small patch
5465 applied which hopefully fixes it.
5467 2001-12-12 06:12 ajgough
5469 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5471 2001-12-12 06:08 ajgough
5473 * Makefile.in: perl is $(PERL).
5475 2001-12-12 06:00 ajgough
5477 * t/op/integer.t: Added tests to integer.t so that all permutations
5478 of arguments are actually called at some point.
5480 2001-12-12 05:18 ajgough
5482 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5483 Tests for sleep i|ic
5485 2001-12-12 05:09 ajgough
5487 * t/op/stacks.t: Added pushp and popp register stack tests.
5489 2001-12-12 04:51 ajgough
5491 * t/op/stacks.t: Added tests for save and restore, for all register
5492 types. Let there be Haiku.
5494 2001-12-12 04:27 ajgough
5496 * t/op/basic.t: bsr_i test. You know you want it.
5498 2001-12-12 02:55 ajgough
5500 * MANIFEST: Added hints/os2.pl to MANIFEST.
5502 2001-12-12 02:52 jgoff
5504 * core.ops, key.c: Final checkin... These are actually the correct
5507 2001-12-12 02:12 jgoff
5509 * include/parrot/key.h: key.c - Removed a few functions,
5510 generalized set_element_value and element_value to accept
5511 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5512 core.ops - Modified to accept the new return style.
5514 This is a prelude to adding virtual-table methods to allow hashing
5515 &c. Expect at least one or two more redesigns before this settles
5516 down. However, it still passes the original tests.
5518 2001-12-11 13:35 gregor
5523 2001-12-11 12:03 gregor
5526 Don't ignore test_prog, but do ignore parrot.
5528 2001-12-11 12:03 gregor
5530 * classes/.cvsignore:
5531 Ignore the generated file default.h
5533 2001-12-11 04:07 jgoff
5537 2001-12-11 04:05 jgoff
5539 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5541 2001-12-11 04:00 jgoff
5543 * core.ops: Added new key aggregate operations to core ops.
5545 2001-12-11 04:00 jgoff
5547 * include/parrot/parrot.h: Added key.h to header list
5549 2001-12-11 03:59 jgoff
5551 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5553 2001-12-11 03:58 jgoff
5555 * Makefile.in: Added implementation of key aggregates.
5557 2001-12-08 23:07 simon
5562 2001-12-08 23:05 simon
5564 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5565 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5566 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5567 test_prog? What is test_prog?
5569 2001-12-08 22:57 simon
5573 Oops, the changelog commit was on *this* machine.
5575 2001-12-08 22:56 simon
5578 Updates to NEWS and ChangeLog pre-release.
5580 2001-12-08 22:07 simon
5582 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5583 classes/perlnum.pmc, classes/pmc2c.pl:
5584 Add "default" PMC vtable so you can inherit implied stuff.
5586 2001-12-08 21:24 simon
5588 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5589 docs/vtables.pod, lib/Parrot/PackFile.pm:
5590 Getting the documentation up to scratch.
5592 2001-12-08 21:21 simon
5595 Allow inheriting from default class.
5597 2001-12-07 20:43 gregor
5599 * examples/assembly/queens.pasm:
5600 Regenerated the file with the latest jakoc.
5602 2001-12-07 20:29 simon
5604 * core.ops, t/op/stacks.t:
5605 Rename "rotate" to "rotate_up".
5607 2001-12-07 20:15 simon
5610 Some tests for rotate.
5612 2001-12-07 00:55 gregor
5615 Cast the result of the pointer arithmetic, since without the cast
5616 there are warnings with some compilers, and without the parens
5617 around the pointer arithmetic, precedence breaks the meaning and
5620 2001-12-06 23:37 simon
5623 Temporary. I prefer compiler warnings to segfaults, thanks.
5625 2001-12-06 23:34 simon
5628 Make "trace" work again.
5630 2001-12-06 21:23 dan
5632 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5634 2001-12-06 21:22 dan
5636 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5637 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5639 2001-12-06 19:22 simon
5642 Yet another "How the *%$! did that compile?" moment.
5644 2001-12-06 18:28 dan
5646 * hints/vms.pl: Fix to build, with a HERE logical required
5648 2001-12-06 17:48 dan
5650 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5651 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5652 changes to the interpreter--flags are now part of the interp
5655 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5657 2001-12-06 14:02 gregor
5660 s/little_languages/languages/ in Jako section.
5662 2001-12-06 13:15 simon
5665 Ensure the documentation gets made.
5667 2001-12-06 13:12 simon
5669 * MANIFEST, docs/intro.pod:
5670 Documentation! Added the "Some Assembly Required" article with
5673 2001-12-06 00:39 simon
5678 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5680 2001-12-06 00:37 simon
5683 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5685 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5687 2001-12-06 00:11 tom
5689 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5690 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5691 include/parrot/chartype.h, include/parrot/encoding.h,
5692 include/parrot/parrot.h: Moved string to number conversion code out
5693 of the encoding layer and into the main string layer as neither the
5694 encoding layer nor the character type layer knows enough on it's
5695 own to do the conversion correctly.
5697 2001-12-05 23:12 tom
5699 * Makefile.in: Rebuild the classes directory if any of the object
5700 files for the classes are missing rather than only when perlint.o
5703 2001-12-05 19:43 gregor
5705 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5706 * Reworked the constantize_string() stuff a little bit because it
5708 puking on things like "\033[H\033[2J\0" (which occurs in the
5709 languages/jako/mandelzoom.jako example).
5711 2001-12-05 19:39 gregor
5713 * languages/jako/: Makefile, mandelzoom.jako:
5714 Added 'mandelzoom' example.
5716 2001-12-05 19:38 gregor
5718 * languages/jako/jakoc:
5721 * Changed some instances of die() to confess()
5723 2001-12-05 18:34 gregor
5725 * t/: op/pmc.t, pmc/pmc.t:
5726 s/sting->int/string->int/
5728 2001-12-05 18:08 gregor
5730 * Parrot/.cvsignore:
5733 2001-12-05 18:05 gregor
5735 * classes/.cvsignore:
5736 Ignore the generated files.
5738 2001-12-05 17:19 gregor
5741 * Reverted recent changes, since they broke the script. Real fix
5745 2001-12-05 17:03 simon
5747 * classes/Makefile.in:
5748 Remember: change Makefile.in, not Makefile. D'oh.
5750 2001-12-05 17:02 simon
5753 Ensure PMC.pm gets remade.
5755 2001-12-05 16:58 simon
5757 * MANIFEST, Makefile.in, classes/Makefile.in,
5758 classes/perlundef.pmc, include/parrot/pmc.h:
5759 Add perlundef class.
5761 2001-12-05 16:45 simon
5764 Document "new P0, foo"
5766 2001-12-05 16:43 simon
5768 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5769 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5770 Allow assembler to know about PMC class names.
5772 2001-12-04 13:39 ajgough
5774 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5776 2001-12-04 05:02 ajgough
5778 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5781 2001-12-04 04:24 ajgough
5783 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5784 broken form of strtod and appropriate tests. Does not yet check
5787 2001-12-04 01:31 ajgough
5789 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5790 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5791 to extract_num and extract_int string vtables, without this it
5792 would be impossible to have strings with nulls in while still
5793 knowing where they ended.
5795 2001-12-03 18:40 ajgough
5797 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5798 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5799 include/parrot/string.h: Moved pmc string to number conversion into
5800 the string encoding tables.
5802 2001-12-03 00:21 ajgough
5804 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5807 2001-12-02 23:09 jgoff
5809 * classes/Makefile.in: Removed some redundant targets.
5811 2001-12-02 19:02 ajgough
5813 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5814 equality macro rather than using perl to generate expected output,
5815 all tests now have <<OUTPUT.
5817 2001-12-02 17:44 ajgough
5819 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5820 for pmc.t as well. Will probably move macros into another file at
5821 some point, although this might be best left until the tests are
5824 2001-12-02 06:16 jgoff
5826 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5827 within Parrot_Perl{Class}_init.
5829 2001-12-02 06:09 jgoff
5831 * classes/Makefile.in: I seem to have removed *$(O) twice..
5833 2001-12-02 05:06 jgoff
5835 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5836 Configure.pl - Removed '-I./include', added classes/Makefile
5837 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5838 Removed old classes/* make stuff Added target for
5841 2001-12-02 04:48 jgoff
5843 * classes/Makefile.in: Going to be used shortly...
5845 2001-12-02 04:40 jgoff
5847 * docs/Makefile: Configure.pl - Added automatic makefile creation
5848 for docs/ and classes/ Removed '-I./include' because
5849 it was getting incorrectly passed to classes/
5850 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5851 - Removed classes/ build stuff, replaced with classes/Makefile.in
5852 Added '-I./include' locally docs/Makefile - Should no
5853 longer be used, but I'm not brave enough to do a
5856 2001-12-02 01:21 ajgough
5858 * t/op/trans.t: Refactored trans math tests to have hard coded
5859 expected return values and be more ready to be unperled at some
5860 point in the future. Added $fp_equality_macro which is a
5861 "nearly-equal-to" function.
5863 2001-12-02 01:18 ajgough
5865 * Makefile.in: Humph. People really ought to use Makefile
5866 variables, s/perl/$(PERL)/ throughout.
5868 2001-12-01 18:15 jgoff
5870 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5871 figure out what to do vis-a-vis the lack of snprintf.
5873 2001-11-30 13:14 ajgough
5875 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5878 2001-11-30 13:14 ajgough
5880 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5883 2001-11-30 10:36 simon
5886 Rewrite print_p to do the right thing.
5888 2001-11-30 06:21 jgoff
5890 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5891 concat, integer/number/string math
5893 2001-11-30 06:20 jgoff
5895 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5896 classes/perlint.pmc - Fixes and expanding for concat and math with
5897 strings classes/perlnum.pmc - Fixes and expanding for concat and
5898 math with strings classes/perlstring.pmc - Fixes and expanding for
5899 concat and math with strings
5901 2001-11-29 15:21 ajgough
5903 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5904 $^X lies, which confused bash which make uses to run things when
5907 2001-11-29 04:58 jgoff
5909 * classes/perlstring.pmc: Removed C++-style comments for good
5912 2001-11-29 04:51 jgoff
5914 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5916 2001-11-29 04:28 jgoff
5918 * global_setup.c: Initialize PMC strings
5920 2001-11-29 04:25 jgoff
5922 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5925 2001-11-29 04:24 jgoff
5927 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5928 files to properly upgrade int to num, do calculations. Also added
5929 basic string operations. Currently errors out on anything but set
5930 operations, but this will be fixed soon.
5932 2001-11-29 04:22 jgoff
5934 * Makefile.in: PMC .c files weren't getting cleaned out.
5936 2001-11-28 17:00 simon
5940 Make csh-glob happy.
5942 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
5944 2001-11-28 16:40 simon
5946 * classes/perlnum.pmc:
5950 2001-11-28 15:22 simon
5954 Fixes Alex's string concat worry.
5956 2001-11-28 14:27 ajgough
5958 * t/op/string.t: test "null onto null" incorrectly passing as it
5959 produced no output. Output provided.
5961 2001-11-28 11:14 simon
5963 * include/parrot/pmc.h:
5967 2001-11-26 21:03 dan
5969 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
5971 2001-11-26 17:29 simon
5973 * classes/perlint.pmc:
5975 Various subtle but non-showstopper bugs.
5977 2001-11-26 11:23 simon
5981 Replace dependency on Text::Balanced
5983 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
5985 2001-11-26 05:22 jgoff
5987 * global_setup.c: Last file that should need to be committed. I
5990 2001-11-26 05:09 jgoff
5992 * core.ops: Let's try this again... Changes to core.ops required
5994 2001-11-26 04:58 jgoff
5996 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
5997 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
5998 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
5999 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
6000 functions classes/perlnum.pmc - Set up basic number functions
6001 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
6002 tests against numbers and numbers+integers
6004 2001-11-25 13:18 simon
6007 Windows XP make doesn't like $<
6009 2001-11-25 12:56 simon
6011 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
6012 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
6013 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
6014 examples/assembly/mops_p.pasm:
6017 Courtesy of: Angel Faus <afaus@corp.vlex.com>
6019 I (Simon) also added a couple more integer methods, but no tests
6020 since I'm a Bad Person.
6022 2001-11-25 08:40 brentdax
6024 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
6025 lib/Parrot/OpsFile.pm: Allow _ in op names
6027 2001-11-25 05:54 jgoff
6029 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
6030 Added basic math ops t/op/pmc.t - Added tests of basic math ops
6032 2001-11-23 18:27 simon
6034 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
6035 Add everything you need to make MOPS use PMCs.
6037 2001-11-23 18:06 simon
6040 Eh, you'll need this for rewriting mops.pasm.
6042 2001-11-23 17:55 simon
6044 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
6046 More work on integer PMCs.
6048 2001-11-23 17:29 simon
6051 Surprise! Whitespace! HLAGHLAGHLAGH
6053 2001-11-23 17:28 simon
6055 * Makefile.in, ops2c.pl, ops2pm.pl:
6056 Add vtables.ops to the core
6058 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
6060 2001-11-22 18:39 simon
6062 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
6064 We can now create PMCs.
6066 2001-11-21 05:49 jgoff
6068 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
6070 2001-11-20 16:00 simon
6072 * docs/vtables.pod, include/parrot/pmc.h:
6073 Reorder PMC flags so there's a fixed number of user-defined flags.
6075 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6077 2001-11-19 03:39 jgoff
6079 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6080 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6081 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6082 escaped quotes, and proper handling of newlines.
6084 2001-11-16 22:03 simon
6086 * classes/perlint.c:
6087 More work on the Perl Integer class. More needed, though.
6089 2001-11-16 21:57 simon
6091 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6092 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6094 2001-11-16 20:49 simon
6096 * interpreter.c, runops_cores.c, trace.c,
6097 include/parrot/runops_cores.h:
6098 Kill superfluous runops cores.
6100 2001-11-16 17:50 simon
6102 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6103 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6104 include/parrot/parrot.h, include/parrot/pmc.h:
6105 Skeleton for Perl scalar types, done right.
6107 2001-11-16 16:15 simon
6109 * classes/genclass.pl:
6110 This tidies up genclass to deal with the new-style multimethods.
6112 2001-11-16 15:29 simon
6114 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6115 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6116 Rework multimethods to be *true* multimethods - that is, have
6119 2001-11-15 22:29 simon
6121 * MANIFEST, Makefile.in, pmc.c:
6122 pmc.c linkage and support. Oh, and making it compile.
6124 2001-11-15 22:26 dan
6126 * t/op/interp.t: Forgot to tell CVS about the test...
6128 2001-11-15 22:10 dan
6130 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6131 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6132 for PMC registers for the interpreter.
6134 Added in the docs for the runinterp opcode.
6136 Added in code for both the newinterp and runinterp opcodes, so we
6137 can now create new interpreters from within parrot and have them do
6138 things. (Though we can't pass data back and forth. Yet)
6140 2001-11-15 21:24 simon
6142 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6143 More documentation, and other changes as discussed with Dan.
6145 2001-11-15 19:51 simon
6147 * classes/scalarclass.c:
6150 2001-11-15 19:50 simon
6152 * classes/scalarclass.c:
6153 A little code tidiness.
6155 2001-11-15 19:33 simon
6157 * include/parrot/pmc.h:
6158 Missed this in the previous commit - un-constantize the base for
6159 user-defined PMC flags.
6161 2001-11-15 19:28 simon
6163 * classes/scalarclass.c:
6166 2001-11-15 17:09 simon
6168 * classes/scalarclass.c:
6169 It seems I have completely forgotten how to write C.
6171 2001-11-15 16:53 simon
6174 Start of the PMC classes documentation.
6176 2001-11-15 14:46 simon
6178 * classes/scalarclass.c:
6179 Changing to use a Perl-style struct instead of the union cache.
6181 2001-11-13 23:56 tom
6183 * string.c: Removed leading _ from string_index as function names
6184 starting with _ are reserved to implementors by the C standard.
6186 Also fixed string_index to use the encoding routines instead of
6187 assuming a single byte encoding.
6189 2001-11-13 12:59 jgoff
6191 * string.c: Patched string_concat to accept null strings. That
6192 test was failing. Nothing to do with ord().
6194 2001-11-13 12:43 jgoff
6196 * string.c: string_ord function, string_concat fixes
6198 2001-11-13 04:52 jgoff
6200 * core.ops: Added ord to core.ops
6202 2001-11-13 04:35 jgoff
6204 * docs/strings.pod, include/parrot/exceptions.h,
6205 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6206 operator, documentation string.c - Added string_ord, _string_index
6207 (_string_index is a static helper) Patched
6208 string_concat to handle null strings properly. docs/strings.pod -
6209 Description of string_ord include/parrot/exceptions.h - Added
6210 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6211 string_ord() t/op/string.t - Added full set of test for
6212 ord_i_(s|sc)(_(i|ic))?
6214 string.c contains a bit of documentation explaining the logic
6215 behind _string_index, primarily having to do with multiple encoding
6218 2001-11-12 22:30 simon
6223 2001-11-12 22:28 simon
6226 Add a rule to compile "platform"
6228 2001-11-12 22:26 simon
6231 Tidy up distclean target.
6233 2001-11-12 16:54 dan
6235 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6236 t/op/macro.t: Fixes to the assembler's macro facility and a test
6238 Courtesy of: Jeff <jgoff@speakeasy.net>
6240 2001-11-12 16:50 dan
6242 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6245 Courtesy of: Jeff <jgoff@speakeasy.net>
6247 2001-11-12 16:36 dan
6249 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6252 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6254 2001-11-12 11:22 simon
6256 * examples/assembly/mops.pasm:
6258 Trivial tightening of mops loop.
6260 2001-11-07 23:57 ajgough
6262 * docs/tests.pod: This is a basic quide to writing tests with
6265 2001-11-07 22:29 dan
6267 * stacks.c: Added a little documentation on the cleanup parameter
6270 2001-11-07 14:43 dan
6272 * MANIFEST, platforms/generic.c, platforms/linux.c,
6273 platforms/linux.h: Portability patches.
6275 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6277 2001-11-06 19:51 tom
6279 * Makefile.in: Clean up object files in the subdirectories as well
6280 as those in the top level directory.
6282 Enhanced version of patch from Daniel Grunblatt
6283 <daniel@grunblatt.com.ar>
6285 2001-11-06 16:14 dan
6287 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6288 platforms/generic.c, platforms/generic.h: Made things a bit more
6289 platform-independent. Makefile still needs work to pick up changes
6290 to the platform-specific files.
6292 2001-11-05 21:32 dan
6294 * docs/parrot_assembly.pod: Added docs for the GC control ops
6296 2001-11-04 02:52 gregor
6298 * platforms/: win32.c, win32.h:
6299 * win32 dynamic loading functions.
6301 Courtesy of Jason Diamond <jason@injektilo.org>
6303 2001-11-04 00:04 brentdax
6305 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6306 allows an absolute path to be used and gives a useful error message
6307 if the original source file can't be found
6309 2001-11-02 12:37 gregor
6311 * platforms/: linux.c, linux.h:
6312 * Beginning of dynamic loading support. Linux only for now.
6314 2001-11-02 12:13 gregor
6316 * MANIFEST, time.c, include/parrot/time.h:
6317 * Removed time.[hc], since they have been superseded by the new
6321 2001-11-02 12:11 gregor
6323 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6324 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6325 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6326 platforms/win32.c, platforms/win32.h:
6327 Patch from Jason Diamond to make win32 platform stuff work:
6329 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6330 platform specific files in the platforms directory gets copied to
6331 the correct directories. The Makefile will re-copy the platform.h
6332 and .c files if the original is modified.
6334 * #include platform.h in parrot.h instead of time.h.
6336 * Removed time.h and time.obj from the Makefile. time.h and time.c
6337 aren't being used anymore since that code was moved to linux.c and
6340 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6341 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6342 windows.h. This required updating several files besides parrot.h.
6344 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6345 instead of the missing identifiers (on Windows) in core.ops in the
6348 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6349 platform files and called those from core.ops. The Linux code for
6350 these functions came from core.ops so they should hopefully work.
6352 Courtesy of Jason Diamond <jason@injektilo.org>
6354 2001-11-02 06:43 brentdax
6356 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6357 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6359 2001-11-02 02:26 gregor
6361 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6362 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6364 * Beginnings of platform support files in platform/*.[hc]
6366 2001-11-01 23:37 tom
6368 * classes/intclass.c: Added missing *'s to STRING arguments and
6369 return values to avoid compiler warnings.
6371 2001-11-01 22:21 gregor
6373 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6374 include/parrot/parrot.h, include/parrot/time.h:
6375 Initial "fix" of time(n) op for Win32:
6377 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6379 * time.c and include/parrot/time.h
6381 First attempt at getting this working across platforms. The
6382 macro WIN32 being tested might not be right.
6384 * New functions Parrot_intval_time() and Parrot_floatval_time()
6385 wrap the appropriate functionality depending upon platform.
6386 Changed core.ops to call these.
6388 Added obscure.ops with obscure transcendental ops.
6390 Added simple file I/O ops (close, open, read, write):
6392 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6394 * I changed some arg ordering stuff.
6396 * I added read/write of INTVALs and FLOATVALs.
6398 Added environment variable ops (getenv, setenv)
6400 Added system error ops (err(i) and err(s) for accessing errno and
6403 Moved print ops in with other "temporary" developer ops, since
6404 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6406 2001-10-31 22:51 tom
6408 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6409 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6410 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6411 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6412 encodings/utf8.c, include/parrot/chartype.h,
6413 include/parrot/encoding.h, include/parrot/exceptions.h,
6414 include/parrot/parrot.h, include/parrot/string.h,
6415 include/parrot/strnative.h, include/parrot/strutf16.h,
6416 include/parrot/strutf32.h, include/parrot/strutf8.h,
6417 include/parrot/transcode.h: Reworked the string code in line with
6418 Dan's latest design that separates character sets from encodings.
6420 2001-10-31 19:53 dan
6422 * docs/parrot_assembly.pod: Finished I/O section of docs
6424 2001-10-31 16:51 dan
6426 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6427 Moved includes out of core.ops and into parrot.h where they belong
6428 (suitably guarded with #ifdefs). Also some updates to
6431 2001-10-30 21:43 dan
6433 * core.ops, stacks.c, docs/parrot_assembly.pod,
6434 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6435 of the entry on the stack
6437 2001-10-29 18:30 dan
6439 * stacks.c: You can turn off stack entry type validation on pop by
6440 passing in a type of 0 now. (For those cases where you just want to
6441 throw the darned thing away)
6443 2001-10-29 14:37 gregor
6445 * core.ops, languages/jako/jakoc:
6446 * New variants of the save ops to save constants on the stack.
6448 useful for saving zero arg and result counts on the stack, for
6451 * Modified jakoc to to adapt to the newly announced calling
6453 Even though Jako source code appears to show subroutines with
6455 numbers of arguments and results, they are implemented with the
6456 variable count calling convention. Future modifications will be
6458 to ensure that an exception is raised if the stack frame is of
6460 wrong size (or, at least that we pop the complete frame off).
6462 also have to make more changes to support the true
6464 and fixed-result-count parts of the calling convention spec.
6466 2001-10-28 16:53 simon
6468 * MANIFEST, stacks.c, classes/scalarclass.c,
6469 include/parrot/stacks.h:
6470 Unbelievably bad errors of mine, plus a type incompatibility of
6473 2001-10-28 08:30 simon
6475 * classes/scalarclass.c:
6476 Beginning of a scalar class.
6478 2001-10-28 08:29 simon
6480 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6481 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6482 include/parrot/pmc.h:
6483 This fixes the problem with vtables and pointer arithmetic.
6485 2001-10-26 19:58 dan
6487 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6488 include/parrot/stacks.h: Split the generic stack into a user push
6489 stack and a control stack
6491 2001-10-26 02:59 bdwheele
6493 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6495 2001-10-24 20:27 dan
6497 * languages/scheme/: Makefile, Scheme.pm, schemec,
6498 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6499 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6500 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6503 2001-10-24 20:23 dan
6505 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6506 interpreter needs in pdump.c. Added scheme bits to manifest
6508 2001-10-24 16:43 gregor
6510 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6511 * Make the assembler handle octal character code escapes in
6515 2001-10-24 15:56 dan
6517 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6518 play the game of life
6520 2001-10-24 15:54 dan
6522 * core.ops: Added sleep. We'll need to override this to do events
6523 properly anyway, so...
6525 2001-10-24 14:03 gregor
6527 * Makefile.in, pbc2c.pl, pdump.c:
6528 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6530 pointer into string functions.
6532 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6534 2001-10-23 20:09 gregor
6536 * languages/jako/jakoc:
6537 * Terminological refinement in regexp capture comment.
6539 2001-10-23 15:23 simon
6541 * classes/genclass.pl:
6542 Use a saner ANSI C construct to make MIPSPro happy.
6544 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6546 2001-10-23 00:34 tom
6548 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6549 strutf8.c, include/parrot/string.h: Make sure the interpreter
6550 structure is passed to the transcoder as necessary, including
6551 passing it to string_compare().
6553 2001-10-23 00:32 tom
6555 * Makefile.in: Make pdump build again by including resources.o in
6558 2001-10-22 22:43 dan
6560 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6561 strutf32.c, strutf8.c, test_main.c, transcode.c,
6562 include/parrot/packfile.h, include/parrot/parrot.h,
6563 include/parrot/resources.h, include/parrot/string.h,
6564 include/parrot/transcode.h: Everything now uses the allocators and
6565 deallocators in resources.c.
6567 Unfortunately we lost standalone string-test mode, but I can cope
6570 Please note that until we have a real allocation/deallocation/GC
6571 system, this'll leak. A *lot*.
6573 2001-10-22 20:27 dan
6575 * MANIFEST, Makefile.in, pmc.c, resources.c,
6576 include/parrot/resources.h: First cut to handle arena allocation of
6577 PMC headers. (Amongst other things)
6579 2001-10-22 19:02 dan
6581 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6582 Now each register type has its own mask macro, which is the right
6585 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6587 2001-10-21 23:40 tom
6589 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6590 stack chunk and add a test to test this rollover in future.
6592 Courtesy of Jason Gloudon <perl@gloudon.com>.
6594 2001-10-21 19:14 dan
6596 * include/parrot/string.h: Changed string 'unused' field to the
6599 2001-10-21 18:18 gregor
6601 * languages/jako/: Makefile, mops.jako:
6602 * Makefile: 'clean' target removes .list files, too. And, it does
6604 with wildcards rather than listing things explicitly.
6606 * mops.jako actually prints out the
6607 millions-of-operations-per-second
6608 (mops) value instead of just the operations-per-second value.
6610 2001-10-21 18:03 simon
6612 * classes/intclass.o:
6615 2001-10-21 17:47 simon
6617 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6618 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6619 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6620 lib/Parrot/Vtable.pm:
6621 Initial work on PMCs. Explanation to follow
6623 2001-10-21 15:20 gregor
6625 * examples/assembly/queens.pasm:
6626 * Modernize the calling conventions in queens.pasm. It was using
6628 which now must be rotate. Also, changed to use return values on
6630 stack instead of in I0.
6632 2001-10-19 18:14 gregor
6634 * core.ops, stacks.c, include/parrot/stacks.h,
6635 languages/jako/jakoc:
6636 Per Dan's request, replacing 'swap' op by 'rotate'.
6638 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6640 * stacks.c and stacks.h: Removed swap-related functions from my
6641 prior commit, replacing them with stack_depth(), stack_entry()
6642 and rotate_entries().
6644 NOTE: The stack_depth() and rotate_entries() routines could
6645 be made more efficient through the caching of the sum of chunk
6646 'used' members from lower chunks in a field in the upper
6647 chunks. Also, if the interpreter's stack_base was changed to
6648 hold the pointer to the *top* chunk (since we usually come
6649 at the stack from the top down) instead of the *bottom*
6650 chunk. The code here at least works, and we can decide about
6651 bigger changes separately.
6653 For now, rotate only handles rotates in one direction and
6654 of magnituded one. A fully general rotate would do handle
6655 rotates in both directions and of arbitrary amounts. Again,
6656 this implementation is sufficient for current applications,
6657 and a feature-complete version can be developed if this turns
6658 out to be otherwise the right type of implementation.
6660 This change includes a new exception for ERROR_STACK_SHALLOW,
6661 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6663 * jakoc: Changed the calling convention to use rotate instead
6664 of swap (of course). Also changed the convention for return
6665 value passing to use the stack as well.
6667 2001-10-19 13:36 gregor
6669 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6670 examples/assembly/queens.pasm, include/parrot/stacks.h,
6671 languages/jako/.cvsignore, languages/jako/Makefile,
6672 languages/jako/bench.jako, languages/jako/euclid.jako,
6673 languages/jako/fact.jako, languages/jako/jakoc,
6674 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6675 languages/jako/primes.jako, languages/jako/queens.jako,
6676 languages/jako/sub.jako:
6677 * New stack functions push_entry(), pop_entry() and swap_entry().
6678 The first two exist for the support of the last one. These
6679 functions don't care what is in the stack entries. These exist
6680 to support the new 'swap' op (see next bullet).
6682 * New op 'swap' for swapping the top two elements on the stack.
6683 This is necessary for passing arguments to functions, since
6684 the return address will be on top of any arguments that have
6685 been pushed on the stack. This way, you can use a (swap, pop)
6686 pair to retrieve each argument (for subroutine linkage).
6688 * Disassembler now prints numbers in decimal by default, with
6689 a new '-x' flag to turn on hexadecimal display. Since other
6690 members of the Parrot Tool Set use decimal by default, this
6691 makes it easier to compare output from the various tools.
6693 * Jako compiler has more explanatory comments and the following
6696 * Lexically scoped variables.
6698 * Subroutines that take arguments and return values:
6700 sub int foo(int bar) {
6707 * ... if (...) and ... unless (...) statement modifiers
6708 can be used on next, last and redo.
6710 * Bitwise and (&, &=) and or (|, |=) ops.
6712 * Type names are just 'int', 'num', 'str', and 'poly' now.
6713 The old long names 'integer', 'number', 'string', and
6714 'polytype' are no longer valid.
6716 * Integer variable assignments can now use 0b (binary),
6717 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6719 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6720 solving the eight-queens problem. The assembly example is a
6721 hand-modified version of the assembly code produced by the
6722 Jako compiler from queens.jako. A few unnecessary ops have
6723 been removed, lots of unnecessary labels have been removed,
6724 and all the Jako source code comments have been removed.
6726 * Makefile and .cvsignore in languages/jako modified so that
6727 the assembler produces listings when assembling the programs,
6728 yet the *.list files are ignored by CVS.
6730 * Made the default target in languages/jako/Makefile 'all'.
6732 * Modified some of the Jako examples to use some of the new
6733 features of Jako, such as subroutines and lexical variable
6736 2001-10-19 02:43 gregor
6738 * runops_cores.c, include/parrot/runops_cores.h:
6739 Bug fix (gcc doesn't complain, but MIPSpro does):
6741 * Added missing extern to runops_cores array declaration in
6742 include/parrot/runops_cores.h
6744 * Also added 'const' there and in runops_cores.c
6746 2001-10-18 15:18 gregor
6748 * .cvsignore, include/parrot/oplib/.cvsignore:
6749 * Ignore the vtable-related generated files.
6751 2001-10-18 15:14 gregor
6754 * left and right shifts now allow the 2nd argument to be a
6757 2001-10-18 14:55 simon
6759 * make_vtable_ops.pl:
6760 This is C, not Perl. How on earth did that even compile?
6762 2001-10-18 14:54 simon
6764 * make_vtable_ops.pl:
6767 2001-10-18 12:33 simon
6769 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6770 Initial stab at vtable opcode creation stuff.
6772 2001-10-18 02:15 gregor
6774 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6775 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6776 include/parrot/trace.h: Preparation for autogenerated runops cores:
6778 * Split tracing and runops core stuff out of interpreter.c into
6779 trace.c and runops_cores.c
6781 * Similar split of stuff from include/parrot/interpreter.h
6783 * Manifest and Makefile.in updates to make things still compile.
6785 2001-10-18 01:21 gregor
6787 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6789 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6791 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6793 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6795 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6797 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6799 copy of $ops->preamble.
6801 2001-10-17 22:32 bdwheele
6803 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6806 2001-10-17 22:08 gregor
6808 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6809 * Now handles label-and-comment-only lines.
6811 2001-10-17 22:04 bdwheele
6813 * interpreter.c: added more comprehensive trace output
6815 2001-10-17 16:50 tom
6817 * Makefile.in: Removed the explicit rule for building mops.o from
6818 mops.c so that the implicit rule for compiling C files is used
6819 instead. This means that the chosen C flags are used, including any
6820 optimisation options.
6822 2001-10-17 15:24 tom
6824 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6825 op explosion logic to be able to handle exploding this:
6835 without also generating this unwanted version:
6839 The enhanced version rejects any expansion where there is more than
6840 one expanded argument and all the expanded arguments are constants.
6842 2001-10-17 14:20 simon
6844 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6845 Build fixes to use correct Perl version and ensure that things are
6846 running in the right directory.
6848 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6850 2001-10-17 13:16 simon
6853 core.pm is more critical than that.
6855 2001-10-17 13:05 simon
6857 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6858 "Explode" ops into multiple versions for different parameters.
6860 Courtesy of: Tom Hughes <tom@compton.nu>
6862 2001-10-17 12:54 simon
6865 Fix dependencies and cleaning.
6867 2001-10-17 12:45 simon
6869 * Configure.pl, Makefile.in:
6870 Fixes to make Parrot compile without the temporary build hack
6872 Courtesy of: Jason Gloudon <perl@gloudon.com>
6874 2001-10-16 20:43 gregor
6877 * Fixed dependencies for building Parrot/OpLib/core.pm
6879 2001-10-16 19:35 bdwheele
6881 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6882 added test, thanks to Alex Gough
6884 2001-10-16 16:49 bdwheele
6886 * core.ops: added opcode variants for constants and 3 arg concat
6888 2001-10-16 15:12 bdwheele
6890 * core.ops: added "set Sx,Sy" as a string copy to match the other
6891 register-to-register copies available
6893 2001-10-16 13:09 gregor
6896 * Added #include <sys/time.h> in the preamble for gettimeofday().
6898 2001-10-16 13:09 gregor
6901 * Removed cd t; make, which no longer applies
6903 2001-10-16 03:18 bdwheele
6905 * core.ops: fix save & restore operations to push correct type onto
6906 stack. [good eye to Jason Gloudon for noticing this]
6908 2001-10-16 01:38 bdwheele
6910 * core.ops, register.c, examples/assembly/fact.pasm,
6911 include/parrot/register.h: send in the clones: clone routines for
6912 parrot + example program
6914 2001-10-15 22:37 gregor
6916 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6917 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6918 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6919 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6920 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6921 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6922 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6923 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6924 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6925 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6927 renames so the names match what they demonstrate.
6929 2001-10-15 22:18 gregor
6931 * core.ops, t/test.pasm:
6932 * time_n uses gettimeofday() to get sub-second times.
6934 * t/test.pasm uses time_n directly rather than doing int stuff
6936 converting to num later.
6938 2001-10-15 12:28 gregor
6940 * t/: test.pasm, test2.pasm, trace.pasm:
6941 * t/test.pasm prints using string constants instead of string
6944 * t/test2.pasm assembles (using implicit op modes)
6946 * t/trace.pasm updated for new behavior of trace_ic, which does
6948 require an 'end' after 'trace'.
6950 2001-10-15 00:47 gregor
6952 * core.ops, interpreter.c, test_main.c,
6953 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
6956 * New runops cores to handle profiling
6958 * Support for -p flag in test_prog to enable profiling
6960 * New profile_ic op to control profiling at run-time
6962 2001-10-14 21:54 gregor
6964 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
6965 lib/Parrot/OpsFile.pm: Integrated op documentation.
6967 * core.ops now contains POD documentation of ops, interspersed
6971 * Ops are organized into POD =head2 sections
6973 * Parrot/OpsFile.pm now treats the preamble of the ops file as
6975 up to the first POD directive OR op definition.
6977 * docs/Makefile now generates core_ops.pod from core.ops vi
6980 2001-10-14 11:58 simon
6983 Unbreak Digital Un^W^WTru64
6985 2001-10-14 11:00 simon
6990 2001-10-14 10:56 tom
6992 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
6993 op_info.c no longer exists and op.h is no longer a generated file.
6995 2001-10-14 10:54 tom
6997 * Makefile.in: Added vtable.h to the list of things removed by the
7000 2001-10-14 01:43 gregor
7002 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
7003 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
7004 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
7005 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
7006 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
7007 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
7008 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
7009 include/parrot/.cvsignore, include/parrot/interp_guts.h,
7010 include/parrot/interpreter.h, include/parrot/op.h,
7011 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
7012 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
7013 t/op/stacks.t, t/op/string.t, t/op/trans.t:
7016 * basic_opcodes.ops and opcode_table replaced by core.ops
7018 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
7019 and ops2c.pl. These convert *.ops to *_ops.c and
7020 include/parrot/oplib/*_ops.h
7022 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
7024 * disassemble.pl modified to use
7026 * interpreter.c modified to use structures in core_ops.c instead
7027 of the old op_info and op_func stuff. We're not yet to the
7028 point of handling multiple oplibs at a time, but we are getting
7031 Fingerprinting stuff disabled for now. We used to go off
7032 opcode_table. We need to rethink this. I have some ideas to
7033 make it unnecessary, but it remains to be seen whether others
7034 will like the direction they take us.
7036 Termination condition for while(){} loop in runops is now
7037 (pc) instead of (*pc). Any op can cause a HALT by returning
7038 a NULL pointer. Ops end, bounds and trace all do this. So, now
7039 the 'end' op body is actually executed, although all it does
7042 * Makefile.in modified to perform a test build using pbc2c.pl,
7043 which is the bytecode --> C compiler I've posted to the
7046 * Op full names are now autogenerated. Op root names must not
7047 contain underscores, so some op renamings have happened.
7048 Such as clear_i becoming cleari.
7050 2001-10-13 11:49 simon
7052 * Configure.pl, MANIFEST:
7053 Make parrot actually build again.
7055 2001-10-12 21:34 dan
7057 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
7060 2001-10-12 20:56 dan
7062 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
7063 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
7064 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
7065 generic stack now in. We also have subroutines, of a simple sort!
7067 2001-10-12 19:15 tom
7069 * t/op/string.t: Improved string comparison tests try all string
7070 combinations with each of the comparison ops.
7072 2001-10-12 19:09 dan
7074 * interpreter.c: Properly sets up generic stack now
7076 2001-10-12 19:09 dan
7078 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7079 interpreter structure
7081 2001-10-12 18:59 dan
7083 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7084 changes to get the generic stack working
7086 2001-10-12 18:59 dan
7088 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7089 hints/vms.pl: Made the changes to figure out mask bits for various
7090 register and stack chunks
7092 2001-10-11 22:09 dan
7094 * docs/parrot_assembly.pod: Tossed the parameter for return
7096 2001-10-11 19:28 tom
7098 * strnative.c: Assignment, not comparison. (Plus formatted for
7101 Courtesy of Bryan C. Warnock
7103 2001-10-10 19:21 tom
7105 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7106 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7107 include/parrot/string.h, t/op/string.t: Added support for string
7108 comparisons and extended the comparison ops to include comparison
7111 2001-10-10 17:58 dan
7113 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7115 2001-10-10 17:54 dan
7117 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7118 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7119 vtable type entries properly
7121 2001-10-10 15:37 dan
7123 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7124 parse new vtable.tbl file now that I've actually checked *in* the
7125 new format vtable.tbl file...
7127 2001-10-10 15:32 dan
7129 * vtable.tbl: New Column to indicate the type of the vtabel entry
7130 so we can know how many slots it takes
7132 2001-10-10 05:26 thgibbs
7134 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7135 allow parrot to compile. PACKAGE is not defined, therefore, I
7136 added a struct before it to have it not complain until we define
7137 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7138 semicolon at the end of the struct declaration.
7140 2001-10-10 05:09 thgibbs
7142 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7143 string constants of the form U"string" become unicode encoded
7144 parrot strings and the form N"string" become native encoded parrot
7147 Courtesy of: Tom Hughes <tom@compton.nu>
7149 2001-10-10 04:55 dan
7151 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7152 support for generating the vtable function table offset macros
7154 2001-10-10 01:05 simon
7157 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7158 compiles into the mod op, not the cmod_i op, hence wasn't testing
7159 what it thought it was.
7161 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7163 2001-10-09 03:45 thgibbs
7165 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7166 assembler to generate unicode strings.
7168 Courtesy of: Tom Hughes <tom@compton.nu>
7170 2001-10-08 19:30 brentdax
7172 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7173 info for Parrot::Config to remember, more flexible test.c stuff
7175 2001-10-08 15:04 gregor
7177 * basic_opcodes.ops:
7178 * Removed trash from early mod_i experiments (pardon our dust)
7180 2001-10-08 14:56 gregor
7182 * basic_opcodes.ops:
7183 * Fixed a couple of typos.
7185 2001-10-08 14:45 gregor
7187 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7188 Arithmetic enhancements:
7190 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7192 NOTE: This "uncorrected mod" algorithm uses the C language's
7194 mod operator (x % y), which is
7196 ... the remainder when x is divided by y, and thus is zero
7200 The direction of truncation for / and teh sign of the
7202 are machine-dependent for negative operands, as is the
7204 on overflow or underflow.
7210 ... if the second operand is 0, the result is undefined.
7212 is always true that (a/b)*b + a%b is equal to z. I both
7214 non-negative, then teh remainder is non-negative and
7216 divisor; if not, it is guaranteed only that the absolute
7218 remainder is smaller than the absolute value of the
7223 This op is provided for those who need it (such as
7225 applications with heavy use of mod, but using it only with
7227 arguments), but a more mathematically useful numeric mod based
7229 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7231 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7233 Language*, Second Edition. Prentice Hall, 1988.
7235 * Added "corrected" mod_i:
7237 NOTE: This "corrected mod" algorithm is based on the C code on
7239 of [1]. Assuming correct behavior of C's built-in mod operator
7241 positive arguments, this algorithm implements a mathematically
7243 version of mod, defined thus:
7245 x mod y = x - y * floor(x / y)
7247 For more information on this definition of mod, see section 3.4
7253 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7254 Millennium* Springer, 1999.
7256 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7258 Mathematics*, Second Edition. Addison-Wesley, 1994.
7260 * Added mod_n, using the same formula as above, but with FLOATVAL
7263 * Added cmod_n, using the C math library's fmod() function:
7265 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7267 fmod() function, which computes
7269 ... the remainder of dividing x by y. The return value is x
7271 where n is the quotient of x / y, rounded towards zero to
7274 -- fmod() manpage on RedHat
7277 In addition, fmod() returns
7279 the remainder, unless y is zero, when the function fails
7283 According to page 251 of [1], the result when y is zero is
7287 This op is provided for those who need it, but a more
7289 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7291 defined with y == 0 is provided by the mod_n op.
7293 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7295 Language*, Second Edition. Prentice Hall, 1988.
7297 * Added and modified tests as appropriate for the above.
7299 2001-10-08 08:49 thgibbs
7301 * include/parrot/exceptions.h, include/parrot/parrot.h,
7302 include/parrot/string.h, include/parrot/strutf16.h,
7303 include/parrot/strutf32.h, include/parrot/strutf8.h,
7304 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7305 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7306 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7307 strings for utf8, utf16, and utf32.
7309 Courtesy of: Tom Hughes <tom@compton.nu>
7311 2001-10-08 08:10 thgibbs
7313 * memory.c: Fixed uninitialized variables.
7315 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7317 2001-10-08 01:21 gregor
7319 * packfile.c: * Casting a return value
7321 * Potential uninitialized variable fix
7323 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7325 2001-10-08 01:15 gregor
7327 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7328 a few tweaks of my own):
7332 * Printf format fixes
7334 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7336 2001-10-07 22:39 thgibbs
7338 * build_interp_starter.pl: No longer adds (void*) casts to
7339 interp_guts.c function table as they are not necessary in ANSI C.
7341 2001-10-07 16:27 gregor
7343 * basic_opcodes.ops, interpreter.c, opcode_table,
7344 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7346 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7347 interpreter->flags and set interpreter->resume_addr.
7349 * Two new runops core variants, so now we cover the relevant
7350 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7352 * Runops core selection that converts the flags into an index
7354 a core table (runops_cores) to get the core function pointer.
7356 * A new trace_op variant that doesn't do bounds checking (used by
7357 the non-bounds-checking-but-tracing runops core).
7359 * PC is passed into the cores so that they can be used when
7360 resuming (they used to assume starting at the beginning of the
7361 code, which would thwart resumption).
7363 * runops() itself is changed to have a while() loop in it so that
7364 any time we drop out of the core, we'll resume if we have an
7365 interpreter->resume_addr set (after reselecting the core,
7368 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7369 interpreter->resume_addr. This is used by the new ops. The new
7370 ops still return the new PC as the next op (which MUST be an
7371 'end' op to force the core loop to terminate -- *pc being false
7372 is the only termination condition we can count on for all
7375 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7376 bounds checking core selection.
7378 * test_prog now has a '-b' flag in addition to the '-t' flag.
7380 bounds checking is off by default (I saw a performance boost:
7381 6.3 Mop/s with -b, 7.0 Mop/s without).
7383 * A new sample/test program: t/trace.pasm that twiddles the trace
7384 flag while it is running.
7386 2001-10-07 15:41 gregor
7388 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7389 include/parrot/.cvsignore, include/parrot/interpreter.h:
7390 Now that 0.0.2 is released, I can clear out the backlog of approved
7391 but uncommitted patches. Here's one Dan approved on 2001-09-21
7394 * test_prog and pdump are linked with only the files the need,
7398 * build_interp_starter.pl writes out op_info.[hc], too. These
7400 contain op name, arg count and arg type information. This will
7402 useful for multiple things in the future, including better
7404 output and the crystalizing loader.
7406 * The DO_OP macro is now simpler and doesn't require explicit
7409 * interpreter.c is modified to use the new op info in tracing
7412 * The interpreter just points its opcode_funcs and opcode_info
7413 members at the default tables rather than allocating memory on
7416 2001-10-07 03:58 thgibbs
7418 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7419 comment and adding vtable.h to .cvsignore as it is produced by
7422 2001-10-06 20:58 thgibbs
7424 * vtable.tbl: Added * to REGEX type.
7426 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7428 2001-10-06 13:41 simon
7430 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7431 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7432 Framework for vtable functions.
7434 2001-10-06 06:52 thgibbs
7436 * make_op_header.pl: Removed confusing and unused typedef.
7438 2001-10-06 06:31 thgibbs
7440 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7443 2001-10-06 06:26 thgibbs
7445 * disassemble.pl: Changed intval to op in disassembler.
7447 2001-10-06 06:21 thgibbs
7449 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7450 Assembler, local labels, and integer constants.
7452 2001-10-06 03:11 ask
7454 * Makefile.in: make `make test` actually run the tests on
7457 2001-10-06 02:04 thgibbs
7459 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7460 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7461 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7462 include/parrot/register.h, lib/Parrot/Assembler.pm,
7463 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7464 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7465 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7468 2001-10-06 02:02 thgibbs
7470 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7471 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7472 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7473 include/parrot/register.h, lib/Parrot/Assembler.pm,
7474 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7475 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7476 t/op/integer.t: oops...this messed something up. I must have
7477 missed something in the patch...I have reverted.
7479 2001-10-06 01:57 thgibbs
7481 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7482 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7483 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7484 include/parrot/register.h, lib/Parrot/Assembler.pm,
7485 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7486 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7487 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7488 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7489 This patch ensures that all bytecode is of type opcode_t except for
7490 the constant table constants. That means that almost all of the
7491 INTVALs in the code were replaced with opcode_t and the i pack type
7492 was replaced with the op pack type in calls to pack_arg and such.
7493 Also, since it has been declared that ALL integer constants are to
7494 be 32 bits, some test cases were changed to ensure that an integer
7495 constant was no bigger than 2 ** 31.
7497 process_opfunc.pl was also cleaned up to no longer look at either
7498 opcode_table or interp_guts.h but gather all of its information
7501 The Assembler.pm module was changed to do late binding of arguments
7502 so that 0 could be treated like 0.0 without having to be so
7503 declared. Also, only strings now use the [sc:N] intermediate form
7504 as it was unnecessary for integer and float types.
7506 2001-10-05 21:59 gregor
7508 * MANIFEST, languages/jako/Makefile:
7509 Fixed things due to the movement of little_languages/* to
7512 2001-10-05 18:31 gregor
7515 Updated MANIFEST to reflect recent additions for Jako.
7517 2001-10-05 17:54 gregor
7519 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7520 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7521 mops.jako, primes.jako, sub.jako:
7524 * User-defined subroutines.
7525 * Generates assembly code with the Jako code in comments.
7526 * "end;" no longer required at the end of programs.
7527 * Better handling of const-reg and reg-const.
7528 * Optimizes const-const operations to compile-time
7530 * Constants in addition to variables.
7532 * Allow leading minus signs in integer and number constants
7536 * New sample programs:
7538 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7540 * mandelbrot.jako (based on Leon Brocard's translation of
7541 Glenn Rhodes' C code)
7542 * mops.jako (based on t/test.pasm)
7543 * primes.jako (based on Leon Brocard's primes.pasm example)
7544 * sub.jako (demonstrates a simple user-defined subroutine)
7546 2001-10-05 12:54 gregor
7548 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7549 * Removed mysterious extra copy of code after POD.
7551 2001-10-05 12:46 gregor
7553 * basic_opcodes.ops, t/op/string.t:
7554 * Enabled the previously SKIPped test of printing string regs
7558 * Made print_s do nothing if the STRING pointer in the register
7562 2001-10-04 21:19 dan
7564 * Configure.pl: VMS tweaks
7566 2001-10-04 21:17 dan
7568 * hints/vms.pl: Hints file for VMS
7570 2001-10-04 00:58 bdwheele
7572 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7573 Assembler which stopped equates from working.
7575 2001-10-03 21:50 gregor
7577 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7579 * More documentation updates for the packfile stuff.
7581 2001-10-03 21:37 gregor
7583 * docs/parrotbyte.pod:
7584 * Pointed the reader at Parrot::PackFile.
7586 2001-10-03 21:34 gregor
7588 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7589 * Updated documentation to match current implementation.
7591 2001-10-03 18:30 gregor
7593 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7594 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7595 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7597 * Added new syntax to the assembler to allow square-bracket
7598 arithmetic expressions involving (global) labels, the current
7599 instructions base address ('@'), numeric constants (not
7601 and basic arithmetic operators (+, -, *, / -- although + and -
7602 are likely to be the only ones used in practice).
7604 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7606 fail (argument passing wasn't working).
7608 * Enabled t/op/basic.t's last test, which is actually a copy of
7610 code from t/call.pasm. Now all tests there are enabled and
7613 * Added new example/test program t/call.pasm to demonstrate
7615 macros and poor-man's subroutine calls
7617 * Added header comments to t/*.pasm
7619 2001-10-03 18:00 simon
7622 Needed, since it's in the MANIFEST.
7624 2001-10-03 17:56 simon
7626 * t/op/: string.t, time.t:
7627 Small fixes to help Win32 on its way.
7629 2001-10-03 17:41 simon
7634 2001-10-03 17:39 simon
7636 * MANIFEST, NEWS, README:
7637 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7640 2001-10-03 17:21 simon
7642 * basic_opcodes.ops, interpreter.c, packfile.c:
7643 Evil printf bandaid (which allows Sparc64 to pass tests)
7645 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7647 2001-10-03 16:58 simon
7649 * string.c, t/op/string.t:
7650 chop fixes for n < 0 and tests
7652 Courtesy of: Alex Gough <alex@rcon.org>
7654 2001-10-03 15:51 thgibbs
7656 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7658 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7660 2001-10-02 17:48 dan
7662 * include/parrot/stacks.h: Fix typo in function name
7664 2001-10-02 17:35 dan
7666 * include/parrot/stacks.h: changed to support new stack stuff
7669 2001-10-02 15:01 simon
7671 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7672 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7673 process_opfunc.pl, register.c, string.c, strnative.c,
7674 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7675 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7676 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7677 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7678 include/parrot/memory.h, include/parrot/packfile.h,
7679 include/parrot/parrot.h, include/parrot/register.h,
7680 include/parrot/stacks.h, include/parrot/string.h,
7681 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7685 2001-10-02 12:49 gregor
7687 * process_opfunc.pl:
7688 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7690 2001-10-02 12:40 simon
7692 * basic_opcodes.ops, process_opfunc.pl, register.c,
7693 include/parrot/register.h:
7694 Move preprocessing of register accessors to process_opfunc.pl
7696 Courtesy of: Jason Gloudon <perl@gloudon.com>
7698 2001-10-02 01:20 ask
7700 * README: add a few lines about lists.
7702 2001-10-01 23:00 brentdax
7704 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7705 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7707 2001-10-01 22:50 brentdax
7709 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7711 2001-10-01 21:51 simon
7713 * process_opfunc.pl:
7714 Michael Fischer's patch broke conditionals.
7716 2001-10-01 15:38 simon
7718 * process_opfunc.pl:
7719 Small hack to keep process_opfunc.pl from generating extra return()
7722 Courtesy of: Michael Fischer <michael@visv.net>
7724 2001-10-01 15:32 simon
7726 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7729 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7731 2001-10-01 01:49 simon
7734 Simon is an idiot. Don't trust him with your code.
7736 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7738 2001-10-01 00:59 simon
7740 * Parrot/String.pm, lib/Parrot/String.pm:
7741 Was in manifest, but not in CVS.
7743 2001-09-30 21:25 simon
7745 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7746 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7747 Parrot/Assembler.pm, Parrot/PackFile.pm,
7748 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7749 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7750 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7751 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7752 include/parrot/packfile.h, include/parrot/string.h:
7753 Move NVs to the constant table. * Changes to Types_pm.in to make
7754 life easier for some of the packing/etc. I'm doing elsewhere.
7755 Also, we now pack 'n' as 'i'.
7757 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7758 eventually we can use all these tools together inside scripts
7759 rather than call out to the shell to run the programs.
7761 * As I was tracking down problems, I converted the internal
7762 documentation of the assembler to POD from comments.
7764 * Changed the numeric regexp in the assembler to detect leading
7765 signs and trailing exponents.
7767 * Updated basic_opcodes.ops to fetch numeric constants from the
7770 * Enhanced the disassembler in a number of ways to make my life
7771 easier while tracking down bugs (try it out). It now puts in
7772 labels for ops that are the destinations of flow control ops.
7774 * packfile.c now has a TRACE_PACKFILE switch that can be set
7775 to get it to print info as it processes. I needed this while
7776 debugging, but I can remove it or change it before committing
7779 * Updated pdump.c because it was missing a call to init_world().
7781 * Updated process_opfunc.pl to deal with numeric constants
7782 being stored in the constant table instead of inline.
7784 * Added multiple type support to Parrot/PackFile/Constant.pm
7786 * Added Parrot/String.pm, to be used for constants.
7788 * Added packfile.[hc] functions for allocating new constants
7791 * Made string_copy visible to the world in parrot/string.h.
7795 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7797 2001-09-29 15:56 gregor
7799 * languages/jako/Makefile:
7800 Removed assumption that '.' is on the path.
7802 2001-09-29 15:55 gregor
7804 * languages/jako/Makefile:
7805 Removed references to leibnitz test program.
7807 2001-09-29 15:21 thgibbs
7809 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7810 math ops args to work on Solaris.
7812 2001-09-27 15:15 thgibbs
7814 * assemble.pl: Added case insensitive matches to hex and binary
7817 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7819 2001-09-27 04:46 thgibbs
7821 * assemble.pl: This patch makes integer constants of the form
7822 0b[01]+ work with perl 5.005. The oct function in versions of perl
7823 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7824 returning 0. To fix this, I added a from_binary function that
7825 would take a binary string and return its decimal representation.
7826 Now, instead of blindly calilng oct, it makes a distinction between
7827 0/0x numbers and 0b numbers.
7829 2001-09-26 19:30 thgibbs
7831 * assemble.pl: Error now returns a non-zero status
7833 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7835 2001-09-26 19:13 gregor
7837 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7838 interpreter.c, packfile.c, pdump.c, test_main.c,
7839 include/parrot/bytecode.h, include/parrot/interpreter.h,
7840 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7842 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7843 packfile/bytecode file from C. May be renamed in the future.
7845 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7846 of 'PackFile *', just like the interpreter, etc.
7848 * Constants are accessed via the interpreter's 'code' member
7849 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7850 provided to access constants by index and the number of
7851 constants, respectively (assumes a variable 'interpreter' of
7852 the appropriate type is in scope).
7854 * Byte Code is accessed via the interpreter's 'code' member.
7856 * Changed PackFile_Constant to point to a STRING instead of
7858 members for the string_make() arguments. Also has a 'type' IV
7859 in preparation for allowing multiple types of constants in
7862 * Removed hardcoded example program from test_main.c. We have
7863 plenty of test programs elsewhere.
7865 * test_prog now uses a PackFile to deal with the program before
7866 sending it on to the interpreter.
7868 * Added missing 'end' ops to some tests in t/op/integer.t and
7871 2001-09-26 18:38 thgibbs
7873 * assemble.pl: Separated code into functions and added comments.
7875 2001-09-26 18:29 simon
7878 Fix 64-bit chunk-base issue.
7880 2001-09-26 06:55 thgibbs
7882 * t/op/bitwise.t: Added end to bitwise tests.
7884 2001-09-26 00:54 dan
7886 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7887 and interpreter creation. Skeleton only, but it's something to peer
7890 2001-09-25 21:44 thgibbs
7892 * t/op/trans.t: Removed loops in transcendtal op test.
7894 2001-09-25 10:12 simon
7896 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7897 t/op/string.t, t/op/time.t:
7900 Courtesy of: Alex Gough <alex@rcon.org>
7902 2001-09-24 19:08 gregor
7905 * Enabled the clear_n test.
7907 2001-09-24 18:56 gregor
7909 * Parrot/.cvsignore:
7910 * Ignore the generated Types.pm file.
7912 2001-09-24 18:52 gregor
7914 * languages/jako/Makefile, t/op/number.t:
7915 * No need to skip the inc and dec numeric tests anymore. I fixed
7917 assembler earlier today.
7919 2001-09-24 18:21 simon
7921 * MANIFEST, t/op/stacks.t:
7924 2001-09-24 18:19 simon
7926 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7927 include/parrot/exceptions.h, include/parrot/interpreter.h,
7928 lib/Parrot/Test.pm, t/op/string.t:
7929 1) captured error output, so can test errors, this might be bad,
7930 not sure. 2) basic tests for register stack frames, including some
7931 errors 3) I think we can stop skipping one of the string tests 4) I
7932 added some more substr tests, but substr was broken, so 5) changed
7933 substr to work with out of range values, or 6) throw an error if
7934 they're far too silly
7936 Courtesy of: Alex Gough <alex@rcon.org>
7938 2001-09-24 17:27 gregor
7940 * basic_opcodes.ops, opcode_table, t/op/number.t:
7941 * Op set_n was missing. Added it and a test for it. We now have
7943 same int and num ops, except mod is int-only.
7945 2001-09-24 17:01 gregor
7948 * Fixed a typo: s/Line/line/
7950 2001-09-24 16:02 gregor
7952 * basic_opcodes.ops:
7953 * Fixed dec_n_nc opcode, which had += where it should have had
7956 2001-09-24 15:34 gregor
7959 * Fixed handling of constants starting with '0' that should not
7961 sent through oct(). For example 'set N2 0.1' was being
7963 as 'set N2 0' (naughty).
7965 As reported by Leon Brocard <acme@astray.com> in the comments
7967 his mandelbrot.pasm example.
7969 2001-09-24 02:21 bdwheele
7971 * assemble.pl: fixed dumb code when --include was not specified.
7973 2001-09-24 02:17 simon
7978 2001-09-24 01:56 bdwheele
7980 * assemble.pl: * Added --include=dir option to assembler to provide
7981 a path to look for included files. * Error message of a macro is
7982 defined inside of a macro
7984 2001-09-23 21:29 bdwheele
7986 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
7988 2001-09-23 15:50 simon
7991 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
7993 2001-09-23 02:03 ask
7995 * Configure.pl, test_c.in: fix missing newline at the end of test.c
7996 Courtesy of: acme@astray.com (Leon Brocard)
7998 rename 'test' executable used in Configure process to test_siz.
8000 2001-09-23 01:03 simon
8002 * process_opfunc.pl:
8003 iPaq fix. No, really.
8005 2001-09-23 00:47 simon
8008 Missed several, in fact.
8010 2001-09-23 00:46 simon
8015 2001-09-22 21:13 simon
8018 Assembler register numbering rigour.
8020 Courtesy of: Leon Brocard <acme@astray.com>
8022 2001-09-22 18:20 simon
8024 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
8026 I'm sick of having to install Test::More everywhere. Temporary
8027 measure until we remove this silly dependency.
8029 Also a typo in Makefile.in which suggests some things were only
8030 happening correctly by sheer chance. :)
8032 2001-09-22 18:06 simon
8035 test.pasm is dead, long like make test.
8037 2001-09-22 17:47 simon
8040 De-fang overzealous floating point test.
8042 2001-09-22 17:39 simon
8044 * process_opfunc.pl:
8045 Remove hard-coded NV size assumption. Tru64 is nearly there!
8047 2001-09-22 17:18 simon
8049 * assemble.pl, disassemble.pl:
8050 More portability fixups.
8052 2001-09-22 16:44 simon
8054 * assemble.pl, Parrot/PackFile/Constant.pm,
8055 lib/Parrot/PackFile/Constant.pm:
8056 And I *think* this fixes Tru64.
8058 2001-09-22 16:37 simon
8060 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
8064 2001-09-22 16:36 simon
8066 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8067 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
8068 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8070 More removal of hard-coded pack formats.
8072 2001-09-22 15:21 simon
8076 Grrr. Why isn't this working?
8078 2001-09-22 15:18 simon
8080 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8081 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8083 Make assemble use the PackFile modules; also fixed some bugs in
8086 2001-09-22 14:38 simon
8088 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8090 Abstract the argument and opcode packing types and functions out
8091 into a separate module. This *should* help us maintain consistency
8092 when we change the various types.
8094 2001-09-22 00:46 brentdax
8096 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8097 test program finishes.
8099 2001-09-21 21:24 brentdax
8101 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8102 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8104 2001-09-21 21:09 gregor
8106 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8107 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8109 * Fixed pad calculation (similar to recent bug fix on C library)
8111 2001-09-21 20:23 simon
8114 Pack types and sizes have gone askew.
8116 2001-09-21 20:18 brentdax
8118 * Configure.pl: Fix typo in setting stuff from the C test program
8120 2001-09-21 10:25 simon
8122 * basic_opcodes.ops, process_opfunc.pl:
8125 Courtesy of: Leon Brocard <acme@astray.com>
8127 2001-09-21 06:06 ask
8129 * Config_pm.in, assemble.pl: fix 5.005_03.
8131 2001-09-21 06:03 ask
8133 * Configure.pl: make the ivsize detection work for us normal people
8134 without . in our PATH. :-)
8136 2001-09-21 05:56 brentdax
8138 * test_main.c: Change _read to read for portability to Tru64
8139 (Damien Neil <neild@misago.org> and likely many others)
8141 2001-09-21 05:46 ask
8143 * Makefile.in: "update" target to update from cvs.
8145 2001-09-21 05:44 brentdax
8147 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8149 2001-09-21 02:43 brentdax
8151 * Configure.pl: Fix a typo that forced the -g flag on
8153 2001-09-20 22:41 dan
8155 * packfile.c: Had some no-value returns. Naughty
8157 2001-09-20 22:40 dan
8159 * t/test.pasm: Added labels to output
8161 2001-09-20 15:39 simon
8163 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8165 This patch does two only somewhat related things.
8167 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8168 = 2*sizeof(iv) to a PConfig-type computed value.
8170 Parrot/Test.pm: Change it to run with the perl that was used to
8171 generate this version of Parrot. This is useful if, for example,
8172 you want to use bleadperl to build and test parrot (e.g. to try out
8173 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8174 installed as the default 'perl' on your system. Since perl-5.7.x
8175 is installed 'version-only', a plain 'perl' is quite likely to pick
8176 up the older perl in such cases. Such an older perl might well not
8177 understand pack('q') used in the assembler.
8179 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8181 2001-09-20 15:14 gregor
8184 * Fixed a typo in pad calculation that throwing off unpack and
8187 2001-09-20 15:03 thgibbs
8189 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8190 tests now cover all registers.
8192 Courtesy of: Damien Neil neild@misago.org
8194 2001-09-20 14:48 thgibbs
8196 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8199 2001-09-20 14:35 simon
8201 * Configure.pl, assemble.pl:
8204 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8206 2001-09-20 14:06 gregor
8208 * languages/jako/jakoc:
8209 * Fixed a tyop in the string interpolation regex.
8211 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8213 2001-09-20 13:56 gregor
8215 * languages/jako/jakoc:
8216 * Updated jakoc to work with the single-destination comp ops.
8218 2001-09-20 05:08 bdwheele
8220 * assemble.pl: macro expansion. Here's the test macro I was using:
8222 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8223 label. testi macro num,got,want print "Test #"
8224 print num print "..." set I32,want set
8225 I31,got eq I32,I31,$ok print "NG\n" branch
8226 $end $ok: print "OK\n" $end: endm
8230 Test1: testi 1,I3,I2
8232 2001-09-20 03:52 dan
8234 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8235 generic stack support
8237 2001-09-20 02:49 bdwheele
8239 * assemble.pl: Added include processing to assemble.pl the syntax
8240 is: include 'file.to.include'
8242 2001-09-19 23:57 thgibbs
8244 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8245 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8246 function to only use 2 args, but the opcode_table still had three
8247 listed. Fixed integer.t and number.t to use the new comparison
8248 operators. Improved assemble.pl ability to grok operators by
8249 constructing a function set and comparing operator types.
8251 2001-09-19 22:42 dan
8253 * assemble.pl: Binmodes the output filehandles now. (No more
8254 bytecode munching...)
8256 2001-09-19 22:32 dan
8258 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8259 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8260 conditional branches take a single argument, and fall through
8263 2001-09-19 21:19 thgibbs
8265 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8268 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8270 2001-09-19 21:04 thgibbs
8272 * include/parrot/interpreter.h, Configure.pl,
8273 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8274 process_opfunc.pl: Changed opcode_t from a union to a configurable
8277 2001-09-19 20:54 thgibbs
8279 * assemble.pl: Missed a couple of changes for 64 bit portability.
8281 2001-09-19 20:37 gregor
8283 * packfile.c, include/parrot/packfile.h:
8284 * Added "methods" for setting and getting all the various
8286 probably sufficient for an assembler to use the library.
8288 2001-09-19 20:04 thgibbs
8290 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8291 a 64 bit platform manually change the setting for 'i' from 'l' to
8292 'q'. This should be automatically done by a Configure setting in
8295 2001-09-19 19:10 thgibbs
8297 * config_h.in: changed c++ comment to c comment.
8299 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8301 2001-09-19 17:48 gregor
8303 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8304 include/parrot/packfile.h:
8305 * C code for dealing with PackFiles as if they were objects.
8307 read-only interface for now, but it would not be hard to make
8309 read-write. [packfile.c, include/parrot/packfile.h]
8311 * PackFile Dumping program that falls short of disassembling, but
8312 tests the above code and provides a hex listing of the byte
8314 contents of the PackFile. [pdump.c]
8316 * New Makefile target 'pdump' for the above program, and related
8317 Makefile.in changes.
8319 * Updated MANIFEST to reflect the added files
8321 * Update .cvsignore to ignore pdump.
8323 2001-09-19 14:55 thgibbs
8325 * MANIFEST: Added number.t and trans.t to MANIFEST
8327 2001-09-19 05:40 thgibbs
8329 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8330 of union opcode_t. I hope this will be more portable for set_n_nc.
8332 2001-09-19 05:39 thgibbs
8334 * t/op/integer.t: Added end to test 1.
8336 2001-09-19 00:09 thgibbs
8338 * t/op/number.t: Added end to each test
8340 2001-09-19 00:00 simon
8345 Courtesy of: Damien Neil <neild@misago.org>
8347 2001-09-18 23:52 thgibbs
8349 * interpreter.c: Added casts to appropriate types to make -Wall not
8350 complain on certain printf formats
8352 2001-09-18 23:31 thgibbs
8354 * t/op/integer.t: Added end to each test.
8356 2001-09-18 22:54 thgibbs
8358 * t/op/trans.t: Added trans.t for transcendental math function
8361 2001-09-18 22:28 simon
8364 MANIFEST updates. (And notice how I carefully snuck in the
8365 t/op/integer.t there...)
8367 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8369 2001-09-18 22:26 simon
8371 * t/: integer.t, op/integer.t:
8372 Except it doesn't go there. Duh.
8374 2001-09-18 22:25 simon
8377 Tests for integer ops.
8379 Courtesy of: Damien Neil <neild@misago.org>
8381 2001-09-18 22:03 thgibbs
8383 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8384 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8385 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8386 opcode_t union for operators. This required a few perl script
8387 changes to output the correct type. There were also some changes
8388 to allow -pedantic in gcc
8390 2001-09-18 21:07 gregor
8392 * disassemble.pl, Parrot/PackFile.pm,
8393 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8394 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8395 lib/Parrot/PackFile/Constant.pm:
8396 Converted the disassembler to use the Parrot::PackFile Perl classes
8399 2001-09-18 19:18 brentdax
8401 * Makefile.in: Fix missing functions for real this time. (I
8404 2001-09-18 18:49 brentdax
8406 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8407 <doughera@lafayette.edu>}
8409 2001-09-18 18:47 brentdax
8411 * Makefile.in: Fix bugs with missing math, etc. functions
8413 2001-09-18 14:42 thgibbs
8415 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8418 2001-09-18 13:59 thgibbs
8420 * strnative.c: Removed unnecessary IV cast in concat.
8422 2001-09-18 13:58 thgibbs
8424 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8425 to concat test in string.t
8427 2001-09-18 12:07 gregor
8429 * languages/jako/jakoc:
8430 * var num ... no longer requires assignment
8431 * automatic casting between int and num
8432 * Fixed an error message
8434 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8436 2001-09-18 11:57 simon
8439 Gonna have to start thinking of more things to do, soon.
8441 2001-09-18 10:42 simon
8444 Introduce a little more tidiness into the opcode table.
8446 2001-09-18 03:06 gregor
8448 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8449 Resurrected register-const ops per Dan's request.
8451 2001-09-18 02:20 gregor
8453 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8454 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8455 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8456 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8457 Committed some files that were missed in the last *.h moving
8460 2001-09-18 02:17 gregor
8462 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8464 2001-09-18 02:16 gregor
8466 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8467 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8468 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8469 missed in last commit for the move of *.h to include/parrot.
8471 2001-09-18 01:32 simon
8474 Trivial "clean" target to t/Makefile.
8476 2001-09-18 01:32 simon
8478 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8479 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8480 Change icky Digest::MD5 for nice simple unpack()
8482 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8484 2001-09-18 00:35 simon
8486 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8488 New concat op. Hey, if I'm going to talk about it in an article,
8489 better implement it...
8491 2001-09-17 22:54 gregor
8493 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8494 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8495 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8496 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8498 Functions for reading, writing and manipulating Parrot Pack Files.
8499 NOTE: This is a proposed term based on the fact that the file
8500 contains more than just byte code, and another language (Java)
8501 calls its binary files by a broader notion of what's in them (Class
8502 Files). Since Perl has packages, and since we use pack() to write
8503 them, we'll call them PackFiles (at least for now).
8505 That does, however, beg the question of file extension. Should we
8506 name the files "foo.pack" instead of "foo.pbc"?
8508 2001-09-17 20:23 thgibbs
8510 * interpreter.c, test_main.c: Uncuddled else statements for coding
8513 2001-09-17 19:57 gregor
8515 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8516 Added a $revision variable, parsing of the CVS Id line in
8517 opcode_table and a &revision() subroutine.
8519 2001-09-17 19:53 gregor
8522 Added a CVS Id tag to it.
8524 2001-09-17 18:58 thgibbs
8526 * interpreter.c: Cleared interpreter flags on creation.
8528 2001-09-17 18:38 gregor
8530 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8531 interpreter.h, test_main.c:
8532 * Provides macros in interp_guts.h for setting up arrays with
8533 op names and op arg counts (done via build_interp_starter.pl).
8535 These are used in the op tracing
8537 * The functions in bytecode.[hc] pass around a pointer to the
8539 of the bytecode so that later when we get to runops, we know
8540 how much bytecode we've got and we can detect out-of-bounds
8541 jumping. The documentation is updated, too.
8543 * runops in interpreter.c now looks at interpreter->flags to
8544 decide if the core of runops should be runops_trace_core or
8545 runops_notrace_core. These new functions contain just the
8546 while-loop portion of runops. A new function runops_generic
8547 does any other setup (such as checking the bytecode
8548 fingerprint) or wrapup (such as complaining if we ended up
8549 out-of-bounds). NOTE: I didn't know what we should do for
8550 functions in here that are not part of the api, so I gave
8551 them docs with 'TODO' marks mentioning they really aren't
8552 part of the api. Guidance appreciated.
8554 * test_main.c now checks for '-t' arg and sets the tracing flag
8555 on its interpreter instance as appropriate.
8557 2001-09-17 17:47 bdwheele
8559 * assemble.pl: added some default equates, and if they're sub
8560 references, they are computed each time it is referenced.
8562 2001-09-17 16:15 dan
8566 Added flags to the interpreter structure and defined a few.
8568 2001-09-17 15:51 simon
8570 * bytecode.h, string.h:
8571 VAR_SCOPE on globals.
8573 2001-09-17 15:20 simon
8576 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8578 2001-09-17 15:05 gregor
8580 * t/jump.pasm, MANIFEST:
8581 Added a test program to demonstrate jump_i.
8583 2001-09-17 14:44 thgibbs
8585 * register.c: Fixed register pop not using correct offset (off by
8588 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8590 2001-09-17 13:56 thgibbs
8592 * interpreter.c, register.c: Added code to call Parrot_clear_s
8593 during initialization and Parrot_clear_s and Parrot_clear_p when a
8594 new stack frame is pushed.
8596 2001-09-17 13:51 gregor
8598 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8599 fib.jako, hello.jako: Added bench.pasm to "clean"
8601 2001-09-17 13:49 gregor
8603 * languages/jako/: jakoc, Makefile:
8606 2001-09-17 13:49 gregor
8608 * languages/jako/jakoc:
8611 Courtesy of: Buggs <buggs-perl6@splashground.de>
8613 2001-09-17 13:29 gregor
8615 * MANIFEST, opcheck.pl:
8616 Added an opcode_table checker to make sure that all opcodes listed
8617 there conform to a simple set of naming rules (rules themselves, of
8618 course, are subject to change).
8620 2001-09-17 13:23 thgibbs
8622 * string.c: Modified string.c to correctly use the return value of
8625 2001-09-17 05:26 brentdax
8627 * Makefile.in: Making the Makefile smarter
8629 2001-09-16 23:06 brentdax
8631 * hints/mswin32.pl: Finishing the Configure hints
8633 2001-09-16 23:05 brentdax
8635 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8636 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8637 Configure hints, 5.005 compatibility, MANIFEST checking
8639 2001-09-16 19:25 bdwheele
8641 * assemble.pl: parrot assembly equates
8643 2001-09-16 18:03 gregor
8646 Added 'test' target to run new test suite.
8648 2001-09-16 17:33 simon
8650 * basic_opcodes.ops:
8651 'not' was being !, rather than ~. Too many Perl programmers here, I
8654 Courtesy of: Tom Hughes <tom@compton.nu>
8656 2001-09-16 17:21 simon
8658 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8660 A *real* test suite!
8662 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8664 2001-09-16 16:49 gregor
8666 * basic_opcodes.ops, opcode_table:
8667 At Dan's request, my new register-constant comparison ops have been
8670 2001-09-16 16:40 gregor
8672 * languages/jako/jakoc:
8673 Fixed a copy-paste error in one of jakoc's error messages.
8675 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8677 2001-09-16 16:37 gregor
8679 * languages/jako/jakoc:
8680 Modified comparison implementation to use temporary registers in
8681 the case of register-constant and constant-register comparisons.
8682 This will allow the compiler to emit code that works when the
8683 constant-comparison ops are backed out of Parrot. If the ops ever
8684 make their way back in, then jakoc can emit more efficient code
8687 2001-09-16 16:19 bdwheele
8689 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8690 ... though not subroutine based like the documentation wants, they
8691 are local to the last non-local label defined.
8693 2001-09-16 14:02 simon
8696 And remember, when you add stuff, keep the manifest up to date.
8698 2001-09-16 02:55 ask
8700 * Makefile.in: a "shared" target for building libparrot.so
8702 2001-09-16 02:45 thgibbs
8704 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8705 global_setup.h, interpreter.c, interpreter.h, io.h,
8706 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8707 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8708 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8709 use the coding standard PDD. Also changed Perl_Interp to
8712 2001-09-16 02:21 ask
8714 * README: emphasise the bits about the license not being worked out
8717 2001-09-15 22:21 simon
8719 * process_opfunc.pl:
8720 basic_opcodes.c should *scream* that it's autogenerated.
8722 2001-09-15 21:58 gregor
8724 * languages/jako/Makefile:
8725 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8728 2001-09-15 21:58 gregor
8730 * languages/jako/: jako_compiler.pl, jakoc:
8731 Renamed the Jako compiler to jakoc from jako_compiler.pl
8733 2001-09-15 21:51 gregor
8735 * languages/jako/: Makefile, bench.jako, euclid.jako,
8737 Added a new bench.jako example based on Leon Brocard's Bench.java.
8739 Jako Compiler: * fix a bug in assignment handling * add some
8740 more conditionals to while and if * revert to using implicit
8741 opcodes in a few cases that were broken before the assembler
8742 patch went in recently.
8744 2001-09-15 21:46 gregor
8746 * assemble.pl, basic_opcodes.ops, opcode_table:
8747 New ops for register-constant INTEGER comparisons:
8749 {eq,ne,lt,le,gt,ge}_ic_ic
8751 New ops for register-register and register-constant NUMERIC
8755 {ne,lt,le,gt,ge}_{n,nc}_ic
8759 Allow uppercase and underscores in labels.
8761 Tweaks to the op infer code to make it work with the examples
8765 2001-09-15 19:16 thgibbs
8767 * README: Updated README to include Configure.pl
8769 2001-09-15 17:05 simon
8771 * build_interp_starter.pl:
8774 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8776 2001-09-15 16:45 simon
8779 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8781 2001-09-15 16:40 simon
8784 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8787 2001-09-15 12:26 simon
8790 Fixed to match the coding standards.
8792 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8794 2001-09-15 01:57 ask
8796 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8797 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8800 2001-09-15 01:48 ask
8802 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8805 2001-09-15 01:42 gregor
8807 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8809 Compiler: Added variable interpolation in double-quoted strings.
8810 Examples: Made use of variable interpolation.
8812 2001-09-15 01:28 gregor
8814 * Parrot/.cvsignore:
8815 Ignore the Config.pm generated file.
8817 2001-09-15 01:22 gregor
8819 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8820 fib.jako, hello.jako, jako_compiler.pl:
8821 gnp: Added some more sample Jako files and added many more
8822 operators to the compiler. Preparations for supporting all the Math
8825 2001-09-14 19:06 simon
8827 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8828 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8829 lib/Parrot/Opcode.pm:
8830 Move common table reading stuff to a module.
8832 Courtesy of: Damien Neil <neild@misago.org>
8834 2001-09-14 17:42 simon
8837 More .cvsignore foo.
8839 2001-09-14 17:40 simon
8841 * assemble.pl, config_h.in:
8844 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8846 2001-09-14 17:38 simon
8848 * assemble.pl, t/Makefile:
8849 Make assemble.pl look in its parent directory if the data files it
8850 needs aren't in the current one. Plus a Makefile that lets "make
8853 Courtesy of: Rocco Caputo <troc@netrus.net>
8855 2001-09-14 16:29 simon
8857 * make_op_header.pl:
8858 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8859 probably segfault everywhere else.)
8861 2001-09-14 15:58 dan
8863 * languages/jako/: euclid.jako, jako_compiler.pl:
8865 Added in the first mini-language that targets Parrot.
8867 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8869 2001-09-14 15:20 dan
8871 * memory.c: Was misaligning returned memory. Fixed.
8873 2001-09-14 15:08 simon
8875 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8876 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8877 register.c, register.h, string.c, string.h, strnative.c,
8879 Fixes to include <parrot/foo.h>
8881 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8883 2001-09-14 12:05 simon
8888 2001-09-14 12:01 simon
8893 2001-09-14 11:54 simon
8898 2001-09-14 11:45 simon
8903 2001-09-14 11:39 simon
8906 Tru64 cc doesn't like -Wall
8908 2001-09-14 10:57 simon
8910 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8911 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8912 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8913 Configure now generates Makefile
8915 Courtesy of: Brent Dax <brentdax@cpan.org>
8917 2001-09-14 10:08 simon
8922 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8924 2001-09-14 10:07 simon
8927 * uses Getopt::Long for options. -c is now --checksyntax.
8929 sure how to keep compatible (patches welcome!) * options
8930 include: --help --version
8931 --verbose --output=file
8932 --listing=file --checksyntax * produces
8933 verbose listing of what the assembler saw :) Only one nitpick with
8934 it: unknown symbols are given as 0xffffffff, unfortunately, this
8935 includes symbols which may be defined later in the file (i.e.
8938 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8940 2001-09-14 10:06 simon
8945 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8947 2001-09-14 10:03 simon
8949 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
8950 register.c, string.c, strnative.c, test_main.c:
8951 Coding standards conformance
8953 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8955 2001-09-14 09:46 simon
8958 Make the assembler grok transcendental maths again. Courtesy of:
8959 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8961 2001-09-13 17:29 simon
8964 Better opcode guessing, from Brian Wheeler. (Again!)
8966 2001-09-13 17:20 dan
8968 * docs/parrot_assembly.pod:
8970 Took out duplicate entries for iton, ntoi, and tostring.
8972 2001-09-13 17:16 simon
8974 * assemble.pl, basic_opcodes.ops, opcode_table:
8977 This patch gives the assembler support of '\a','\n','\r','\t', and
8978 '\\' in string constants.
8980 In addition, it changes (for all registers) "I reg %li is ..." to
8981 just the value of the register. Printing constants is also
8982 supported, but alas, you have to specify the type (print_sc,
8983 print_ic, print_nc).
8985 2001-09-13 15:38 simon
8988 Why don't I actually *test* this stuff before applying it, eh?
8990 2001-09-13 15:34 simon
8992 * TODO, t/euclid.pasm:
8993 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
8994 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
8997 2001-09-13 14:42 simon
9000 A new assembler, from Brian Wheeler.
9002 2001-09-13 09:44 simon
9004 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
9006 Two more from Tom Hughes: Patch to fix C++ style comments
9007 Patch to remove use of structure constant/cast
9009 2001-09-13 09:39 simon
9011 * TODO, docs/strings.pod:
9014 2001-09-13 09:36 simon
9016 * Makefile, basic_opcodes.ops:
9017 Tom Hughes Patch to link with the maths library Tom Hughes
9018 Patch to fix += on rvalue
9020 2001-09-13 08:57 simon
9023 I guess nobody's been using the nightly builds...
9025 2001-09-13 08:27 simon
9027 * assemble.pl, basic_opcodes.ops, opcode_table:
9028 Bitwise ops, from Brian Wheeler.
9030 2001-09-13 08:23 simon
9032 * .cvsignore, t/.cvsignore:
9033 .cvsignore's, from Gregor Purdy.
9035 2001-09-13 08:22 simon
9038 Euclidean test and test output rearranging from Gregor Purdy.
9040 2001-09-13 08:21 simon
9042 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
9043 Math ops from Gibbs Tanton.
9045 2001-09-13 08:14 simon
9047 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
9049 String substr op; also rearranged "encoding" to be a vtable
9050 pointer, not an array index. Haven't changed docs to reflect this,
9055 2001-09-12 19:48 dan
9057 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
9060 2001-09-12 19:39 dan
9062 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
9064 2001-09-12 19:23 dan
9066 * interpreter.h, parrot.h: Quick placeholder entry for string
9069 2001-09-12 18:58 dan
9071 * memory.c: Added in a cast to make gcc happy.
9073 2001-09-12 16:44 dan
9075 * docs/parrot_assembly.pod:
9077 PDD describing parrot's assembly language and the opcodes in it
9079 2001-09-12 14:20 dan
9082 Fixed alignment issues with allocation
9084 2001-09-12 10:54 simon
9086 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9087 make_op_header.pl, opcode_table, process_opfunc.pl:
9088 Brian Wheeler's big patch:
9090 * Changes the opcode_table file to provide additional information
9091 about the operands. Case shouldn't be a problem since that data
9092 never becomes a C symbol [this is pretty much as before]
9094 * Padding errors solved: assemble.pl and bytecode.c were padding
9095 the constants incorrectly. It should have been 4-(size % 4), not
9096 just (size % 4). It is now fixed in both places.
9098 * assembler has less special cases, and should be easier to hang
9101 * disassembler dumps constant table and the format is a bit
9102 prettier, including register names, etc.
9104 2001-09-11 23:21 dan
9106 * build_interp_starter.pl, interpreter.c:
9108 Abstracted the runops function core into a macro for easy
9111 2001-09-11 10:43 simon
9113 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9114 Configure system from Brent Dax <brentdax@cpan.org>
9116 2001-09-11 09:38 simon
9118 * assemble.pl, test.pbc:
9119 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9120 assembler deferred output
9122 Also got rid of the bytecode, since that's probably way out of
9125 2001-09-11 09:26 simon
9127 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9128 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9131 2001-09-10 23:20 simon
9134 And that move needs a MANIFEST change. So many things to remember!
9136 2001-09-10 23:18 simon
9138 * t/: test.pasm, test2.pasm, test3.pasm:
9139 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9141 2001-09-10 23:18 simon
9143 * test.pasm, test2.pasm, test3.pasm:
9146 2001-09-10 23:04 dan
9150 Register push/pop test
9152 2001-09-10 22:47 simon
9154 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9155 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9156 (Modified to avoid conflict with Dan's changes.)
9158 2001-09-10 22:45 dan
9162 Happier about blanks in opcode_table
9164 2001-09-10 22:40 dan
9166 * interpreter.c, register.c:
9168 Yanked out debugging code, since these work OK. The bug I want is
9171 2001-09-10 22:30 simon
9174 Uhm. We want make_op_header.pl. We really, really do.
9176 2001-09-10 22:26 simon
9178 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9179 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9180 opcode_table, process_opfunc.pl:
9181 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9182 This means we can add lots more opcodes without fiddling about with
9183 the numbers. Hooray!
9185 Don't forget that "end" needs to be op zero, else the interpreter
9186 falls off the end of the code. This is Bad, and I wonder if there's
9189 2001-09-10 19:49 simon
9191 * MANIFEST, make_op_table_build.pl:
9192 Hey! This doesn't do anything...
9194 2001-09-10 19:46 simon
9197 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9199 2001-09-10 18:31 simon
9202 You know what this means...
9204 2001-09-10 18:30 simon
9207 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9208 wait for a release...? :)
9210 2001-09-10 18:13 simon
9215 2001-09-10 17:56 simon
9218 A *real* README file, which doesn't claim it isn't for public
9221 2001-09-10 17:02 simon
9226 2001-09-10 16:56 dan
9228 * TODO: Added in assembler gripe. Also added a few blank lines for
9231 2001-09-10 16:49 dan
9233 * register.h, register.c: Renamed the core functions so the opcodes
9234 can find 'em OK. (There were some conflicts)
9236 2001-09-10 16:48 dan
9238 * basic_opcodes.ops, opcode_table: Added register window ops
9240 2001-09-10 11:07 simon
9245 2001-09-10 11:05 simon
9247 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9248 note "-s" flag to test prog.
9250 2001-09-10 11:01 simon
9253 New string documentation.
9255 2001-09-10 11:01 simon
9257 * basic_opcodes.ops, opcode_table:
9260 2001-09-10 10:53 simon
9265 2001-09-10 10:51 simon
9268 Just some more aliases for now. Used by string handling stuff.
9270 2001-09-10 10:50 simon
9272 * assemble.pl, bytecode.c, bytecode.h:
9273 Temporary hack to store string constants in bytecode and recreate
9276 2001-09-10 10:48 simon
9279 op.h is now generated by the Makefile; remove it.
9281 2001-09-10 10:47 simon
9284 clean and op.h Makefile targets.
9286 2001-09-10 10:45 simon
9288 * string.c, string.h, strnative.c:
9289 More string vtable stuff.
9291 2001-09-07 21:07 dan
9295 Much less picky about whitespace in the opcode_table now. (Doesn't
9296 whine on blank lines)
9298 2001-09-07 16:23 dan
9300 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9301 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9302 this takes) Added global_setup.h to declare init_world function
9304 Moved variable declarations out of the interpreter loop for small
9307 Changed end opcode to now be opcode #0. A function is provided for
9308 it, but isn't ever executed.
9310 When the interpreter sees an opcode 0 in the stream it means the
9311 end of stream. Things were coring on Cygwin otherwise. (I think I
9312 was dereferencing a zero, which is bad)
9314 2001-09-06 22:07 dan
9316 * basic_opcodes.ops, process_opfunc.pl:
9318 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9319 are minor changes now that things are in a fixed state.
9321 2001-09-06 16:13 dan
9323 * basic_opcodes.c, test_opcodes.c:
9324 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9326 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9327 should be nuked. So it is. :)
9329 2001-09-06 03:35 dan
9331 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9332 Scripts to build the header file that holds the function table
9333 creation code, as well as the script to turn an opcode file to C
9334 source. (And the basic opcode functions turned into an opcode
9337 2001-09-06 03:31 dan
9339 * Makefile, interpreter.c:
9340 Changes to support the autogeneration of the opcode function
9341 pointer table in interpreter.c, along with the changes to the
9344 2001-09-05 13:27 simon
9346 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9347 docs/parrotbyte.pod, docs/vtables.pod:
9348 Added stubs for the documents; working on them this week. (What's
9349 left of it.) config.h change is just to type VTABLE, and the
9350 bytecode thing you might want to revoke. It's apidoc for the
9353 2001-09-03 18:26 simon
9356 A start on the string API documentation.
9358 2001-09-03 17:43 simon
9361 Since we specify the opcode number, we can rearrange to a more
9362 human-friendly ordering.
9364 2001-09-03 17:42 simon
9367 Coupl'a logic bugs. (I think)
9369 2001-09-03 17:41 simon
9371 * string.c, string.h, strnative.c:
9372 Tidying up the string vtables.
9374 2001-09-03 17:38 simon
9376 * make_op_header.pl:
9377 Spit out the whole of op.h, not just the bit in the middle.
9379 2001-08-29 13:16 ask
9381 * README: it seems like we indeed can commit. What about sending
9384 2001-08-29 13:07 simon
9386 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9387 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9388 global_setup.c, interpreter.c, interpreter.h, io.h,
9389 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9390 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9391 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9392 test.pbc, test_main.c, test_opcodes.c:
9393 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9394 I'm still working on the string stuff, though.
9396 2001-08-29 12:44 ask
9398 * README: update README with list address
9400 2001-08-29 12:36 ask
9402 * README: first readme.