4 * added Parrot::Embed under ext/Parrot-Embed
7 * remove the None PMC - if needed it can trivially be reimplemented
8 in languages from r14189
11 Merged Software Transactional Memory branch into trunk, adds:
12 * several new opcodes whose names start with stm_
13 * read-only PMC support
14 * several new PMC types (whose names start with STM*)
15 * support for threads (again)
22 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
23 there are opcodes now that want the real "in PMC".
24 * namespace and global opcodes now accept name arrays again, as
25 well as keys; the corresponding namespace PMC methods are gone.
28 * Parrot_exit, Parrot_on_exit take now an Interp * argument
31 * add experimental op find_type_i_p
32 * fix longstanding bug that sometimes didn't encode pasm keys as
33 Key PMCs (specifically "[S0]" and "['stringliteral']").
36 further implementation of new pdd21:
37 * new opcodes {get,set}*global
38 (old {find,store}*global will be supported for a short while)
41 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
43 (at the moment code is checking for 2.0 -- ambs)
46 partial implementation of new pdd21:
47 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
48 * get_namespace and find_global opcodes no longer accept arrays
49 of strings. To use arrays, call namespace object methods.
56 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
63 * Make the Perl PMCs dynamic and move them to src/dynpmc
70 * Shifted argument type bits left by 2 according to r11754
71 change of docs/pdds/pdd03_calling_conventions.pod
72 * if you are creating PASM then code needs adjustment
79 * rename src/dynclasses to src/dynpmc
80 * rename src/classes to src/pmc
84 * find_global and friends returns a .Null PMC instead of .Undef on
85 lookup failure, iff lookup exceptions are off
92 * renamed all .imc files to .pir
93 * modified all doc references to .pir as well
96 * moved jit/ directory to src/jit/
99 * moved io/ directory to src/io/
100 * moved classes/ directory to src/classes/
101 * moved dynclasses/ directory to src/dynclasses/
104 * moved types/ directory to src/types/
105 * moved pf/ directory to src/packfile/
106 * moved ops/ directory to src/ops/
109 * moved charset/ directory to src/charset/
110 * moved encodings/ directory to src/encodings/
113 * moved imcc/ directory to compilers/imcc/
116 * moved util/ directory to tools/util/
117 * removed imcc/examples/ directory
118 * moved ast/ directory to compilers/ast/
121 * moved imcc/docs/ directory to docs/imcc/
122 * moved build_tools/ directory to tools/build/
123 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
127 * See NEWS for changes
131 * See NEWS for changes
135 * See NEWS for changes
139 * See NEWS for changes
143 * See NEWS for changes
147 * allow short names for object attributes
148 * string encoding and charset can now be set independently
149 * experimental mmap IO layer for slurping files
150 * enable compile opcode support for compilers written in PASM/PIR
151 * improved HLL support with .HLL and n_operators pragmas
152 * simplified hash code
153 * more strength reduce optimizations
154 * distinct debug and trace flag settings
155 * glob support in PGE
156 * new character classification opcodes and interfaces
157 * numerous bug fixes and enhancements
161 * parrot repository is now under subversion
162 * MMD (Multi Method Dispatch) enhanced
163 * new unary and infix opcodes that return new result PMCs
164 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
165 * more unification of PMCs and ParrotObjects
166 * tailcalls for functions and methods
167 * PGE (Parrot Grammar Engine) reworked
168 * Pugs creates Parrot code and Pugs is a registered compiler now
170 * the usual bug fixes and improvements
174 * big rewrite of string code, not yet finished but ...
175 * partial implementation of a generational garbage collector
176 * indirect register frame addressing
177 * .return(args) PIR syntax
178 * moved most of the Python code to dynclasses
179 * a lot more Python functionality
180 * precalculate opcodes with all constants
181 * PGE - Parrot Grammar Engine
182 * scalar classes refactoring
183 * much more tests and big test system cleanup
184 * improved documentation
185 * and as always a lot more
189 * Need Perl 5.6 now for building
190 * Basic AST support, PAST file parser, bits of code generation
191 * BigInt PMC using GMP
193 * Dynamic loading improved including bundles of PMC classes
194 * Experimental support for "make install"
195 * IA64 and hppa JIT support
196 * ICU unicode support
197 * IO layer handling code
198 * IO readline and buffered IO fixes
200 * Internal pythonic functions: filter, map, reduce, max, min ...
201 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
202 * Library updates, Stream and SDL library
203 * MMD - multi method dispatch for binary vtable methods
204 * Many new array PMCs
205 * Method call syntax in PIR obj."meth"(...)
206 * More OS stuff: stat, exec, system, gmtime, piped read and write
207 * New Python PMCs like Enumerate, None
208 * Non-branching compare opcodes
209 * PIR support for += and friends
210 * Python language subdir
211 * Python types mapped to existing PMCs
212 * Slices and range support
213 * Tons of bug fixes, documentation updates, new tests
214 * Win32 COFF exec support
219 * "Ladies and gentlemen, I give you... objects!"
220 * Huge documentation overhaul
221 * More supported platforms, s. PLATFORMS
222 * Basic thread support for pthread based architectures
223 * Basic event handling for timers and signals including:
224 * PASM callbacks for NCI (native C) functions.
225 * Improved platform configuration
226 * COW stacks now working, stacks code redone
227 * Structure handling vastly improved
228 * Random PMC and rand primitives
229 * Better subroutine call syntax in PIR
230 * Make PIR subroutines compliant with pdd03
231 * Improved profiling (DOD, GC timings)
232 * Hash code improvements, incl. random key order support
233 * Experimental freeze/thaw code for some PMC types
234 * IO improvements for buffered layer and Win32
236 * String bitwise vtables
238 * Support for JIT, where malloced memory isn't executable
239 * Priority DOD scheme for objects that need timely destruction
240 * Improved bytecode loading (e.g. onLoad functions)
241 * Language updates: forth, Perl6/P6C, m4
242 * Libraries: Getopt_Long, SDL, Dumper, Sort
244 * Unified imcc and parrot test handling
245 * Many new tests (make test reports 1386 tests)
251 * Yep thirteen - haunted by the ghost of 0.0.12
252 * Build imcc as parrot
253 * Objects more finished
254 * Delegate vtable methods to byte code
255 * Binary multi-method dispatching
256 * Isa and does methods for PMCs
257 * Call byte code from C
258 * Start of extension interface
259 * Experimental struct handling
260 * Catch access to NULL PMCs
261 * Experimental network socket interface code and opcodes
262 * IO fixes and improvements
263 * Dynamic opcode libraries
264 * Fix-assigned opcode numbers
265 * Argument flattening for function calls
266 * More native call interface (NCI) signatures
267 * Ncurses, postgres, and pcre interface libraries
268 * Forth language is vastly improved
269 * BSD and Win32 build improvements
270 * Many new tests and fixes
273 * imcc moved from parrot/languages/ to parrot/
277 * updated the native_pbc test files (from Leo)
278 * built 0.0.11.1 release tarball
282 * CHANGES BUNDLED INTO 0.0.11:
284 * Dynamic PMC registration
285 * Trial exception system
286 * Beginnings of object system
289 * I/O system improvements
291 * Documentation for basic PMC types
292 * IMCC support of Parrot Calling Conventions
293 * Runtime loading of chartypes (and other string improvements)
294 * Conditional breakpoints
295 * Dramatically accelerated sweeps for finalizable objects
296 * Small PMCs (PMCs split into core and extensions)
297 * Loadable bytecode packfiles
299 * Sub variants that deal with the stack correctly
300 * Switched runops core
301 * Line numbers in warnings
303 * Many documentation cleanups
304 * Conversion to CPS style!
305 * BASIC debugger and many other wacky features
306 * Filename, line number parsing support in IMCC
308 2003-07-21 17:31 chromatic
309 * applied copyright patch from Josh Wilmes
312 * Moved the registers out of the context structure, since they
313 really aren't context
314 * Changed the register stack frames to hold only 16 registers
315 rather than 32, added half-set push and pop ops, and reworked
316 the full set push/pops to do two half-set push/pops. Should
317 speed up saving register data on calls, since we usually only
318 care about the top half of the registers anyway.
319 * Started committing some of the new class/object framework
320 * Remembered to finally start updating the Changelog
325 Update Yet Another copyright statements to reflect the (no longer
328 2003-03-11 22:06 chip
330 * Configure.pl: print help on non-option command line args
332 2002-12-18 20:38 sfink: changes since 0.0.8
334 - Allow suppression of cgoto core to save memory during compile
335 * Native function calling interface
336 * Major rewrite of stack and list aggregates
338 * Scratchpads implemented
340 - Internal memory subsystem documentation
341 * Preliminary DotGNU support
342 - Packfile fingerprinting
343 * Buffer/PMC unification (into PObjs)
344 * stabs debugging information support
345 * Major Jako overhaul, including:
347 - native function calling
348 - Perl6 string interpolation
349 - languages/regex now targets IMCC
350 * Optional Lea memory allocator
351 * Full sprintf implementation
352 * Many, many new tests
355 - runtime-controllable gc debugging
358 * JIT: various improvements
359 - register usage tracking
360 - block register allocation
364 - architecture abstraction layer
366 * Beginning support for extensible packfiles
367 * Much better key support, generally
369 * Restructured PMC hierarchy with better functionality inheritance
370 * IMCC: many, many improvements. See imcc/ChangeLog
371 * Perl6: index map grep join reverse defined
372 * Scheme with functions!
375 2002-03-19 22:54 nicholas
377 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
379 We can now get usage information for test_parrot without having to
382 2002-03-19 22:53 simon
385 Parrot is called parrot.
387 2002-03-19 22:53 nicholas
389 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
391 1. There are tests in t/pmc as well as t/op now.
392 2. Adds a comment about Parrot::Test
396 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
397 messes up automated builds
399 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
401 2002-03-19 00:33 mrjoltcola
403 * core.ops: Doc cleanup from Simon Glover.
405 2002-03-18 23:52 mrjoltcola
407 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
411 * include/parrot/resources.h: Checked in old version
415 * include/parrot/resources.h: Forgot a prototype
419 * resources.c: D'oh! Thinko, fixed.
421 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
423 2002-03-18 17:33 josh
425 * Configure.pl: Lowering the bar a bit.
427 2002-03-18 17:33 sfink
429 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
430 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
431 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
432 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
433 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
434 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
435 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
436 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
437 t/example.t: Whoops, wrong time to check this in.
441 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
442 least we consider the PMC and Buffer free pools worth collecting,
443 and initialize the Buffer pool stuff. Still not 100% correct,
446 2002-03-18 15:35 simon
451 2002-03-18 07:45 brentdax
453 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
456 2002-03-18 00:09 sfink
458 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
459 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
460 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
461 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
462 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
463 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
464 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
465 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
466 t/example.t: Buggy 1st version of regex compiler implementation.
467 Warning: the test code depends on features of the assembler that do
470 2002-03-17 21:35 ajgough
472 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
473 through addition and subtraction. Also added the ability to run
474 all the tests, including the ones which deal with overflow and
475 underflow. These fail, but that's expected. Soon they'll pass.
476 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
477 passsssssssings tesssstsssss.
479 2002-03-17 20:06 ajgough
481 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
482 check_(under|over)flow to test bignumbers, rather than values.
483 context now carries E_limit, from which max and min exp are found.
485 Added a default-context-creating function (although this isn't the
486 same as either of the default contexts defined in the eda).
488 2002-03-17 13:31 ajgough
490 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
491 exported version matches prototypes of other public functions.
493 2002-03-17 06:44 josh
495 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
496 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
497 last-minute re-indenting.
499 2002-03-17 05:07 mrjoltcola
501 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
503 2002-03-16 23:17 nicholas
505 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
508 default.pmc: In function `Parrot_default_get_integer_keyed':
509 default.pmc:50: warning: control reaches end of non-void function
510 default.pmc: In function `Parrot_default_get_number_keyed':
511 default.pmc:58: warning: control reaches end of non-void function
512 default.pmc: In function `Parrot_default_get_string_keyed':
513 default.pmc:67: warning: control reaches end of non-void function
514 default.pmc: In function `Parrot_default_get_pmc_keyed':
515 default.pmc:87: warning: control reaches end of non-void function
517 2002-03-16 18:50 ajgough
519 * types/: bignum.c, bignum.h: Lots of prototypes changed in
520 readiness for nicely telling your caller about any oddness you've
521 caused in the persuit of flow.
525 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
526 include/parrot/interpreter.h, include/parrot/resources.h: Now we
527 can control the GC and DOD, to stop it when we don't really want
532 * resources.c, vtable.tbl, classes/default.pmc,
533 include/parrot/resources.h: Added the last code to let PMCs control
534 their marking at DOD time
536 2002-03-16 16:57 ajgough
538 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
539 feel a little more virtuous now. Really I do. You might not
540 believe me, but you should. perl -pne 's/\t/ /g', if you're
543 2002-03-16 16:57 josh
545 * packfile.c, packout.c: M-x untabify is my new friend.
547 2002-03-16 16:50 josh
549 * trace.c, resources.c: Minor whitespace tweak for the benefit of
550 check_source_standards.pl
552 2002-03-16 16:50 ajgough
554 * types/: bignum.c, bignum.h: More documentation, separate
555 functions into public and private sorts, some initial stuff to cope
556 with over and underflow correctly.
558 2002-03-16 16:49 josh
560 * resources.c: Re-indented (sorry bout the big diff)
562 2002-03-16 16:47 bdwheele
564 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
565 assemble again, both with Simon's new assembler and with the old
568 2002-03-16 16:33 mrjoltcola
570 * io/TODO: Get the TODO up-to-date for 0.0.4.
572 2002-03-16 16:11 josh
574 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
575 silly people (such as me) running Configure with
576 /usr/local/bin/perl (which is 5.004_05) and not realising their
577 mistake until the pmc subdirectory, where the first qr// is
580 Syntax error messages don't tell you what you did wrong. This does:
582 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
583 only version 5.00405, stopped at Configure.pl line 10.
585 2002-03-16 14:38 ajgough
587 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
590 2002-03-16 11:45 simon
592 * MANIFEST, examples/assembly/xml_parser.pasm:
593 Added Clint Pierce's XML parser.
595 2002-03-15 22:24 simon
598 Don't need that function.
600 2002-03-15 21:56 simon
602 * Makefile.in, include/parrot/packfile.h:
603 Rebuild packout.o, since it'll be used for the Packfile XS module
607 * include/parrot/: memory.h, pmc.h: Another add-in for GC
611 * core.ops: No string to int for some reason
615 * string.c, t/op/string.t: Fix 0-length substr problem
619 * core.ops, interpreter.c, resources.c, classes/array.pmc,
620 classes/perlarray.pmc, examples/assembly/life.pasm,
621 include/parrot/interpreter.h, include/parrot/resources.h: Added in
622 a counter for copied memory, with a display in life.pasm
624 2002-03-14 03:16 mrjoltcola
626 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
628 2002-03-13 23:43 simon
633 2002-03-13 23:43 simon
638 2002-03-13 21:31 simon
643 2002-03-13 18:06 simon
647 Fix string_compare screw-up.
649 2002-03-13 18:02 brentdax
651 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
652 and add a new question/answer pair.
654 2002-03-12 22:53 mrjoltcola
656 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
658 2002-03-12 22:48 mrjoltcola
660 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
663 2002-03-12 22:29 ajgough
665 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
667 2002-03-12 22:24 ajgough
669 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
670 version 1.1, Don't know if this is the correct number, but I don't
671 want this stuck on my harddrive where it will get lost, so 14 it is
674 2002-03-12 11:35 simon
676 * MANIFEST, packdump.c, packout.c:
678 Just so the functionality doesn't disappear.
680 2002-03-12 11:33 simon
682 * Makefile.in, chartype.c, encoding.c, packfile.c,
683 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
684 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
685 include/parrot/chartype.h, include/parrot/encoding.h,
686 include/parrot/packfile.h:
690 2002-03-11 23:06 nicholas
692 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
694 Core.ops documentation nits
696 2002-03-11 23:05 nicholas
698 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
700 Most of the PerlUndef tests in pmc.t appear to have been added
702 Enclosed patch removes the duplicates.
704 2002-03-10 23:40 nicholas
706 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
708 More tests for the PerlString test-suite.
710 2002-03-10 23:40 nicholas
712 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
714 test for sleep with negative argument
716 2002-03-10 21:58 nicholas
718 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
720 Enclosed patch fixes up a few more holes in our test coverage.
722 2002-03-10 21:18 mrjoltcola
724 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
725 classes/parrotpointer.pmc, classes/perlarray.pmc,
726 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
727 classes/perlstring.pmc, classes/perlundef.pmc,
728 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
729 argument to the init() vtable method so PMCs have the option to
730 know how to size themselves at creation. size could be N elements
731 or a byte count, depending on the PMC or it may simply be ignored.
732 Overloaded 'new' opcode for optional arg.
734 2002-03-10 21:15 mrjoltcola
736 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
737 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
740 Also added small hack for .sub directive (which simply translates
741 to a label, however we might eventually want to collect these to
744 2002-03-10 15:09 ajgough
746 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
747 Added round_floor and round_ceiling. 3403 tests pass, none fail.
749 2002-03-10 03:56 ajgough
751 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
752 divide, divide integer and remainder. All filled in functions now
753 have special values capability.
755 Much remains to be done though, and the pdd needs to catch up.
757 2002-03-10 01:36 ajgough
759 * types/bignum.c: Added extended stuff to _add, _subtract.
761 2002-03-10 00:14 nicholas
763 * t/op/: integer.t, number.t: Patch from Simon Glover
766 The enclosed patch fixes a few of the holes in our test coverage
767 uncovered by Josh Wilmes
769 2002-03-09 23:03 ajgough
771 * types/: bignum.c, bignum.h: Modified compare to work with
772 extended values. Made a couple of changes here and there to allow
773 BN_comp to take a context, so that an is_zero check doesn't clobber
776 2002-03-09 22:19 ajgough
778 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
779 Unary plus now copes with special values.
781 2002-03-09 04:25 ajgough
783 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
784 traps and flags are now enabled and tested for all the standard
785 tests for all the functions which are currently implemented. Test
786 harness faffed with to allow these to be tested.
788 2002-03-09 02:29 josh
790 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
791 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
794 2002-03-09 02:22 josh
796 * config_h.in: tab-blastin'
798 2002-03-09 02:21 josh
800 * check_source_standards.pl: Play nicer with M-x compile- don't
801 bother giving line numbers for things you don't want to look at.
803 2002-03-09 02:10 josh
805 * examples/mops/mops.c: re-indented
807 2002-03-09 02:07 josh
809 * classes/pmc2c.pl: Use the usual header so that we can detect the
812 2002-03-09 02:05 josh
814 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
817 2002-03-09 01:59 josh
819 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
820 patch- re-indent io/*.c.
822 2002-03-09 01:52 ajgough
824 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
825 special values to the string conversion functions, some other
826 functions now need context (to let -0 pass through really_zero)
827 which have also been added.
829 2002-03-09 01:47 josh
831 * test_main.c: Re-indented.
833 2002-03-09 01:41 josh
835 * rx.c: killed a stray tab
837 2002-03-09 01:38 josh
841 2002-03-09 01:36 josh
843 * misc.c: Oops, some tabs remained- cleaned up.
845 2002-03-09 01:31 josh
847 * misc.c: Re-indented (major patch, sorry)
849 2002-03-09 00:59 josh
851 * embed.c: Re-indented.
853 2002-03-08 23:08 simon
855 * MANIFEST, docs/pdds/pdd10_embedding.pod,
856 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
857 docs/pdds/pdd13_bytecode.pod:
860 2002-03-08 21:12 ajgough
862 * include/parrot/string.h: Added private flags to string.h, mostly
863 so that other GCed stuff can also have its very own private flags.
865 2002-03-08 19:53 simon
870 2002-03-08 19:41 robert
872 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
873 pdd6.pod, pdd7.pod: Renamed...
875 2002-03-08 18:51 simon
877 * MANIFEST, docs/pdds/pdd08_keys.pod:
880 2002-03-08 18:20 ajgough
882 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
883 Introduced exception handlers and exception flags to context, will
884 allow support of extended standard. Unified exception checking
885 mechanism (sort of) and made minimal changes to bulk of code to use
886 this. Tests pass, I'm happy, and further changes will happen more
889 2002-03-08 04:38 josh
891 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
894 2002-03-08 04:37 josh
896 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
898 2002-03-08 04:24 josh
900 * embed.c: A bit more re-indenting
902 2002-03-08 04:20 josh
904 * embed.c: Indenting fixes
906 2002-03-08 04:14 josh
908 * jit.c: Re-indented (run_indent.pl)
910 2002-03-08 03:36 josh
912 * ops2c.pl: Fix the line numbers which get reported while compiling
915 2002-03-08 03:22 josh
917 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
918 The variable "type" is set but never used.
922 2002-03-08 03:04 josh
924 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
925 io/io_unix.c: Clean up unused and set-but-not-referenced variables
926 noticed by the sgi compiler.
928 2002-03-08 03:02 josh
930 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
931 misc.c, Line = 417 The indicated type qualifier is meaningless on
938 2002-03-08 02:55 josh
940 * Makefile.in: Clean up one of the object files it was missing
942 2002-03-08 01:15 josh
944 * include/parrot/interpreter.h: Fixes the following error (tcc):
945 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
946 comma at end of list.
948 2002-03-06 22:15 simon
951 Tidy up stack chunk allocation.
953 2002-03-06 21:00 simon
956 Create strings only once we've got string register heads set up.
958 2002-03-06 20:31 simon
960 * classes/perlarray.pmc:
961 malloc(0) considered harmful.
963 2002-03-06 20:24 simon
965 * include/parrot/resources.h:
966 I like it when Parrot compiles.
970 * classes/array.pmc: Changed over to data pointing to a Buffer.
974 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
975 packfile.c, pbc2c.pl, pdump.c, resources.c,
976 include/parrot/interpreter.h, include/parrot/memory.h,
977 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
978 and opcode_t > longs will now be even more suspect than what they
979 were beforehand. 2) Feel free to bicker with names. I don't think
980 we've come to *any* sort of agreement with these, although we
981 really, really, need to. 3) I forget the third thing. 4) But I
982 thought of a fourth. 5) I've now remembered the third thing: IIRC,
983 ANSI C states that enums will fit within the smallest type (int or
984 greater) that can hold the values. Is that actually correct, and
985 does it state whether unsigned is preferred to signed for
986 non-negative enums? 6) Since I'm no longer constrained by "three"
987 or "quick", I'm going size_t happy for a lot of memory-related
988 storage. (That's good. No sense wasting the size or performance
989 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
990 a couple other internal things (like the GC stat counters, seen
991 here). Size and performance, again, and unpromotable to a bigint,
992 so we know that we (theoretically) will wrap. However, size_t
993 isn't the best choice for the type. (Not that there's anything
994 wrong with size_t, just that it shouldn't be called size_t.) Any
995 thoughts? I was thinking of just doing unsigned int, because,
996 IIRC, int is usually the natural word size, and will be most
997 efficient. Thoughts? 7) I forgot what the fourth thing I thought
998 of was while writing down the others. Sorry.
1000 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1002 2002-03-06 15:26 dan
1004 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1005 include/parrot/resources.h: Now we allocate generic Buffers from
1008 2002-03-05 21:42 brentdax
1010 * Configure.pl: Minor cleanup and enhancements.
1012 2002-03-05 21:25 dan
1014 * resources.c: non-special GC now works with PMCs
1016 2002-03-05 19:48 brentdax
1018 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1019 Parrot now "knows" if it's a development version or a release
1020 version. See the instructions in the DEVELOPING file.
1022 2002-03-05 18:05 brentdax
1024 * MANIFEST: pasm.vim wasn't in the manifest.
1026 2002-03-05 17:57 simon
1029 Now, through much evilness, make distclean and make cvsclean work
1032 2002-03-05 17:38 dan
1034 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1035 include/parrot/interpreter.h, include/parrot/pmc.h,
1036 include/parrot/resources.h: PMC tracing complete
1038 2002-03-05 16:28 gregor
1040 * languages/jako/Makefile.in:
1041 Changed -I ../../ to -I ../../lib when calling the assembler, since
1042 the perl modules have moved.
1044 2002-03-05 05:30 josh
1046 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1047 string.c: More re-indenting via run_indent.pl.
1049 2002-03-05 05:17 josh
1051 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1054 2002-03-05 04:26 josh
1056 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1057 using run_indent.pl and some minor tweaking.
1059 2002-03-05 04:21 josh
1061 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1062 interpreter.c: Re-indented using run_indent.pl and some minor
1065 2002-03-05 03:30 josh
1067 * include/parrot/trace.h: These functions are no longer used (or
1070 2002-03-04 18:21 josh
1072 * include/parrot/trace.h: Fix a typo in the argument type.
1074 Patch from <daniel.ritz@gmx.ch>
1076 2002-03-04 03:39 josh
1078 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1079 header to jit_struct.h so we don't try to check it for conformance.
1080 (no way will it conform)
1082 2002-03-04 03:38 josh
1084 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1085 unicode.h, warnings.h: Remove some remaining tabs and split some of
1086 the remaining long lines.
1088 2002-03-04 03:17 josh
1090 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1091 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1092 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1093 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1094 string_funcs.h, trace.h, warnings.h: This is the first batch of
1095 re-indenting. This patch is the result of running run_indent.pl
1096 on the header files and manually tweaking the results where errors
1097 were noticed. This should get us closed, but some refinement may
1100 2002-03-04 03:06 josh
1102 * resources.c: Return without parens, as mentioned in PDD 7
1104 2002-03-04 03:01 josh
1106 * core.ops: POD fixes.
1108 2002-03-04 02:58 josh
1110 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1111 on autogenerated files- used by the check_source_standards.pl
1112 script (for now) to exempt autogenerated files from the checks.
1114 2002-03-04 02:51 josh
1116 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1117 warnings.c: Added the editor "boilerplate" footer to a few files
1118 which were missing it.
1120 2002-03-04 02:34 josh
1122 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1123 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1124 c preprocessor directive indentation to comply with pdd 7.
1126 (also fixes the check for this indentation in
1127 check_source_standards.pl)
1129 2002-03-04 02:32 josh
1131 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1134 perl t/harness t/op/basic..........Use of uninitialized value at
1135 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1136 line 6) # got: undef # expected: ''
1138 2002-03-04 02:30 josh
1140 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1141 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1142 "indent" program to enforce some of the code style standards
1145 Usage: ./run_indent.pl <file>
1147 2002-03-03 19:04 simon
1149 * examples/mops/mops.c:
1150 Let's make it compile, huh?
1152 2002-03-03 19:04 simon
1154 * examples/mops/mops.cs:
1157 2002-03-03 18:11 simon
1159 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1160 Added C# and MS-IL versions of mops tester.
1162 2002-03-03 14:52 simon
1165 Add a sub() op to make mops_p work.
1167 2002-03-02 18:12 nicholas
1169 * examples/mops/mops.c, include/parrot/embed.h,
1170 include/parrot/interp_guts.h, include/parrot/jit.h,
1171 include/parrot/misc.h, include/parrot/packfile.h,
1172 include/parrot/rx.h, include/parrot/warnings.h,
1173 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1174 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1175 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1176 indent variables correctly.
1178 2002-03-02 17:41 nicholas
1180 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1181 patch to fix a compiler warning.
1183 2002-03-01 22:35 dan
1185 * memory.c, resources.c, include/parrot/pmc.h,
1186 include/parrot/resources.h: PMCs now come out of arenas.
1188 2002-03-01 06:15 dan
1191 A non-existing buffer + a non-existing buffer should be a
1192 non-existing buffer, not "", which is really '\0'.
1194 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1196 2002-03-01 06:02 dan
1198 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1200 TMTOWTDI, but strcmp is probably the worse.
1202 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1204 2002-03-01 02:32 brentdax
1206 * embed.c: Debug mode now prints out the GC data.
1208 2002-02-28 23:44 dan
1210 * core.ops, resources.c, include/parrot/resources.h: Added collect
1213 2002-02-28 22:58 dan
1215 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1218 2002-02-28 22:50 dan
1220 * core.ops, interpreter.c, resources.c,
1221 examples/assembly/life.pasm, include/parrot/interpreter.h,
1222 include/parrot/resources.h: Add some stat gathering to the resource
1225 Also add an interpreter info retrieval op, and teach it about the
1226 different things it can retrieve.
1228 Finally, add some stat info to life.pasm as an example
1230 2002-02-28 21:27 dan
1232 * editor/pasm.vim: VIM mode commands for parrot assembly files
1234 Courtesy of Scott Beck <scott@gossamer-threads.com>
1236 2002-02-28 19:20 dan
1238 * examples/assembly/life.pasm: Fix a creeping string length leak.
1240 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1242 2002-02-28 18:26 dan
1244 * string.c: When you clone a constant, it ain't constant no mo'.
1246 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1248 2002-02-28 00:51 dan
1250 * MANIFEST: Add missing files
1252 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1254 2002-02-28 00:49 dan
1256 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1257 CVS seems to have several chunks missing out of it, too. This
1258 patch is simply an administrative patch, with the differences
1259 between my last version, and the one currently in there. There
1260 will be a forthcoming patch for some minor tweaking to the PDD, but
1261 I wanted a common baseline before I make any (potential) semantic
1264 There's only one semi-major change, which noone needs to worry
1265 about just yet. That's a change from PDD Format 1 to PDD Format
1266 6.0 - rationale can be found under 'Standard (Version #)' of the
1267 STANDARDS TRACK infomation. Don't worry about this yet, because it
1268 should be 6.0.0, and we need to discuss Perl versus Parrot with
1271 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1273 2002-02-28 00:27 dan
1275 * packfile.c, resources.c, examples/assembly/life.pasm,
1276 include/parrot/register.h, include/parrot/resources.h,
1277 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1280 This patch now implements a real copying collector. We trace from
1281 our root set and compact the contents of Buffer structs.
1285 *) It's very STRING-centric and doesn't handle memory stuffed in
1286 Buffers. But, then, we don't have pool allocation for Buffers
1287 either, and we need to have that soonish for this to work.
1289 *) Doesn't trace PMCs, so if you trigger a collection and there's
1290 memory or STRING structs only accessible from PMCs, you'll fail
1291 horribly. That needs fixing too
1293 *) Better algorithms for when to trace or collect vs when to just
1294 go allocate more memory from the system. Should probably be more
1297 2002-02-27 21:04 dan
1299 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1300 examples/assembly/life.pasm, include/parrot/resources.h,
1301 include/parrot/string.h, include/parrot/string_funcs.h,
1302 jit/i386/core.jit: Start of GC in
1304 2002-02-26 16:41 dan
1306 * jit/i386/string.jit: Fix a typo
1308 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1310 2002-02-26 16:37 dan
1312 * interpreter.c: Fix solaris test failures
1314 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1316 2002-02-26 16:36 dan
1318 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1319 unicode.h, warnings.h: Fixes various warts in header files, such
1320 as: * macros -added parens to prevent problems with operator
1321 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1322 is no longer used * added some more INLINE definitions for MSVC and
1325 Courtesy of Brian Lee Ray <blray@ualr.edu>
1327 2002-02-26 16:20 dan
1329 * Configure.pl: Turns out we were using a warning flag which
1330 doesn't exist on 2.7. Simple tweak though:
1332 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1334 2002-02-25 22:58 dan
1336 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1338 2002-02-25 17:36 dan
1340 * include/parrot/pmc.h: Fix the bits
1342 2002-02-23 21:57 dan
1344 * include/parrot/resources.h: Another 1.5% never hurts
1346 2002-02-23 21:44 dan
1348 * global_setup.c, memory.c, resources.c, string.c,
1349 include/parrot/resources.h: Allocate STRING headers from an arena
1350 with freelist rather than with the system malloc. First step in a
1351 good (or even a bad) GC system.
1353 2002-02-23 20:37 brentdax
1355 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1357 2002-02-22 14:59 ajgough
1359 * types/bignum.c: BN_multiply split into BN_multiply and
1360 BN_imultiply, the internal version to be used by idivide so that
1361 rounding isn't performed during intermediate stages of division.
1363 following test scripts now all pass: divide divideint add multiply
1364 subtract remainder compare rounding plus minus (these are all the
1365 operations currently implemented, rescale and power must still be
1366 written, so don't pass right now).
1368 2002-02-22 13:13 ajgough
1370 * types/bignum_atest.pl: Test harness modified to understand
1371 comments better, and be able to run unary (and rounding) tests.
1372 Currently a few rounding tests fail, which are being investigated.
1374 2002-02-22 01:41 dan
1376 * key.c: Although there's more work being done on the key stuff and
1377 this isn't the final fix, applying this patch does get parrot to
1378 build with two more compilers, so it's probably worthwhile.
1380 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1382 2002-02-22 00:53 dan
1384 * config_h.in, misc.c, include/parrot/embed.h,
1385 include/parrot/exceptions.h, include/parrot/interpreter.h,
1386 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1387 include/parrot/resources.h, include/parrot/rx.h,
1388 include/parrot/string.h, include/parrot/unicode.h,
1389 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1390 io/io_win32.c: Fixes the following (lcc) warnings:
1392 - interpreter.c:470: warning: expression with no effect elided
1393 (related to the way warnings flags were defined)
1395 - misc.c:352: warning: unreachable code
1396 misc.c:483: warning: unreachable code
1397 (i introduced these with some overzealous de-linting)
1399 - numerous warnings like this:
1400 io/io_unix.c:383: warning: conversion from pointer to void' to
1402 pointer to struct _ParrotIO function(pointer to struct
1403 Parrot_Interp,pointer
1404 to struct _ParrotIOLayer,pointer to const char,pointer to const
1406 to pointer to void)' is compiler dependent
1408 Fixes the following nits: - remove bad indenting (tabs) in the
1411 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1413 2002-02-21 21:12 ajgough
1415 * types/: bignum.c, bignum.h: These might look like massive
1416 changes, but really it's just he imposition of coding standards.
1417 The file still isn't entirely compliant, but is now much more so.
1421 o a few more comments
1422 o BN_compare uses internal BN_comp to compare
1423 o lost_digits behaviour is now correct (test harness modified to
1427 All binary functions now pass all the tests in the basic standard.
1428 Unary functions not yet tested, will be soon.
1430 2002-02-21 18:20 dan
1432 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1433 was no longer needed, and the ssize_t thing really shouldn't be
1436 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1438 2002-02-21 18:15 dan
1440 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1441 include/parrot/parrot.h: this patch adds support for the freely
1442 available borland c++ 5.5.1 compiler
1444 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1445 working borland compiler (compiler must know where to find headers
1446 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1447 cc='cl.exe' - a working make utility (borland make doesn't work,
1450 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1451 hints/mswin32.pl - remove a space from Configure.pl (very very
1452 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1453 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1454 (win32 knows it, linux not)
1456 and the why: - parrot is MUCH faster when compiled with borland c
1457 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1460 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1462 2002-02-21 18:09 dan
1464 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1465 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1466 cuddled elses, as required by PDD 7.
1468 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1470 2002-02-21 18:04 dan
1472 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1473 a new Makefile target called "check_source". This target scans all
1474 the .c and .h files in the directory and checks for conformance to
1475 a number of the standards outlined in PDD 7.
1477 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1479 2002-02-21 16:38 ajgough
1481 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1482 allow arithmetic with numbers with a fixed fractional part, buffer
1483 structures now more ready to be integrated into the parrot memory
1484 allocation game, test harness modified to allow lost_digits
1485 condition to be checked. Some more comments.
1487 2002-02-21 15:53 simon
1492 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1494 2002-02-20 16:41 dan
1496 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1498 2002-02-18 18:25 dan
1500 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1502 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1504 2002-02-18 18:21 dan
1506 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1507 CPrederef.pm to make to generated code compile with the MS
1510 fixes: - ms compiler allows inline only for c++, for c there's
1511 __inline - ms header files knows nothing about ssize_t
1513 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1515 2002-02-18 17:49 dan
1517 * MANIFEST: Add the PDDs
1519 2002-02-18 17:47 dan
1521 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1522 coding standards PDD.
1524 2002-02-18 17:40 dan
1526 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1528 2002-02-18 12:41 gregor
1531 Remove warning about exit() not being declared.
1533 2002-02-18 08:29 simon
1535 * misc.c, warnings.c, include/parrot/misc.h,
1536 include/parrot/warnings.h:
1537 This patch adds some missing const's to silence a number of gcc
1540 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1542 2002-02-18 08:26 simon
1544 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1545 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1546 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1547 include/parrot/parrot.h, include/parrot/rx.h,
1548 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1549 lib/Parrot/OpTrans/CPrederef.pm:
1550 - add makefile target and script to test for external libc
1552 - fix return values in hash and array PMCs (returning 0 in a
1554 - remove unnecessary data pointer <=> function pointer
1556 outside of the JIT code.
1557 - move the definition of the "INLINE" macro out of the rx header
1559 available for general use on C++ compilers and gcc.
1560 - remove a few unused variables
1562 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1564 2002-02-17 16:29 simon
1566 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1567 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1568 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1569 We're organised and responsible. Honest.
1571 2002-02-17 02:46 sfink
1573 * Makefile.in: Remove $^ for nmake compatibility.
1575 2002-02-16 09:20 brentdax
1577 * config_h.in, test_main.c, include/parrot/chartype.h,
1578 include/parrot/embed.h, include/parrot/encoding.h,
1579 include/parrot/string.h, include/parrot/string_funcs.h: Better
1580 embedding exposure and hiding, part 1.
1582 2002-02-16 04:38 dan
1584 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1585 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1586 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1587 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1588 typecasts in various places throughout the code. It probably won't
1589 work for Windows yet. The libparrot.a target might need to be
1590 modified to at least prevent it from confusing make on Windows; I
1593 Preliminary instructions for using pbc2c.pl are in
1594 docs/running.pod. I'll try to do better later.
1596 Courtesy of Steve Fink <steve@fink.com>
1598 2002-02-16 04:15 dan
1600 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1602 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1604 2002-02-16 00:03 simon
1606 * classes/: perlarray.pmc, perlhash.pmc:
1608 pmc is already defined!
1610 2002-02-15 23:20 brentdax
1612 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1613 include/parrot/exceptions.h: Far more informative panic messages.
1615 2002-02-15 03:24 dan
1617 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1618 much more extensive patch that fixes it to work properly, and
1619 deletes a bazillion casts as well. It also points to the question
1620 "can we make the byte_code be an opcode_t* already?"
1622 Oh, and it makes some of the formatting prettier, so it's gotta be
1625 Courtesy of * Steve Fink <steve@fink.com>
1627 2002-02-15 02:30 dan
1629 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1630 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1631 of the things it finds. Attaching the patch as well as the current
1634 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1636 2002-02-15 01:59 dan
1638 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1641 2002-02-15 01:48 dan
1643 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1645 2002-02-15 01:40 dan
1647 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1650 2002-02-14 23:30 dan
1652 * resources.c: Added comment for buffer tag routine. D'oh!
1654 2002-02-14 23:28 dan
1656 * resources.c, include/parrot/resources.h: Added buffer mark
1659 2002-02-14 23:17 dan
1661 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1662 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1663 Rejigged memory system a bit. Now should be ready for the horror
1664 that is garbage collection.
1666 2002-02-14 19:33 gregor
1668 * ops2c.pl, include/parrot/oplib.h:
1669 Added code to automatically generate a function within an oplib to
1670 lookup opinfos given the op name. This will come in handy in future
1671 when we want to twiddle opcode tables at run time and possibly at
1674 2002-02-14 19:25 gregor
1676 * examples/assembly/queens.pasm:
1677 Regenerated queens.pasm from queens.jako since the clone_* stuff
1680 2002-02-14 17:12 dan
1682 * resources.c, include/parrot/resources.h: Finished up the
1683 interface for memory and tracked interpreter thingies.
1685 2002-02-14 16:53 dan
1687 * memory.c, include/parrot/memory.h: intercept free and realloc
1689 2002-02-14 05:53 dan
1691 * interpreter.c, runops_cores.c: The type changes in struct
1692 Packfile break the pointer math used in a few places to calculate
1693 the address of the end of the loaded byte code. This causes
1694 segfaults in build_asm in jit.c when using -j. It also breaks the
1695 bounds checking on opcode address in runops_slow_core.
1697 The patch adds the necessary cast to correct the code_end
1700 Courtesy of Jason Gloudon <perl@gloudon.com>
1702 2002-02-14 01:01 ajgough
1704 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1705 BigInt operations (I think), tests for normal operation continue to
1706 pass. Also a shed load of comments.
1708 2002-02-13 01:34 ajgough
1710 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1711 is a (mostly) working bignumber library. There remains much work
1712 to do though, some functions are not yet implemented and headers
1713 need to find their way to the correct place RSN. Also support for
1714 bigints and a sensible error reporting mechanism are needed.
1716 2002-02-12 18:51 dan
1718 * misc.c: Fix some warnings
1720 2002-02-12 17:10 dan
1722 * misc.c: Run through indent -kr -nce so I can read it
1724 2002-02-12 16:49 dan
1726 * misc.c: Need standard header/footer comments
1728 2002-02-11 20:32 simon
1730 * classes/array.pmc:
1731 get and set pmc methods.
1733 2002-02-11 20:19 simon
1735 * classes/array.pmc:
1736 Maybe the keys aren't integer...
1738 2002-02-11 20:03 simon
1740 * core.ops, vtable.tbl, classes/default.pmc:
1743 2002-02-11 19:07 simon
1745 * vtable.tbl, classes/default.pmc:
1746 Add set_pmc. Usee with caution.
1748 2002-02-11 18:20 dan
1750 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1753 2002-02-11 17:59 simon
1755 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1756 classes/perlarray.pmc, classes/perlhash.pmc:
1759 2002-02-11 17:57 simon
1761 * packfile.c, include/parrot/packfile.h:
1764 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1766 2002-02-11 17:55 dan
1768 * docs/parrot_assembly.pod: Document some key ops
1770 2002-02-11 09:20 brentdax
1772 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1775 2002-02-11 00:34 simon
1777 * core.ops, include/parrot/exceptions.h:
1778 This is what keyed set ops look like. Remember, however, that for
1779 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1780 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1781 obviously ambiguous that you ought to use the 4-arg version
1784 2002-02-10 23:12 jgoff
1786 * classes/: array.pmc, perlarray.pmc: Properly allocate
1787 SELF->data's array of PMC* data in array and perlarray.pmc. This
1788 isn't tested yet, but should be fairly straightforward. PerlHash
1789 needs to be finished before the system will compile again, and that
1790 should be done in the next few days.
1792 2002-02-09 04:46 jgoff
1794 * classes/: array.pmc, default.pmc, intqueue.pmc,
1795 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1796 Added basic _keyed member functions. Unfortunately this still
1797 doesn't fix the problems that are causing the build to break. It's
1798 a start though. I'm not implementing the PMC add functions just
1801 2002-02-08 15:59 simon
1803 * classes/array.pmc:
1804 Some more work on getting the array stuff up to date.
1806 2002-02-08 12:23 simon
1808 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1809 lib/Parrot/Vtable.pm:
1810 Got array->get_integer_keyed doing what I think it ought to. One
1811 down, all the rest to go.
1813 2002-02-08 11:47 simon
1816 Although I didn't intend it to be quite that broken...
1818 2002-02-08 11:42 simon
1820 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1821 Completely break Parrot, but at least we get the key stuff right
1824 2002-02-08 06:25 dan
1826 * hints/darwin.pl: Silences the warning about passing in
1827 -flat_namespace to the compile. That's a link-only flag.
1829 2002-02-08 04:52 jgoff
1831 * classes/: array.pmc, default.pmc, intqueue.pmc,
1832 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1833 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1834 return values in *.pmc, added some missing casts to the repeat_foo
1835 members, and deleted the _index members from the perlscalar
1836 classes. Basic cleanup, and getting ready for _keyed functions.
1838 2002-02-07 04:49 mrjoltcola
1840 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1841 added a nested subroutine call.
1843 2002-02-07 04:32 jgoff
1845 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1846 changes in order to give the whitespace rules a little workout, and
1847 do a little bit more testing. No actual structural changes were
1848 made. lib/Parrot/Vtable.pm got an interface change, and more
1849 importantly should be ready to support the new '_keyed' attribute,
1850 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1851 src_value' followed by 'KEY* src_key'. This will be how the new
1852 _keyed operators will function, and those should be written within
1855 2002-02-06 18:00 doughera
1857 * misc.c: Change C++-style comments to C comments (again). Remove
1858 unused perl5 code that was in #if 0/#endif.
1860 2002-02-06 17:59 doughera
1862 * warnings.c: Add trailing newline.
1864 2002-02-06 04:14 mrjoltcola
1866 * include/parrot/io.h, io/io.c: Minor cleanup.
1868 2002-02-06 03:11 mrjoltcola
1870 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
1871 couple of loose end in win32 IO stuff. Open behaves now but needs
1874 2002-02-05 21:02 brentdax
1876 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
1877 which showed up in Purify builds.
1879 2002-02-05 17:15 simon
1884 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
1886 2002-02-05 17:08 doughera
1888 * misc.c: Avoid C++-style comments.
1890 2002-02-05 17:07 doughera
1892 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
1893 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
1894 thanks to Jason Gloudon <perl@gloudon.com>.
1896 2002-02-05 14:04 simon
1899 Make the problem different, perhaps even better.
1901 2002-02-05 13:49 simon
1904 Possibly fix a `short int' is promoted to `int' when passed through
1905 `...' scary error, possibly make things absolutely worse.
1907 2002-02-05 13:15 simon
1912 2002-02-05 13:12 simon
1915 Not going to get far without this one...
1917 2002-02-05 11:41 simon
1920 Don't barf when handed null pointers.
1922 2002-02-05 10:04 simon
1924 * misc.c, include/parrot/misc.h:
1925 Fix some trivial bugs in warnings code.
1927 2002-02-05 09:27 simon
1930 Oops, forgot this one; also added %P support.
1932 2002-02-05 09:20 simon
1934 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
1935 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
1936 include/parrot/interpreter.h, include/parrot/misc.h,
1937 include/parrot/parrot.h, include/parrot/warnings.h:
1940 Courtesy of: Brent Dax <brentdax@cpan.org>
1942 2002-02-05 05:41 jgoff
1944 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
1945 format of vtable.tbl to get rid of the tab-dependence. The format
1946 now looks roughly like this:
1948 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
1949 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
1950 assumed here, but note the C-like prototyping. Also had to disable
1951 one test that depended upon 'concat_p_p_s', which isn't necessary
1954 Vtable.pm will change again when the type '_keyed' is added,
1955 because that requires remapping parameters slightly differently
1956 again. Also, note that it assumes 'value' is the first parameter
1957 in the list. This assumption will go away at the same time.
1959 2002-02-04 16:57 ajgough
1961 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
1962 functions. Thanks to Simon Glover.
1964 2002-02-04 02:47 ajgough
1966 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
1967 needed. I suspect that the entire hints file isn't really needed,
1968 but there's no one to actually tell us this.
1970 2002-02-02 15:45 ask
1972 * docs/ParrotFAQ.htm: fix internal links
1974 2002-02-02 04:06 jgoff
1976 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
1977 Moving the internal KEY structure from the cache.struct_val member,
1978 where it doesn't really belong, to the internal SELF->data member.
1979 This frees up the cache/type members for other usage.
1981 This is the first step in moving PMCs to the point where we can do
1982 multidimensional PMC handles. The next step is to change the
1983 assembler to accept the syntax of 'set P0["foo"],7'.
1985 2002-02-02 00:13 nicholas
1987 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
1988 prototype Parrot_Array_class_init
1990 2002-02-02 00:13 nicholas
1992 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
1993 time to sum_time to avoid warning on FreeBSD about tracking a
1994 global [No, this warning does not appear on Linux. Yes, it is real
1997 2002-02-01 23:02 nicholas
1999 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2002 2002-02-01 20:20 nicholas
2004 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2006 2002-02-01 18:20 nicholas
2008 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2011 2002-02-01 13:22 nicholas
2013 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2015 2002-02-01 12:19 simon
2017 * core.ops, t/op/ifunless.t, t/op/integer.t:
2020 2002-02-01 12:11 simon
2022 * lib/Parrot/Test.pm:
2025 2002-02-01 01:38 nicholas
2027 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2028 and a manitest target to Makefile.in that lets one test the
2031 2002-02-01 00:03 dan
2033 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2036 2002-01-31 21:46 gregor
2038 * Configure.pl, Makefile.in, hints/mswin32.pl:
2039 A few more things are now configable, so we are closer to win32
2040 shared library builds. Not there yet, but closer.
2042 2002-01-31 21:00 dan
2044 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2045 include/parrot/pmc.h: First step in dynamically loading PMC classes
2047 2002-01-31 19:38 dan
2049 * Makefile.in: Dependencies in the Makefile are currently too broad
2050 brush. I don't enjoy waiting for everything to recompile every
2051 time I try to tweak the jit. The only file that #includes
2052 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2053 should reflect this, and not cause a gratuitous recompile of
2054 everything. There are probably other auto-generated header files
2055 that world+dog should not depend on.
2057 Courtesy of Nicholas Clark <nick@unfortu.net>
2059 2002-01-31 19:03 gregor
2061 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2062 Added two new make targets:
2064 * testp: Like 'make test', but passes -P to t/harness, so you get
2066 see how broken predereferencing is.
2068 * testj: Like 'make test', but passes -j to t/harness, so you get
2070 see how broken JIT is.
2072 Now, anyone who wants to see how good all three ways of running are
2073 can do so, at the cost of about 3x the time.
2075 2002-01-31 17:09 brentdax
2077 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2079 2002-01-31 03:41 grunblatt
2081 * docs/jit.pod: Update jit.pod
2083 2002-01-31 03:20 grunblatt
2085 * jit/i386/core.jit: Hold this until we get an assemble tool,
2086 because of the different objdump problems.
2088 2002-01-31 03:13 grunblatt
2090 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2091 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2092 of: Jason Gloudon <perl@gloudon.com>
2094 2002-01-31 02:22 grunblatt
2096 * jit/i386/core.jit: Continue if the register is null
2098 2002-01-30 23:50 grunblatt
2100 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2101 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2102 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2105 2002-01-30 23:35 mrjoltcola
2107 * io/io_win32.c: Change implementation of isatty on win32,
2108 suggested by Hong Zhang.
2110 2002-01-30 23:19 sfink
2112 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2113 Op::may_jump boolean method.
2115 Replaced jit2h's hardcoded pattern match to decide what ops might
2116 change the control flow.
2118 2002-01-30 22:13 dan
2120 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2121 parrot to mostly-build with tcc. It allows one to skip compiling
2122 the JIT stuff (by specifying --define jitcapable=0), and it
2123 introduces a test program which gives a friendlier error in this
2124 case for compilers which are as picky as tcc is about function
2127 If anyone figures out the proper way to cast these function
2128 pointers this may not be necessary.
2130 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2132 2002-01-30 20:54 dan
2134 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2135 Here's an update to docs/running.pod to better reflect the current
2136 state (both the test_parrot and assemble.pl improvements, plus
2137 documentation of a few more things.) And also a speling fiks
2138 s/POST_MORTERM/POST_MORTEM/.
2140 I could also replace some "perl foo" calls with "./foo" if someone
2141 wanted to set the executable flag in CVS on assemble.pl,
2144 Courtesy of Steve Fink <steve@fink.com>
2146 2002-01-30 20:43 dan
2148 * core.ops: find_global doesn't work, so stub out the wrong code
2150 2002-01-30 19:08 dan
2152 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2154 can read it and just tidies it up generally. It also adds
2156 for the constantize_integer and constantize_number functions.
2158 Courtesy of Simon Glover <scog@roe.ac.uk>
2160 2002-01-30 18:02 dan
2162 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2163 classes/genclass.pl, classes/pmc2c.pl,
2164 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2165 distribution (including assemble.pl !)
2166 can no longer find the Parrot::* modules. Enclosed patch fixes
2168 it would be nice if there were an easier way to do this).
2170 Courtesy of Simon Glover <scog@roe.ac.uk>
2172 2002-01-30 16:00 mrjoltcola
2174 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2177 2002-01-30 15:50 mrjoltcola
2179 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2181 2002-01-30 15:42 grunblatt
2183 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2186 2002-01-30 15:38 grunblatt
2188 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2189 the manifest, and also puts it back into alphabetical order.
2191 Courtesy of: Simon Glover <scog@roe.ac.uk>
2193 2002-01-30 14:41 nicholas
2195 * embed.c: Patch from Simon Glover to clean up warnings where
2196 prototype is () not (void)
2198 2002-01-30 13:54 nicholas
2200 * include/parrot/embed.h, test_main.c: Add void as an explicit
2201 parameter in test_main.c's usage(), version(void) and embed.h's
2202 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2203 warning: function declaration isn't a prototype
2205 2002-01-30 12:08 simon
2207 * lib/Parrot/.cvsignore:
2208 Ignore generated Perl modules.
2210 2002-01-30 12:07 simon
2213 Run the PMC tests as well.
2215 2002-01-30 12:04 simon
2218 Fix MANIFEST after recent t/pmc rejig.
2220 2002-01-30 11:42 simon
2222 * lib/Parrot/Test.pm:
2223 Report non-zero exit codes.
2225 Courtesy of: Michael G Schwern <schwern@pobox.com>
2227 2002-01-30 11:39 simon
2230 Skip final test, TODO doesn't work yet.
2232 2002-01-30 09:54 brentdax
2234 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2235 predereferencing works.
2237 2002-01-30 09:38 brentdax
2239 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2242 2002-01-30 09:37 brentdax
2244 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2246 2002-01-30 09:37 brentdax
2248 * config_h.in: Expose another flag for embedders.
2250 2002-01-30 05:07 jgoff
2252 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2253 location for Parrot/, and t/harness wasn't able to run the new
2254 op/pmc tests. Both problems fixed, so I think I'm going to declare
2255 the build suitable for public consumption.
2257 2002-01-30 04:34 robert
2259 * docs/Makefile.in: update for CVS movement
2261 2002-01-30 04:32 robert
2263 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2264 .in file, not the real Makefile)
2266 2002-01-30 04:20 robert
2268 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2269 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2270 related to moving files around
2272 2002-01-30 04:10 robert
2274 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2276 2002-01-30 04:07 robert
2278 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2280 2002-01-30 03:56 robert
2282 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2283 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2284 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2285 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2286 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2287 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2288 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2289 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2292 2002-01-30 03:46 robert
2294 * languages/miniperl/miniperlc: renamed to mpc
2296 2002-01-30 03:45 robert
2298 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2299 pmc_perlstring.t: Moved to t/op/pmc/
2301 2002-01-30 03:40 robert
2303 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2305 2002-01-30 03:14 jgoff
2307 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2308 Fixed some problems with PerlArray and added tests. Previously,
2309 only integers could be accessed by negative indices. After this
2310 change, all basic types can be accessed by negative indices, and
2311 they can also be set at negative indices.
2313 2002-01-29 22:13 brentdax
2315 * TODO: Just look at the stupid diff.
2317 2002-01-29 21:53 simon
2319 * TODO, docs/vtables.pod:
2320 New TODO, and tiny addition to vtables.pod
2322 2002-01-29 21:47 mrjoltcola
2324 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2326 2002-01-29 21:38 mrjoltcola
2328 * Makefile.in: Makefile.in tweak for io depend.
2330 2002-01-29 21:15 brentdax
2332 * embed.c: Fix a segfault and some profiling formatting nits.
2334 2002-01-29 20:54 brentdax
2338 2002-01-29 20:50 brentdax
2340 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2343 2002-01-29 20:17 mrjoltcola
2345 * interpreter.c, core.ops, io.ops: CVS missed this.
2347 2002-01-29 20:17 mrjoltcola
2349 * io/io.c: These should have gone in Sunday with the rest. CVS is
2352 2002-01-29 18:39 brentdax
2354 * platforms/win32.h: Fix Win32 whoops.
2356 2002-01-29 18:29 brentdax
2358 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2360 2002-01-29 17:51 simon
2362 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2363 include/parrot/embed.h, include/parrot/parrot.h:
2364 Embedding support. Cool.
2366 Courtesy of: <brentdax@cpan.org>
2368 2002-01-29 15:40 grunblatt
2370 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2371 Gloudon <perl@gloudon.com>
2373 2002-01-29 14:42 simon
2375 * include/parrot/parrot.h:
2376 Platform stuff has to be included *after* system headers.
2378 2002-01-29 14:05 grunblatt
2380 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2381 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2382 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2383 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2384 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2386 2002-01-29 10:56 simon
2388 * platforms/generic.h:
2389 If we don't have a S_ISREG, produce something close to it.
2391 2002-01-29 06:01 dan
2393 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2395 2002-01-29 04:38 jgoff
2397 * classes/array.pmc: Forgot to remove some C++-isms from the
2398 get_{foo}_index routines.
2400 2002-01-29 04:26 jgoff
2402 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2403 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2404 t/pmc/array.t: Added array class that languages other than perl can
2405 use for a basis. It has no features like preextension, and the
2406 array index starts at 0.
2408 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2409 and classes/Makefile.in - Added array.pmc to the makefile.
2410 (Assuming rules like .pmc.o are portable (or even possible) I might
2411 alter classes/Makefile.in to autobuild the appropriate files.
2413 2002-01-29 02:32 dan
2415 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2416 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2417 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2418 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2419 Update to Test::More 0.41 which adds Test::Builder
2421 Delete the vestigal Test::Utils
2423 Change Parrot::Test so it uses Test::Builder instead of Evil
2427 output_* now returns whether the test passes or fails
2429 Parrot::Test no longer exports Test::More's functions. Instead
2431 can simply be used together. The few tests which used
2433 features (ie. skip) have 'use Test::More' added.
2435 I ditched the export_to_level() crutch. Do we expect parrot to
2437 5.004? (literally 5.004, not 5.004_04)
2439 Courtesy of Michael G Schwern <schwern@pobox.com>
2441 2002-01-28 21:04 dan
2443 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2444 pointer should actually be to
2445 parrot_assembly.pod, as the canonical documentation.
2447 Courtesy of Simon Glover <scog@roe.ac.uk>
2449 2002-01-28 20:21 dan
2451 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2454 2002-01-28 19:18 dan
2456 * core.ops, register.c: clone[insp] is dead
2458 2002-01-28 17:46 grunblatt
2460 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2461 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2463 2002-01-28 16:45 dan
2465 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2466 the requirement for fink at the moment.
2468 2002-01-28 15:59 simon
2471 People might try and run a directory file, with spectacular
2472 results. We don't want that. No.
2474 2002-01-28 14:58 doughera
2476 * core.ops: Avoid C++-style comments.
2478 2002-01-28 14:16 grunblatt
2480 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2481 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2484 2002-01-28 13:47 doughera
2486 * include/parrot/register.h: Avoid C++-style comment.
2488 2002-01-28 06:03 dan
2490 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2491 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2492 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2493 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2494 include/parrot/parrot.h, include/parrot/regfuncs.h,
2495 include/parrot/register.h, include/parrot/register_funcs.h,
2496 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2497 are now stored in the interpreter structure itself, rather than
2498 just a pointer to the top of the register structure. Pushes and
2499 pops now involve memcpys, but register access has one fewer
2502 Fails four of the register stack tests, though, so not perfect.
2503 Needs fixing, but this is a good place to start.
2505 2002-01-28 04:40 mrjoltcola
2507 * test_main.c: cvs commit missed this. ??
2509 2002-01-28 04:27 mrjoltcola
2511 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2512 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2513 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2514 interpreter now (at least in theory). IO handle array added. Misc
2515 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2516 we don't conflict with system libraries. Still have broken
2517 stuff in win32 and stdio layer.
2519 2002-01-28 04:01 mrjoltcola
2521 * include/parrot/chartype.h: Typo in chartype.h include guard.
2523 2002-01-28 03:41 mrjoltcola
2525 * t/op/interp.t: Fix flag for interp so we don't get "info"
2526 messages which break tests.
2528 2002-01-28 01:54 dan
2530 * include/parrot/string.h: A few more buffer/string flags
2532 2002-01-27 11:33 nicholas
2534 * chartypes/unicode.c: Cast unsigned argument to int in call to
2535 isdigit to silence gcc warning.
2537 2002-01-26 23:18 grunblatt
2539 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2542 2002-01-26 23:17 grunblatt
2544 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2545 jit/i386/core.jit: [no log message]
2547 2002-01-26 22:18 simon
2549 * jit/i386/core.jit:
2550 Jumping to 0x0 is a recipe for segfaults.
2552 2002-01-26 18:35 simon
2555 Allow user to select which tests to harness
2557 Courtesy of: Nicholas Clark <nick@unfortu.net>
2559 2002-01-26 17:20 grunblatt
2561 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2562 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2563 to make the jit work in linux again.
2565 2002-01-26 16:52 dan
2567 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2568 headers can't cope with this. Darwin-only
2570 2002-01-26 16:04 dan
2572 * include/parrot/parrot.h: Quick note to remind folks that this
2573 isn't the file they're looking for if they're writing extensions or
2576 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2578 2002-01-26 00:41 mrjoltcola
2582 2002-01-26 00:37 mrjoltcola
2584 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2587 2002-01-25 01:31 grunblatt
2589 * jit/alpha/core.jit: There is no neg or fneg.
2591 2002-01-25 01:27 grunblatt
2593 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2594 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2595 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2596 t/op/number.t: Added Parrot_neg. Erase t.s
2598 2002-01-24 23:26 dan
2600 * interpreter.c: Best make sure unused elements are NULL
2602 2002-01-24 23:24 dan
2604 * interpreter.c: Fix stupid thinko
2606 2002-01-24 18:37 doughera
2608 * Makefile.in: Add a few missing dollar signs in the lifetest
2609 section so that ${exe} and the like get properly interpolated.
2611 2002-01-24 18:15 mrjoltcola
2613 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2614 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2615 Simon Glover <scog@roe.ac.uk>
2617 2002-01-24 06:43 mrjoltcola
2619 * io/io_stdio.c: Oops.
2621 2002-01-24 06:34 mrjoltcola
2623 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2624 of work on the buffering layer. Decided to use shared read/write
2625 buffer (as do most implementations) for now since its the simplest
2626 way to keep everything synced, (flush on seeks, flush read on
2629 2002-01-24 03:38 mrjoltcola
2631 * test_main.c: Cleaned up option handling code a bit for main().
2633 2002-01-23 23:22 dan
2635 * interpreter.c, include/parrot/interpreter.h,
2636 include/parrot/resources.h: Now each interpreter gets its own hash
2639 2002-01-23 20:45 dan
2641 * Configure.pl: Fix a warning when there's no - in an architecture
2643 2002-01-22 23:57 grunblatt
2645 * docs/running.pod: [no log message]
2647 2002-01-22 20:29 doughera
2649 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2650 appears to be a generic problem (if sizeof(long double) >
2651 sizeof(double)), not an x86-specific one.
2653 2002-01-22 16:57 doughera
2655 * runops_cores.c: Change variable name from time to starttime to
2656 avoid gcc warning about variable name shadowing.
2658 2002-01-22 16:55 doughera
2660 * classes/pmc2c.pl: Include class_init prototype too.
2662 2002-01-22 16:01 doughera
2664 * MANIFEST: [no log message]
2666 2002-01-22 01:04 ajgough
2668 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2669 classes/parrotpointer.pmc, classes/perlarray.pmc,
2670 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2671 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2672 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2673 warnings from pmc files. Message-ID:
2674 <20020121224719.GE1726@Bagpuss.unfortu.net>
2676 2002-01-22 00:53 ajgough
2678 * test_main.c: Clears up a couple of warnings in test_main.c.
2679 Thanks to Nick Clark. Message-ID:
2680 <20020121190457.GB1726@Bagpuss.unfortu.net>
2682 2002-01-22 00:47 ajgough
2684 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2685 include/parrot/chartype.h: Cause all codepoints to be treated as
2686 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2687 Nick Clark, see also: Message-ID:
2688 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2690 2002-01-22 00:24 dan
2692 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2694 Appended patch cures these warnings:
2696 key.c: In function `debug_key': key.c:29: warning: int format,
2697 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2698 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2699 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2700 format, INTVAL arg (arg 4)
2702 Courtesy of Nicholas Clark <nick@unfortu.net>
2704 2002-01-21 12:41 mrjoltcola
2706 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2709 2002-01-21 06:37 mrjoltcola
2711 * io/io.c: Cleanup a warning
2713 2002-01-21 06:28 mrjoltcola
2715 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2716 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2717 ops. Various other IO twiddlings.
2719 2002-01-21 03:25 grunblatt
2721 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2722 Melvin Smith for the catch up.
2724 2002-01-20 23:13 sfink
2726 * stacks.c: Fixed logic errors, need tests
2728 2002-01-20 22:17 brentdax
2730 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2731 prepare for /i to work.
2733 2002-01-20 20:52 grunblatt
2735 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2736 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2737 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2738 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2739 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2740 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2741 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2742 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2743 jit/alpha/string.jit:
2744 - Added support for ALPHA, by now linux and bsd.
2746 - Reduced jit2h.pl execution time by precompiling the call to the
2749 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2750 Parrot/Jit/${cpuarch}Generic.pm
2752 - Changed the way to detect quads to what is written in "man
2755 2002-01-20 17:23 brentdax
2757 * rx.ops: There's no such thing as rx_allocateinfo.
2759 2002-01-19 08:26 brentdax
2761 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2763 2002-01-19 07:12 mrjoltcola
2765 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2766 into io.ops, leave the STDIO wrappers in core.ops until they
2767 disappear. Added debug op for switching on VM debug flag
2769 2002-01-19 01:55 mrjoltcola
2771 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2772 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2774 2002-01-19 00:55 brentdax
2776 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2777 include/parrot/rxstacks.h: Add regex-specific stacks for
2780 2002-01-18 23:58 dan
2782 * Configure.pl: I think the optimal fix here is simply to remove
2783 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2784 man pages say "There is no reason to use this option [-pedantic];
2785 it exists only to satisfy pedants."
2787 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2789 2002-01-18 23:23 dan
2791 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2792 docs/running.pod, which lists the various executables Parrot
2793 currently includes, examples of running them, and mentions of where
2794 they fail to work. It's more of a cry for help than a useful
2795 reference. :-) I've been having trouble recently when making
2796 changes in figuring out whether I broke anything, because any
2797 non-default way of running the system seems to be already broken. I
2798 can't tell what brokenness is expected and what isn't.
2800 Courtesy of Steve Fink <steve@fink.com>
2802 2002-01-15 22:13 brentdax
2804 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2805 substring use and enhance performance.
2807 2002-01-15 21:03 ajgough
2809 * string.c: Fix problem with string_transcode, &dest not being
2810 updated if src was already in desired encoding.
2812 2002-01-15 16:54 brentdax
2814 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2815 warnings. Leaves only one warning, at rx.ops line 409, that I
2816 can't manage to get rid of.
2818 2002-01-15 16:50 dan
2820 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2821 code. Also patches pbc2c.pl to work with rx.ops.
2823 Courtesy of Jason Gloudon <perl@gloudon.com>
2825 2002-01-15 16:15 dan
2827 * classes/Makefile.in: All the C files in classes/ weren't being
2828 compiled with an of the gcc warnings flags. With this patch they
2829 are, and there are an awful lot of warnings, more than I could hope
2830 to understand and clear up (within any sensible time period before
2831 submitting a rash of patches, by which time everyone else would
2832 have moved the code on)
2834 Courtesy of Nicholas Clark <nick@unfortu.net>
2836 2002-01-15 16:10 dan
2838 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2839 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2840 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2841 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2842 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2843 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2844 chartypes/usascii.c: This patch adds a few more macros for .ops
2845 files to use. In addition to the existing
2859 This is intended mainly for use in helper functions in .ops files,
2860 but also for ops that need to eg push the address of the next
2861 opcode onto a stack. The only place this currently happens (outside
2862 of my private code) is in the bsr opcode, which previously
2863 hardcoded the computation.
2865 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
2866 higher in the generated file so that it can be used by static
2867 functions in the preamble.
2869 Finally, I ran into a parentheses matching problem -- should goto
2870 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
2871 \bgoto\s+OFFSET\((.*?)\)
2873 It was done inconsistently for the different calculations, and of
2874 course neither are correct because you really want matching
2875 parentheses. But that seems like too much bother. (Currently,
2876 there's only one place that uses anything other than $n in the
2877 parentheses, and that's the enternative() op.) So I made them all
2878 .*? but emulated recent POD by also allowing (( ... )) (that's two
2879 parenthesis with a space padding the body.)
2881 The generated core_ops.c and core_ops_prederef.c files after this
2882 patch are identical except for the CUR_OPCODE and REL_PC macros
2883 getting moved a little higher, and the bsr in the regular path (not
2884 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
2886 In summary, this is a big wad of meaningless changes for the
2887 current code. But it will make adding some opcodes easier in the
2888 future, and cleans up a small nit in the current bsr.
2890 Courtesy of Steve Fink <steve@fink.com>
2892 2002-01-15 08:48 brentdax
2894 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
2897 2002-01-15 08:45 brentdax
2899 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
2901 2002-01-15 05:00 brentdax
2903 * rx.ops: Speed up rx_literal--roughly doubles benchmark
2906 2002-01-14 20:18 dan
2908 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
2910 Courtesy of Nicholas Clark <nick@unfortu.net>
2912 2002-01-14 20:03 dan
2914 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
2915 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
2916 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
2917 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
2918 classes/parrotpointer.pmc, classes/perlarray.pmc,
2919 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2920 classes/perlstring.pmc, classes/perlundef.pmc,
2921 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
2922 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
2923 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
2924 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
2925 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
2926 patch cleans up most of the MSVC-warnings when using warning level
2927 4 (the highest, one above the default level 3). It turns off two
2928 level-4 warnings for 'unreferenced formal parameter' and 'named
2929 type definition in parentheses', the latter of which was turning up
2930 warnings in MS VC headers. Level 4 warnings also helped me find a
2931 couple of other lurking bugs in the parrot code.
2933 Replaces the various fprintf/exit combos with calls to
2934 internal_exception, which uses var_args to emulate printf. Various
2935 exception types were added as well. These are probably temporary
2936 until a real exception system arrives.
2938 Fixed some places in the IO code where wrong functions were being
2939 called, or put into the vtable.
2941 Courtesy of "Michel Lambert" <mlambert@legendent.com>
2943 2002-01-14 19:00 dan
2945 * MANIFEST: D'oh! Forgot a file.
2947 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2949 2002-01-14 18:44 brentdax
2951 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
2952 sense (and a few other enhancements to regexes).
2954 2002-01-14 07:07 brentdax
2956 * interpreter.c, runops_cores.c, test_main.c,
2957 include/parrot/interpreter.h: Make profiling a little more useful.
2959 2002-01-13 19:44 dan
2961 * Configure.pl: Turn off unsed things warnings for now
2963 2002-01-13 19:39 dan
2965 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
2967 classes/perlarray.c: * get_string: is casting
2968 SELF->cache.struct_val to a STRING*, while all other methods are
2969 using it as a KEY*; don't know what a perlarray stringifies to,
2970 so replacing with NULL * get_bool: the default behaviour does not
2973 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
2975 2002-01-13 19:37 dan
2977 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
2978 flags to LDFLAGS, so that Configure.pl --debugging works with
2981 classes/Makefile.in make easier to add pmb2c.pl flags to all
2984 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
2986 2002-01-13 19:36 dan
2988 * io/io_win32.c: according to my MSVC docs, you should use
2992 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
2994 2002-01-13 19:35 dan
2996 * docs/intro.pod: Doc tweak.
2998 Courtesy of Simon Glover <scog@roe.ac.uk>
3000 2002-01-13 19:34 dan
3002 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3007 works with PerlString PMCs; these should be false if they are "",
3009 are undefined, and true in every other case.
3011 Courtesy of Simon Glover <scog@roe.ac.uk>
3013 2002-01-13 19:23 dan
3015 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3016 NUMVAL_FMT to FLOATVAL_FMT.
3018 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3020 2002-01-13 17:45 jgoff
3022 * Makefile.in, global_setup.c, classes/Makefile.in,
3023 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3024 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3025 designing your own classes.
3027 2002-01-13 08:47 simon
3029 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3030 lib/Parrot/OpTrans/CPrederef.pm:
3031 Fix bsr in prederef mode.
3033 Courtesy of: Jason Gloudon <perl@gloudon.com>
3035 2002-01-12 15:33 dan
3037 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3038 string.c, encodings/singlebyte.c, encodings/utf32.c,
3039 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3040 Silence most of the unused variable warnings.
3042 Courtesy of Nicholas Clark <nick@unfortu.net>
3044 2002-01-12 15:18 dan
3046 * rx.ops: This patch fixes a warning and also changes an 'int' to
3047 an 'INTVAL'. All tests should pass on Solaris.
3049 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3051 2002-01-12 15:13 dan
3053 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3054 examples/assembly/life.pasm, include/parrot/interpreter.h,
3055 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3056 io/io_win32.c: More IO work. (Plus some misc twiddles)
3058 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3060 2002-01-12 01:14 dan
3062 * include/parrot/string.h: fix a missing name
3064 2002-01-12 00:39 grunblatt
3066 * include/parrot/string.h: Few typos.
3068 2002-01-12 00:16 grunblatt
3070 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3071 that change the program control flow.
3073 2002-01-11 23:53 brentdax
3075 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3076 ParrotPointer's guts.
3078 2002-01-11 23:03 dan
3080 * include/parrot/string.h: flags for the buffers, for GC
3082 2002-01-11 22:31 dan
3084 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3086 2002-01-11 22:21 dan
3088 * include/parrot/pmc.h: Started with PMC flags
3090 2002-01-11 19:33 dan
3092 * config_h.in, memory.c, resources.c, string.c,
3093 include/parrot/resources.h: Beginnings of a memory allocation/gc
3094 system. Without the GC part.
3096 2002-01-11 18:05 dan
3098 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3101 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3103 2002-01-11 17:50 dan
3105 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3106 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3107 a patch that makes pbc2c generated code work with the bsr opcode.
3108 It creates a new opcode 'enternative', and uses this to support a
3109 mixed model of interpretation and execution of compiled C code.
3111 Courtesy of Jason Gloudon <perl@gloudon.com>
3113 2002-01-11 17:48 dan
3115 * Makefile.in: Add life as a potential .exe target
3117 2002-01-11 17:30 dan
3119 * include/parrot/resources.h: Start of arena stuff for GC
3121 2002-01-11 05:34 brentdax
3123 * rx.ops: Docs modifications.
3125 2002-01-11 04:19 brentdax
3127 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3128 regular expressions.
3130 2002-01-11 03:44 grunblatt
3132 * jit/i386/core.jit: off by one.
3134 2002-01-11 02:25 dan
3136 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3138 Courtesy of Steve Fink <steve@fink.com>
3140 2002-01-11 00:32 brentdax
3142 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3144 2002-01-10 23:22 ajgough
3146 * string.c, docs/strings.pod: Removed all the nul termination code,
3147 as this is in general a bad idea. Note added to docs/strings.pod
3148 to warn people away from assuming termination.
3150 2002-01-10 23:14 dan
3152 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3153 testparrotsizes_c.in, include/parrot/interpreter.h,
3154 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3157 Courtesy of Steve Fink <steve@fink.com>
3159 2002-01-10 22:48 dan
3161 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3164 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3166 2002-01-10 22:46 dan
3168 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3169 t/pmc/perlhash.t: Well, actually two bugs.
3171 The first is an off-by-one error in key.c than can cause parrot
3172 to segfault if hash % NUM_BUCKETS happens to be zero.
3174 The other is a bug in the PerlHash init() code that causes new
3176 PMCs to start with the wrong size.
3178 Both fixed below; also tests to prevent them recurring.
3180 Courtesy of Simon Glover <scog@roe.ac.uk>
3182 2002-01-10 22:30 dan
3184 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3185 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3188 Courtesy of Simon Glover <scog@roe.ac.uk>
3190 2002-01-10 21:31 dan
3192 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3194 2002-01-10 20:30 grunblatt
3196 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3197 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3198 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3199 All the op codes that doesn't change the program control flow now
3200 work in the JIT by calling the code generated by the compiler when
3201 the op is not in core.jit TODO: * Make all the ops that change
3202 the program control flow (and are not on core.jit) work. *
3203 Remove the dispatch payload.
3205 2002-01-10 17:13 dan
3207 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3208 which tries to return 0 from a void function.
3210 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3212 2002-01-10 17:12 dan
3214 * t/op/macro.t: Skip tests, don't comment them out.
3216 Courtesy of Simon Glover <scog@roe.ac.uk>
3218 2002-01-10 17:10 dan
3220 * rx.c: This fixes a couple of nits in rx.c:
3222 1. There's no newline at the end, which makes gcc unhappy.
3223 2. We should use NULL, not 0 or "", for creating null pointers.
3225 Courtesy of Simon Glover <scog@roe.ac.uk>
3227 2002-01-10 17:09 dan
3229 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3233 Courtesy of Simon Glover <scog@roe.ac.uk>
3235 2002-01-10 16:54 ajgough
3237 * resources.c: Made free_string check that there was a string to
3238 free. In reponse to a bug spotted by Joshua Nye.
3240 2002-01-09 22:44 dan
3242 * global_setup.c: Forgot the setup
3244 2002-01-09 22:35 dan
3246 * rx.ops: Forgot this one
3248 2002-01-09 22:35 dan
3250 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3251 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3252 Tests don't work, though.
3254 Courtesy of "Brent Dax" <brentdax@cpan.org>
3256 2002-01-09 21:48 dan
3258 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3260 2002-01-09 21:22 dan
3262 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3263 Generic pointer holder class
3265 Courtesy of "Brent Dax" <brentdax@cpan.org>
3267 2002-01-09 21:19 dan
3269 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3272 2002-01-09 19:54 dan
3274 * io/io_unix.c: Whoops. Forgot one
3276 2002-01-09 19:43 dan
3278 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3279 t/pmc/perlhash.t: Fix hash crash bugs
3281 Courtesy of Simon Glover <scog@roe.ac.uk>
3283 2002-01-09 19:13 dan
3285 * memory.c: Signedness whoops.
3287 Courtesy of Simon Glover <scog@roe.ac.uk>
3289 2002-01-09 18:23 dan
3291 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3292 io/io_stdio.c, io/io_win32.c: Changes:
3294 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3295 will be using the Win32 API and company rather than the unix-ish
3296 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3297 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3298 stuff is there. Soon we should be able to start using these
3299 rather than fprintf(stderr, ...) and remove stdio linkage.
3301 Courtesy of <mrjoltcola@mindspring.com>
3303 2002-01-09 17:26 dan
3305 * test_main.c: Fixes bad code gen on x86.
3307 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3309 2002-01-09 17:24 dan
3311 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3312 classes/perlnum.pmc: This patch adds macros to the config.h file
3313 for INTVAL and NUMVAL printf formats.
3315 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3317 2002-01-08 22:55 ajgough
3319 * docs/vtables.pod: Clarify what get_string should do.
3321 2002-01-08 20:05 dan
3323 * key.c: Keep comments in sync.
3325 Courtesy of Simon Glover <scog@roe.ac.uk>
3327 2002-01-08 19:50 dan
3329 * memory.c, include/parrot/memory.h: Need a realloc
3331 2002-01-08 17:24 gregor
3333 * .cvsignore, Configure.pl, Makefile.in:
3334 Added 'reconfig' make target and corresponding --reconfig option to
3335 Configure.pl, so its very easy to re-run Configure.pl with the last
3336 (command-line) options you passed it.
3338 2002-01-08 16:33 dan
3340 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3341 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3342 in core.ops. Potential help for optimizers and JITters.
3344 Courtesy of gregor@linux1.kennedytech.com
3346 2002-01-08 16:32 dan
3348 * key.c: Grab key length from the right spot
3350 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3352 2002-01-08 13:27 ajgough
3354 * test_main.c: Fix slight thinko in realloc usage for reading from
3357 2002-01-08 11:34 ajgough
3359 * test_main.c: Allow test_parrot to read bytecode stream from
3360 stdin, adds -f command line option, with "-f -" doing the stdin
3363 2002-01-08 06:34 jgoff
3365 * key.c, include/parrot/key.h: key.c - Added simple implementation
3366 of buckets. include/parrot/key.h - Added enum_key_bucket type
3368 2002-01-08 03:21 jgoff
3370 * include/parrot/key.h: Added an undef type to the key structure,
3371 so we can delete keys without confusion.
3373 2002-01-07 22:09 dan
3375 * key.c, packfile.c, string.c, include/parrot/key.h,
3376 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3377 about index being redefined
3379 Courtesy of Nick Clark
3381 2002-01-07 21:15 dan
3383 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3385 Courtesy of Steve Fink <steve@fink.com>
3387 2002-01-07 20:48 dan
3389 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3392 Courtesy of "Brent Dax" <brentdax@cpan.org>
3394 2002-01-07 20:43 dan
3396 * docs/intro.pod: Missing a comma
3398 Courtesy of "coral" <coral@eekeek.org>
3400 2002-01-07 20:41 dan
3402 * global_setup.c: Quiet a warning
3404 Courtesy of Simon Glover <scog@roe.ac.uk>
3406 2002-01-07 18:58 gregor
3409 Ignore intermediate test files.
3411 2002-01-07 17:01 gregor
3414 Print a warning if an .ops file is mentioned more than once on the
3417 2002-01-07 16:12 ajgough
3419 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3420 these shouldn't fail.
3422 2002-01-07 15:15 simon
3424 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3427 2002-01-07 15:11 simon
3430 Fix zero-termination bug in hash function.
3432 2002-01-07 13:37 ajgough
3434 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3435 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3437 2002-01-07 11:53 brentdax
3439 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3440 (:add{foo}) and a new deleting thing (:rem{foo})
3442 2002-01-07 11:43 simon
3445 Gobble the + before concatenating.
3447 2002-01-07 03:53 dan
3449 * Makefile.in: Dependency fix for new ops setup.
3451 2002-01-07 03:33 jgoff
3453 * classes/perlarray.pmc: Add negative indices, and fix a small
3456 2002-01-06 23:54 ajgough
3458 * hints/os2.pl: Makes the hints file take account of ldflags and
3459 ccflags being split. This hints file is still very specific to
3460 builds with gnu tools, but a proper solution can wait. Thanks to
3463 2002-01-06 22:12 dan
3465 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3466 -changes Parrot::OpLib::core's dependencies to reflect the new
3467 selectable ops files -allows some of the special forms of 'goto'
3468 inside the PREAMBLE of an opcode file
3470 Courtesy of "Brent Dax" <brentdax@cpan.org>
3472 2002-01-06 19:59 simon
3477 2002-01-06 18:19 dan
3479 * classes/perlhash.pmc: Fix some type issues.
3481 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3483 2002-01-06 18:03 dan
3485 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3486 for a list of opcode files to use. The default is everything
3487 available except for obscure.ops.
3489 In addition, it makes it so that if your answer to a question
3490 starts with '+', it will concatenate it to the default. For
3493 What C compiler do you want to use? [cl] +HAHAHA!!!
3495 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3496 is not terribly useful, it is quite useful with things like
3497 command-line flags and the like.
3499 Finally, it contains a couple tweaks so that my syntax-highlighting
3500 editor recognizes some heredocs correctly. :^)
3502 Courtesy of "Brent Dax" <brentdax@cpan.org>
3504 2002-01-06 17:59 dan
3506 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3508 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3510 2002-01-06 17:58 dan
3512 * MANIFEST: We're missing a couple of files from the MANIFEST.
3514 Courtesy of Simon Glover <scog@roe.ac.uk>
3516 2002-01-06 17:57 dan
3518 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3519 Compiler directives, etc. in files other than core.ops will now
3520 work. 2. Compiler warnings will now display the file and line
3521 number of the opcode file.
3523 Courtesy of "Brent Dax" <brentdax@cpan.org>
3525 2002-01-06 17:52 dan
3527 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3529 Courtesy of Simon Glover <scog@roe.ac.uk>
3531 2002-01-06 17:36 dan
3533 * docs/intro.pod: Lots of updates
3535 Courtesy of Simon Glover <scog@roe.ac.uk>
3537 2002-01-06 02:34 gregor
3540 Add some internal documentation on the theory of operation of the
3543 2002-01-06 02:17 gregor
3546 Removed unnecessary include.
3548 2002-01-05 12:37 simon
3550 * classes/.cvsignore:
3551 Ignore generated .h files.
3553 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3555 2002-01-05 12:37 simon
3558 Make lcc happier by adding a dummy structure.
3560 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3562 2002-01-05 12:35 simon
3564 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3565 Make perlundef work. (And coincidentally stop segfaults in the
3568 Courtesy of: Jason Gloudon <perl@gloudon.com>
3570 2002-01-05 04:59 dan
3572 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3574 2002-01-05 04:55 jgoff
3576 * classes/perlhash.pmc: Added perlhash class definition
3578 2002-01-05 04:48 dan
3580 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3582 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3584 2002-01-05 03:57 jgoff
3586 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3587 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3588 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3589 t/pmc/pmc.t: Initial hash commit.
3591 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3592 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3593 set_{integer,number,string}_index_s
3595 This does not yet do collision resolution, but will soon.
3597 2002-01-05 02:54 dan
3599 * interpreter.c: More unsigned fixes
3601 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3603 2002-01-04 22:13 dan
3605 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3606 test programs happier.
3608 Courtesy of "Jason Diamond" <jason@injektilo.org>
3610 2002-01-04 19:00 dan
3612 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3615 2002-01-04 18:27 dan
3617 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3618 Fixes to get things configuring and building on Win32 Native.
3620 Courtesy of "Jason Diamond" <jason@injektilo.org>
3622 2002-01-04 17:39 dan
3624 * hints/vms.pl: debug cleanup
3626 2002-01-04 16:53 dan
3628 * docs/parrot.pod: The enclosed patch brings the list of
3629 documentation in parrot.pod
3632 Courtesy of Simon Glover <scog@roe.ac.uk>
3634 2002-01-04 16:47 dan
3636 * test_main.c, Parrot/Jit/i386-linux.pm,
3637 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3640 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3642 2002-01-04 16:44 dan
3644 * Configure.pl, Makefile.in: Fixed linking to use linker.
3646 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3648 2002-01-04 16:39 dan
3650 * io/io_stdio.c: Added CVS tag info
3652 2002-01-04 16:35 dan
3654 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3657 2002-01-04 16:26 dan
3659 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3662 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3664 2002-01-04 16:17 dan
3666 * chartypes/unicode.c: Silence some warnings.
3668 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3670 2002-01-04 16:09 dan
3672 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3673 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3674 into generated files
3675 but the $Id$ string gets mangled when it's committed.
3676 This patch fixes the existing .pmc files and fixes genclass.pl.
3678 - Makes capitalization in .pmc header match actual filenames
3680 - The command for calling genclass.pl in vtables.pod is incorrect,
3681 since it assumes you're running in classes/ but genclass.pl
3683 it's being run from the main directory. I changed genclass.pl to
3687 Courtesy of Steve Fink <steve@fink.com>
3689 2002-01-04 03:57 dan
3691 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3692 me--I *had* the files:wq!
3694 2002-01-04 03:40 dan
3696 * MANIFEST: Whoops--remove files not really there
3698 2002-01-04 03:37 dan
3700 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3701 my sig adds a new_stack() function to take care of the allocation
3702 and setup of "generic" stacks.
3704 Courtesy of "Brent Dax" <brentdax@cpan.org>
3706 2002-01-04 02:36 dan
3708 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3710 writes a load of junk in core_ops.pod. Applied patch fixes.
3712 Courtesy of Simon Glover <scog@roe.ac.uk>
3714 2002-01-04 02:35 dan
3716 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3717 logical-or is using get_integer instead of get_bool for logical
3718 operations. This patch corrects that.
3720 Perlnum and perlstring have working get_bool's, so the default
3721 logical_or and logical_and should be sufficient. The empty methods
3722 are pointed to the default logical_or.
3724 Courtesy of Jason Gloudon <perl@gloudon.com>
3726 2002-01-04 02:31 dan
3728 * Makefile.in: docs/Makefile should be removed by realclean, but
3731 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3733 2002-01-04 02:29 dan
3735 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3737 Courtesy of Steve Fink <steve@fink.com>
3739 2002-01-04 00:51 dan
3741 * docs/vtables.pod: More docs
3743 Courtesy of Steve Fink <steve@fink.com>
3745 2002-01-04 00:47 dan
3747 * Configure.pl: Updated 64-bit patch
3749 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3751 2002-01-04 00:43 dan
3753 * Configure.pl: 64-bit Fix.
3755 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3757 2002-01-03 22:37 dan
3759 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3760 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3761 some buffering work. Additional work on other layers.
3763 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3765 2002-01-03 19:41 gregor
3767 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3768 Updated copyright messages on top-level files.
3770 2002-01-03 04:23 robert
3772 * make.pl: Add author information. Bonsai test.
3774 2002-01-03 04:02 dan
3776 * io/io_os.c: Twig Bonsai
3778 2002-01-03 03:45 dan
3780 * io/: io_os.c, io_os.c: Twig Bonsai
3782 2002-01-03 03:41 dan
3784 * io/io_os.c: Twig Bonsai
3786 2002-01-02 21:42 gregor
3788 * packfile.c, include/parrot/packfile.h:
3789 Get rid of warnings in packfile.[hc]
3791 2002-01-02 20:39 gregor
3794 Bracketed translated patterns with ^ and $.
3796 2002-01-02 20:11 dan
3798 * io/io_os.c: silence a warning
3800 2002-01-02 19:52 grunblatt
3802 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3803 op_assembly to jit_struct.h, so that we get the real number of ops.
3804 Removed some warnings.
3806 2002-01-02 19:31 tom
3808 * string.c: Fix string transcoding so that it actually works.
3810 Patch from Peter Gibbs <peter@emkel.co.za>
3812 2002-01-02 19:20 gregor
3815 A program to check the MANIFEST file, accounting for .cvsignore
3818 2002-01-02 19:19 dan
3820 * t/harness: twig bonsai
3822 2002-01-02 19:13 dan
3824 * t/harness: twig bonsai
3826 2002-01-02 18:54 dan
3828 * t/harness: Tweak to test Bonsai
3830 2002-01-02 16:27 dan
3832 * Configure.pl: Allow 64-bit build of parrot on systems with a
3833 mixed 32/64 bit perl
3835 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3837 2002-01-02 15:33 simon
3839 * MANIFEST, docs/Makefile:
3840 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3842 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3844 2002-01-02 13:51 simon
3847 Die on broken manifest.
3849 2002-01-02 13:48 simon
3851 * jit2h.pl, examples/assembly/mops.pasm:
3852 Clear up JIT warnings.
3854 Courtesy of: Nick Clark <nick@unfortu.net>
3856 2002-01-02 04:10 dan
3858 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
3859 only once, so new interp creation works again
3861 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3863 2002-01-02 03:32 dan
3865 * t/op/interp.t: Stubbed the test out, since it's hanging at the
3868 2002-01-02 00:55 dan
3870 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
3871 io/io_os.c: Initial IO system patches
3873 Courtesy of <mrjoltcola@mindspring.com>
3875 2002-01-01 22:55 ajgough
3877 * classes/default.pmc: On second thoughts, and some prodding, the
3878 set_* methods now only set the appropriate part of the cache, and
3881 2002-01-01 22:29 ajgough
3883 * classes/default.pmc: Wrote a whole host of default pmc methods.
3885 set_* create appropriate Perl* result.
3886 get_* simply grabs needed bit of cache.*_val
3888 Other methods do the rightest thing I can think of, at the moment.
3890 None yet cope with overflow, the modulus operation needs to be
3892 I don't know quite which semantics we really want.
3896 2002-01-01 20:23 dan
3898 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
3899 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
3900 rid of unneeded tmp var and eliminated const from encode prototype
3901 since it does make changes to the string.
3903 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3905 2002-01-01 20:11 dan
3907 * Makefile.in: Make clean now tosses pdump.o
3909 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3911 2002-01-01 19:49 dan
3913 * pdump.c, test_main.c: Warnings cleanup
3915 Courtesy of Josh Wilmes <josh@sky.net>
3917 2002-01-01 19:45 dan
3919 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
3920 hints/mswin32.pl, languages/jako/Makefile.in,
3921 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
3924 Courtesy of "Jason Diamond" <jason@injektilo.org>
3926 2002-01-01 19:41 dan
3928 * include/parrot/register.h: Clean up some warnings
3930 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3932 2002-01-01 19:10 simon
3934 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3935 Hack-around to enable compilation of code using vtable ops.
3937 2002-01-01 18:43 dan
3939 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
3940 checks on unsigned things
3942 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3944 2002-01-01 18:26 dan
3946 * runops_cores.c: More warning silences.
3948 Courtesy of Nicholas Clark <nick@unfortu.net>
3950 2002-01-01 18:25 dan
3952 * trace.c: Shuts up a warning.
3954 Courtesy of Nicholas Clark <nick@unfortu.net>
3956 2002-01-01 18:24 dan
3958 * encodings/singlebyte.c: Clean up some warnings.
3960 Courtesy of Nicholas Clark <nick@unfortu.net>
3962 2002-01-01 18:20 dan
3964 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
3967 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3969 2002-01-01 18:17 dan
3971 * packfile.c: Warning cleanup
3973 Courtesy of Nicholas Clark <nick@unfortu.net>
3975 2002-01-01 17:53 dan
3977 * string.c: New string size should be based on output encoding's
3978 size, not input encoding's size.
3980 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
3982 2002-01-01 17:22 dan
3984 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
3985 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
3986 include/parrot/interpreter.h, include/parrot/memory.h,
3987 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
3990 Courtesy of Chip Turner <cturner@redhat.com>
3992 2002-01-01 17:09 dan
3994 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
3995 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
3996 now unsigned, as is proper.
3998 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3999 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4001 2002-01-01 16:59 dan
4003 * include/parrot/trace.h: Useless debugging prototype removed
4005 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4007 2002-01-01 16:58 dan
4009 * MANIFEST: We forgot a file.
4011 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4013 2002-01-01 03:53 dan
4015 * Configure.pl: Okay, I give. Removed some warnings because the
4016 darned system headers were triggering them. Sloppy, sloppy
4019 2002-01-01 03:48 dan
4021 * config_h.in: Add in an unsigned INTVAL.
4023 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4025 2002-01-01 03:46 dan
4027 * global_setup.c: Clean up some compiler warnings.
4029 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4031 2002-01-01 03:43 dan
4033 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4034 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4035 include/parrot/op.h: Cleaned up some things to make the compiler
4038 Courtesy of Nicholas Clark <nick@unfortu.net>
4040 2002-01-01 03:14 dan
4042 * Configure.pl: Quad updates.
4044 Courtesy of Nicholas Clark <nick@unfortu.net>
4046 2001-12-31 22:53 dan
4048 * include/parrot/op.h: Typedef had parameters backwards. Threw
4049 core.ops for a big whiny warnings loop.
4051 2001-12-31 22:37 dan
4053 * Makefile.in, resources.c: Tweaks to try and get things to build
4056 2001-12-31 21:58 dan
4058 * Configure.pl: Stupid thinko fix
4060 2001-12-31 21:34 dan
4062 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4064 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4066 2001-12-31 21:32 dan
4068 * Configure.pl: Fix for non-gcc systems
4070 2001-12-31 20:22 dan
4072 * interpreter.c: Tweak so we can build on non-JIT platforms
4074 2001-12-31 20:11 dan
4076 * Configure.pl: Force the time on some copied files to be 'now' to
4077 make the Win builds much less annoying.
4079 Courtesy of "Jason Diamond" <jason@injektilo.org>
4081 2001-12-31 20:07 dan
4083 * Configure.pl: Nuke all object files in the parrot tree that
4084 matter when configuring. Shouldn't be necessary with good
4085 dependencies in the makefile, but we don't have those yet.
4087 2001-12-31 20:00 gregor
4089 * chartypes/unicode.c:
4090 Silence unused variable warnings.
4092 2001-12-31 19:40 dan
4094 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4096 2001-12-31 19:37 gregor
4098 * interpreter.c, jit.c, include/parrot/jit.h:
4099 Created a prototype for JIT functions and used it in interpreter.c.
4101 2001-12-31 19:31 dan
4103 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4104 detection) with really cranky warnings if we find we're using it.
4106 Courtesy of: Nicholas Clark <nick@unfortu.net>
4108 2001-12-31 18:01 gregor
4110 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4112 Fixed a few warnings wrt prototypes, etc.
4114 2001-12-31 17:23 dan
4116 * string.c: Silenced most of the compiler whines
4118 2001-12-31 17:15 gregor
4121 Get the ccname from either ccname or just cc config var.
4123 2001-12-31 17:14 gregor
4125 * Parrot/Op.pm, lib/Parrot/Op.pm:
4126 Another intermediate opbody notation. Could come in handy. Explicit
4129 2001-12-31 17:05 dan
4131 * string.c: Minor warnings update
4133 2001-12-31 17:00 dan
4135 * include/parrot/string.h: Warnings cleanup
4137 2001-12-31 16:00 simon
4139 * encodings/utf8.c, include/parrot/encoding.h:
4140 Remove a couple more.
4142 2001-12-31 15:58 simon
4144 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4145 include/parrot/op.h:
4146 Rid ourselves of a few warnings.
4148 2001-12-31 15:32 dan
4150 * Configure.pl: Made GCC ever so much pickier.
4152 Switch list courtesy of Jarkko.
4154 2001-12-31 15:22 dan
4156 * string.c: Tightened up initial allocation.
4158 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4160 2001-12-31 06:48 dan
4162 * Configure.pl: Minor Windows tweak
4164 2001-12-31 05:32 dan
4166 * core.ops: Unused temp variable tossed.
4168 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4170 2001-12-31 05:09 grunblatt
4172 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4173 supported plataforms
4175 2001-12-31 03:05 dan
4177 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4178 platform-independent quote substitution for the makefiles.
4179 Hopefully this'll make the Win32 builds happier.
4181 2001-12-30 21:08 dan
4183 * string.c, include/parrot/string.h: More string system tweaks.
4185 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4187 2001-12-30 20:45 dan
4189 * core.ops: Some pod cleanup
4191 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4193 2001-12-30 20:22 ajgough
4195 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4196 we aren't using them right now. Clarified the workings of set Px,
4197 Py and clone Px, Py.
4199 2001-12-30 20:15 grunblatt
4201 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4202 Added readjit() to read *.jit files Updated core.jit to the new
4205 2001-12-30 20:14 ajgough
4207 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4209 2001-12-30 19:52 dan
4211 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4212 include/parrot/trace.h, platforms/generic.c: Compiler whine
4215 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4217 2001-12-30 19:13 dan
4219 * Configure.pl, Makefile.in: Make GCC pickier by default.
4221 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4223 2001-12-30 18:41 dan
4225 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4226 ntoi opcodes to sets.
4228 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4230 2001-12-30 17:58 gregor
4233 'make' no longer builds the mops test. Use 'make mops' for that. To
4234 run the test, you can do 'make mopstest'.
4236 2001-12-30 17:30 gregor
4239 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4242 2001-12-30 17:26 gregor
4244 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4245 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4246 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4247 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4248 Build enhancements. Originally to support building shared
4249 libraries, but now of broader impact.
4251 * .cvsignore: Ignore the blib/ directory, about which more later.
4255 * Got rid of TAB formatting and lined a few things up.
4257 * Added header comment with CVS Id variable, and a few other
4258 block header comments.
4260 * Uses new Parrot::BuildUtil module to determine the Parrot
4263 * Reworded a few messages, added a couple, and wrapped
4267 * Added 2002 to the Copyright statement.
4269 * Added new configure variables: VERSION, MAJOR, MINOR and
4272 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4274 than 5.6.0, but the comment implies it isn't.
4278 * Added $(SO), $(A) and $(AR_CRS) defines for library
4281 * Added $(RM_RF) define for removing directory trees
4283 * Grouped generated files into two classes: "sticky" (made by
4285 persisting across 'make clean') and 'fluid' (made during
4287 process, deleted by 'make clean').
4289 * Added header comments.
4291 * Added target for test_prog linked with shared library.
4293 * Added rules to build shared libraries in blib/lib. The
4295 built with trailing version numbers in their file names,
4297 symbolic links are created for shorter and no version tag
4300 * Added some missing dependencies
4302 * Added some missing 'make clean' targets.
4304 * Added 'make realclean' target that deletes files created by
4305 Configure.pl (including Makefile), forcing a re-configure.
4307 * Added a 'status' CVS target.
4309 * VERSION: New file, contains only the version. This version
4311 propagated to a few places, such as the core oplib version
4313 reduces the amount of coordination that has to happen to get
4315 number stuff throughout the tree in sync and updated prior to
4317 a new release. Feel free to grep for '0.0.3' to see the other
4319 that contain the version number (but, do that in a fresh CVS
4321 after doing 'make realclean').
4323 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4325 since the oplib and Parrot itself share a version number now.
4327 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4331 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4333 specifying the version by hand. Non-core oplibs will set this
4335 a quoted dot-string with three natural number components
4339 * interpreter.c: Make use of PARROT_VERSION to simplify some
4341 to get the complete version number in the resulting strings
4345 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4349 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4351 * ops2c.pl: Account for the PATCH version, too. This affects the
4353 oplib init function, and the oplib info struct initializer.
4355 * Parrot/BuildUtil.pm: New file for reading in and validating the
4357 the new VERSION file. Other build utilities could go here in
4360 * Parrot/OpsFile.pm:
4362 * Allow three components in version number, and require that
4364 be in double quotes.
4366 * Allow "VERSION = PARROT_VERSION", substituting the shared
4368 VERSION in that case.
4370 * include/parrot/oplib.h: Add the patch_version member.
4372 2001-12-30 12:16 simon
4374 * MANIFEST, Makefile.in:
4375 More stuff forgotten from MANIFEST.
4377 2001-12-30 12:13 simon
4382 2001-12-30 12:12 simon
4387 2001-12-30 12:12 simon
4392 2001-12-30 12:04 simon
4394 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4395 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4396 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4397 include/parrot/string.h, t/op/string.t:
4398 * Expand the strings test suite to be more complete * Make string
4399 commands more consistent (i.e, now the only string command that
4400 actually changes the original is chopn) * Significantly reduce the
4401 number of memory allocations and eliminate reallocations.
4403 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4405 2001-12-29 22:12 dan
4407 * interpreter.c, key.c, register.c, stacks.c, string.c,
4408 test_main.c, trace.c: Updates to match the coding standards.
4410 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4412 2001-12-29 20:42 grunblatt
4414 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4415 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4416 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4417 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4418 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4419 Kitover <caelum@debian.org>
4421 2001-12-28 21:20 dan
4423 * core.ops: Okay, now print takes a preceding file handle.
4425 I feel so dirty now.
4427 2001-12-28 20:46 dan
4429 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4430 changing the open op to use fopen under the hood.
4432 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4434 2001-12-28 18:20 ajgough
4436 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4437 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4438 include/parrot/exceptions.h, include/parrot/string.h,
4439 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4440 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4441 vtables appropriately. Also tests for same, new pmc_perlstring.t
4442 to hold tests specific to PerlStrings, as the pmc.t file is taking
4443 too long to run and slowing down my thought processes.
4445 Changes to strings.c etc to take string functions.
4447 Some changes to the strings docs, but not yet complete.
4449 Also, PerlString was copying pointers to strings, rather than
4450 strings themselves, so some action-at-a-distance bugs were creeping
4451 in, I think I've fixed this so everything works nicely.
4453 2001-12-28 04:56 gregor
4455 * examples/assembly/pmcmops.pasm:
4456 PMC-using version of mops.pasm.
4458 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4460 2001-12-28 04:56 gregor
4462 * examples/assembly/.cvsignore:
4463 Small tinkering. Removed old stuff, etc.
4465 2001-12-28 01:26 gregor
4467 * examples/mops/mops.scheme:
4468 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4469 to the very un-scheme-like implementation.
4471 2001-12-28 01:19 gregor
4473 * examples/mops/mops.c:
4474 Some people's picky compilers don't like us redefineing time(), so
4475 we call it time_n(). :)
4477 2001-12-28 00:28 gregor
4479 * examples/mops/: README, mops.ps:
4480 Added a PostScript example and a README.
4482 2001-12-27 23:57 gregor
4485 Build the C mops translation in examples/mops/mops.c
4487 2001-12-27 23:56 gregor
4489 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4490 Some translations of mops.pasm into other languages, for inner loop
4491 performance comparisons.
4493 2001-12-27 22:40 gregor
4495 * examples/assembly/mops.pasm:
4496 Fixed erroneous file name in header comment.
4498 2001-12-27 21:18 gregor
4501 One-liner to avoid no-op gotos to the next op.
4503 2001-12-27 21:06 gregor
4506 Fixed -p (profiling). Slow runops core was doing unconditional
4507 tracing, when it should have been checking the flags.
4509 2001-12-27 18:50 ajgough
4511 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4512 classes/perlstring.pmc, include/parrot/chartype.h,
4513 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4514 dded get_digit() to chartypes * Added string_bool() to strings *
4515 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4516 to perlstring.pmc * Tests for above, also a for couple of other
4519 The unicode chartype has only had placeholders added for get_digit,
4520 string_to_num has been updated to use type->get_digit rather than
4521 the previous ascii-isms. Some remain, but we need to carefully
4522 define what we mean by a number before we let thousands of code
4523 points act as a minus sign.
4525 2001-12-27 18:32 dan
4527 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4530 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4532 2001-12-27 18:23 dan
4534 * t/op/bitwise.t: More tests.
4536 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4538 2001-12-27 17:08 gregor
4540 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4541 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4542 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4543 include/parrot/interpreter.h, include/parrot/oplib.h,
4544 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4545 platforms/win32.c, platforms/win32.h:
4546 Initial code for dynamic loading of oplibs, applied for now to the
4547 loading of the core_prederef oplib when the -P flag is passed to
4550 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4554 * Added libcore_prederef_0_3.so to the shared target.
4555 * Added build rule for libcore_prederef_0_3.so.
4556 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4557 to Parrot/OpLib/core.pm, core_ops.c and
4558 core_ops_prederef.c.
4560 * config_h.in: Added defines for constants used to locate the
4561 core oplib's init function, and the core_prederef oplib for
4564 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4565 required by Parrot/OpsFile.pm.
4569 * Added init_prederef() and stop_prederef() functions to load
4570 and unload the core_prederef oplib when we are in prederef
4573 NOTE: In all likelihood, the prederef stuff has a rapidly
4574 dwindling time-to-live. The JIT should provide vastly
4576 performance, and loading an alternate set of core_ops isn't
4577 the real direction for the dynaloading stuff. Loading
4578 *additional* ops is. It does provide a handy test case for
4580 general idea for now, though.
4582 * Gets the core copcode table, etc. via the core oplibs oplib
4583 info pointer, as returned by the core oplib's init
4588 * Make use of the version, major version and minor version
4589 stuff parsed by Parrot/OpsFile.pm
4591 * The only exported symbol in the generated files is the init
4592 function now, since that returns an oplib info struct
4593 pointer, and all the important stuff can be found there.
4595 * ops2pm.pl: Put the oplib version in the generated .pm file.
4597 * test_main.c: Small changes necessitated by changes in the names
4598 of some members of the interpreter struct.
4600 * trace.c: Small changes necessitated by changes in the names
4601 of some members of the interpreter struct.
4603 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4606 * include/parrot/interp_guts.h: Small changes necessitated by
4607 changes in the names of some members of the interpreter struct.
4609 * include/parrot/interpreter.h: Include the new
4610 include/parrot/oplib.h header. Small changes to the oplib-
4613 * include/parrot/oplib.h: Define the type of the oplib init
4614 function, and the struct type for the oplib info.
4616 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4617 since not all platforms have it. For those that do, a default
4618 second argument is provided.
4620 2001-12-26 05:12 gregor
4623 Make jitarch calculation not get tripped up by extra components to
4626 2001-12-24 21:23 gregor
4628 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4629 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4630 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4631 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4632 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4633 Some more JIT work from Daniel Grunblatt.
4635 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4639 * Added JUMP(END) to place the number of bytes to the end of the
4643 * The *.jit files syntax changed.
4645 * Added jit/i386/lib.jit to place handly functions as jump that
4647 argument the address where is the opcode number to jump to.
4649 * There is a bug at some point, but I will start writing
4650 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4652 calls, which make the jit as slow as the interpreter.
4654 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4656 2001-12-24 03:46 dan
4658 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4659 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4660 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4661 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4662 Perls before 5.6.0 don't like it.
4664 2001-12-22 16:02 ajgough
4666 * t/op/stacks.t: stopped skipping tests we can run now. added
4669 2001-12-21 21:13 gregor
4671 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4672 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4673 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4674 Fixed some package name goofs.
4676 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4678 2001-12-21 19:32 gregor
4680 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4681 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4682 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4683 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4684 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4685 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4686 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4687 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4688 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4689 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4692 * Removed ops2c-prederef.pl
4694 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4696 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4697 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4698 for old functionality of ops2c-prederef.pl), and
4699 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4701 "OpTrans" == "Op Transformation"
4703 * Makefile.in modifications to call "ops2c.pl C" where it used
4704 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4705 to be "ops2c-prederef.pl".
4707 * core.ops and obscure.ops changes to syntax. Semantics are
4708 identical with previous version:
4710 return HALT --> HALT()
4711 return AUTO --> goto NEXT()
4712 return RETREL(...) --> goto OFFSET(...)
4713 return RESTART(*) --> restart NEXT()
4715 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4716 for dest-less branch ops replaced with new notation "goto
4718 which uses the new pop_dest() function in stacks.c. This also
4719 allowed these ops to become 'inline' ops, since they no longer
4720 have local variables.
4722 The 'ret' op also became simplified to just "goto POP()", and
4723 also became an inline op.
4725 * interpreter.c reflects the change in type name:
4727 prederef_op_func_t --> op_func_prederef_t
4729 that occurred in include/parrot/op.h
4731 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4734 * ops2c.pl is now generic. Its first argument is the last
4735 package name component of a subclass of Parrot::OpTrans. These
4736 subclasses all have full names of the form Parrot::OpTrans::*.
4737 An instance of the class is created and later consulted for
4738 various bits of information needed to generate the C code.
4740 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4741 contain its transformation rules.
4743 * stacks.c has a new function pop_dest() that pops a destination
4744 off the control stack. include/parrot/stacks.h has the
4747 * Parrot/Op.pm now supports the syntax generated by
4749 for the "goto POP" case.
4751 Also, the source() method now expects its second argument to be
4752 an object that ISA Parrot::OpTrans. Methods of this object are
4753 called to perform the substitutions.
4755 * Parrot/OpsFile.pm supports the change in notation mentioned
4758 * docs/intro.pod reflects these changes.
4760 * include/parrot/op.h: Renamed type prederef_op_func_t to
4761 op_func_prederef_t because it made the implementation of the
4762 shared ops2c.pl easier.
4764 2001-12-21 13:47 gregor
4766 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4767 Both test_parrot (via test_main.c) and the intepreter itself (via
4768 interpreter.c) use the JIT_CAPABLE config to decide whether to
4769 actually attempt JIT operation, or to complain.
4771 2001-12-20 23:25 gregor
4773 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4774 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4775 Changes to the format of *.ops files. An attempt to provide hints
4776 for future opfunc processing logic that wants to know if an opfunc
4777 is simple enough to JIT (e.g.) inline, or not.
4779 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4780 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4783 2001-12-20 21:28 gregor
4785 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4789 * A fix to Gregor's last Configure.pl update.
4791 * Remove the need for hardcoded "\n" at the end of the "%f"
4792 format for printing floating-point numbers.
4794 * New, improved *.jit syntax for references to registers,
4797 * Support for C() improved.
4799 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4801 2001-12-20 16:55 dan
4803 * MANIFEST: Added jit.c to the manifest.
4805 2001-12-20 15:24 simon
4808 Off-by-one error fixed.
4810 2001-12-20 14:18 simon
4812 * jit/i386/core.jit:
4813 Just a noop. It's the only machine code I know.
4815 2001-12-20 13:10 gregor
4817 * Configure.pl, Makefile.in, jit2h.pl:
4818 Attempt to fix Win32 builds.
4820 * No more empty braces in include/parrot/jit_struct.h
4824 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4828 2001-12-20 11:56 simon
4833 2001-12-20 01:57 gregor
4835 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4836 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4837 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4838 include/parrot/.cvsignore, include/parrot/interpreter.h,
4839 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4840 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4841 lib/Parrot/Jit/i386-nojit.pm:
4842 Initial JIT implementation.
4844 * Enabled with test_parrot -j. 20x speed boosts seen.
4846 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4850 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4852 2001-12-20 01:53 jgoff
4854 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4855 core.ops - Removed key operators, they should be hidden from the
4856 assembler. t/op/key.t - No need to test the nonexistent key
4859 2001-12-20 00:13 ajgough
4861 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
4862 that asking for type of entry at depth causes segfault as stack is
4863 zero based, fixed cmp in core.ops to reflect this. Last test is
4864 skipped as we don't do exceptions right yet.
4866 2001-12-19 19:11 ajgough
4868 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
4869 non-being was causing Irix "issues".
4871 2001-12-19 03:37 jgoff
4873 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
4874 004_combined.t: Changed tests to make sure they pass with the
4875 addition of the clone operator.
4877 2001-12-18 20:06 gregor
4879 * interpreter.c, include/parrot/interp_guts.h:
4880 Performance improvements to the predereferencing code path
4881 suggested to me over lunch yesterday by my friend John Kennedy.
4882 The goal is to remove the additional test in the inner loop that
4883 was checking for NULL to decide whether or not to call the
4884 prederef() function. Also moved pc & pc_prederef syncing outside
4887 * Changed the prototype of the prederef() function in
4888 interpreter.c to match that of an opfunc.
4890 * Instead of initializing the prederef void * array with NULL,
4891 we initialize it with pointers to prederef().
4893 * prederef() now returns the prederef_pc passed in, so that
4894 after predereferencing, the same location is executed, but now
4895 with the real code being called.
4897 Thanks to: John Kennedy
4899 2001-12-18 19:59 ajgough
4901 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
4902 (including some more in the skipped string -> int tests).
4904 2001-12-18 07:06 jgoff
4906 * MANIFEST: Forgot to add classes/perlarray.pmc
4908 2001-12-18 07:05 jgoff
4910 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
4911 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
4912 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
4913 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
4914 t/pmc/pmc.t: Big update... Makefile.in - Added
4915 classes/perlarray.pmc core.ops - Added new series of set() ops for
4916 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
4917 Added perlarray.pmc classes/*.pmc - Added
4918 set_{integer,number,string}_index and
4919 get_{integer,number,string}_index include/parrot/pmc.h - Added new
4920 type t/op/pmc.t - Added basic array test
4922 classes/perlarray.pmc - Added
4924 2001-12-17 05:29 jgoff
4926 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
4927 generator to use clone operator instead of set Px,Py
4929 2001-12-17 05:25 jgoff
4931 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
4932 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
4933 PMC,PMC operator. Uses the clone() vtable entries.
4935 2001-12-17 04:51 jgoff
4937 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
4940 2001-12-17 04:41 jgoff
4942 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
4945 2001-12-17 04:41 jgoff
4947 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
4949 2001-12-17 04:39 jgoff
4951 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
4952 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
4955 2001-12-17 04:27 jgoff
4957 * languages/miniperl/Miniperl.pm: Latest version of the driver.
4958 Admittedly it's a little thin on true OO, but the algorithms are
4961 2001-12-17 04:24 jgoff
4963 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
4964 003_generator.t, 004_combined.t: Much more comprehensive test suite
4965 for the codegen et al
4967 2001-12-17 04:22 jgoff
4969 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
4970 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
4973 2001-12-17 04:20 jgoff
4975 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
4978 2001-12-17 04:17 jgoff
4980 * languages/miniperl/foo.mpl: Test file that'll be outdated by
4981 changes to the new compiler
4983 2001-12-17 04:11 jgoff
4985 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
4988 2001-12-16 14:11 simon
4990 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
4992 Fix bogus assumption that multiplying an integer by an integer
4995 2001-12-16 12:48 simon
4997 * make_vtable_ops.pl:
5000 2001-12-16 12:45 simon
5002 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5003 Expand multimethod vtable ops.
5005 2001-12-16 12:04 simon
5008 Added 'cvsclean' which doesn't zap CVS/* directories.
5010 2001-12-15 01:50 dan
5012 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5015 Thanks to grunblatt fom #parrot for the catch
5017 2001-12-15 01:39 dan
5019 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5020 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5021 languages/miniperl/Makefile.in,
5022 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5023 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5026 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5028 2001-12-14 17:39 dan
5030 * t/op/trans.t: More trans tests.
5032 Courtesy of: Simon Glover <scog@roe.ac.uk>
5034 2001-12-14 07:41 robert
5036 * make.pl: - define MAKE macro - topological sort and subgraph
5037 order - start of timestamp stuff (still badly broken)
5039 2001-12-14 06:06 jgoff
5041 * optimizer.pl: Hopefully this should do the trick..
5043 2001-12-14 06:04 jgoff
5045 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5047 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5049 The optimizer performs its work on a file post-macro expansion.
5050 Run it on a .pasm file, preferably with some trivially reducible
5052 like 'add I0,5,-6' or 'mul I0,I1,0'
5054 2001-12-14 05:48 robert
5056 * Makefile.in: case error EXE -> exe
5058 2001-12-14 05:42 robert
5060 * Makefile.in: remove legacy PDISASM macro
5062 2001-12-14 04:01 dan
5064 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5067 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5069 2001-12-13 22:03 dan
5071 * Configure.pl, Makefile.in, Parrot/Test.pm,
5072 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5073 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5074 can change it without having to change the world.
5076 2001-12-13 21:57 dan
5078 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5079 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5080 file/line/package to interp structure, with ops to get and set
5081 them. Now we can know where we are!
5083 2001-12-13 19:43 dan
5085 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5086 WinXP builds work out of the box
5088 2001-12-13 17:05 dan
5090 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5091 name again--makes case-insensitive systems much happier.
5093 2001-12-13 16:21 dan
5095 * core.ops, key.c, string.c, test_main.c, trace.c,
5096 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5099 Courtesy of: Josh Wilmes <josh@sky.net>
5101 2001-12-13 13:33 gregor
5103 * languages/jako/Makefile.in:
5104 Improved the method of calling the assembler.
5106 2001-12-13 13:30 gregor
5108 * languages/jako/Makefile.in:
5109 Improve the build process. It now works from the main parrot dir,
5110 and from the languages/jako directory. Now uses the .SUFFIXES
5111 target and generic build rules to reduce clutter in the
5114 2001-12-13 13:29 gregor
5116 * languages/jako/.cvsignore:
5117 Ignore the (now generated Makefile), and don't ignore .list files
5118 anymore, since we aren't generating them.
5120 2001-12-13 13:11 gregor
5122 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5123 languages/Makefile.in, languages/jako/Makefile,
5124 languages/jako/Makefile.in:
5125 Added a 'languages' target to the top-level Makefile.in, and
5126 modified the jako build procedure to involve Makefile.in -->
5127 Makefile too (done by Configure.pl).
5129 NOTE: languages/jako and language/scheme are built.
5130 languages/miniperl wasn't building right, so it was left off for
5133 2001-12-13 12:15 gregor
5136 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5139 2001-12-13 12:12 gregor
5141 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5142 ops2c-prederef.pl, ops2c.pl, test_main.c,
5143 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5144 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5145 Welcome to the Just-in-Time Predereferencing Patch!
5147 This patch implements a "predereferencing" mode for parrot. That
5148 means that a lot of the dereferencing you see in DO_OP and in the
5149 opfuncs is done up front (really, JIT) rather than as and each time
5150 we execute each op in the byte code stream.
5152 This works by creating an array of void pointers with the same
5153 number of elements as the byte code array. This array starts out
5154 life zero-initialized. Each time we go to execute an op, we check
5155 first to see if we have a NULL pointer at *cur_opcode. If so, we
5156 know we haven't done our predereferencing yet (this is the JIT
5157 part), so we call the prederef() function with sufficient args that
5158 it can go look up opfunc pointers and op arg types and put the
5159 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5160 where N is the number of args (counting the op itself as one arg).
5162 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5163 to have inline INTVAL constants.
5165 I've been getting about a 22% speed increase over vanilla code path
5166 when I compile with -O0. Advantage decreases at -O9 here. I tested
5167 with mops.pbc, and also by temporarily putting the -P flag in
5168 Parrot/Test.pm and running all the tests. So, this code is as
5169 correct as the test suite can detect.
5171 Here's how it plays out in the code:
5173 * New script ops2c-prederef.pl
5175 Copy-paste code reuse from ops2c.pl. Modified to expect the
5177 a void ** cur_opcode and to return a void **.
5181 * opfuncs are now static. Who needs to call them by name from
5183 anyway? They are accessed via the opfunc table.
5185 * Some MACRO stuff to make things work whether we prederef or
5187 may be possible to get rid of these some day if other folks
5189 that we should be using CODE object pointers + offsets as
5191 rather than raw pointers to either opcode_t's or (void *)'s
5192 (depending on prederef mode or no).
5194 * core.ops modified to be usable to build both kinds of opfuncs.
5198 * calls to push_generic_entry(... cur_opcode ...) were
5200 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5202 macro that does the right thing in both kinds of ops.c
5205 This is applicable to the bsr op. If we treated
5207 (Code PMC + local offset) rather than as
5208 pointer-to-memory-somewhere,
5209 this wouldn't be a big deal. We may need to do that at some
5211 anyway, so that when you jump around and return not only do
5213 the right PC (pointer, today), but you also have the
5215 knowing what chunk of bytecode it is in at all times
5217 allow reflection, as in ops that query or affect the
5220 * runinterp was modified. Instead of copying the top-level
5222 and blasting its byte_code pointer, we simply call runops
5224 interp, passing in the pointer to the current interp's code
5226 offset into that code at which to start (this last arg used
5228 pointer PC, now its an offset PC).
5230 * include/parrot/op.h
5232 * new typedef for prederef opfuncs (they return void **)
5234 * include/parrot/interp_guts.h
5236 * New DO_OP_PREDEREF() macro described above.
5238 * include/parrot/interpreter.h
5240 * New prototype of runops() -- see below.
5242 * resume_addr field changed to resume_flag and resume_offset
5244 We might be resuming from interp using prederef to one not
5246 so pointers between the two don't play nice together.
5247 Offsets are beautiful.
5249 * New PARROT_PREDEREF_FLAG constant
5253 * include "parrot/oplib/core_ops_prederef.h"
5255 * prederef() function described above.
5257 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5260 * runops() modified to take size_t CODE-relative offset PC
5262 pointer PC. This made other things workable and doesn't
5264 anything important (IMO).
5268 * New flag '-P' to enable predereferencing.
5270 * Makefile modified to build core_ops_prederef.c from core.ops
5274 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5276 Added core_ops_prederef$(O) to O_FILES
5278 2001-12-13 12:12 gregor
5280 * languages/jako/MAINTAINER:
5281 Thought it would be nice to put this right in the code...
5283 2001-12-13 04:36 jgoff
5285 * languages/miniperl/Miniperl/Generator.pm: Commented out
5286 debugging, fixed register spillover algorithm
5288 2001-12-13 04:23 jgoff
5290 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5291 line) Restructured a bit of the dependency generator to fix a
5294 2001-12-13 03:43 robert
5296 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5298 2001-12-13 03:03 jgoff
5300 * make.pl: Added make.pl
5302 2001-12-13 02:44 jgoff
5304 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5305 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5306 special flags... - Dies on undefined macros
5307 such as $(PDISASM) in current make - Dies on
5308 recursive macro expansions (Doesn't test for
5309 mutual or multipart loops) - In general it
5310 seems to be a little less lenient... Missing bits - File
5311 mod/creation times aren't being looked at - Actions
5312 aren't being taken - The few funky variables ($@, $<)
5313 aren't being dealt with Bugs - Line numbers are slipping a bit.
5315 2001-12-13 02:29 jgoff
5317 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5318 Reconstructing files to make the parser flow a little better.
5320 2001-12-13 00:51 dan
5322 * resources.c: Be a bit less wasteful with resources that don't
5325 2001-12-12 18:22 dan
5327 * Makefile.in: D'oh! Fixed looping makefile bug.
5329 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5331 2001-12-12 16:23 jgoff
5333 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5335 2001-12-12 16:22 jgoff
5337 * MANIFEST: Manifest additions for languages/miniperl
5339 2001-12-12 16:19 jgoff
5341 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5342 tests. These are left over from the Scheme suite and shouldn't be
5345 2001-12-12 16:18 jgoff
5347 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5348 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5349 modules. Miniperl/ is where the real work gets done. t/ is largely
5350 vacant because it isn't ready to survive real tests yet.
5352 2001-12-12 16:17 jgoff
5354 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5355 mpc: Final go-round, hopefully.
5357 languages/miniperl/Makefile - Used basically to run tests, as there
5358 is nothing here that needs to be
5359 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5360 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5361 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5364 2001-12-12 16:09 dan
5366 * Configure.pl: Setting a variable with the make command name is
5369 2001-12-12 15:07 simon
5371 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5372 Recursive make considered "ow, don't do that".
5374 2001-12-12 14:45 dan
5376 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5377 non-portable code) Killing builds on Win32 native. Small patch
5378 applied which hopefully fixes it.
5380 2001-12-12 06:12 ajgough
5382 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5384 2001-12-12 06:08 ajgough
5386 * Makefile.in: perl is $(PERL).
5388 2001-12-12 06:00 ajgough
5390 * t/op/integer.t: Added tests to integer.t so that all permutations
5391 of arguments are actually called at some point.
5393 2001-12-12 05:18 ajgough
5395 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5396 Tests for sleep i|ic
5398 2001-12-12 05:09 ajgough
5400 * t/op/stacks.t: Added pushp and popp register stack tests.
5402 2001-12-12 04:51 ajgough
5404 * t/op/stacks.t: Added tests for save and restore, for all register
5405 types. Let there be Haiku.
5407 2001-12-12 04:27 ajgough
5409 * t/op/basic.t: bsr_i test. You know you want it.
5411 2001-12-12 02:55 ajgough
5413 * MANIFEST: Added hints/os2.pl to MANIFEST.
5415 2001-12-12 02:52 jgoff
5417 * core.ops, key.c: Final checkin... These are actually the correct
5420 2001-12-12 02:12 jgoff
5422 * include/parrot/key.h: key.c - Removed a few functions,
5423 generalized set_element_value and element_value to accept
5424 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5425 core.ops - Modified to accept the new return style.
5427 This is a prelude to adding virtual-table methods to allow hashing
5428 &c. Expect at least one or two more redesigns before this settles
5429 down. However, it still passes the original tests.
5431 2001-12-11 13:35 gregor
5436 2001-12-11 12:03 gregor
5439 Don't ignore test_prog, but do ignore parrot.
5441 2001-12-11 12:03 gregor
5443 * classes/.cvsignore:
5444 Ignore the generated file default.h
5446 2001-12-11 04:07 jgoff
5450 2001-12-11 04:05 jgoff
5452 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5454 2001-12-11 04:00 jgoff
5456 * core.ops: Added new key aggregate operations to core ops.
5458 2001-12-11 04:00 jgoff
5460 * include/parrot/parrot.h: Added key.h to header list
5462 2001-12-11 03:59 jgoff
5464 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5466 2001-12-11 03:58 jgoff
5468 * Makefile.in: Added implementation of key aggregates.
5470 2001-12-08 23:07 simon
5475 2001-12-08 23:05 simon
5477 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5478 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5479 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5480 test_prog? What is test_prog?
5482 2001-12-08 22:57 simon
5486 Oops, the changelog commit was on *this* machine.
5488 2001-12-08 22:56 simon
5491 Updates to NEWS and ChangeLog pre-release.
5493 2001-12-08 22:07 simon
5495 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5496 classes/perlnum.pmc, classes/pmc2c.pl:
5497 Add "default" PMC vtable so you can inherit implied stuff.
5499 2001-12-08 21:24 simon
5501 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5502 docs/vtables.pod, lib/Parrot/PackFile.pm:
5503 Getting the documentation up to scratch.
5505 2001-12-08 21:21 simon
5508 Allow inheriting from default class.
5510 2001-12-07 20:43 gregor
5512 * examples/assembly/queens.pasm:
5513 Regenerated the file with the latest jakoc.
5515 2001-12-07 20:29 simon
5517 * core.ops, t/op/stacks.t:
5518 Rename "rotate" to "rotate_up".
5520 2001-12-07 20:15 simon
5523 Some tests for rotate.
5525 2001-12-07 00:55 gregor
5528 Cast the result of the pointer arithmetic, since without the cast
5529 there are warnings with some compilers, and without the parens
5530 around the pointer arithmetic, precedence breaks the meaning and
5533 2001-12-06 23:37 simon
5536 Temporary. I prefer compiler warnings to segfaults, thanks.
5538 2001-12-06 23:34 simon
5541 Make "trace" work again.
5543 2001-12-06 21:23 dan
5545 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5547 2001-12-06 21:22 dan
5549 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5550 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5552 2001-12-06 19:22 simon
5555 Yet another "How the *%$! did that compile?" moment.
5557 2001-12-06 18:28 dan
5559 * hints/vms.pl: Fix to build, with a HERE logical required
5561 2001-12-06 17:48 dan
5563 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5564 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5565 changes to the interpreter--flags are now part of the interp
5568 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5570 2001-12-06 14:02 gregor
5573 s/little_languages/languages/ in Jako section.
5575 2001-12-06 13:15 simon
5578 Ensure the documentation gets made.
5580 2001-12-06 13:12 simon
5582 * MANIFEST, docs/intro.pod:
5583 Documentation! Added the "Some Assembly Required" article with
5586 2001-12-06 00:39 simon
5591 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5593 2001-12-06 00:37 simon
5596 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5598 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5600 2001-12-06 00:11 tom
5602 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5603 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5604 include/parrot/chartype.h, include/parrot/encoding.h,
5605 include/parrot/parrot.h: Moved string to number conversion code out
5606 of the encoding layer and into the main string layer as neither the
5607 encoding layer nor the character type layer knows enough on it's
5608 own to do the conversion correctly.
5610 2001-12-05 23:12 tom
5612 * Makefile.in: Rebuild the classes directory if any of the object
5613 files for the classes are missing rather than only when perlint.o
5616 2001-12-05 19:43 gregor
5618 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5619 * Reworked the constantize_string() stuff a little bit because it
5621 puking on things like "\033[H\033[2J\0" (which occurs in the
5622 languages/jako/mandelzoom.jako example).
5624 2001-12-05 19:39 gregor
5626 * languages/jako/: Makefile, mandelzoom.jako:
5627 Added 'mandelzoom' example.
5629 2001-12-05 19:38 gregor
5631 * languages/jako/jakoc:
5634 * Changed some instances of die() to confess()
5636 2001-12-05 18:34 gregor
5638 * t/: op/pmc.t, pmc/pmc.t:
5639 s/sting->int/string->int/
5641 2001-12-05 18:08 gregor
5643 * Parrot/.cvsignore:
5646 2001-12-05 18:05 gregor
5648 * classes/.cvsignore:
5649 Ignore the generated files.
5651 2001-12-05 17:19 gregor
5654 * Reverted recent changes, since they broke the script. Real fix
5658 2001-12-05 17:03 simon
5660 * classes/Makefile.in:
5661 Remember: change Makefile.in, not Makefile. D'oh.
5663 2001-12-05 17:02 simon
5666 Ensure PMC.pm gets remade.
5668 2001-12-05 16:58 simon
5670 * MANIFEST, Makefile.in, classes/Makefile.in,
5671 classes/perlundef.pmc, include/parrot/pmc.h:
5672 Add perlundef class.
5674 2001-12-05 16:45 simon
5677 Document "new P0, foo"
5679 2001-12-05 16:43 simon
5681 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5682 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5683 Allow assembler to know about PMC class names.
5685 2001-12-04 13:39 ajgough
5687 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5689 2001-12-04 05:02 ajgough
5691 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5694 2001-12-04 04:24 ajgough
5696 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5697 broken form of strtod and appropriate tests. Does not yet check
5700 2001-12-04 01:31 ajgough
5702 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5703 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5704 to extract_num and extract_int string vtables, without this it
5705 would be impossible to have strings with nulls in while still
5706 knowing where they ended.
5708 2001-12-03 18:40 ajgough
5710 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5711 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5712 include/parrot/string.h: Moved pmc string to number conversion into
5713 the string encoding tables.
5715 2001-12-03 00:21 ajgough
5717 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5720 2001-12-02 23:09 jgoff
5722 * classes/Makefile.in: Removed some redundant targets.
5724 2001-12-02 19:02 ajgough
5726 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5727 equality macro rather than using perl to generate expected output,
5728 all tests now have <<OUTPUT.
5730 2001-12-02 17:44 ajgough
5732 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5733 for pmc.t as well. Will probably move macros into another file at
5734 some point, although this might be best left until the tests are
5737 2001-12-02 06:16 jgoff
5739 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5740 within Parrot_Perl{Class}_init.
5742 2001-12-02 06:09 jgoff
5744 * classes/Makefile.in: I seem to have removed *$(O) twice..
5746 2001-12-02 05:06 jgoff
5748 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5749 Configure.pl - Removed '-I./include', added classes/Makefile
5750 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5751 Removed old classes/* make stuff Added target for
5754 2001-12-02 04:48 jgoff
5756 * classes/Makefile.in: Going to be used shortly...
5758 2001-12-02 04:40 jgoff
5760 * docs/Makefile: Configure.pl - Added automatic makefile creation
5761 for docs/ and classes/ Removed '-I./include' because
5762 it was getting incorrectly passed to classes/
5763 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5764 - Removed classes/ build stuff, replaced with classes/Makefile.in
5765 Added '-I./include' locally docs/Makefile - Should no
5766 longer be used, but I'm not brave enough to do a
5769 2001-12-02 01:21 ajgough
5771 * t/op/trans.t: Refactored trans math tests to have hard coded
5772 expected return values and be more ready to be unperled at some
5773 point in the future. Added $fp_equality_macro which is a
5774 "nearly-equal-to" function.
5776 2001-12-02 01:18 ajgough
5778 * Makefile.in: Humph. People really ought to use Makefile
5779 variables, s/perl/$(PERL)/ throughout.
5781 2001-12-01 18:15 jgoff
5783 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5784 figure out what to do vis-a-vis the lack of snprintf.
5786 2001-11-30 13:14 ajgough
5788 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5791 2001-11-30 13:14 ajgough
5793 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5796 2001-11-30 10:36 simon
5799 Rewrite print_p to do the right thing.
5801 2001-11-30 06:21 jgoff
5803 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5804 concat, integer/number/string math
5806 2001-11-30 06:20 jgoff
5808 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5809 classes/perlint.pmc - Fixes and expanding for concat and math with
5810 strings classes/perlnum.pmc - Fixes and expanding for concat and
5811 math with strings classes/perlstring.pmc - Fixes and expanding for
5812 concat and math with strings
5814 2001-11-29 15:21 ajgough
5816 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5817 $^X lies, which confused bash which make uses to run things when
5820 2001-11-29 04:58 jgoff
5822 * classes/perlstring.pmc: Removed C++-style comments for good
5825 2001-11-29 04:51 jgoff
5827 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5829 2001-11-29 04:28 jgoff
5831 * global_setup.c: Initialize PMC strings
5833 2001-11-29 04:25 jgoff
5835 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5838 2001-11-29 04:24 jgoff
5840 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5841 files to properly upgrade int to num, do calculations. Also added
5842 basic string operations. Currently errors out on anything but set
5843 operations, but this will be fixed soon.
5845 2001-11-29 04:22 jgoff
5847 * Makefile.in: PMC .c files weren't getting cleaned out.
5849 2001-11-28 17:00 simon
5853 Make csh-glob happy.
5855 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
5857 2001-11-28 16:40 simon
5859 * classes/perlnum.pmc:
5863 2001-11-28 15:22 simon
5867 Fixes Alex's string concat worry.
5869 2001-11-28 14:27 ajgough
5871 * t/op/string.t: test "null onto null" incorrectly passing as it
5872 produced no output. Output provided.
5874 2001-11-28 11:14 simon
5876 * include/parrot/pmc.h:
5880 2001-11-26 21:03 dan
5882 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
5884 2001-11-26 17:29 simon
5886 * classes/perlint.pmc:
5888 Various subtle but non-showstopper bugs.
5890 2001-11-26 11:23 simon
5894 Replace dependency on Text::Balanced
5896 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
5898 2001-11-26 05:22 jgoff
5900 * global_setup.c: Last file that should need to be committed. I
5903 2001-11-26 05:09 jgoff
5905 * core.ops: Let's try this again... Changes to core.ops required
5907 2001-11-26 04:58 jgoff
5909 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
5910 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
5911 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
5912 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
5913 functions classes/perlnum.pmc - Set up basic number functions
5914 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
5915 tests against numbers and numbers+integers
5917 2001-11-25 13:18 simon
5920 Windows XP make doesn't like $<
5922 2001-11-25 12:56 simon
5924 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
5925 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
5926 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
5927 examples/assembly/mops_p.pasm:
5930 Courtesy of: Angel Faus <afaus@corp.vlex.com>
5932 I (Simon) also added a couple more integer methods, but no tests
5933 since I'm a Bad Person.
5935 2001-11-25 08:40 brentdax
5937 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
5938 lib/Parrot/OpsFile.pm: Allow _ in op names
5940 2001-11-25 05:54 jgoff
5942 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
5943 Added basic math ops t/op/pmc.t - Added tests of basic math ops
5945 2001-11-23 18:27 simon
5947 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
5948 Add everything you need to make MOPS use PMCs.
5950 2001-11-23 18:06 simon
5953 Eh, you'll need this for rewriting mops.pasm.
5955 2001-11-23 17:55 simon
5957 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
5959 More work on integer PMCs.
5961 2001-11-23 17:29 simon
5964 Surprise! Whitespace! HLAGHLAGHLAGH
5966 2001-11-23 17:28 simon
5968 * Makefile.in, ops2c.pl, ops2pm.pl:
5969 Add vtables.ops to the core
5971 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
5973 2001-11-22 18:39 simon
5975 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
5977 We can now create PMCs.
5979 2001-11-21 05:49 jgoff
5981 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
5983 2001-11-20 16:00 simon
5985 * docs/vtables.pod, include/parrot/pmc.h:
5986 Reorder PMC flags so there's a fixed number of user-defined flags.
5988 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
5990 2001-11-19 03:39 jgoff
5992 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
5993 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
5994 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
5995 escaped quotes, and proper handling of newlines.
5997 2001-11-16 22:03 simon
5999 * classes/perlint.c:
6000 More work on the Perl Integer class. More needed, though.
6002 2001-11-16 21:57 simon
6004 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6005 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6007 2001-11-16 20:49 simon
6009 * interpreter.c, runops_cores.c, trace.c,
6010 include/parrot/runops_cores.h:
6011 Kill superfluous runops cores.
6013 2001-11-16 17:50 simon
6015 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6016 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6017 include/parrot/parrot.h, include/parrot/pmc.h:
6018 Skeleton for Perl scalar types, done right.
6020 2001-11-16 16:15 simon
6022 * classes/genclass.pl:
6023 This tidies up genclass to deal with the new-style multimethods.
6025 2001-11-16 15:29 simon
6027 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6028 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6029 Rework multimethods to be *true* multimethods - that is, have
6032 2001-11-15 22:29 simon
6034 * MANIFEST, Makefile.in, pmc.c:
6035 pmc.c linkage and support. Oh, and making it compile.
6037 2001-11-15 22:26 dan
6039 * t/op/interp.t: Forgot to tell CVS about the test...
6041 2001-11-15 22:10 dan
6043 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6044 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6045 for PMC registers for the interpreter.
6047 Added in the docs for the runinterp opcode.
6049 Added in code for both the newinterp and runinterp opcodes, so we
6050 can now create new interpreters from within parrot and have them do
6051 things. (Though we can't pass data back and forth. Yet)
6053 2001-11-15 21:24 simon
6055 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6056 More documentation, and other changes as discussed with Dan.
6058 2001-11-15 19:51 simon
6060 * classes/scalarclass.c:
6063 2001-11-15 19:50 simon
6065 * classes/scalarclass.c:
6066 A little code tidiness.
6068 2001-11-15 19:33 simon
6070 * include/parrot/pmc.h:
6071 Missed this in the previous commit - un-constantize the base for
6072 user-defined PMC flags.
6074 2001-11-15 19:28 simon
6076 * classes/scalarclass.c:
6079 2001-11-15 17:09 simon
6081 * classes/scalarclass.c:
6082 It seems I have completely forgotten how to write C.
6084 2001-11-15 16:53 simon
6087 Start of the PMC classes documentation.
6089 2001-11-15 14:46 simon
6091 * classes/scalarclass.c:
6092 Changing to use a Perl-style struct instead of the union cache.
6094 2001-11-13 23:56 tom
6096 * string.c: Removed leading _ from string_index as function names
6097 starting with _ are reserved to implementors by the C standard.
6099 Also fixed string_index to use the encoding routines instead of
6100 assuming a single byte encoding.
6102 2001-11-13 12:59 jgoff
6104 * string.c: Patched string_concat to accept null strings. That
6105 test was failing. Nothing to do with ord().
6107 2001-11-13 12:43 jgoff
6109 * string.c: string_ord function, string_concat fixes
6111 2001-11-13 04:52 jgoff
6113 * core.ops: Added ord to core.ops
6115 2001-11-13 04:35 jgoff
6117 * docs/strings.pod, include/parrot/exceptions.h,
6118 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6119 operator, documentation string.c - Added string_ord, _string_index
6120 (_string_index is a static helper) Patched
6121 string_concat to handle null strings properly. docs/strings.pod -
6122 Description of string_ord include/parrot/exceptions.h - Added
6123 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6124 string_ord() t/op/string.t - Added full set of test for
6125 ord_i_(s|sc)(_(i|ic))?
6127 string.c contains a bit of documentation explaining the logic
6128 behind _string_index, primarily having to do with multiple encoding
6131 2001-11-12 22:30 simon
6136 2001-11-12 22:28 simon
6139 Add a rule to compile "platform"
6141 2001-11-12 22:26 simon
6144 Tidy up distclean target.
6146 2001-11-12 16:54 dan
6148 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6149 t/op/macro.t: Fixes to the assembler's macro facility and a test
6151 Courtesy of: Jeff <jgoff@speakeasy.net>
6153 2001-11-12 16:50 dan
6155 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6158 Courtesy of: Jeff <jgoff@speakeasy.net>
6160 2001-11-12 16:36 dan
6162 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6165 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6167 2001-11-12 11:22 simon
6169 * examples/assembly/mops.pasm:
6171 Trivial tightening of mops loop.
6173 2001-11-07 23:57 ajgough
6175 * docs/tests.pod: This is a basic quide to writing tests with
6178 2001-11-07 22:29 dan
6180 * stacks.c: Added a little documentation on the cleanup parameter
6183 2001-11-07 14:43 dan
6185 * MANIFEST, platforms/generic.c, platforms/linux.c,
6186 platforms/linux.h: Portability patches.
6188 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6190 2001-11-06 19:51 tom
6192 * Makefile.in: Clean up object files in the subdirectories as well
6193 as those in the top level directory.
6195 Enhanced version of patch from Daniel Grunblatt
6196 <daniel@grunblatt.com.ar>
6198 2001-11-06 16:14 dan
6200 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6201 platforms/generic.c, platforms/generic.h: Made things a bit more
6202 platform-independent. Makefile still needs work to pick up changes
6203 to the platform-specific files.
6205 2001-11-05 21:32 dan
6207 * docs/parrot_assembly.pod: Added docs for the GC control ops
6209 2001-11-04 02:52 gregor
6211 * platforms/: win32.c, win32.h:
6212 * win32 dynamic loading functions.
6214 Courtesy of Jason Diamond <jason@injektilo.org>
6216 2001-11-04 00:04 brentdax
6218 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6219 allows an absolute path to be used and gives a useful error message
6220 if the original source file can't be found
6222 2001-11-02 12:37 gregor
6224 * platforms/: linux.c, linux.h:
6225 * Beginning of dynamic loading support. Linux only for now.
6227 2001-11-02 12:13 gregor
6229 * MANIFEST, time.c, include/parrot/time.h:
6230 * Removed time.[hc], since they have been superseded by the new
6234 2001-11-02 12:11 gregor
6236 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6237 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6238 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6239 platforms/win32.c, platforms/win32.h:
6240 Patch from Jason Diamond to make win32 platform stuff work:
6242 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6243 platform specific files in the platforms directory gets copied to
6244 the correct directories. The Makefile will re-copy the platform.h
6245 and .c files if the original is modified.
6247 * #include platform.h in parrot.h instead of time.h.
6249 * Removed time.h and time.obj from the Makefile. time.h and time.c
6250 aren't being used anymore since that code was moved to linux.c and
6253 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6254 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6255 windows.h. This required updating several files besides parrot.h.
6257 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6258 instead of the missing identifiers (on Windows) in core.ops in the
6261 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6262 platform files and called those from core.ops. The Linux code for
6263 these functions came from core.ops so they should hopefully work.
6265 Courtesy of Jason Diamond <jason@injektilo.org>
6267 2001-11-02 06:43 brentdax
6269 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6270 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6272 2001-11-02 02:26 gregor
6274 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6275 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6277 * Beginnings of platform support files in platform/*.[hc]
6279 2001-11-01 23:37 tom
6281 * classes/intclass.c: Added missing *'s to STRING arguments and
6282 return values to avoid compiler warnings.
6284 2001-11-01 22:21 gregor
6286 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6287 include/parrot/parrot.h, include/parrot/time.h:
6288 Initial "fix" of time(n) op for Win32:
6290 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6292 * time.c and include/parrot/time.h
6294 First attempt at getting this working across platforms. The
6295 macro WIN32 being tested might not be right.
6297 * New functions Parrot_intval_time() and Parrot_floatval_time()
6298 wrap the appropriate functionality depending upon platform.
6299 Changed core.ops to call these.
6301 Added obscure.ops with obscure transcendental ops.
6303 Added simple file I/O ops (close, open, read, write):
6305 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6307 * I changed some arg ordering stuff.
6309 * I added read/write of INTVALs and FLOATVALs.
6311 Added environment variable ops (getenv, setenv)
6313 Added system error ops (err(i) and err(s) for accessing errno and
6316 Moved print ops in with other "temporary" developer ops, since
6317 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6319 2001-10-31 22:51 tom
6321 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6322 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6323 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6324 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6325 encodings/utf8.c, include/parrot/chartype.h,
6326 include/parrot/encoding.h, include/parrot/exceptions.h,
6327 include/parrot/parrot.h, include/parrot/string.h,
6328 include/parrot/strnative.h, include/parrot/strutf16.h,
6329 include/parrot/strutf32.h, include/parrot/strutf8.h,
6330 include/parrot/transcode.h: Reworked the string code in line with
6331 Dan's latest design that separates character sets from encodings.
6333 2001-10-31 19:53 dan
6335 * docs/parrot_assembly.pod: Finished I/O section of docs
6337 2001-10-31 16:51 dan
6339 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6340 Moved includes out of core.ops and into parrot.h where they belong
6341 (suitably guarded with #ifdefs). Also some updates to
6344 2001-10-30 21:43 dan
6346 * core.ops, stacks.c, docs/parrot_assembly.pod,
6347 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6348 of the entry on the stack
6350 2001-10-29 18:30 dan
6352 * stacks.c: You can turn off stack entry type validation on pop by
6353 passing in a type of 0 now. (For those cases where you just want to
6354 throw the darned thing away)
6356 2001-10-29 14:37 gregor
6358 * core.ops, languages/jako/jakoc:
6359 * New variants of the save ops to save constants on the stack.
6361 useful for saving zero arg and result counts on the stack, for
6364 * Modified jakoc to to adapt to the newly announced calling
6366 Even though Jako source code appears to show subroutines with
6368 numbers of arguments and results, they are implemented with the
6369 variable count calling convention. Future modifications will be
6371 to ensure that an exception is raised if the stack frame is of
6373 wrong size (or, at least that we pop the complete frame off).
6375 also have to make more changes to support the true
6377 and fixed-result-count parts of the calling convention spec.
6379 2001-10-28 16:53 simon
6381 * MANIFEST, stacks.c, classes/scalarclass.c,
6382 include/parrot/stacks.h:
6383 Unbelievably bad errors of mine, plus a type incompatibility of
6386 2001-10-28 08:30 simon
6388 * classes/scalarclass.c:
6389 Beginning of a scalar class.
6391 2001-10-28 08:29 simon
6393 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6394 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6395 include/parrot/pmc.h:
6396 This fixes the problem with vtables and pointer arithmetic.
6398 2001-10-26 19:58 dan
6400 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6401 include/parrot/stacks.h: Split the generic stack into a user push
6402 stack and a control stack
6404 2001-10-26 02:59 bdwheele
6406 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6408 2001-10-24 20:27 dan
6410 * languages/scheme/: Makefile, Scheme.pm, schemec,
6411 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6412 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6413 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6416 2001-10-24 20:23 dan
6418 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6419 interpreter needs in pdump.c. Added scheme bits to manifest
6421 2001-10-24 16:43 gregor
6423 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6424 * Make the assembler handle octal character code escapes in
6428 2001-10-24 15:56 dan
6430 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6431 play the game of life
6433 2001-10-24 15:54 dan
6435 * core.ops: Added sleep. We'll need to override this to do events
6436 properly anyway, so...
6438 2001-10-24 14:03 gregor
6440 * Makefile.in, pbc2c.pl, pdump.c:
6441 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6443 pointer into string functions.
6445 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6447 2001-10-23 20:09 gregor
6449 * languages/jako/jakoc:
6450 * Terminological refinement in regexp capture comment.
6452 2001-10-23 15:23 simon
6454 * classes/genclass.pl:
6455 Use a saner ANSI C construct to make MIPSPro happy.
6457 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6459 2001-10-23 00:34 tom
6461 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6462 strutf8.c, include/parrot/string.h: Make sure the interpreter
6463 structure is passed to the transcoder as necessary, including
6464 passing it to string_compare().
6466 2001-10-23 00:32 tom
6468 * Makefile.in: Make pdump build again by including resources.o in
6471 2001-10-22 22:43 dan
6473 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6474 strutf32.c, strutf8.c, test_main.c, transcode.c,
6475 include/parrot/packfile.h, include/parrot/parrot.h,
6476 include/parrot/resources.h, include/parrot/string.h,
6477 include/parrot/transcode.h: Everything now uses the allocators and
6478 deallocators in resources.c.
6480 Unfortunately we lost standalone string-test mode, but I can cope
6483 Please note that until we have a real allocation/deallocation/GC
6484 system, this'll leak. A *lot*.
6486 2001-10-22 20:27 dan
6488 * MANIFEST, Makefile.in, pmc.c, resources.c,
6489 include/parrot/resources.h: First cut to handle arena allocation of
6490 PMC headers. (Amongst other things)
6492 2001-10-22 19:02 dan
6494 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6495 Now each register type has its own mask macro, which is the right
6498 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6500 2001-10-21 23:40 tom
6502 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6503 stack chunk and add a test to test this rollover in future.
6505 Courtesy of Jason Gloudon <perl@gloudon.com>.
6507 2001-10-21 19:14 dan
6509 * include/parrot/string.h: Changed string 'unused' field to the
6512 2001-10-21 18:18 gregor
6514 * languages/jako/: Makefile, mops.jako:
6515 * Makefile: 'clean' target removes .list files, too. And, it does
6517 with wildcards rather than listing things explicitly.
6519 * mops.jako actually prints out the
6520 millions-of-operations-per-second
6521 (mops) value instead of just the operations-per-second value.
6523 2001-10-21 18:03 simon
6525 * classes/intclass.o:
6528 2001-10-21 17:47 simon
6530 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6531 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6532 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6533 lib/Parrot/Vtable.pm:
6534 Initial work on PMCs. Explanation to follow
6536 2001-10-21 15:20 gregor
6538 * examples/assembly/queens.pasm:
6539 * Modernize the calling conventions in queens.pasm. It was using
6541 which now must be rotate. Also, changed to use return values on
6543 stack instead of in I0.
6545 2001-10-19 18:14 gregor
6547 * core.ops, stacks.c, include/parrot/stacks.h,
6548 languages/jako/jakoc:
6549 Per Dan's request, replacing 'swap' op by 'rotate'.
6551 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6553 * stacks.c and stacks.h: Removed swap-related functions from my
6554 prior commit, replacing them with stack_depth(), stack_entry()
6555 and rotate_entries().
6557 NOTE: The stack_depth() and rotate_entries() routines could
6558 be made more efficient through the caching of the sum of chunk
6559 'used' members from lower chunks in a field in the upper
6560 chunks. Also, if the interpreter's stack_base was changed to
6561 hold the pointer to the *top* chunk (since we usually come
6562 at the stack from the top down) instead of the *bottom*
6563 chunk. The code here at least works, and we can decide about
6564 bigger changes separately.
6566 For now, rotate only handles rotates in one direction and
6567 of magnituded one. A fully general rotate would do handle
6568 rotates in both directions and of arbitrary amounts. Again,
6569 this implementation is sufficient for current applications,
6570 and a feature-complete version can be developed if this turns
6571 out to be otherwise the right type of implementation.
6573 This change includes a new exception for ERROR_STACK_SHALLOW,
6574 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6576 * jakoc: Changed the calling convention to use rotate instead
6577 of swap (of course). Also changed the convention for return
6578 value passing to use the stack as well.
6580 2001-10-19 13:36 gregor
6582 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6583 examples/assembly/queens.pasm, include/parrot/stacks.h,
6584 languages/jako/.cvsignore, languages/jako/Makefile,
6585 languages/jako/bench.jako, languages/jako/euclid.jako,
6586 languages/jako/fact.jako, languages/jako/jakoc,
6587 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6588 languages/jako/primes.jako, languages/jako/queens.jako,
6589 languages/jako/sub.jako:
6590 * New stack functions push_entry(), pop_entry() and swap_entry().
6591 The first two exist for the support of the last one. These
6592 functions don't care what is in the stack entries. These exist
6593 to support the new 'swap' op (see next bullet).
6595 * New op 'swap' for swapping the top two elements on the stack.
6596 This is necessary for passing arguments to functions, since
6597 the return address will be on top of any arguments that have
6598 been pushed on the stack. This way, you can use a (swap, pop)
6599 pair to retrieve each argument (for subroutine linkage).
6601 * Disassembler now prints numbers in decimal by default, with
6602 a new '-x' flag to turn on hexadecimal display. Since other
6603 members of the Parrot Tool Set use decimal by default, this
6604 makes it easier to compare output from the various tools.
6606 * Jako compiler has more explanatory comments and the following
6609 * Lexically scoped variables.
6611 * Subroutines that take arguments and return values:
6613 sub int foo(int bar) {
6620 * ... if (...) and ... unless (...) statement modifiers
6621 can be used on next, last and redo.
6623 * Bitwise and (&, &=) and or (|, |=) ops.
6625 * Type names are just 'int', 'num', 'str', and 'poly' now.
6626 The old long names 'integer', 'number', 'string', and
6627 'polytype' are no longer valid.
6629 * Integer variable assignments can now use 0b (binary),
6630 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6632 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6633 solving the eight-queens problem. The assembly example is a
6634 hand-modified version of the assembly code produced by the
6635 Jako compiler from queens.jako. A few unnecessary ops have
6636 been removed, lots of unnecessary labels have been removed,
6637 and all the Jako source code comments have been removed.
6639 * Makefile and .cvsignore in languages/jako modified so that
6640 the assembler produces listings when assembling the programs,
6641 yet the *.list files are ignored by CVS.
6643 * Made the default target in languages/jako/Makefile 'all'.
6645 * Modified some of the Jako examples to use some of the new
6646 features of Jako, such as subroutines and lexical variable
6649 2001-10-19 02:43 gregor
6651 * runops_cores.c, include/parrot/runops_cores.h:
6652 Bug fix (gcc doesn't complain, but MIPSpro does):
6654 * Added missing extern to runops_cores array declaration in
6655 include/parrot/runops_cores.h
6657 * Also added 'const' there and in runops_cores.c
6659 2001-10-18 15:18 gregor
6661 * .cvsignore, include/parrot/oplib/.cvsignore:
6662 * Ignore the vtable-related generated files.
6664 2001-10-18 15:14 gregor
6667 * left and right shifts now allow the 2nd argument to be a
6670 2001-10-18 14:55 simon
6672 * make_vtable_ops.pl:
6673 This is C, not Perl. How on earth did that even compile?
6675 2001-10-18 14:54 simon
6677 * make_vtable_ops.pl:
6680 2001-10-18 12:33 simon
6682 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6683 Initial stab at vtable opcode creation stuff.
6685 2001-10-18 02:15 gregor
6687 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6688 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6689 include/parrot/trace.h: Preparation for autogenerated runops cores:
6691 * Split tracing and runops core stuff out of interpreter.c into
6692 trace.c and runops_cores.c
6694 * Similar split of stuff from include/parrot/interpreter.h
6696 * Manifest and Makefile.in updates to make things still compile.
6698 2001-10-18 01:21 gregor
6700 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6702 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6704 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6706 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6708 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6710 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6712 copy of $ops->preamble.
6714 2001-10-17 22:32 bdwheele
6716 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6719 2001-10-17 22:08 gregor
6721 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6722 * Now handles label-and-comment-only lines.
6724 2001-10-17 22:04 bdwheele
6726 * interpreter.c: added more comprehensive trace output
6728 2001-10-17 16:50 tom
6730 * Makefile.in: Removed the explicit rule for building mops.o from
6731 mops.c so that the implicit rule for compiling C files is used
6732 instead. This means that the chosen C flags are used, including any
6733 optimisation options.
6735 2001-10-17 15:24 tom
6737 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6738 op explosion logic to be able to handle exploding this:
6748 without also generating this unwanted version:
6752 The enhanced version rejects any expansion where there is more than
6753 one expanded argument and all the expanded arguments are constants.
6755 2001-10-17 14:20 simon
6757 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6758 Build fixes to use correct Perl version and ensure that things are
6759 running in the right directory.
6761 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6763 2001-10-17 13:16 simon
6766 core.pm is more critical than that.
6768 2001-10-17 13:05 simon
6770 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6771 "Explode" ops into multiple versions for different parameters.
6773 Courtesy of: Tom Hughes <tom@compton.nu>
6775 2001-10-17 12:54 simon
6778 Fix dependencies and cleaning.
6780 2001-10-17 12:45 simon
6782 * Configure.pl, Makefile.in:
6783 Fixes to make Parrot compile without the temporary build hack
6785 Courtesy of: Jason Gloudon <perl@gloudon.com>
6787 2001-10-16 20:43 gregor
6790 * Fixed dependencies for building Parrot/OpLib/core.pm
6792 2001-10-16 19:35 bdwheele
6794 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6795 added test, thanks to Alex Gough
6797 2001-10-16 16:49 bdwheele
6799 * core.ops: added opcode variants for constants and 3 arg concat
6801 2001-10-16 15:12 bdwheele
6803 * core.ops: added "set Sx,Sy" as a string copy to match the other
6804 register-to-register copies available
6806 2001-10-16 13:09 gregor
6809 * Added #include <sys/time.h> in the preamble for gettimeofday().
6811 2001-10-16 13:09 gregor
6814 * Removed cd t; make, which no longer applies
6816 2001-10-16 03:18 bdwheele
6818 * core.ops: fix save & restore operations to push correct type onto
6819 stack. [good eye to Jason Gloudon for noticing this]
6821 2001-10-16 01:38 bdwheele
6823 * core.ops, register.c, examples/assembly/fact.pasm,
6824 include/parrot/register.h: send in the clones: clone routines for
6825 parrot + example program
6827 2001-10-15 22:37 gregor
6829 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6830 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6831 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6832 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6833 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6834 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6835 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6836 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6837 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6838 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6840 renames so the names match what they demonstrate.
6842 2001-10-15 22:18 gregor
6844 * core.ops, t/test.pasm:
6845 * time_n uses gettimeofday() to get sub-second times.
6847 * t/test.pasm uses time_n directly rather than doing int stuff
6849 converting to num later.
6851 2001-10-15 12:28 gregor
6853 * t/: test.pasm, test2.pasm, trace.pasm:
6854 * t/test.pasm prints using string constants instead of string
6857 * t/test2.pasm assembles (using implicit op modes)
6859 * t/trace.pasm updated for new behavior of trace_ic, which does
6861 require an 'end' after 'trace'.
6863 2001-10-15 00:47 gregor
6865 * core.ops, interpreter.c, test_main.c,
6866 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
6869 * New runops cores to handle profiling
6871 * Support for -p flag in test_prog to enable profiling
6873 * New profile_ic op to control profiling at run-time
6875 2001-10-14 21:54 gregor
6877 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
6878 lib/Parrot/OpsFile.pm: Integrated op documentation.
6880 * core.ops now contains POD documentation of ops, interspersed
6884 * Ops are organized into POD =head2 sections
6886 * Parrot/OpsFile.pm now treats the preamble of the ops file as
6888 up to the first POD directive OR op definition.
6890 * docs/Makefile now generates core_ops.pod from core.ops vi
6893 2001-10-14 11:58 simon
6896 Unbreak Digital Un^W^WTru64
6898 2001-10-14 11:00 simon
6903 2001-10-14 10:56 tom
6905 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
6906 op_info.c no longer exists and op.h is no longer a generated file.
6908 2001-10-14 10:54 tom
6910 * Makefile.in: Added vtable.h to the list of things removed by the
6913 2001-10-14 01:43 gregor
6915 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
6916 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
6917 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
6918 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
6919 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
6920 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
6921 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
6922 include/parrot/.cvsignore, include/parrot/interp_guts.h,
6923 include/parrot/interpreter.h, include/parrot/op.h,
6924 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
6925 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
6926 t/op/stacks.t, t/op/string.t, t/op/trans.t:
6929 * basic_opcodes.ops and opcode_table replaced by core.ops
6931 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
6932 and ops2c.pl. These convert *.ops to *_ops.c and
6933 include/parrot/oplib/*_ops.h
6935 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
6937 * disassemble.pl modified to use
6939 * interpreter.c modified to use structures in core_ops.c instead
6940 of the old op_info and op_func stuff. We're not yet to the
6941 point of handling multiple oplibs at a time, but we are getting
6944 Fingerprinting stuff disabled for now. We used to go off
6945 opcode_table. We need to rethink this. I have some ideas to
6946 make it unnecessary, but it remains to be seen whether others
6947 will like the direction they take us.
6949 Termination condition for while(){} loop in runops is now
6950 (pc) instead of (*pc). Any op can cause a HALT by returning
6951 a NULL pointer. Ops end, bounds and trace all do this. So, now
6952 the 'end' op body is actually executed, although all it does
6955 * Makefile.in modified to perform a test build using pbc2c.pl,
6956 which is the bytecode --> C compiler I've posted to the
6959 * Op full names are now autogenerated. Op root names must not
6960 contain underscores, so some op renamings have happened.
6961 Such as clear_i becoming cleari.
6963 2001-10-13 11:49 simon
6965 * Configure.pl, MANIFEST:
6966 Make parrot actually build again.
6968 2001-10-12 21:34 dan
6970 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
6973 2001-10-12 20:56 dan
6975 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
6976 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
6977 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
6978 generic stack now in. We also have subroutines, of a simple sort!
6980 2001-10-12 19:15 tom
6982 * t/op/string.t: Improved string comparison tests try all string
6983 combinations with each of the comparison ops.
6985 2001-10-12 19:09 dan
6987 * interpreter.c: Properly sets up generic stack now
6989 2001-10-12 19:09 dan
6991 * include/parrot/interpreter.h: Fixed stack chunk struct type in
6992 interpreter structure
6994 2001-10-12 18:59 dan
6996 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
6997 changes to get the generic stack working
6999 2001-10-12 18:59 dan
7001 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7002 hints/vms.pl: Made the changes to figure out mask bits for various
7003 register and stack chunks
7005 2001-10-11 22:09 dan
7007 * docs/parrot_assembly.pod: Tossed the parameter for return
7009 2001-10-11 19:28 tom
7011 * strnative.c: Assignment, not comparison. (Plus formatted for
7014 Courtesy of Bryan C. Warnock
7016 2001-10-10 19:21 tom
7018 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7019 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7020 include/parrot/string.h, t/op/string.t: Added support for string
7021 comparisons and extended the comparison ops to include comparison
7024 2001-10-10 17:58 dan
7026 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7028 2001-10-10 17:54 dan
7030 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7031 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7032 vtable type entries properly
7034 2001-10-10 15:37 dan
7036 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7037 parse new vtable.tbl file now that I've actually checked *in* the
7038 new format vtable.tbl file...
7040 2001-10-10 15:32 dan
7042 * vtable.tbl: New Column to indicate the type of the vtabel entry
7043 so we can know how many slots it takes
7045 2001-10-10 05:26 thgibbs
7047 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7048 allow parrot to compile. PACKAGE is not defined, therefore, I
7049 added a struct before it to have it not complain until we define
7050 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7051 semicolon at the end of the struct declaration.
7053 2001-10-10 05:09 thgibbs
7055 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7056 string constants of the form U"string" become unicode encoded
7057 parrot strings and the form N"string" become native encoded parrot
7060 Courtesy of: Tom Hughes <tom@compton.nu>
7062 2001-10-10 04:55 dan
7064 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7065 support for generating the vtable function table offset macros
7067 2001-10-10 01:05 simon
7070 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7071 compiles into the mod op, not the cmod_i op, hence wasn't testing
7072 what it thought it was.
7074 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7076 2001-10-09 03:45 thgibbs
7078 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7079 assembler to generate unicode strings.
7081 Courtesy of: Tom Hughes <tom@compton.nu>
7083 2001-10-08 19:30 brentdax
7085 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7086 info for Parrot::Config to remember, more flexible test.c stuff
7088 2001-10-08 15:04 gregor
7090 * basic_opcodes.ops:
7091 * Removed trash from early mod_i experiments (pardon our dust)
7093 2001-10-08 14:56 gregor
7095 * basic_opcodes.ops:
7096 * Fixed a couple of typos.
7098 2001-10-08 14:45 gregor
7100 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7101 Arithmetic enhancements:
7103 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7105 NOTE: This "uncorrected mod" algorithm uses the C language's
7107 mod operator (x % y), which is
7109 ... the remainder when x is divided by y, and thus is zero
7113 The direction of truncation for / and teh sign of the
7115 are machine-dependent for negative operands, as is the
7117 on overflow or underflow.
7123 ... if the second operand is 0, the result is undefined.
7125 is always true that (a/b)*b + a%b is equal to z. I both
7127 non-negative, then teh remainder is non-negative and
7129 divisor; if not, it is guaranteed only that the absolute
7131 remainder is smaller than the absolute value of the
7136 This op is provided for those who need it (such as
7138 applications with heavy use of mod, but using it only with
7140 arguments), but a more mathematically useful numeric mod based
7142 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7144 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7146 Language*, Second Edition. Prentice Hall, 1988.
7148 * Added "corrected" mod_i:
7150 NOTE: This "corrected mod" algorithm is based on the C code on
7152 of [1]. Assuming correct behavior of C's built-in mod operator
7154 positive arguments, this algorithm implements a mathematically
7156 version of mod, defined thus:
7158 x mod y = x - y * floor(x / y)
7160 For more information on this definition of mod, see section 3.4
7166 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7167 Millennium* Springer, 1999.
7169 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7171 Mathematics*, Second Edition. Addison-Wesley, 1994.
7173 * Added mod_n, using the same formula as above, but with FLOATVAL
7176 * Added cmod_n, using the C math library's fmod() function:
7178 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7180 fmod() function, which computes
7182 ... the remainder of dividing x by y. The return value is x
7184 where n is the quotient of x / y, rounded towards zero to
7187 -- fmod() manpage on RedHat
7190 In addition, fmod() returns
7192 the remainder, unless y is zero, when the function fails
7196 According to page 251 of [1], the result when y is zero is
7200 This op is provided for those who need it, but a more
7202 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7204 defined with y == 0 is provided by the mod_n op.
7206 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7208 Language*, Second Edition. Prentice Hall, 1988.
7210 * Added and modified tests as appropriate for the above.
7212 2001-10-08 08:49 thgibbs
7214 * include/parrot/exceptions.h, include/parrot/parrot.h,
7215 include/parrot/string.h, include/parrot/strutf16.h,
7216 include/parrot/strutf32.h, include/parrot/strutf8.h,
7217 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7218 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7219 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7220 strings for utf8, utf16, and utf32.
7222 Courtesy of: Tom Hughes <tom@compton.nu>
7224 2001-10-08 08:10 thgibbs
7226 * memory.c: Fixed uninitialized variables.
7228 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7230 2001-10-08 01:21 gregor
7232 * packfile.c: * Casting a return value
7234 * Potential uninitialized variable fix
7236 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7238 2001-10-08 01:15 gregor
7240 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7241 a few tweaks of my own):
7245 * Printf format fixes
7247 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7249 2001-10-07 22:39 thgibbs
7251 * build_interp_starter.pl: No longer adds (void*) casts to
7252 interp_guts.c function table as they are not necessary in ANSI C.
7254 2001-10-07 16:27 gregor
7256 * basic_opcodes.ops, interpreter.c, opcode_table,
7257 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7259 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7260 interpreter->flags and set interpreter->resume_addr.
7262 * Two new runops core variants, so now we cover the relevant
7263 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7265 * Runops core selection that converts the flags into an index
7267 a core table (runops_cores) to get the core function pointer.
7269 * A new trace_op variant that doesn't do bounds checking (used by
7270 the non-bounds-checking-but-tracing runops core).
7272 * PC is passed into the cores so that they can be used when
7273 resuming (they used to assume starting at the beginning of the
7274 code, which would thwart resumption).
7276 * runops() itself is changed to have a while() loop in it so that
7277 any time we drop out of the core, we'll resume if we have an
7278 interpreter->resume_addr set (after reselecting the core,
7281 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7282 interpreter->resume_addr. This is used by the new ops. The new
7283 ops still return the new PC as the next op (which MUST be an
7284 'end' op to force the core loop to terminate -- *pc being false
7285 is the only termination condition we can count on for all
7288 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7289 bounds checking core selection.
7291 * test_prog now has a '-b' flag in addition to the '-t' flag.
7293 bounds checking is off by default (I saw a performance boost:
7294 6.3 Mop/s with -b, 7.0 Mop/s without).
7296 * A new sample/test program: t/trace.pasm that twiddles the trace
7297 flag while it is running.
7299 2001-10-07 15:41 gregor
7301 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7302 include/parrot/.cvsignore, include/parrot/interpreter.h:
7303 Now that 0.0.2 is released, I can clear out the backlog of approved
7304 but uncommitted patches. Here's one Dan approved on 2001-09-21
7307 * test_prog and pdump are linked with only the files the need,
7311 * build_interp_starter.pl writes out op_info.[hc], too. These
7313 contain op name, arg count and arg type information. This will
7315 useful for multiple things in the future, including better
7317 output and the crystalizing loader.
7319 * The DO_OP macro is now simpler and doesn't require explicit
7322 * interpreter.c is modified to use the new op info in tracing
7325 * The interpreter just points its opcode_funcs and opcode_info
7326 members at the default tables rather than allocating memory on
7329 2001-10-07 03:58 thgibbs
7331 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7332 comment and adding vtable.h to .cvsignore as it is produced by
7335 2001-10-06 20:58 thgibbs
7337 * vtable.tbl: Added * to REGEX type.
7339 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7341 2001-10-06 13:41 simon
7343 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7344 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7345 Framework for vtable functions.
7347 2001-10-06 06:52 thgibbs
7349 * make_op_header.pl: Removed confusing and unused typedef.
7351 2001-10-06 06:31 thgibbs
7353 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7356 2001-10-06 06:26 thgibbs
7358 * disassemble.pl: Changed intval to op in disassembler.
7360 2001-10-06 06:21 thgibbs
7362 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7363 Assembler, local labels, and integer constants.
7365 2001-10-06 03:11 ask
7367 * Makefile.in: make `make test` actually run the tests on
7370 2001-10-06 02:04 thgibbs
7372 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7373 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7374 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7375 include/parrot/register.h, lib/Parrot/Assembler.pm,
7376 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7377 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7378 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7381 2001-10-06 02:02 thgibbs
7383 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7384 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7385 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7386 include/parrot/register.h, lib/Parrot/Assembler.pm,
7387 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7388 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7389 t/op/integer.t: oops...this messed something up. I must have
7390 missed something in the patch...I have reverted.
7392 2001-10-06 01:57 thgibbs
7394 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7395 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7396 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7397 include/parrot/register.h, lib/Parrot/Assembler.pm,
7398 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7399 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7400 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7401 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7402 This patch ensures that all bytecode is of type opcode_t except for
7403 the constant table constants. That means that almost all of the
7404 INTVALs in the code were replaced with opcode_t and the i pack type
7405 was replaced with the op pack type in calls to pack_arg and such.
7406 Also, since it has been declared that ALL integer constants are to
7407 be 32 bits, some test cases were changed to ensure that an integer
7408 constant was no bigger than 2 ** 31.
7410 process_opfunc.pl was also cleaned up to no longer look at either
7411 opcode_table or interp_guts.h but gather all of its information
7414 The Assembler.pm module was changed to do late binding of arguments
7415 so that 0 could be treated like 0.0 without having to be so
7416 declared. Also, only strings now use the [sc:N] intermediate form
7417 as it was unnecessary for integer and float types.
7419 2001-10-05 21:59 gregor
7421 * MANIFEST, languages/jako/Makefile:
7422 Fixed things due to the movement of little_languages/* to
7425 2001-10-05 18:31 gregor
7428 Updated MANIFEST to reflect recent additions for Jako.
7430 2001-10-05 17:54 gregor
7432 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7433 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7434 mops.jako, primes.jako, sub.jako:
7437 * User-defined subroutines.
7438 * Generates assembly code with the Jako code in comments.
7439 * "end;" no longer required at the end of programs.
7440 * Better handling of const-reg and reg-const.
7441 * Optimizes const-const operations to compile-time
7443 * Constants in addition to variables.
7445 * Allow leading minus signs in integer and number constants
7449 * New sample programs:
7451 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7453 * mandelbrot.jako (based on Leon Brocard's translation of
7454 Glenn Rhodes' C code)
7455 * mops.jako (based on t/test.pasm)
7456 * primes.jako (based on Leon Brocard's primes.pasm example)
7457 * sub.jako (demonstrates a simple user-defined subroutine)
7459 2001-10-05 12:54 gregor
7461 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7462 * Removed mysterious extra copy of code after POD.
7464 2001-10-05 12:46 gregor
7466 * basic_opcodes.ops, t/op/string.t:
7467 * Enabled the previously SKIPped test of printing string regs
7471 * Made print_s do nothing if the STRING pointer in the register
7475 2001-10-04 21:19 dan
7477 * Configure.pl: VMS tweaks
7479 2001-10-04 21:17 dan
7481 * hints/vms.pl: Hints file for VMS
7483 2001-10-04 00:58 bdwheele
7485 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7486 Assembler which stopped equates from working.
7488 2001-10-03 21:50 gregor
7490 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7492 * More documentation updates for the packfile stuff.
7494 2001-10-03 21:37 gregor
7496 * docs/parrotbyte.pod:
7497 * Pointed the reader at Parrot::PackFile.
7499 2001-10-03 21:34 gregor
7501 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7502 * Updated documentation to match current implementation.
7504 2001-10-03 18:30 gregor
7506 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7507 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7508 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7510 * Added new syntax to the assembler to allow square-bracket
7511 arithmetic expressions involving (global) labels, the current
7512 instructions base address ('@'), numeric constants (not
7514 and basic arithmetic operators (+, -, *, / -- although + and -
7515 are likely to be the only ones used in practice).
7517 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7519 fail (argument passing wasn't working).
7521 * Enabled t/op/basic.t's last test, which is actually a copy of
7523 code from t/call.pasm. Now all tests there are enabled and
7526 * Added new example/test program t/call.pasm to demonstrate
7528 macros and poor-man's subroutine calls
7530 * Added header comments to t/*.pasm
7532 2001-10-03 18:00 simon
7535 Needed, since it's in the MANIFEST.
7537 2001-10-03 17:56 simon
7539 * t/op/: string.t, time.t:
7540 Small fixes to help Win32 on its way.
7542 2001-10-03 17:41 simon
7547 2001-10-03 17:39 simon
7549 * MANIFEST, NEWS, README:
7550 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7553 2001-10-03 17:21 simon
7555 * basic_opcodes.ops, interpreter.c, packfile.c:
7556 Evil printf bandaid (which allows Sparc64 to pass tests)
7558 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7560 2001-10-03 16:58 simon
7562 * string.c, t/op/string.t:
7563 chop fixes for n < 0 and tests
7565 Courtesy of: Alex Gough <alex@rcon.org>
7567 2001-10-03 15:51 thgibbs
7569 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7571 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7573 2001-10-02 17:48 dan
7575 * include/parrot/stacks.h: Fix typo in function name
7577 2001-10-02 17:35 dan
7579 * include/parrot/stacks.h: changed to support new stack stuff
7582 2001-10-02 15:01 simon
7584 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7585 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7586 process_opfunc.pl, register.c, string.c, strnative.c,
7587 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7588 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7589 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7590 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7591 include/parrot/memory.h, include/parrot/packfile.h,
7592 include/parrot/parrot.h, include/parrot/register.h,
7593 include/parrot/stacks.h, include/parrot/string.h,
7594 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7598 2001-10-02 12:49 gregor
7600 * process_opfunc.pl:
7601 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7603 2001-10-02 12:40 simon
7605 * basic_opcodes.ops, process_opfunc.pl, register.c,
7606 include/parrot/register.h:
7607 Move preprocessing of register accessors to process_opfunc.pl
7609 Courtesy of: Jason Gloudon <perl@gloudon.com>
7611 2001-10-02 01:20 ask
7613 * README: add a few lines about lists.
7615 2001-10-01 23:00 brentdax
7617 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7618 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7620 2001-10-01 22:50 brentdax
7622 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7624 2001-10-01 21:51 simon
7626 * process_opfunc.pl:
7627 Michael Fischer's patch broke conditionals.
7629 2001-10-01 15:38 simon
7631 * process_opfunc.pl:
7632 Small hack to keep process_opfunc.pl from generating extra return()
7635 Courtesy of: Michael Fischer <michael@visv.net>
7637 2001-10-01 15:32 simon
7639 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7642 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7644 2001-10-01 01:49 simon
7647 Simon is an idiot. Don't trust him with your code.
7649 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7651 2001-10-01 00:59 simon
7653 * Parrot/String.pm, lib/Parrot/String.pm:
7654 Was in manifest, but not in CVS.
7656 2001-09-30 21:25 simon
7658 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7659 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7660 Parrot/Assembler.pm, Parrot/PackFile.pm,
7661 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7662 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7663 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7664 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7665 include/parrot/packfile.h, include/parrot/string.h:
7666 Move NVs to the constant table. * Changes to Types_pm.in to make
7667 life easier for some of the packing/etc. I'm doing elsewhere.
7668 Also, we now pack 'n' as 'i'.
7670 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7671 eventually we can use all these tools together inside scripts
7672 rather than call out to the shell to run the programs.
7674 * As I was tracking down problems, I converted the internal
7675 documentation of the assembler to POD from comments.
7677 * Changed the numeric regexp in the assembler to detect leading
7678 signs and trailing exponents.
7680 * Updated basic_opcodes.ops to fetch numeric constants from the
7683 * Enhanced the disassembler in a number of ways to make my life
7684 easier while tracking down bugs (try it out). It now puts in
7685 labels for ops that are the destinations of flow control ops.
7687 * packfile.c now has a TRACE_PACKFILE switch that can be set
7688 to get it to print info as it processes. I needed this while
7689 debugging, but I can remove it or change it before committing
7692 * Updated pdump.c because it was missing a call to init_world().
7694 * Updated process_opfunc.pl to deal with numeric constants
7695 being stored in the constant table instead of inline.
7697 * Added multiple type support to Parrot/PackFile/Constant.pm
7699 * Added Parrot/String.pm, to be used for constants.
7701 * Added packfile.[hc] functions for allocating new constants
7704 * Made string_copy visible to the world in parrot/string.h.
7708 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7710 2001-09-29 15:56 gregor
7712 * languages/jako/Makefile:
7713 Removed assumption that '.' is on the path.
7715 2001-09-29 15:55 gregor
7717 * languages/jako/Makefile:
7718 Removed references to leibnitz test program.
7720 2001-09-29 15:21 thgibbs
7722 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7723 math ops args to work on Solaris.
7725 2001-09-27 15:15 thgibbs
7727 * assemble.pl: Added case insensitive matches to hex and binary
7730 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7732 2001-09-27 04:46 thgibbs
7734 * assemble.pl: This patch makes integer constants of the form
7735 0b[01]+ work with perl 5.005. The oct function in versions of perl
7736 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7737 returning 0. To fix this, I added a from_binary function that
7738 would take a binary string and return its decimal representation.
7739 Now, instead of blindly calilng oct, it makes a distinction between
7740 0/0x numbers and 0b numbers.
7742 2001-09-26 19:30 thgibbs
7744 * assemble.pl: Error now returns a non-zero status
7746 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7748 2001-09-26 19:13 gregor
7750 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7751 interpreter.c, packfile.c, pdump.c, test_main.c,
7752 include/parrot/bytecode.h, include/parrot/interpreter.h,
7753 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7755 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7756 packfile/bytecode file from C. May be renamed in the future.
7758 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7759 of 'PackFile *', just like the interpreter, etc.
7761 * Constants are accessed via the interpreter's 'code' member
7762 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7763 provided to access constants by index and the number of
7764 constants, respectively (assumes a variable 'interpreter' of
7765 the appropriate type is in scope).
7767 * Byte Code is accessed via the interpreter's 'code' member.
7769 * Changed PackFile_Constant to point to a STRING instead of
7771 members for the string_make() arguments. Also has a 'type' IV
7772 in preparation for allowing multiple types of constants in
7775 * Removed hardcoded example program from test_main.c. We have
7776 plenty of test programs elsewhere.
7778 * test_prog now uses a PackFile to deal with the program before
7779 sending it on to the interpreter.
7781 * Added missing 'end' ops to some tests in t/op/integer.t and
7784 2001-09-26 18:38 thgibbs
7786 * assemble.pl: Separated code into functions and added comments.
7788 2001-09-26 18:29 simon
7791 Fix 64-bit chunk-base issue.
7793 2001-09-26 06:55 thgibbs
7795 * t/op/bitwise.t: Added end to bitwise tests.
7797 2001-09-26 00:54 dan
7799 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7800 and interpreter creation. Skeleton only, but it's something to peer
7803 2001-09-25 21:44 thgibbs
7805 * t/op/trans.t: Removed loops in transcendtal op test.
7807 2001-09-25 10:12 simon
7809 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7810 t/op/string.t, t/op/time.t:
7813 Courtesy of: Alex Gough <alex@rcon.org>
7815 2001-09-24 19:08 gregor
7818 * Enabled the clear_n test.
7820 2001-09-24 18:56 gregor
7822 * Parrot/.cvsignore:
7823 * Ignore the generated Types.pm file.
7825 2001-09-24 18:52 gregor
7827 * languages/jako/Makefile, t/op/number.t:
7828 * No need to skip the inc and dec numeric tests anymore. I fixed
7830 assembler earlier today.
7832 2001-09-24 18:21 simon
7834 * MANIFEST, t/op/stacks.t:
7837 2001-09-24 18:19 simon
7839 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7840 include/parrot/exceptions.h, include/parrot/interpreter.h,
7841 lib/Parrot/Test.pm, t/op/string.t:
7842 1) captured error output, so can test errors, this might be bad,
7843 not sure. 2) basic tests for register stack frames, including some
7844 errors 3) I think we can stop skipping one of the string tests 4) I
7845 added some more substr tests, but substr was broken, so 5) changed
7846 substr to work with out of range values, or 6) throw an error if
7847 they're far too silly
7849 Courtesy of: Alex Gough <alex@rcon.org>
7851 2001-09-24 17:27 gregor
7853 * basic_opcodes.ops, opcode_table, t/op/number.t:
7854 * Op set_n was missing. Added it and a test for it. We now have
7856 same int and num ops, except mod is int-only.
7858 2001-09-24 17:01 gregor
7861 * Fixed a typo: s/Line/line/
7863 2001-09-24 16:02 gregor
7865 * basic_opcodes.ops:
7866 * Fixed dec_n_nc opcode, which had += where it should have had
7869 2001-09-24 15:34 gregor
7872 * Fixed handling of constants starting with '0' that should not
7874 sent through oct(). For example 'set N2 0.1' was being
7876 as 'set N2 0' (naughty).
7878 As reported by Leon Brocard <acme@astray.com> in the comments
7880 his mandelbrot.pasm example.
7882 2001-09-24 02:21 bdwheele
7884 * assemble.pl: fixed dumb code when --include was not specified.
7886 2001-09-24 02:17 simon
7891 2001-09-24 01:56 bdwheele
7893 * assemble.pl: * Added --include=dir option to assembler to provide
7894 a path to look for included files. * Error message of a macro is
7895 defined inside of a macro
7897 2001-09-23 21:29 bdwheele
7899 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
7901 2001-09-23 15:50 simon
7904 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
7906 2001-09-23 02:03 ask
7908 * Configure.pl, test_c.in: fix missing newline at the end of test.c
7909 Courtesy of: acme@astray.com (Leon Brocard)
7911 rename 'test' executable used in Configure process to test_siz.
7913 2001-09-23 01:03 simon
7915 * process_opfunc.pl:
7916 iPaq fix. No, really.
7918 2001-09-23 00:47 simon
7921 Missed several, in fact.
7923 2001-09-23 00:46 simon
7928 2001-09-22 21:13 simon
7931 Assembler register numbering rigour.
7933 Courtesy of: Leon Brocard <acme@astray.com>
7935 2001-09-22 18:20 simon
7937 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
7939 I'm sick of having to install Test::More everywhere. Temporary
7940 measure until we remove this silly dependency.
7942 Also a typo in Makefile.in which suggests some things were only
7943 happening correctly by sheer chance. :)
7945 2001-09-22 18:06 simon
7948 test.pasm is dead, long like make test.
7950 2001-09-22 17:47 simon
7953 De-fang overzealous floating point test.
7955 2001-09-22 17:39 simon
7957 * process_opfunc.pl:
7958 Remove hard-coded NV size assumption. Tru64 is nearly there!
7960 2001-09-22 17:18 simon
7962 * assemble.pl, disassemble.pl:
7963 More portability fixups.
7965 2001-09-22 16:44 simon
7967 * assemble.pl, Parrot/PackFile/Constant.pm,
7968 lib/Parrot/PackFile/Constant.pm:
7969 And I *think* this fixes Tru64.
7971 2001-09-22 16:37 simon
7973 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
7977 2001-09-22 16:36 simon
7979 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
7980 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
7981 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7983 More removal of hard-coded pack formats.
7985 2001-09-22 15:21 simon
7989 Grrr. Why isn't this working?
7991 2001-09-22 15:18 simon
7993 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
7994 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
7996 Make assemble use the PackFile modules; also fixed some bugs in
7999 2001-09-22 14:38 simon
8001 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8003 Abstract the argument and opcode packing types and functions out
8004 into a separate module. This *should* help us maintain consistency
8005 when we change the various types.
8007 2001-09-22 00:46 brentdax
8009 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8010 test program finishes.
8012 2001-09-21 21:24 brentdax
8014 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8015 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8017 2001-09-21 21:09 gregor
8019 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8020 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8022 * Fixed pad calculation (similar to recent bug fix on C library)
8024 2001-09-21 20:23 simon
8027 Pack types and sizes have gone askew.
8029 2001-09-21 20:18 brentdax
8031 * Configure.pl: Fix typo in setting stuff from the C test program
8033 2001-09-21 10:25 simon
8035 * basic_opcodes.ops, process_opfunc.pl:
8038 Courtesy of: Leon Brocard <acme@astray.com>
8040 2001-09-21 06:06 ask
8042 * Config_pm.in, assemble.pl: fix 5.005_03.
8044 2001-09-21 06:03 ask
8046 * Configure.pl: make the ivsize detection work for us normal people
8047 without . in our PATH. :-)
8049 2001-09-21 05:56 brentdax
8051 * test_main.c: Change _read to read for portability to Tru64
8052 (Damien Neil <neild@misago.org> and likely many others)
8054 2001-09-21 05:46 ask
8056 * Makefile.in: "update" target to update from cvs.
8058 2001-09-21 05:44 brentdax
8060 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8062 2001-09-21 02:43 brentdax
8064 * Configure.pl: Fix a typo that forced the -g flag on
8066 2001-09-20 22:41 dan
8068 * packfile.c: Had some no-value returns. Naughty
8070 2001-09-20 22:40 dan
8072 * t/test.pasm: Added labels to output
8074 2001-09-20 15:39 simon
8076 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8078 This patch does two only somewhat related things.
8080 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8081 = 2*sizeof(iv) to a PConfig-type computed value.
8083 Parrot/Test.pm: Change it to run with the perl that was used to
8084 generate this version of Parrot. This is useful if, for example,
8085 you want to use bleadperl to build and test parrot (e.g. to try out
8086 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8087 installed as the default 'perl' on your system. Since perl-5.7.x
8088 is installed 'version-only', a plain 'perl' is quite likely to pick
8089 up the older perl in such cases. Such an older perl might well not
8090 understand pack('q') used in the assembler.
8092 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8094 2001-09-20 15:14 gregor
8097 * Fixed a typo in pad calculation that throwing off unpack and
8100 2001-09-20 15:03 thgibbs
8102 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8103 tests now cover all registers.
8105 Courtesy of: Damien Neil neild@misago.org
8107 2001-09-20 14:48 thgibbs
8109 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8112 2001-09-20 14:35 simon
8114 * Configure.pl, assemble.pl:
8117 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8119 2001-09-20 14:06 gregor
8121 * languages/jako/jakoc:
8122 * Fixed a tyop in the string interpolation regex.
8124 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8126 2001-09-20 13:56 gregor
8128 * languages/jako/jakoc:
8129 * Updated jakoc to work with the single-destination comp ops.
8131 2001-09-20 05:08 bdwheele
8133 * assemble.pl: macro expansion. Here's the test macro I was using:
8135 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8136 label. testi macro num,got,want print "Test #"
8137 print num print "..." set I32,want set
8138 I31,got eq I32,I31,$ok print "NG\n" branch
8139 $end $ok: print "OK\n" $end: endm
8143 Test1: testi 1,I3,I2
8145 2001-09-20 03:52 dan
8147 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8148 generic stack support
8150 2001-09-20 02:49 bdwheele
8152 * assemble.pl: Added include processing to assemble.pl the syntax
8153 is: include 'file.to.include'
8155 2001-09-19 23:57 thgibbs
8157 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8158 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8159 function to only use 2 args, but the opcode_table still had three
8160 listed. Fixed integer.t and number.t to use the new comparison
8161 operators. Improved assemble.pl ability to grok operators by
8162 constructing a function set and comparing operator types.
8164 2001-09-19 22:42 dan
8166 * assemble.pl: Binmodes the output filehandles now. (No more
8167 bytecode munching...)
8169 2001-09-19 22:32 dan
8171 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8172 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8173 conditional branches take a single argument, and fall through
8176 2001-09-19 21:19 thgibbs
8178 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8181 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8183 2001-09-19 21:04 thgibbs
8185 * include/parrot/interpreter.h, Configure.pl,
8186 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8187 process_opfunc.pl: Changed opcode_t from a union to a configurable
8190 2001-09-19 20:54 thgibbs
8192 * assemble.pl: Missed a couple of changes for 64 bit portability.
8194 2001-09-19 20:37 gregor
8196 * packfile.c, include/parrot/packfile.h:
8197 * Added "methods" for setting and getting all the various
8199 probably sufficient for an assembler to use the library.
8201 2001-09-19 20:04 thgibbs
8203 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8204 a 64 bit platform manually change the setting for 'i' from 'l' to
8205 'q'. This should be automatically done by a Configure setting in
8208 2001-09-19 19:10 thgibbs
8210 * config_h.in: changed c++ comment to c comment.
8212 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8214 2001-09-19 17:48 gregor
8216 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8217 include/parrot/packfile.h:
8218 * C code for dealing with PackFiles as if they were objects.
8220 read-only interface for now, but it would not be hard to make
8222 read-write. [packfile.c, include/parrot/packfile.h]
8224 * PackFile Dumping program that falls short of disassembling, but
8225 tests the above code and provides a hex listing of the byte
8227 contents of the PackFile. [pdump.c]
8229 * New Makefile target 'pdump' for the above program, and related
8230 Makefile.in changes.
8232 * Updated MANIFEST to reflect the added files
8234 * Update .cvsignore to ignore pdump.
8236 2001-09-19 14:55 thgibbs
8238 * MANIFEST: Added number.t and trans.t to MANIFEST
8240 2001-09-19 05:40 thgibbs
8242 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8243 of union opcode_t. I hope this will be more portable for set_n_nc.
8245 2001-09-19 05:39 thgibbs
8247 * t/op/integer.t: Added end to test 1.
8249 2001-09-19 00:09 thgibbs
8251 * t/op/number.t: Added end to each test
8253 2001-09-19 00:00 simon
8258 Courtesy of: Damien Neil <neild@misago.org>
8260 2001-09-18 23:52 thgibbs
8262 * interpreter.c: Added casts to appropriate types to make -Wall not
8263 complain on certain printf formats
8265 2001-09-18 23:31 thgibbs
8267 * t/op/integer.t: Added end to each test.
8269 2001-09-18 22:54 thgibbs
8271 * t/op/trans.t: Added trans.t for transcendental math function
8274 2001-09-18 22:28 simon
8277 MANIFEST updates. (And notice how I carefully snuck in the
8278 t/op/integer.t there...)
8280 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8282 2001-09-18 22:26 simon
8284 * t/: integer.t, op/integer.t:
8285 Except it doesn't go there. Duh.
8287 2001-09-18 22:25 simon
8290 Tests for integer ops.
8292 Courtesy of: Damien Neil <neild@misago.org>
8294 2001-09-18 22:03 thgibbs
8296 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8297 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8298 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8299 opcode_t union for operators. This required a few perl script
8300 changes to output the correct type. There were also some changes
8301 to allow -pedantic in gcc
8303 2001-09-18 21:07 gregor
8305 * disassemble.pl, Parrot/PackFile.pm,
8306 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8307 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8308 lib/Parrot/PackFile/Constant.pm:
8309 Converted the disassembler to use the Parrot::PackFile Perl classes
8312 2001-09-18 19:18 brentdax
8314 * Makefile.in: Fix missing functions for real this time. (I
8317 2001-09-18 18:49 brentdax
8319 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8320 <doughera@lafayette.edu>}
8322 2001-09-18 18:47 brentdax
8324 * Makefile.in: Fix bugs with missing math, etc. functions
8326 2001-09-18 14:42 thgibbs
8328 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8331 2001-09-18 13:59 thgibbs
8333 * strnative.c: Removed unnecessary IV cast in concat.
8335 2001-09-18 13:58 thgibbs
8337 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8338 to concat test in string.t
8340 2001-09-18 12:07 gregor
8342 * languages/jako/jakoc:
8343 * var num ... no longer requires assignment
8344 * automatic casting between int and num
8345 * Fixed an error message
8347 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8349 2001-09-18 11:57 simon
8352 Gonna have to start thinking of more things to do, soon.
8354 2001-09-18 10:42 simon
8357 Introduce a little more tidiness into the opcode table.
8359 2001-09-18 03:06 gregor
8361 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8362 Resurrected register-const ops per Dan's request.
8364 2001-09-18 02:20 gregor
8366 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8367 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8368 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8369 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8370 Committed some files that were missed in the last *.h moving
8373 2001-09-18 02:17 gregor
8375 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8377 2001-09-18 02:16 gregor
8379 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8380 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8381 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8382 missed in last commit for the move of *.h to include/parrot.
8384 2001-09-18 01:32 simon
8387 Trivial "clean" target to t/Makefile.
8389 2001-09-18 01:32 simon
8391 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8392 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8393 Change icky Digest::MD5 for nice simple unpack()
8395 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8397 2001-09-18 00:35 simon
8399 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8401 New concat op. Hey, if I'm going to talk about it in an article,
8402 better implement it...
8404 2001-09-17 22:54 gregor
8406 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8407 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8408 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8409 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8411 Functions for reading, writing and manipulating Parrot Pack Files.
8412 NOTE: This is a proposed term based on the fact that the file
8413 contains more than just byte code, and another language (Java)
8414 calls its binary files by a broader notion of what's in them (Class
8415 Files). Since Perl has packages, and since we use pack() to write
8416 them, we'll call them PackFiles (at least for now).
8418 That does, however, beg the question of file extension. Should we
8419 name the files "foo.pack" instead of "foo.pbc"?
8421 2001-09-17 20:23 thgibbs
8423 * interpreter.c, test_main.c: Uncuddled else statements for coding
8426 2001-09-17 19:57 gregor
8428 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8429 Added a $revision variable, parsing of the CVS Id line in
8430 opcode_table and a &revision() subroutine.
8432 2001-09-17 19:53 gregor
8435 Added a CVS Id tag to it.
8437 2001-09-17 18:58 thgibbs
8439 * interpreter.c: Cleared interpreter flags on creation.
8441 2001-09-17 18:38 gregor
8443 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8444 interpreter.h, test_main.c:
8445 * Provides macros in interp_guts.h for setting up arrays with
8446 op names and op arg counts (done via build_interp_starter.pl).
8448 These are used in the op tracing
8450 * The functions in bytecode.[hc] pass around a pointer to the
8452 of the bytecode so that later when we get to runops, we know
8453 how much bytecode we've got and we can detect out-of-bounds
8454 jumping. The documentation is updated, too.
8456 * runops in interpreter.c now looks at interpreter->flags to
8457 decide if the core of runops should be runops_trace_core or
8458 runops_notrace_core. These new functions contain just the
8459 while-loop portion of runops. A new function runops_generic
8460 does any other setup (such as checking the bytecode
8461 fingerprint) or wrapup (such as complaining if we ended up
8462 out-of-bounds). NOTE: I didn't know what we should do for
8463 functions in here that are not part of the api, so I gave
8464 them docs with 'TODO' marks mentioning they really aren't
8465 part of the api. Guidance appreciated.
8467 * test_main.c now checks for '-t' arg and sets the tracing flag
8468 on its interpreter instance as appropriate.
8470 2001-09-17 17:47 bdwheele
8472 * assemble.pl: added some default equates, and if they're sub
8473 references, they are computed each time it is referenced.
8475 2001-09-17 16:15 dan
8479 Added flags to the interpreter structure and defined a few.
8481 2001-09-17 15:51 simon
8483 * bytecode.h, string.h:
8484 VAR_SCOPE on globals.
8486 2001-09-17 15:20 simon
8489 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8491 2001-09-17 15:05 gregor
8493 * t/jump.pasm, MANIFEST:
8494 Added a test program to demonstrate jump_i.
8496 2001-09-17 14:44 thgibbs
8498 * register.c: Fixed register pop not using correct offset (off by
8501 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8503 2001-09-17 13:56 thgibbs
8505 * interpreter.c, register.c: Added code to call Parrot_clear_s
8506 during initialization and Parrot_clear_s and Parrot_clear_p when a
8507 new stack frame is pushed.
8509 2001-09-17 13:51 gregor
8511 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8512 fib.jako, hello.jako: Added bench.pasm to "clean"
8514 2001-09-17 13:49 gregor
8516 * languages/jako/: jakoc, Makefile:
8519 2001-09-17 13:49 gregor
8521 * languages/jako/jakoc:
8524 Courtesy of: Buggs <buggs-perl6@splashground.de>
8526 2001-09-17 13:29 gregor
8528 * MANIFEST, opcheck.pl:
8529 Added an opcode_table checker to make sure that all opcodes listed
8530 there conform to a simple set of naming rules (rules themselves, of
8531 course, are subject to change).
8533 2001-09-17 13:23 thgibbs
8535 * string.c: Modified string.c to correctly use the return value of
8538 2001-09-17 05:26 brentdax
8540 * Makefile.in: Making the Makefile smarter
8542 2001-09-16 23:06 brentdax
8544 * hints/mswin32.pl: Finishing the Configure hints
8546 2001-09-16 23:05 brentdax
8548 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8549 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8550 Configure hints, 5.005 compatibility, MANIFEST checking
8552 2001-09-16 19:25 bdwheele
8554 * assemble.pl: parrot assembly equates
8556 2001-09-16 18:03 gregor
8559 Added 'test' target to run new test suite.
8561 2001-09-16 17:33 simon
8563 * basic_opcodes.ops:
8564 'not' was being !, rather than ~. Too many Perl programmers here, I
8567 Courtesy of: Tom Hughes <tom@compton.nu>
8569 2001-09-16 17:21 simon
8571 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8573 A *real* test suite!
8575 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8577 2001-09-16 16:49 gregor
8579 * basic_opcodes.ops, opcode_table:
8580 At Dan's request, my new register-constant comparison ops have been
8583 2001-09-16 16:40 gregor
8585 * languages/jako/jakoc:
8586 Fixed a copy-paste error in one of jakoc's error messages.
8588 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8590 2001-09-16 16:37 gregor
8592 * languages/jako/jakoc:
8593 Modified comparison implementation to use temporary registers in
8594 the case of register-constant and constant-register comparisons.
8595 This will allow the compiler to emit code that works when the
8596 constant-comparison ops are backed out of Parrot. If the ops ever
8597 make their way back in, then jakoc can emit more efficient code
8600 2001-09-16 16:19 bdwheele
8602 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8603 ... though not subroutine based like the documentation wants, they
8604 are local to the last non-local label defined.
8606 2001-09-16 14:02 simon
8609 And remember, when you add stuff, keep the manifest up to date.
8611 2001-09-16 02:55 ask
8613 * Makefile.in: a "shared" target for building libparrot.so
8615 2001-09-16 02:45 thgibbs
8617 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8618 global_setup.h, interpreter.c, interpreter.h, io.h,
8619 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8620 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8621 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8622 use the coding standard PDD. Also changed Perl_Interp to
8625 2001-09-16 02:21 ask
8627 * README: emphasise the bits about the license not being worked out
8630 2001-09-15 22:21 simon
8632 * process_opfunc.pl:
8633 basic_opcodes.c should *scream* that it's autogenerated.
8635 2001-09-15 21:58 gregor
8637 * languages/jako/Makefile:
8638 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8641 2001-09-15 21:58 gregor
8643 * languages/jako/: jako_compiler.pl, jakoc:
8644 Renamed the Jako compiler to jakoc from jako_compiler.pl
8646 2001-09-15 21:51 gregor
8648 * languages/jako/: Makefile, bench.jako, euclid.jako,
8650 Added a new bench.jako example based on Leon Brocard's Bench.java.
8652 Jako Compiler: * fix a bug in assignment handling * add some
8653 more conditionals to while and if * revert to using implicit
8654 opcodes in a few cases that were broken before the assembler
8655 patch went in recently.
8657 2001-09-15 21:46 gregor
8659 * assemble.pl, basic_opcodes.ops, opcode_table:
8660 New ops for register-constant INTEGER comparisons:
8662 {eq,ne,lt,le,gt,ge}_ic_ic
8664 New ops for register-register and register-constant NUMERIC
8668 {ne,lt,le,gt,ge}_{n,nc}_ic
8672 Allow uppercase and underscores in labels.
8674 Tweaks to the op infer code to make it work with the examples
8678 2001-09-15 19:16 thgibbs
8680 * README: Updated README to include Configure.pl
8682 2001-09-15 17:05 simon
8684 * build_interp_starter.pl:
8687 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8689 2001-09-15 16:45 simon
8692 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8694 2001-09-15 16:40 simon
8697 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8700 2001-09-15 12:26 simon
8703 Fixed to match the coding standards.
8705 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8707 2001-09-15 01:57 ask
8709 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8710 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8713 2001-09-15 01:48 ask
8715 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8718 2001-09-15 01:42 gregor
8720 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8722 Compiler: Added variable interpolation in double-quoted strings.
8723 Examples: Made use of variable interpolation.
8725 2001-09-15 01:28 gregor
8727 * Parrot/.cvsignore:
8728 Ignore the Config.pm generated file.
8730 2001-09-15 01:22 gregor
8732 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8733 fib.jako, hello.jako, jako_compiler.pl:
8734 gnp: Added some more sample Jako files and added many more
8735 operators to the compiler. Preparations for supporting all the Math
8738 2001-09-14 19:06 simon
8740 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8741 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8742 lib/Parrot/Opcode.pm:
8743 Move common table reading stuff to a module.
8745 Courtesy of: Damien Neil <neild@misago.org>
8747 2001-09-14 17:42 simon
8750 More .cvsignore foo.
8752 2001-09-14 17:40 simon
8754 * assemble.pl, config_h.in:
8757 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8759 2001-09-14 17:38 simon
8761 * assemble.pl, t/Makefile:
8762 Make assemble.pl look in its parent directory if the data files it
8763 needs aren't in the current one. Plus a Makefile that lets "make
8766 Courtesy of: Rocco Caputo <troc@netrus.net>
8768 2001-09-14 16:29 simon
8770 * make_op_header.pl:
8771 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8772 probably segfault everywhere else.)
8774 2001-09-14 15:58 dan
8776 * languages/jako/: euclid.jako, jako_compiler.pl:
8778 Added in the first mini-language that targets Parrot.
8780 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8782 2001-09-14 15:20 dan
8784 * memory.c: Was misaligning returned memory. Fixed.
8786 2001-09-14 15:08 simon
8788 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8789 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8790 register.c, register.h, string.c, string.h, strnative.c,
8792 Fixes to include <parrot/foo.h>
8794 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8796 2001-09-14 12:05 simon
8801 2001-09-14 12:01 simon
8806 2001-09-14 11:54 simon
8811 2001-09-14 11:45 simon
8816 2001-09-14 11:39 simon
8819 Tru64 cc doesn't like -Wall
8821 2001-09-14 10:57 simon
8823 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8824 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8825 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8826 Configure now generates Makefile
8828 Courtesy of: Brent Dax <brentdax@cpan.org>
8830 2001-09-14 10:08 simon
8835 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8837 2001-09-14 10:07 simon
8840 * uses Getopt::Long for options. -c is now --checksyntax.
8842 sure how to keep compatible (patches welcome!) * options
8843 include: --help --version
8844 --verbose --output=file
8845 --listing=file --checksyntax * produces
8846 verbose listing of what the assembler saw :) Only one nitpick with
8847 it: unknown symbols are given as 0xffffffff, unfortunately, this
8848 includes symbols which may be defined later in the file (i.e.
8851 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8853 2001-09-14 10:06 simon
8858 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8860 2001-09-14 10:03 simon
8862 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
8863 register.c, string.c, strnative.c, test_main.c:
8864 Coding standards conformance
8866 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8868 2001-09-14 09:46 simon
8871 Make the assembler grok transcendental maths again. Courtesy of:
8872 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8874 2001-09-13 17:29 simon
8877 Better opcode guessing, from Brian Wheeler. (Again!)
8879 2001-09-13 17:20 dan
8881 * docs/parrot_assembly.pod:
8883 Took out duplicate entries for iton, ntoi, and tostring.
8885 2001-09-13 17:16 simon
8887 * assemble.pl, basic_opcodes.ops, opcode_table:
8890 This patch gives the assembler support of '\a','\n','\r','\t', and
8891 '\\' in string constants.
8893 In addition, it changes (for all registers) "I reg %li is ..." to
8894 just the value of the register. Printing constants is also
8895 supported, but alas, you have to specify the type (print_sc,
8896 print_ic, print_nc).
8898 2001-09-13 15:38 simon
8901 Why don't I actually *test* this stuff before applying it, eh?
8903 2001-09-13 15:34 simon
8905 * TODO, t/euclid.pasm:
8906 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
8907 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
8910 2001-09-13 14:42 simon
8913 A new assembler, from Brian Wheeler.
8915 2001-09-13 09:44 simon
8917 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
8919 Two more from Tom Hughes: Patch to fix C++ style comments
8920 Patch to remove use of structure constant/cast
8922 2001-09-13 09:39 simon
8924 * TODO, docs/strings.pod:
8927 2001-09-13 09:36 simon
8929 * Makefile, basic_opcodes.ops:
8930 Tom Hughes Patch to link with the maths library Tom Hughes
8931 Patch to fix += on rvalue
8933 2001-09-13 08:57 simon
8936 I guess nobody's been using the nightly builds...
8938 2001-09-13 08:27 simon
8940 * assemble.pl, basic_opcodes.ops, opcode_table:
8941 Bitwise ops, from Brian Wheeler.
8943 2001-09-13 08:23 simon
8945 * .cvsignore, t/.cvsignore:
8946 .cvsignore's, from Gregor Purdy.
8948 2001-09-13 08:22 simon
8951 Euclidean test and test output rearranging from Gregor Purdy.
8953 2001-09-13 08:21 simon
8955 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
8956 Math ops from Gibbs Tanton.
8958 2001-09-13 08:14 simon
8960 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
8962 String substr op; also rearranged "encoding" to be a vtable
8963 pointer, not an array index. Haven't changed docs to reflect this,
8968 2001-09-12 19:48 dan
8970 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
8973 2001-09-12 19:39 dan
8975 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
8977 2001-09-12 19:23 dan
8979 * interpreter.h, parrot.h: Quick placeholder entry for string
8982 2001-09-12 18:58 dan
8984 * memory.c: Added in a cast to make gcc happy.
8986 2001-09-12 16:44 dan
8988 * docs/parrot_assembly.pod:
8990 PDD describing parrot's assembly language and the opcodes in it
8992 2001-09-12 14:20 dan
8995 Fixed alignment issues with allocation
8997 2001-09-12 10:54 simon
8999 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9000 make_op_header.pl, opcode_table, process_opfunc.pl:
9001 Brian Wheeler's big patch:
9003 * Changes the opcode_table file to provide additional information
9004 about the operands. Case shouldn't be a problem since that data
9005 never becomes a C symbol [this is pretty much as before]
9007 * Padding errors solved: assemble.pl and bytecode.c were padding
9008 the constants incorrectly. It should have been 4-(size % 4), not
9009 just (size % 4). It is now fixed in both places.
9011 * assembler has less special cases, and should be easier to hang
9014 * disassembler dumps constant table and the format is a bit
9015 prettier, including register names, etc.
9017 2001-09-11 23:21 dan
9019 * build_interp_starter.pl, interpreter.c:
9021 Abstracted the runops function core into a macro for easy
9024 2001-09-11 10:43 simon
9026 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9027 Configure system from Brent Dax <brentdax@cpan.org>
9029 2001-09-11 09:38 simon
9031 * assemble.pl, test.pbc:
9032 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9033 assembler deferred output
9035 Also got rid of the bytecode, since that's probably way out of
9038 2001-09-11 09:26 simon
9040 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9041 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9044 2001-09-10 23:20 simon
9047 And that move needs a MANIFEST change. So many things to remember!
9049 2001-09-10 23:18 simon
9051 * t/: test.pasm, test2.pasm, test3.pasm:
9052 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9054 2001-09-10 23:18 simon
9056 * test.pasm, test2.pasm, test3.pasm:
9059 2001-09-10 23:04 dan
9063 Register push/pop test
9065 2001-09-10 22:47 simon
9067 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9068 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9069 (Modified to avoid conflict with Dan's changes.)
9071 2001-09-10 22:45 dan
9075 Happier about blanks in opcode_table
9077 2001-09-10 22:40 dan
9079 * interpreter.c, register.c:
9081 Yanked out debugging code, since these work OK. The bug I want is
9084 2001-09-10 22:30 simon
9087 Uhm. We want make_op_header.pl. We really, really do.
9089 2001-09-10 22:26 simon
9091 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9092 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9093 opcode_table, process_opfunc.pl:
9094 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9095 This means we can add lots more opcodes without fiddling about with
9096 the numbers. Hooray!
9098 Don't forget that "end" needs to be op zero, else the interpreter
9099 falls off the end of the code. This is Bad, and I wonder if there's
9102 2001-09-10 19:49 simon
9104 * MANIFEST, make_op_table_build.pl:
9105 Hey! This doesn't do anything...
9107 2001-09-10 19:46 simon
9110 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9112 2001-09-10 18:31 simon
9115 You know what this means...
9117 2001-09-10 18:30 simon
9120 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9121 wait for a release...? :)
9123 2001-09-10 18:13 simon
9128 2001-09-10 17:56 simon
9131 A *real* README file, which doesn't claim it isn't for public
9134 2001-09-10 17:02 simon
9139 2001-09-10 16:56 dan
9141 * TODO: Added in assembler gripe. Also added a few blank lines for
9144 2001-09-10 16:49 dan
9146 * register.h, register.c: Renamed the core functions so the opcodes
9147 can find 'em OK. (There were some conflicts)
9149 2001-09-10 16:48 dan
9151 * basic_opcodes.ops, opcode_table: Added register window ops
9153 2001-09-10 11:07 simon
9158 2001-09-10 11:05 simon
9160 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9161 note "-s" flag to test prog.
9163 2001-09-10 11:01 simon
9166 New string documentation.
9168 2001-09-10 11:01 simon
9170 * basic_opcodes.ops, opcode_table:
9173 2001-09-10 10:53 simon
9178 2001-09-10 10:51 simon
9181 Just some more aliases for now. Used by string handling stuff.
9183 2001-09-10 10:50 simon
9185 * assemble.pl, bytecode.c, bytecode.h:
9186 Temporary hack to store string constants in bytecode and recreate
9189 2001-09-10 10:48 simon
9192 op.h is now generated by the Makefile; remove it.
9194 2001-09-10 10:47 simon
9197 clean and op.h Makefile targets.
9199 2001-09-10 10:45 simon
9201 * string.c, string.h, strnative.c:
9202 More string vtable stuff.
9204 2001-09-07 21:07 dan
9208 Much less picky about whitespace in the opcode_table now. (Doesn't
9209 whine on blank lines)
9211 2001-09-07 16:23 dan
9213 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9214 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9215 this takes) Added global_setup.h to declare init_world function
9217 Moved variable declarations out of the interpreter loop for small
9220 Changed end opcode to now be opcode #0. A function is provided for
9221 it, but isn't ever executed.
9223 When the interpreter sees an opcode 0 in the stream it means the
9224 end of stream. Things were coring on Cygwin otherwise. (I think I
9225 was dereferencing a zero, which is bad)
9227 2001-09-06 22:07 dan
9229 * basic_opcodes.ops, process_opfunc.pl:
9231 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9232 are minor changes now that things are in a fixed state.
9234 2001-09-06 16:13 dan
9236 * basic_opcodes.c, test_opcodes.c:
9237 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9239 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9240 should be nuked. So it is. :)
9242 2001-09-06 03:35 dan
9244 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9245 Scripts to build the header file that holds the function table
9246 creation code, as well as the script to turn an opcode file to C
9247 source. (And the basic opcode functions turned into an opcode
9250 2001-09-06 03:31 dan
9252 * Makefile, interpreter.c:
9253 Changes to support the autogeneration of the opcode function
9254 pointer table in interpreter.c, along with the changes to the
9257 2001-09-05 13:27 simon
9259 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9260 docs/parrotbyte.pod, docs/vtables.pod:
9261 Added stubs for the documents; working on them this week. (What's
9262 left of it.) config.h change is just to type VTABLE, and the
9263 bytecode thing you might want to revoke. It's apidoc for the
9266 2001-09-03 18:26 simon
9269 A start on the string API documentation.
9271 2001-09-03 17:43 simon
9274 Since we specify the opcode number, we can rearrange to a more
9275 human-friendly ordering.
9277 2001-09-03 17:42 simon
9280 Coupl'a logic bugs. (I think)
9282 2001-09-03 17:41 simon
9284 * string.c, string.h, strnative.c:
9285 Tidying up the string vtables.
9287 2001-09-03 17:38 simon
9289 * make_op_header.pl:
9290 Spit out the whole of op.h, not just the bit in the middle.
9292 2001-08-29 13:16 ask
9294 * README: it seems like we indeed can commit. What about sending
9297 2001-08-29 13:07 simon
9299 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9300 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9301 global_setup.c, interpreter.c, interpreter.h, io.h,
9302 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9303 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9304 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9305 test.pbc, test_main.c, test_opcodes.c:
9306 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9307 I'm still working on the string stuff, though.
9309 2001-08-29 12:44 ask
9311 * README: update README with list address
9313 2001-08-29 12:36 ask
9315 * README: first readme.