4 * added C<isnull> opcode
11 * added :init pragma functionality to subs
14 * added :vtable pragma functionality to subs
17 * added Parrot::Embed under ext/Parrot-Embed
20 * remove the None PMC - if needed it can trivially be reimplemented
21 in languages from r14189
24 Merged Software Transactional Memory branch into trunk, adds:
25 * several new opcodes whose names start with stm_
26 * read-only PMC support
27 * several new PMC types (whose names start with STM*)
28 * support for threads (again)
35 * opcodes: "in PMC" is no longer a synonym for "invar PMC";
36 there are opcodes now that want the real "in PMC".
37 * namespace and global opcodes now accept name arrays again, as
38 well as keys; the corresponding namespace PMC methods are gone.
41 * Parrot_exit, Parrot_on_exit take now an Interp * argument
44 * add experimental op find_type_i_p
45 * fix longstanding bug that sometimes didn't encode pasm keys as
46 Key PMCs (specifically "[S0]" and "['stringliteral']").
49 further implementation of new pdd21:
50 * new opcodes {get,set}*global
51 (old {find,store}*global will be supported for a short while)
54 * --maintainer prerequesites are now bison 2.2+ and flex 2.5.3x
56 (at the moment code is checking for 2.0 -- ambs)
59 partial implementation of new pdd21:
60 * old: "get_namespace KEY". new: "get_hll_namespace KEY"
61 * get_namespace and find_global opcodes no longer accept arrays
62 of strings. To use arrays, call namespace object methods.
69 * I and N registers are never cleared to 0 / 0.0 on subroutine entry
76 * Make the Perl PMCs dynamic and move them to src/dynpmc
83 * Shifted argument type bits left by 2 according to r11754
84 change of docs/pdds/pdd03_calling_conventions.pod
85 * if you are creating PASM then code needs adjustment
92 * rename src/dynclasses to src/dynpmc
93 * rename src/classes to src/pmc
97 * find_global and friends returns a .Null PMC instead of .Undef on
98 lookup failure, iff lookup exceptions are off
105 * renamed all .imc files to .pir
106 * modified all doc references to .pir as well
109 * moved jit/ directory to src/jit/
112 * moved io/ directory to src/io/
113 * moved classes/ directory to src/classes/
114 * moved dynclasses/ directory to src/dynclasses/
117 * moved types/ directory to src/types/
118 * moved pf/ directory to src/packfile/
119 * moved ops/ directory to src/ops/
122 * moved charset/ directory to src/charset/
123 * moved encodings/ directory to src/encodings/
126 * moved imcc/ directory to compilers/imcc/
129 * moved util/ directory to tools/util/
130 * removed imcc/examples/ directory
131 * moved ast/ directory to compilers/ast/
134 * moved imcc/docs/ directory to docs/imcc/
135 * moved build_tools/ directory to tools/build/
136 * modified MANIFEST, MANIFEST.generated, and MANIFEST.SKIP
140 * See NEWS for changes
144 * See NEWS for changes
148 * See NEWS for changes
152 * See NEWS for changes
156 * See NEWS for changes
160 * allow short names for object attributes
161 * string encoding and charset can now be set independently
162 * experimental mmap IO layer for slurping files
163 * enable compile opcode support for compilers written in PASM/PIR
164 * improved HLL support with .HLL and n_operators pragmas
165 * simplified hash code
166 * more strength reduce optimizations
167 * distinct debug and trace flag settings
168 * glob support in PGE
169 * new character classification opcodes and interfaces
170 * numerous bug fixes and enhancements
174 * parrot repository is now under subversion
175 * MMD (Multi Method Dispatch) enhanced
176 * new unary and infix opcodes that return new result PMCs
177 * dynamic scalar PMCs inherit now almost all from Parrot core PMCs
178 * more unification of PMCs and ParrotObjects
179 * tailcalls for functions and methods
180 * PGE (Parrot Grammar Engine) reworked
181 * Pugs creates Parrot code and Pugs is a registered compiler now
183 * the usual bug fixes and improvements
187 * big rewrite of string code, not yet finished but ...
188 * partial implementation of a generational garbage collector
189 * indirect register frame addressing
190 * .return(args) PIR syntax
191 * moved most of the Python code to dynclasses
192 * a lot more Python functionality
193 * precalculate opcodes with all constants
194 * PGE - Parrot Grammar Engine
195 * scalar classes refactoring
196 * much more tests and big test system cleanup
197 * improved documentation
198 * and as always a lot more
202 * Need Perl 5.6 now for building
203 * Basic AST support, PAST file parser, bits of code generation
204 * BigInt PMC using GMP
206 * Dynamic loading improved including bundles of PMC classes
207 * Experimental support for "make install"
208 * IA64 and hppa JIT support
209 * ICU unicode support
210 * IO layer handling code
211 * IO readline and buffered IO fixes
213 * Internal pythonic functions: filter, map, reduce, max, min ...
214 * Languages updates for m4, tcl, perl6, regex. New parakeet language.
215 * Library updates, Stream and SDL library
216 * MMD - multi method dispatch for binary vtable methods
217 * Many new array PMCs
218 * Method call syntax in PIR obj."meth"(...)
219 * More OS stuff: stat, exec, system, gmtime, piped read and write
220 * New Python PMCs like Enumerate, None
221 * Non-branching compare opcodes
222 * PIR support for += and friends
223 * Python language subdir
224 * Python types mapped to existing PMCs
225 * Slices and range support
226 * Tons of bug fixes, documentation updates, new tests
227 * Win32 COFF exec support
232 * "Ladies and gentlemen, I give you... objects!"
233 * Huge documentation overhaul
234 * More supported platforms, s. PLATFORMS
235 * Basic thread support for pthread based architectures
236 * Basic event handling for timers and signals including:
237 * PASM callbacks for NCI (native C) functions.
238 * Improved platform configuration
239 * COW stacks now working, stacks code redone
240 * Structure handling vastly improved
241 * Random PMC and rand primitives
242 * Better subroutine call syntax in PIR
243 * Make PIR subroutines compliant with pdd03
244 * Improved profiling (DOD, GC timings)
245 * Hash code improvements, incl. random key order support
246 * Experimental freeze/thaw code for some PMC types
247 * IO improvements for buffered layer and Win32
249 * String bitwise vtables
251 * Support for JIT, where malloced memory isn't executable
252 * Priority DOD scheme for objects that need timely destruction
253 * Improved bytecode loading (e.g. onLoad functions)
254 * Language updates: forth, Perl6/P6C, m4
255 * Libraries: Getopt_Long, SDL, Dumper, Sort
257 * Unified imcc and parrot test handling
258 * Many new tests (make test reports 1386 tests)
264 * Yep thirteen - haunted by the ghost of 0.0.12
265 * Build imcc as parrot
266 * Objects more finished
267 * Delegate vtable methods to byte code
268 * Binary multi-method dispatching
269 * Isa and does methods for PMCs
270 * Call byte code from C
271 * Start of extension interface
272 * Experimental struct handling
273 * Catch access to NULL PMCs
274 * Experimental network socket interface code and opcodes
275 * IO fixes and improvements
276 * Dynamic opcode libraries
277 * Fix-assigned opcode numbers
278 * Argument flattening for function calls
279 * More native call interface (NCI) signatures
280 * Ncurses, postgres, and pcre interface libraries
281 * Forth language is vastly improved
282 * BSD and Win32 build improvements
283 * Many new tests and fixes
286 * imcc moved from parrot/languages/ to parrot/
290 * updated the native_pbc test files (from Leo)
291 * built 0.0.11.1 release tarball
295 * CHANGES BUNDLED INTO 0.0.11:
297 * Dynamic PMC registration
298 * Trial exception system
299 * Beginnings of object system
302 * I/O system improvements
304 * Documentation for basic PMC types
305 * IMCC support of Parrot Calling Conventions
306 * Runtime loading of chartypes (and other string improvements)
307 * Conditional breakpoints
308 * Dramatically accelerated sweeps for finalizable objects
309 * Small PMCs (PMCs split into core and extensions)
310 * Loadable bytecode packfiles
312 * Sub variants that deal with the stack correctly
313 * Switched runops core
314 * Line numbers in warnings
316 * Many documentation cleanups
317 * Conversion to CPS style!
318 * BASIC debugger and many other wacky features
319 * Filename, line number parsing support in IMCC
321 2003-07-21 17:31 chromatic
322 * applied copyright patch from Josh Wilmes
325 * Moved the registers out of the context structure, since they
326 really aren't context
327 * Changed the register stack frames to hold only 16 registers
328 rather than 32, added half-set push and pop ops, and reworked
329 the full set push/pops to do two half-set push/pops. Should
330 speed up saving register data on calls, since we usually only
331 care about the top half of the registers anyway.
332 * Started committing some of the new class/object framework
333 * Remembered to finally start updating the Changelog
338 Update Yet Another copyright statements to reflect the (no longer
341 2003-03-11 22:06 chip
343 * Configure.pl: print help on non-option command line args
345 2002-12-18 20:38 sfink: changes since 0.0.8
347 - Allow suppression of cgoto core to save memory during compile
348 * Native function calling interface
349 * Major rewrite of stack and list aggregates
351 * Scratchpads implemented
353 - Internal memory subsystem documentation
354 * Preliminary DotGNU support
355 - Packfile fingerprinting
356 * Buffer/PMC unification (into PObjs)
357 * stabs debugging information support
358 * Major Jako overhaul, including:
360 - native function calling
361 - Perl6 string interpolation
362 - languages/regex now targets IMCC
363 * Optional Lea memory allocator
364 * Full sprintf implementation
365 * Many, many new tests
368 - runtime-controllable gc debugging
371 * JIT: various improvements
372 - register usage tracking
373 - block register allocation
377 - architecture abstraction layer
379 * Beginning support for extensible packfiles
380 * Much better key support, generally
382 * Restructured PMC hierarchy with better functionality inheritance
383 * IMCC: many, many improvements. See imcc/ChangeLog
384 * Perl6: index map grep join reverse defined
385 * Scheme with functions!
388 2002-03-19 22:54 nicholas
390 * docs/running.pod: Patch from Simon Glover <scog@amnh.org>:
392 We can now get usage information for test_parrot without having to
395 2002-03-19 22:53 simon
398 Parrot is called parrot.
400 2002-03-19 22:53 nicholas
402 * docs/tests.pod: Patch from Simon Glover <scog@amnh.org>:
404 1. There are tests in t/pmc as well as t/op now.
405 2. Adds a comment about Parrot::Test
409 * Configure.pl, examples/assembly/life.pasm: Toss a prompt that
410 messes up automated builds
412 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
414 2002-03-19 00:33 mrjoltcola
416 * core.ops: Doc cleanup from Simon Glover.
418 2002-03-18 23:52 mrjoltcola
420 * io/io_unix.c: Typo fix for invalid lvalue caught by David Loyd.
424 * include/parrot/resources.h: Checked in old version
428 * include/parrot/resources.h: Forgot a prototype
432 * resources.c: D'oh! Thinko, fixed.
434 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
436 2002-03-18 17:33 josh
438 * Configure.pl: Lowering the bar a bit.
440 2002-03-18 17:33 sfink
442 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
443 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
444 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
445 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
446 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
447 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
448 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
449 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
450 t/example.t: Whoops, wrong time to check this in.
454 * memory.c, resources.c: Partial fix for GC's memory trouncing. At
455 least we consider the PMC and Buffer free pools worth collecting,
456 and initialize the Buffer pool stuff. Still not 100% correct,
459 2002-03-18 15:35 simon
464 2002-03-18 07:45 brentdax
466 * Configure.pl: Warn if you're using 64-bit ints on a 32-bit
469 2002-03-18 00:09 sfink
471 * languages/regex/: MAINTAINER, Makefile, README, regex.pl,
472 test.pl, lib/Regex.pm, lib/Regex/AsmOps.pm, lib/Regex/CodeGen.pm,
473 lib/Regex/Generate.pm, lib/Regex/Grammar.pm, lib/Regex/Grammar.y,
474 lib/Regex/Optimize.pm, lib/Regex/Parse.pm, lib/Regex/Pasm.pm,
475 lib/Regex/PreOptimize.pm, lib/Regex/RegexOps.pm,
476 lib/Regex/Rewrite.pm, lib/Regex/CodeGen/Re.pm,
477 lib/Regex/CodeGen/Rx.pm, lib/Regex/Rewrite/Re.pm,
478 lib/Regex/Rewrite/Rx.pm, lib/Regex/Rewrite/Stackless.pm,
479 t/example.t: Buggy 1st version of regex compiler implementation.
480 Warning: the test code depends on features of the assembler that do
483 2002-03-17 21:35 ajgough
485 * types/: bignum.c, bignum_atest.pl: Added a couple of quick routes
486 through addition and subtraction. Also added the ability to run
487 all the tests, including the ones which deal with overflow and
488 underflow. These fail, but that's expected. Soon they'll pass.
489 Then I'll show them. Yesssssss. Tessssssssts my precioussssss,
490 passsssssssings tesssstsssss.
492 2002-03-17 20:06 ajgough
494 * types/: bignum.c, bignum.h, bignum_test.pl: Modified
495 check_(under|over)flow to test bignumbers, rather than values.
496 context now carries E_limit, from which max and min exp are found.
498 Added a default-context-creating function (although this isn't the
499 same as either of the default contexts defined in the eda).
501 2002-03-17 13:31 ajgough
503 * types/: bignum.c, bignum.h: Made BN_round and BN_iround so that
504 exported version matches prototypes of other public functions.
506 2002-03-17 06:44 josh
508 * chartype.c, encoding.c, memory.c, misc.c, packdump.c, packfile.c,
509 packout.c, resources.c, string.c, include/parrot/encoding.h: Some
510 last-minute re-indenting.
512 2002-03-17 05:07 mrjoltcola
514 * io/io_unix.c: Clear up unsigned compare caught by Solaris GCC.
516 2002-03-16 23:17 nicholas
518 * classes/default.pmc: Patch from Simon Glover <scog@amnh.org> to
521 default.pmc: In function `Parrot_default_get_integer_keyed':
522 default.pmc:50: warning: control reaches end of non-void function
523 default.pmc: In function `Parrot_default_get_number_keyed':
524 default.pmc:58: warning: control reaches end of non-void function
525 default.pmc: In function `Parrot_default_get_string_keyed':
526 default.pmc:67: warning: control reaches end of non-void function
527 default.pmc: In function `Parrot_default_get_pmc_keyed':
528 default.pmc:87: warning: control reaches end of non-void function
530 2002-03-16 18:50 ajgough
532 * types/: bignum.c, bignum.h: Lots of prototypes changed in
533 readiness for nicely telling your caller about any oddness you've
534 caused in the persuit of flow.
538 * interpreter.c, resources.c, docs/pdds/pdd09_gc.pod,
539 include/parrot/interpreter.h, include/parrot/resources.h: Now we
540 can control the GC and DOD, to stop it when we don't really want
545 * resources.c, vtable.tbl, classes/default.pmc,
546 include/parrot/resources.h: Added the last code to let PMCs control
547 their marking at DOD time
549 2002-03-16 16:57 ajgough
551 * types/bignum.c: Ok, I worked out how to not have lots of tabs. I
552 feel a little more virtuous now. Really I do. You might not
553 believe me, but you should. perl -pne 's/\t/ /g', if you're
556 2002-03-16 16:57 josh
558 * packfile.c, packout.c: M-x untabify is my new friend.
560 2002-03-16 16:50 josh
562 * trace.c, resources.c: Minor whitespace tweak for the benefit of
563 check_source_standards.pl
565 2002-03-16 16:50 ajgough
567 * types/: bignum.c, bignum.h: More documentation, separate
568 functions into public and private sorts, some initial stuff to cope
569 with over and underflow correctly.
571 2002-03-16 16:49 josh
573 * resources.c: Re-indented (sorry bout the big diff)
575 2002-03-16 16:47 bdwheele
577 * examples/assembly/fact.pasm: This fixes fact.pasm so it will
578 assemble again, both with Simon's new assembler and with the old
581 2002-03-16 16:33 mrjoltcola
583 * io/TODO: Get the TODO up-to-date for 0.0.4.
585 2002-03-16 16:11 josh
587 * Configure.pl: Patch from Nicholas Clark <nick@unfortu.net>: stops
588 silly people (such as me) running Configure with
589 /usr/local/bin/perl (which is 5.004_05) and not realising their
590 mistake until the pmc subdirectory, where the first qr// is
593 Syntax error messages don't tell you what you did wrong. This does:
595 /usr/local/bin/perl Configure.pl Perl 5.00503 required--this is
596 only version 5.00405, stopped at Configure.pl line 10.
598 2002-03-16 14:38 ajgough
600 * Makefile.in: Small fix to Makefile.in to keep Irix make happy
603 2002-03-16 11:45 simon
605 * MANIFEST, examples/assembly/xml_parser.pasm:
606 Added Clint Pierce's XML parser.
608 2002-03-15 22:24 simon
611 Don't need that function.
613 2002-03-15 21:56 simon
615 * Makefile.in, include/parrot/packfile.h:
616 Rebuild packout.o, since it'll be used for the Packfile XS module
620 * include/parrot/: memory.h, pmc.h: Another add-in for GC
624 * core.ops: No string to int for some reason
628 * string.c, t/op/string.t: Fix 0-length substr problem
632 * core.ops, interpreter.c, resources.c, classes/array.pmc,
633 classes/perlarray.pmc, examples/assembly/life.pasm,
634 include/parrot/interpreter.h, include/parrot/resources.h: Added in
635 a counter for copied memory, with a display in life.pasm
637 2002-03-14 03:16 mrjoltcola
639 * MANIFEST: Update MANIFEST courtesy of Simon Glover.
641 2002-03-13 23:43 simon
646 2002-03-13 23:43 simon
651 2002-03-13 21:31 simon
656 2002-03-13 18:06 simon
660 Fix string_compare screw-up.
662 2002-03-13 18:02 brentdax
664 * docs/: parrot.pod, ParrotFAQ.htm, faq.pod: Move the FAQ into POD
665 and add a new question/answer pair.
667 2002-03-12 22:53 mrjoltcola
669 * io.ops: Quick and dirty read ops for PIO. No warranty provided.
671 2002-03-12 22:48 mrjoltcola
673 * examples/assembly/io2.pasm: Quick and dirty read ops for PIO. No
676 2002-03-12 22:29 ajgough
678 * docs/pdds/pdd14_bignum.pod: Ooops, it is #14, really.
680 2002-03-12 22:24 ajgough
682 * docs/pdds/pdd14_bignum.pod: Creation of bignumber pdd, update to
683 version 1.1, Don't know if this is the correct number, but I don't
684 want this stuck on my harddrive where it will get lost, so 14 it is
687 2002-03-12 11:35 simon
689 * MANIFEST, packdump.c, packout.c:
691 Just so the functionality doesn't disappear.
693 2002-03-12 11:33 simon
695 * Makefile.in, chartype.c, encoding.c, packfile.c,
696 chartypes/unicode.c, chartypes/usascii.c, encodings/singlebyte.c,
697 encodings/utf16.c, encodings/utf32.c, encodings/utf8.c,
698 include/parrot/chartype.h, include/parrot/encoding.h,
699 include/parrot/packfile.h:
703 2002-03-11 23:06 nicholas
705 * core.ops: Patch from Simon Glover <scog@roe.ac.uk>:
707 Core.ops documentation nits
709 2002-03-11 23:05 nicholas
711 * t/pmc/pmc.t: Patch from Simon Glover <scog@roe.ac.uk>:
713 Most of the PerlUndef tests in pmc.t appear to have been added
715 Enclosed patch removes the duplicates.
717 2002-03-10 23:40 nicholas
719 * t/pmc/perlstring.t: Patch from Simon Glover <scog@amnh.org>:
721 More tests for the PerlString test-suite.
723 2002-03-10 23:40 nicholas
725 * t/op/time.t: Patch from Simon Glover <scog@amnh.org>:
727 test for sleep with negative argument
729 2002-03-10 21:58 nicholas
731 * t/op/rx.t: Patch from Simon Glover <scog@amnh.org>:
733 Enclosed patch fixes up a few more holes in our test coverage.
735 2002-03-10 21:18 mrjoltcola
737 * classes/array.pmc, classes/default.pmc, classes/intqueue.pmc,
738 classes/parrotpointer.pmc, classes/perlarray.pmc,
739 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
740 classes/perlstring.pmc, classes/perlundef.pmc,
741 include/parrot/pmc.h, core.ops, pmc.c, vtable.tbl: Add size
742 argument to the init() vtable method so PMCs have the option to
743 know how to size themselves at creation. size could be N elements
744 or a byte count, depending on the PMC or it may simply be ignored.
745 Overloaded 'new' opcode for optional arg.
747 2002-03-10 21:15 mrjoltcola
749 * lib/Parrot/Assembler.pm: Minor patch to the assembler for the
750 new_p_ic_ic opcode to work same as new_p_ic (looks up a named
753 Also added small hack for .sub directive (which simply translates
754 to a label, however we might eventually want to collect these to
757 2002-03-10 15:09 ajgough
759 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
760 Added round_floor and round_ceiling. 3403 tests pass, none fail.
762 2002-03-10 03:56 ajgough
764 * types/: bignum.c, bignum_atest.pl: Added extended stuff to
765 divide, divide integer and remainder. All filled in functions now
766 have special values capability.
768 Much remains to be done though, and the pdd needs to catch up.
770 2002-03-10 01:36 ajgough
772 * types/bignum.c: Added extended stuff to _add, _subtract.
774 2002-03-10 00:14 nicholas
776 * t/op/: integer.t, number.t: Patch from Simon Glover
779 The enclosed patch fixes a few of the holes in our test coverage
780 uncovered by Josh Wilmes
782 2002-03-09 23:03 ajgough
784 * types/: bignum.c, bignum.h: Modified compare to work with
785 extended values. Made a couple of changes here and there to allow
786 BN_comp to take a context, so that an is_zero check doesn't clobber
789 2002-03-09 22:19 ajgough
791 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
792 Unary plus now copes with special values.
794 2002-03-09 04:25 ajgough
796 * types/: bignum.c, bignum_atest.pl, bignum_test.pl: Exception
797 traps and flags are now enabled and tested for all the standard
798 tests for all the functions which are currently implemented. Test
799 harness faffed with to allow these to be tested.
801 2002-03-09 02:29 josh
803 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
804 encodings/utf8.c, chartypes/unicode.c, chartypes/usascii.c:
807 2002-03-09 02:22 josh
809 * config_h.in: tab-blastin'
811 2002-03-09 02:21 josh
813 * check_source_standards.pl: Play nicer with M-x compile- don't
814 bother giving line numbers for things you don't want to look at.
816 2002-03-09 02:10 josh
818 * examples/mops/mops.c: re-indented
820 2002-03-09 02:07 josh
822 * classes/pmc2c.pl: Use the usual header so that we can detect the
825 2002-03-09 02:05 josh
827 * jit2h.pl: Avoid accidental /* inside a comment, which generates a
830 2002-03-09 01:59 josh
832 * io/: io.c, io_stdio.c, io_unix.c, io_win32.c: Another large
833 patch- re-indent io/*.c.
835 2002-03-09 01:52 ajgough
837 * types/: bignum.c, bignum.h, bignum_test.pl: Added handling of
838 special values to the string conversion functions, some other
839 functions now need context (to let -0 pass through really_zero)
840 which have also been added.
842 2002-03-09 01:47 josh
844 * test_main.c: Re-indented.
846 2002-03-09 01:41 josh
848 * rx.c: killed a stray tab
850 2002-03-09 01:38 josh
854 2002-03-09 01:36 josh
856 * misc.c: Oops, some tabs remained- cleaned up.
858 2002-03-09 01:31 josh
860 * misc.c: Re-indented (major patch, sorry)
862 2002-03-09 00:59 josh
864 * embed.c: Re-indented.
866 2002-03-08 23:08 simon
868 * MANIFEST, docs/pdds/pdd10_embedding.pod,
869 docs/pdds/pdd11_extending.pod, docs/pdds/pdd12_assembly.pod,
870 docs/pdds/pdd13_bytecode.pod:
873 2002-03-08 21:12 ajgough
875 * include/parrot/string.h: Added private flags to string.h, mostly
876 so that other GCed stuff can also have its very own private flags.
878 2002-03-08 19:53 simon
883 2002-03-08 19:41 robert
885 * docs/pdds/: pdd0.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod,
886 pdd6.pod, pdd7.pod: Renamed...
888 2002-03-08 18:51 simon
890 * MANIFEST, docs/pdds/pdd08_keys.pod:
893 2002-03-08 18:20 ajgough
895 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl:
896 Introduced exception handlers and exception flags to context, will
897 allow support of extended standard. Unified exception checking
898 mechanism (sort of) and made minimal changes to bulk of code to use
899 this. Tests pass, I'm happy, and further changes will happen more
902 2002-03-08 04:38 josh
904 * interpreter.c, string.c, testparrotsizes_c.in: More indenting
907 2002-03-08 04:37 josh
909 * platforms/: generic.c, generic.h, win32.c, win32.h: Re-indented
911 2002-03-08 04:24 josh
913 * embed.c: A bit more re-indenting
915 2002-03-08 04:20 josh
917 * embed.c: Indenting fixes
919 2002-03-08 04:14 josh
921 * jit.c: Re-indented (run_indent.pl)
923 2002-03-08 03:36 josh
925 * ops2c.pl: Fix the line numbers which get reported while compiling
928 2002-03-08 03:22 josh
930 * packfile.c: -1552 cc: WARNING File = packfile.c, Line = 1537
931 The variable "type" is set but never used.
935 2002-03-08 03:04 josh
937 * resources.c, stacks.c, string.c, io/io.c, io/io_stdio.c,
938 io/io_unix.c: Clean up unused and set-but-not-referenced variables
939 noticed by the sgi compiler.
941 2002-03-08 03:02 josh
943 * misc.c: Fixes this warning (SGI) cc-1188 cc: WARNING File =
944 misc.c, Line = 417 The indicated type qualifier is meaningless on
951 2002-03-08 02:55 josh
953 * Makefile.in: Clean up one of the object files it was missing
955 2002-03-08 01:15 josh
957 * include/parrot/interpreter.h: Fixes the following error (tcc):
958 "./include/parrot/interpreter.h", line 27: Error: [Syntax]: Extra
959 comma at end of list.
961 2002-03-06 22:15 simon
964 Tidy up stack chunk allocation.
966 2002-03-06 21:00 simon
969 Create strings only once we've got string register heads set up.
971 2002-03-06 20:31 simon
973 * classes/perlarray.pmc:
974 malloc(0) considered harmful.
976 2002-03-06 20:24 simon
978 * include/parrot/resources.h:
979 I like it when Parrot compiles.
983 * classes/array.pmc: Changed over to data pointing to a Buffer.
987 * core.ops, embed.c, exceptions.c, interpreter.c, memory.c,
988 packfile.c, pbc2c.pl, pdump.c, resources.c,
989 include/parrot/interpreter.h, include/parrot/memory.h,
990 include/parrot/resources.h, io/io.c: Three quick things: 1) INTVALs
991 and opcode_t > longs will now be even more suspect than what they
992 were beforehand. 2) Feel free to bicker with names. I don't think
993 we've come to *any* sort of agreement with these, although we
994 really, really, need to. 3) I forget the third thing. 4) But I
995 thought of a fourth. 5) I've now remembered the third thing: IIRC,
996 ANSI C states that enums will fit within the smallest type (int or
997 greater) that can hold the values. Is that actually correct, and
998 does it state whether unsigned is preferred to signed for
999 non-negative enums? 6) Since I'm no longer constrained by "three"
1000 or "quick", I'm going size_t happy for a lot of memory-related
1001 storage. (That's good. No sense wasting the size or performance
1002 of an UINTVAL for strange values of UINTVAL.) I'm also using it in
1003 a couple other internal things (like the GC stat counters, seen
1004 here). Size and performance, again, and unpromotable to a bigint,
1005 so we know that we (theoretically) will wrap. However, size_t
1006 isn't the best choice for the type. (Not that there's anything
1007 wrong with size_t, just that it shouldn't be called size_t.) Any
1008 thoughts? I was thinking of just doing unsigned int, because,
1009 IIRC, int is usually the natural word size, and will be most
1010 efficient. Thoughts? 7) I forgot what the fourth thing I thought
1011 of was while writing down the others. Sorry.
1013 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1015 2002-03-06 15:26 dan
1017 * memory.c, resources.c, string.c, classes/perlarray.pmc,
1018 include/parrot/resources.h: Now we allocate generic Buffers from
1021 2002-03-05 21:42 brentdax
1023 * Configure.pl: Minor cleanup and enhancements.
1025 2002-03-05 21:25 dan
1027 * resources.c: non-special GC now works with PMCs
1029 2002-03-05 19:48 brentdax
1031 * Configure.pl, DEVELOPING, MANIFEST, config_h.in, test_main.c:
1032 Parrot now "knows" if it's a development version or a release
1033 version. See the instructions in the DEVELOPING file.
1035 2002-03-05 18:05 brentdax
1037 * MANIFEST: pasm.vim wasn't in the manifest.
1039 2002-03-05 17:57 simon
1042 Now, through much evilness, make distclean and make cvsclean work
1045 2002-03-05 17:38 dan
1047 * memory.c, resources.c, docs/pdds/pdd09_gc.pod,
1048 include/parrot/interpreter.h, include/parrot/pmc.h,
1049 include/parrot/resources.h: PMC tracing complete
1051 2002-03-05 16:28 gregor
1053 * languages/jako/Makefile.in:
1054 Changed -I ../../ to -I ../../lib when calling the assembler, since
1055 the perl modules have moved.
1057 2002-03-05 05:30 josh
1059 * packfile.c, pdump.c, pmc.c, register.c, rxstacks.c, stacks.c,
1060 string.c: More re-indenting via run_indent.pl.
1062 2002-03-05 05:17 josh
1064 * runops_cores.c, trace.c, warnings.c: Re-indented (via
1067 2002-03-05 04:26 josh
1069 * key.c, memory.c, test_gnuc.c, testparrotfuncptr.c: Re-indented
1070 using run_indent.pl and some minor tweaking.
1072 2002-03-05 04:21 josh
1074 * chartype.c, encoding.c, exceptions.c, global_setup.c,
1075 interpreter.c: Re-indented using run_indent.pl and some minor
1078 2002-03-05 03:30 josh
1080 * include/parrot/trace.h: These functions are no longer used (or
1083 2002-03-04 18:21 josh
1085 * include/parrot/trace.h: Fix a typo in the argument type.
1087 Patch from <daniel.ritz@gmx.ch>
1089 2002-03-04 03:39 josh
1091 * check_source_standards.pl, jit2h.pl: Add the "autogenerated file"
1092 header to jit_struct.h so we don't try to check it for conformance.
1093 (no way will it conform)
1095 2002-03-04 03:38 josh
1097 * include/parrot/: chartype.h, interpreter.h, io.h, rx.h, trace.h,
1098 unicode.h, warnings.h: Remove some remaining tabs and split some of
1099 the remaining long lines.
1101 2002-03-04 03:17 josh
1103 * include/parrot/: chartype.h, embed.h, encoding.h, exceptions.h,
1104 global_setup.h, interpreter.h, io.h, jit.h, key.h, memory.h,
1105 misc.h, op.h, oplib.h, packfile.h, parrot.h, pmc.h, register.h,
1106 resources.h, runops_cores.h, rx.h, rxstacks.h, stacks.h, string.h,
1107 string_funcs.h, trace.h, warnings.h: This is the first batch of
1108 re-indenting. This patch is the result of running run_indent.pl
1109 on the header files and manually tweaking the results where errors
1110 were noticed. This should get us closed, but some refinement may
1113 2002-03-04 03:06 josh
1115 * resources.c: Return without parens, as mentioned in PDD 7
1117 2002-03-04 03:01 josh
1119 * core.ops: POD fixes.
1121 2002-03-04 02:58 josh
1123 * config_h.in, ops2c.pl, classes/pmc2c.pl: More consistent headers
1124 on autogenerated files- used by the check_source_standards.pl
1125 script (for now) to exempt autogenerated files from the checks.
1127 2002-03-04 02:51 josh
1129 * embed.c, key.c, pmc.c, resources.c, rx.c, testparrotfuncptr.c,
1130 warnings.c: Added the editor "boilerplate" footer to a few files
1131 which were missing it.
1133 2002-03-04 02:34 josh
1135 * check_source_standards.pl, interpreter.c, jit.c, test_gnuc.c,
1136 include/parrot/io.h, include/parrot/parrot.h, io/io_win32.c: Fixes
1137 c preprocessor directive indentation to comply with pdd 7.
1139 (also fixes the check for this indentation in
1140 check_source_standards.pl)
1142 2002-03-04 02:32 josh
1144 * lib/Parrot/Test.pm: Fixes this error seen on perl 5.005_02 on
1147 perl t/harness t/op/basic..........Use of uninitialized value at
1148 lib/Parrot/Test.pm line 81. # Failed test (t/op/basic.t at
1149 line 6) # got: undef # expected: ''
1151 2002-03-04 02:30 josh
1153 * MANIFEST, run_indent.pl, docs/pdds/pdd07_codingstd.pod,
1154 docs/pdds/pdd7.pod: Added documentation and code to invoke the GNU
1155 "indent" program to enforce some of the code style standards
1158 Usage: ./run_indent.pl <file>
1160 2002-03-03 19:04 simon
1162 * examples/mops/mops.c:
1163 Let's make it compile, huh?
1165 2002-03-03 19:04 simon
1167 * examples/mops/mops.cs:
1170 2002-03-03 18:11 simon
1172 * examples/mops/mops.cs, examples/mops/mops.il, MANIFEST:
1173 Added C# and MS-IL versions of mops tester.
1175 2002-03-03 14:52 simon
1178 Add a sub() op to make mops_p work.
1180 2002-03-02 18:12 nicholas
1182 * examples/mops/mops.c, include/parrot/embed.h,
1183 include/parrot/interp_guts.h, include/parrot/jit.h,
1184 include/parrot/misc.h, include/parrot/packfile.h,
1185 include/parrot/rx.h, include/parrot/warnings.h,
1186 platforms/generic.c, platforms/generic.h, platforms/win32.c,
1187 platforms/win32.h, types/bignum.c, types/bignum.h: Patch from Josh
1188 Wilmes to add the emacs and vim "ending boilerplate" that sets the
1189 indent variables correctly.
1191 2002-03-02 17:41 nicholas
1193 * resources.c: Patch from Josh Wilmes <josh@hitchhiker.org>: Little
1194 patch to fix a compiler warning.
1196 2002-03-01 22:35 dan
1198 * memory.c, resources.c, include/parrot/pmc.h,
1199 include/parrot/resources.h: PMCs now come out of arenas.
1201 2002-03-01 06:15 dan
1204 A non-existing buffer + a non-existing buffer should be a
1205 non-existing buffer, not "", which is really '\0'.
1207 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1209 2002-03-01 06:02 dan
1211 * classes/: array.pmc, perlarray.pmc, perlhash.pmc, perlstring.pmc:
1213 TMTOWTDI, but strcmp is probably the worse.
1215 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1217 2002-03-01 02:32 brentdax
1219 * embed.c: Debug mode now prints out the GC data.
1221 2002-02-28 23:44 dan
1223 * core.ops, resources.c, include/parrot/resources.h: Added collect
1226 2002-02-28 22:58 dan
1228 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Add docs for interpinfo
1231 2002-02-28 22:50 dan
1233 * core.ops, interpreter.c, resources.c,
1234 examples/assembly/life.pasm, include/parrot/interpreter.h,
1235 include/parrot/resources.h: Add some stat gathering to the resource
1238 Also add an interpreter info retrieval op, and teach it about the
1239 different things it can retrieve.
1241 Finally, add some stat info to life.pasm as an example
1243 2002-02-28 21:27 dan
1245 * editor/pasm.vim: VIM mode commands for parrot assembly files
1247 Courtesy of Scott Beck <scott@gossamer-threads.com>
1249 2002-02-28 19:20 dan
1251 * examples/assembly/life.pasm: Fix a creeping string length leak.
1253 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1255 2002-02-28 18:26 dan
1257 * string.c: When you clone a constant, it ain't constant no mo'.
1259 Cocurtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1261 2002-02-28 00:51 dan
1263 * MANIFEST: Add missing files
1265 Courtesy of "Bryan C. Warnock" <Bryan.Warnock@raba.com>
1267 2002-02-28 00:49 dan
1269 * docs/pdds/: pdd0.pod, pdd00_pdd.pod: The pod version of PDD 0 in
1270 CVS seems to have several chunks missing out of it, too. This
1271 patch is simply an administrative patch, with the differences
1272 between my last version, and the one currently in there. There
1273 will be a forthcoming patch for some minor tweaking to the PDD, but
1274 I wanted a common baseline before I make any (potential) semantic
1277 There's only one semi-major change, which noone needs to worry
1278 about just yet. That's a change from PDD Format 1 to PDD Format
1279 6.0 - rationale can be found under 'Standard (Version #)' of the
1280 STANDARDS TRACK infomation. Don't worry about this yet, because it
1281 should be 6.0.0, and we need to discuss Perl versus Parrot with
1284 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
1286 2002-02-28 00:27 dan
1288 * packfile.c, resources.c, examples/assembly/life.pasm,
1289 include/parrot/register.h, include/parrot/resources.h,
1290 include/parrot/string.h: First pass of semi-full GC. (Strings only,
1293 This patch now implements a real copying collector. We trace from
1294 our root set and compact the contents of Buffer structs.
1298 *) It's very STRING-centric and doesn't handle memory stuffed in
1299 Buffers. But, then, we don't have pool allocation for Buffers
1300 either, and we need to have that soonish for this to work.
1302 *) Doesn't trace PMCs, so if you trigger a collection and there's
1303 memory or STRING structs only accessible from PMCs, you'll fail
1304 horribly. That needs fixing too
1306 *) Better algorithms for when to trace or collect vs when to just
1307 go allocate more memory from the system. Should probably be more
1310 2002-02-27 21:04 dan
1312 * jit.c, memory.c, resources.c, string.c, docs/pdds/pdd09_gc.pod,
1313 examples/assembly/life.pasm, include/parrot/resources.h,
1314 include/parrot/string.h, include/parrot/string_funcs.h,
1315 jit/i386/core.jit: Start of GC in
1317 2002-02-26 16:41 dan
1319 * jit/i386/string.jit: Fix a typo
1321 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
1323 2002-02-26 16:37 dan
1325 * interpreter.c: Fix solaris test failures
1327 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1329 2002-02-26 16:36 dan
1331 * include/parrot/: interp_guts.h, io.h, packfile.h, rx.h,
1332 unicode.h, warnings.h: Fixes various warts in header files, such
1333 as: * macros -added parens to prevent problems with operator
1334 precedence -removed ; at end * removed SSIZE_MAX, since ssize_t
1335 is no longer used * added some more INLINE definitions for MSVC and
1338 Courtesy of Brian Lee Ray <blray@ualr.edu>
1340 2002-02-26 16:20 dan
1342 * Configure.pl: Turns out we were using a warning flag which
1343 doesn't exist on 2.7. Simple tweak though:
1345 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1347 2002-02-25 22:58 dan
1349 * MANIFEST, docs/pdds/pdd09_gc.pod: Add docs of GC
1351 2002-02-25 17:36 dan
1353 * include/parrot/pmc.h: Fix the bits
1355 2002-02-23 21:57 dan
1357 * include/parrot/resources.h: Another 1.5% never hurts
1359 2002-02-23 21:44 dan
1361 * global_setup.c, memory.c, resources.c, string.c,
1362 include/parrot/resources.h: Allocate STRING headers from an arena
1363 with freelist rather than with the system malloc. First step in a
1364 good (or even a bad) GC system.
1366 2002-02-23 20:37 brentdax
1368 * misc.c: lint has been doing Evil and Wrong things to misc.c.
1370 2002-02-22 14:59 ajgough
1372 * types/bignum.c: BN_multiply split into BN_multiply and
1373 BN_imultiply, the internal version to be used by idivide so that
1374 rounding isn't performed during intermediate stages of division.
1376 following test scripts now all pass: divide divideint add multiply
1377 subtract remainder compare rounding plus minus (these are all the
1378 operations currently implemented, rescale and power must still be
1379 written, so don't pass right now).
1381 2002-02-22 13:13 ajgough
1383 * types/bignum_atest.pl: Test harness modified to understand
1384 comments better, and be able to run unary (and rounding) tests.
1385 Currently a few rounding tests fail, which are being investigated.
1387 2002-02-22 01:41 dan
1389 * key.c: Although there's more work being done on the key stuff and
1390 this isn't the final fix, applying this patch does get parrot to
1391 build with two more compilers, so it's probably worthwhile.
1393 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1395 2002-02-22 00:53 dan
1397 * config_h.in, misc.c, include/parrot/embed.h,
1398 include/parrot/exceptions.h, include/parrot/interpreter.h,
1399 include/parrot/io.h, include/parrot/parrot.h, include/parrot/pmc.h,
1400 include/parrot/resources.h, include/parrot/rx.h,
1401 include/parrot/string.h, include/parrot/unicode.h,
1402 include/parrot/warnings.h, io/io_stdio.c, io/io_unix.c,
1403 io/io_win32.c: Fixes the following (lcc) warnings:
1405 - interpreter.c:470: warning: expression with no effect elided
1406 (related to the way warnings flags were defined)
1408 - misc.c:352: warning: unreachable code
1409 misc.c:483: warning: unreachable code
1410 (i introduced these with some overzealous de-linting)
1412 - numerous warnings like this:
1413 io/io_unix.c:383: warning: conversion from pointer to void' to
1415 pointer to struct _ParrotIO function(pointer to struct
1416 Parrot_Interp,pointer
1417 to struct _ParrotIOLayer,pointer to const char,pointer to const
1419 to pointer to void)' is compiler dependent
1421 Fixes the following nits: - remove bad indenting (tabs) in the
1424 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1426 2002-02-21 21:12 ajgough
1428 * types/: bignum.c, bignum.h: These might look like massive
1429 changes, but really it's just he imposition of coding standards.
1430 The file still isn't entirely compliant, but is now much more so.
1434 o a few more comments
1435 o BN_compare uses internal BN_comp to compare
1436 o lost_digits behaviour is now correct (test harness modified to
1440 All binary functions now pass all the tests in the basic standard.
1441 Unary functions not yet tested, will be soon.
1443 2002-02-21 18:20 dan
1445 * lib/Parrot/OpTrans/CPrederef.pm: The "inline" bit of that patch
1446 was no longer needed, and the ssize_t thing really shouldn't be
1449 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1451 2002-02-21 18:15 dan
1453 * Configure.pl, embed.c, pdump.c, hints/mswin32.pl,
1454 include/parrot/parrot.h: this patch adds support for the freely
1455 available borland c++ 5.5.1 compiler
1457 depends on: - josh's patch to remove ssize_t from CPrederef.pm -
1458 working borland compiler (compiler must know where to find headers
1459 and libs) - Perl's Config.pm modified to use cc='bcc32.exe' not of
1460 cc='cl.exe' - a working make utility (borland make doesn't work,
1463 changes: - add bcc in hints/mswin32.pl - clean up for msvc++ in
1464 hints/mswin32.pl - remove a space from Configure.pl (very very
1465 important for bcc) - add a O_BINARY flag to open() in pdump.c,
1466 embed.c (required by bcc) - define O_BINARY 0 when it's not defined
1467 (win32 knows it, linux not)
1469 and the why: - parrot is MUCH faster when compiled with borland c
1470 (make test on p2-450, 320MB): * msvc++: 313 seconds * bcc: 251
1473 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1475 2002-02-21 18:09 dan
1477 * jit.c, testparrotfuncptr.c, trace.c, classes/array.pmc, io/io.c,
1478 io/io_stdio.c, io/io_unix.c, io/io_win32.c: This patch removes
1479 cuddled elses, as required by PDD 7.
1481 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1483 2002-02-21 18:04 dan
1485 * MANIFEST, Makefile.in, check_source_standards.pl: This patch adds
1486 a new Makefile target called "check_source". This target scans all
1487 the .c and .h files in the directory and checks for conformance to
1488 a number of the standards outlined in PDD 7.
1490 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1492 2002-02-21 16:38 ajgough
1494 * types/: bignum.c, bignum.h, bignum_atest.pl: Modifications to
1495 allow arithmetic with numbers with a fixed fractional part, buffer
1496 structures now more ready to be integrated into the parrot memory
1497 allocation game, test harness modified to allow lost_digits
1498 condition to be checked. Some more comments.
1500 2002-02-21 15:53 simon
1505 Courtesy of: "David M. Lloyd" <dmlloyd@tds.net>
1507 2002-02-20 16:41 dan
1509 * MANIFEST, docs/pdds/pdd_template.pod: Added in template PDD
1511 2002-02-18 18:25 dan
1513 * MANIFEST, lib_deps.pl: Added in lib_deps.pl and MANIFEST change.
1515 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1517 2002-02-18 18:21 dan
1519 * lib/Parrot/OpTrans/CPrederef.pm: this is a quick fix for
1520 CPrederef.pm to make to generated code compile with the MS
1523 fixes: - ms compiler allows inline only for c++, for c there's
1524 __inline - ms header files knows nothing about ssize_t
1526 Courtesy of "Ritz Daniel" <daniel_ritz@gmx.ch>
1528 2002-02-18 17:49 dan
1530 * MANIFEST: Add the PDDs
1532 2002-02-18 17:47 dan
1534 * docs/pdds/: pdd07_codingstd.pod, pdd7.pod: Added in PDD 7, the
1535 coding standards PDD.
1537 2002-02-18 17:40 dan
1539 * docs/pdds/: pdd06_pasm.pod, pdd6.pod: Updated to latest rev
1541 2002-02-18 12:41 gregor
1544 Remove warning about exit() not being declared.
1546 2002-02-18 08:29 simon
1548 * misc.c, warnings.c, include/parrot/misc.h,
1549 include/parrot/warnings.h:
1550 This patch adds some missing const's to silence a number of gcc
1553 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1555 2002-02-18 08:26 simon
1557 * Makefile.in, core.ops, embed.c, interpreter.c, key.c, misc.c,
1558 ops2c.pl, packfile.c, pdump.c, stacks.c, string.c,
1559 classes/array.pmc, classes/perlarray.pmc, classes/perlhash.pmc,
1560 include/parrot/parrot.h, include/parrot/rx.h,
1561 include/parrot/stacks.h, io/io_stdio.c, io/io_unix.c,
1562 lib/Parrot/OpTrans/CPrederef.pm:
1563 - add makefile target and script to test for external libc
1565 - fix return values in hash and array PMCs (returning 0 in a
1567 - remove unnecessary data pointer <=> function pointer
1569 outside of the JIT code.
1570 - move the definition of the "INLINE" macro out of the rx header
1572 available for general use on C++ compilers and gcc.
1573 - remove a few unused variables
1575 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
1577 2002-02-17 16:29 simon
1579 * docs/pdds/: pdd0.pod, pdd00_pdd.pod, pdd01_overview.pod,
1580 pdd02_vtables.pod, pdd04_datatypes.pod, pdd05_opfunc.pod,
1581 pdd06_pasm.pod, pdd1.pod, pdd2.pod, pdd4.pod, pdd5.pod, pdd6.pod:
1582 We're organised and responsible. Honest.
1584 2002-02-17 02:46 sfink
1586 * Makefile.in: Remove $^ for nmake compatibility.
1588 2002-02-16 09:20 brentdax
1590 * config_h.in, test_main.c, include/parrot/chartype.h,
1591 include/parrot/embed.h, include/parrot/encoding.h,
1592 include/parrot/string.h, include/parrot/string_funcs.h: Better
1593 embedding exposure and hiding, part 1.
1595 2002-02-16 04:38 dan
1597 * Makefile.in, core.ops, interpreter.c, pbc2c.pl, pdump.c,
1598 runops_cores.c, docs/running.pod, lib/Parrot/OpTrans/C.pm,
1599 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
1600 Anyway, here's a patch to repair pbc2c.pl, combined with removing
1601 typecasts in various places throughout the code. It probably won't
1602 work for Windows yet. The libparrot.a target might need to be
1603 modified to at least prevent it from confusing make on Windows; I
1606 Preliminary instructions for using pbc2c.pl are in
1607 docs/running.pod. I'll try to do better later.
1609 Courtesy of Steve Fink <steve@fink.com>
1611 2002-02-16 04:15 dan
1613 * exceptions.c, include/parrot/exceptions.h: Warnings cleaned up
1615 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1617 2002-02-16 00:03 simon
1619 * classes/: perlarray.pmc, perlhash.pmc:
1621 pmc is already defined!
1623 2002-02-15 23:20 brentdax
1625 * Configure.pl, config_h.in, exceptions.c, pmc.c,
1626 include/parrot/exceptions.h: Far more informative panic messages.
1628 2002-02-15 03:24 dan
1630 * lib/Parrot/: Op.pm, OpsFile.pm, OpTrans/CPrederef.pm: Here's a
1631 much more extensive patch that fixes it to work properly, and
1632 deletes a bazillion casts as well. It also points to the question
1633 "can we make the byte_code be an opcode_t* already?"
1635 Oh, and it makes some of the formatting prettier, so it's gotta be
1638 Courtesy of * Steve Fink <steve@fink.com>
1640 2002-02-15 02:30 dan
1642 * Makefile.in, core.ops, embed.c, misc.c, packfile.c, rx.ops,
1643 stacks.c: I've tweaked the "lint" target somewhat and fixed a few
1644 of the things it finds. Attaching the patch as well as the current
1647 Courtesy of Josh Wilmes <josh@hitchhiker.org>
1649 2002-02-15 01:59 dan
1651 * t/pmc/: array.t, perlhash.t: Disable non-functional bits for the
1654 2002-02-15 01:48 dan
1656 * t/pmc/perlarray.t: Skip tests for features that need twiddling
1658 2002-02-15 01:40 dan
1660 * t/op/rx.t: Skip a test that's waiting for us to rejig some array
1663 2002-02-14 23:30 dan
1665 * resources.c: Added comment for buffer tag routine. D'oh!
1667 2002-02-14 23:28 dan
1669 * resources.c, include/parrot/resources.h: Added buffer mark
1672 2002-02-14 23:17 dan
1674 * memory.c, classes/array.pmc, classes/perlarray.pmc,
1675 include/parrot/memory.h, include/parrot/string.h, t/pmc/perlhash.t:
1676 Rejigged memory system a bit. Now should be ready for the horror
1677 that is garbage collection.
1679 2002-02-14 19:33 gregor
1681 * ops2c.pl, include/parrot/oplib.h:
1682 Added code to automatically generate a function within an oplib to
1683 lookup opinfos given the op name. This will come in handy in future
1684 when we want to twiddle opcode tables at run time and possibly at
1687 2002-02-14 19:25 gregor
1689 * examples/assembly/queens.pasm:
1690 Regenerated queens.pasm from queens.jako since the clone_* stuff
1693 2002-02-14 17:12 dan
1695 * resources.c, include/parrot/resources.h: Finished up the
1696 interface for memory and tracked interpreter thingies.
1698 2002-02-14 16:53 dan
1700 * memory.c, include/parrot/memory.h: intercept free and realloc
1702 2002-02-14 05:53 dan
1704 * interpreter.c, runops_cores.c: The type changes in struct
1705 Packfile break the pointer math used in a few places to calculate
1706 the address of the end of the loaded byte code. This causes
1707 segfaults in build_asm in jit.c when using -j. It also breaks the
1708 bounds checking on opcode address in runops_slow_core.
1710 The patch adds the necessary cast to correct the code_end
1713 Courtesy of Jason Gloudon <perl@gloudon.com>
1715 2002-02-14 01:01 ajgough
1717 * types/: bignum.c, bignum.h, bignum_test.pl: Added support for
1718 BigInt operations (I think), tests for normal operation continue to
1719 pass. Also a shed load of comments.
1721 2002-02-13 01:34 ajgough
1723 * types/: bignum.c, bignum.h, bignum_atest.pl, bignum_test.pl: This
1724 is a (mostly) working bignumber library. There remains much work
1725 to do though, some functions are not yet implemented and headers
1726 need to find their way to the correct place RSN. Also support for
1727 bigints and a sensible error reporting mechanism are needed.
1729 2002-02-12 18:51 dan
1731 * misc.c: Fix some warnings
1733 2002-02-12 17:10 dan
1735 * misc.c: Run through indent -kr -nce so I can read it
1737 2002-02-12 16:49 dan
1739 * misc.c: Need standard header/footer comments
1741 2002-02-11 20:32 simon
1743 * classes/array.pmc:
1744 get and set pmc methods.
1746 2002-02-11 20:19 simon
1748 * classes/array.pmc:
1749 Maybe the keys aren't integer...
1751 2002-02-11 20:03 simon
1753 * core.ops, vtable.tbl, classes/default.pmc:
1756 2002-02-11 19:07 simon
1758 * vtable.tbl, classes/default.pmc:
1759 Add set_pmc. Usee with caution.
1761 2002-02-11 18:20 dan
1763 * classes/: array.pmc, perlarray.pmc: Patch array classes to
1766 2002-02-11 17:59 simon
1768 * core.ops, embed.c, global_setup.c, key.c, rx.ops,
1769 classes/perlarray.pmc, classes/perlhash.pmc:
1772 2002-02-11 17:57 simon
1774 * packfile.c, include/parrot/packfile.h:
1777 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
1779 2002-02-11 17:55 dan
1781 * docs/parrot_assembly.pod: Document some key ops
1783 2002-02-11 09:20 brentdax
1785 * pmc.c, include/parrot/exceptions.h: Adding a panic ought to be
1788 2002-02-11 00:34 simon
1790 * core.ops, include/parrot/exceptions.h:
1791 This is what keyed set ops look like. Remember, however, that for
1792 keyed functions, all operands must be PMCs. set(PMC, PMC, INT)
1793 means $1 = $2[$3], not $1[$2] = $3. set(PMC,PMC,PMC) is so
1794 obviously ambiguous that you ought to use the 4-arg version
1797 2002-02-10 23:12 jgoff
1799 * classes/: array.pmc, perlarray.pmc: Properly allocate
1800 SELF->data's array of PMC* data in array and perlarray.pmc. This
1801 isn't tested yet, but should be fairly straightforward. PerlHash
1802 needs to be finished before the system will compile again, and that
1803 should be done in the next few days.
1805 2002-02-09 04:46 jgoff
1807 * classes/: array.pmc, default.pmc, intqueue.pmc,
1808 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlundef.pmc:
1809 Added basic _keyed member functions. Unfortunately this still
1810 doesn't fix the problems that are causing the build to break. It's
1811 a start though. I'm not implementing the PMC add functions just
1814 2002-02-08 15:59 simon
1816 * classes/array.pmc:
1817 Some more work on getting the array stuff up to date.
1819 2002-02-08 12:23 simon
1821 * classes/array.pmc, classes/perlhash.pmc, include/parrot/key.h,
1822 lib/Parrot/Vtable.pm:
1823 Got array->get_integer_keyed doing what I think it ought to. One
1824 down, all the rest to go.
1826 2002-02-08 11:47 simon
1829 Although I didn't intend it to be quite that broken...
1831 2002-02-08 11:42 simon
1833 * vtable.tbl, include/parrot/parrot.h, lib/Parrot/Vtable.pm:
1834 Completely break Parrot, but at least we get the key stuff right
1837 2002-02-08 06:25 dan
1839 * hints/darwin.pl: Silences the warning about passing in
1840 -flat_namespace to the compile. That's a link-only flag.
1842 2002-02-08 04:52 jgoff
1844 * classes/: array.pmc, default.pmc, intqueue.pmc,
1845 parrotpointer.pmc, perlarray.pmc, perlhash.pmc, perlint.pmc,
1846 perlnum.pmc, perlstring.pmc, perlundef.pmc: Filled in missing
1847 return values in *.pmc, added some missing casts to the repeat_foo
1848 members, and deleted the _index members from the perlscalar
1849 classes. Basic cleanup, and getting ready for _keyed functions.
1851 2002-02-07 04:49 mrjoltcola
1853 * examples/assembly/bsr.pasm: Elaborated on the bsr/ret example,
1854 added a nested subroutine call.
1856 2002-02-07 04:32 jgoff
1858 * vtable.tbl, lib/Parrot/Vtable.pm: vtable.tbl got some minor
1859 changes in order to give the whitespace rules a little workout, and
1860 do a little bit more testing. No actual structural changes were
1861 made. lib/Parrot/Vtable.pm got an interface change, and more
1862 importantly should be ready to support the new '_keyed' attribute,
1863 which will work roughly thus: PMC* src_value gets remapped to 'PMC*
1864 src_value' followed by 'KEY* src_key'. This will be how the new
1865 _keyed operators will function, and those should be written within
1868 2002-02-06 18:00 doughera
1870 * misc.c: Change C++-style comments to C comments (again). Remove
1871 unused perl5 code that was in #if 0/#endif.
1873 2002-02-06 17:59 doughera
1875 * warnings.c: Add trailing newline.
1877 2002-02-06 04:14 mrjoltcola
1879 * include/parrot/io.h, io/io.c: Minor cleanup.
1881 2002-02-06 03:11 mrjoltcola
1883 * examples/assembly/io1.pasm, io/io.c, io/io_win32.c: Tied up a
1884 couple of loose end in win32 IO stuff. Open behaves now but needs
1887 2002-02-05 21:02 brentdax
1889 * classes/pmc2c.pl: Length on whoami init was always 7--a problem
1890 which showed up in Purify builds.
1892 2002-02-05 17:15 simon
1897 Courtesy of: Jonathan Stowe <gellyfish@gellyfish.com>
1899 2002-02-05 17:08 doughera
1901 * misc.c: Avoid C++-style comments.
1903 2002-02-05 17:07 doughera
1905 * lib/Parrot/Jit/sun4Generic.pm: Generated assembly programs were
1906 not valid assembler for Sun's /usr/ccs/bin/as. Now they are,
1907 thanks to Jason Gloudon <perl@gloudon.com>.
1909 2002-02-05 14:04 simon
1912 Make the problem different, perhaps even better.
1914 2002-02-05 13:49 simon
1917 Possibly fix a `short int' is promoted to `int' when passed through
1918 `...' scary error, possibly make things absolutely worse.
1920 2002-02-05 13:15 simon
1925 2002-02-05 13:12 simon
1928 Not going to get far without this one...
1930 2002-02-05 11:41 simon
1933 Don't barf when handed null pointers.
1935 2002-02-05 10:04 simon
1937 * misc.c, include/parrot/misc.h:
1938 Fix some trivial bugs in warnings code.
1940 2002-02-05 09:27 simon
1943 Oops, forgot this one; also added %P support.
1945 2002-02-05 09:20 simon
1947 * MANIFEST, Makefile.in, core.ops, embed.c, interpreter.c,
1948 test_main.c, classes/perlundef.pmc, include/parrot/embed.h,
1949 include/parrot/interpreter.h, include/parrot/misc.h,
1950 include/parrot/parrot.h, include/parrot/warnings.h:
1953 Courtesy of: Brent Dax <brentdax@cpan.org>
1955 2002-02-05 05:41 jgoff
1957 * vtable.tbl, lib/Parrot/Vtable.pm, t/pmc/perlstring.t: Changed the
1958 format of vtable.tbl to get rid of the tab-dependence. The format
1959 now looks roughly like this:
1961 init() # 'void' and 'unique' are assumed INTVAL type ( ) # 'unique'
1962 is assumed str void concatenate (PMC* value, PMC* dest) # Nothing
1963 assumed here, but note the C-like prototyping. Also had to disable
1964 one test that depended upon 'concat_p_p_s', which isn't necessary
1967 Vtable.pm will change again when the type '_keyed' is added,
1968 because that requires remapping parameters slightly differently
1969 again. Also, note that it assumes 'value' is the first parameter
1970 in the list. This assumption will go away at the same time.
1972 2002-02-04 16:57 ajgough
1974 * core.ops, t/pmc/perlstring.t, t/pmc/pmc.t: More tests for pmc
1975 functions. Thanks to Simon Glover.
1977 2002-02-04 02:47 ajgough
1979 * hints/os2.pl: Removes a flag from the os/2 hints file that isn't
1980 needed. I suspect that the entire hints file isn't really needed,
1981 but there's no one to actually tell us this.
1983 2002-02-02 15:45 ask
1985 * docs/ParrotFAQ.htm: fix internal links
1987 2002-02-02 04:06 jgoff
1989 * classes/: array.pmc, intqueue.pmc, perlarray.pmc, perlhash.pmc:
1990 Moving the internal KEY structure from the cache.struct_val member,
1991 where it doesn't really belong, to the internal SELF->data member.
1992 This frees up the cache/type members for other usage.
1994 This is the first step in moving PMCs to the point where we can do
1995 multidimensional PMC handles. The next step is to change the
1996 assembler to accept the syntax of 'set P0["foo"],7'.
1998 2002-02-02 00:13 nicholas
2000 * include/parrot/global_setup.h: Patch from Jonathan Stowe to
2001 prototype Parrot_Array_class_init
2003 2002-02-02 00:13 nicholas
2005 * embed.c: Casts to tidy up warnings from Jonathan Stowe Change
2006 time to sum_time to avoid warning on FreeBSD about tracking a
2007 global [No, this warning does not appear on Linux. Yes, it is real
2010 2002-02-01 23:02 nicholas
2012 * embed.c: Fix fprintf format warning in Parrot_runcode. From Simon
2015 2002-02-01 20:20 nicholas
2017 * t/pmc/pmc.t: Add end at end of asm in test (from Simon Glover)
2019 2002-02-01 18:20 nicholas
2021 * lib/Parrot/Test.pm: Env.pm on 5.005_03 doesn't do a use vars for
2024 2002-02-01 13:22 nicholas
2026 * MANIFEST: Add docs/embed.pod and t/op/ifunless.t
2028 2002-02-01 12:19 simon
2030 * core.ops, t/op/ifunless.t, t/op/integer.t:
2033 2002-02-01 12:11 simon
2035 * lib/Parrot/Test.pm:
2038 2002-02-01 01:38 nicholas
2040 * MANIFEST, MANIFEST.SKIP, Makefile.in: Add a MANIFEST.SKIP file,
2041 and a manitest target to Makefile.in that lets one test the
2044 2002-02-01 00:03 dan
2046 * core.ops, global_setup.c, include/parrot/pmc.h: More setup for
2049 2002-01-31 21:46 gregor
2051 * Configure.pl, Makefile.in, hints/mswin32.pl:
2052 A few more things are now configable, so we are closer to win32
2053 shared library builds. Not there yet, but closer.
2055 2002-01-31 21:00 dan
2057 * global_setup.c, classes/pmc2c.pl, include/parrot/global_setup.h,
2058 include/parrot/pmc.h: First step in dynamically loading PMC classes
2060 2002-01-31 19:38 dan
2062 * Makefile.in: Dependencies in the Makefile are currently too broad
2063 brush. I don't enjoy waiting for everything to recompile every
2064 time I try to tweak the jit. The only file that #includes
2065 jit_struct.h is jit.c, so I feel that the Makefile dependencies
2066 should reflect this, and not cause a gratuitous recompile of
2067 everything. There are probably other auto-generated header files
2068 that world+dog should not depend on.
2070 Courtesy of Nicholas Clark <nick@unfortu.net>
2072 2002-01-31 19:03 gregor
2074 * Makefile.in, lib/Parrot/Test.pm, t/harness:
2075 Added two new make targets:
2077 * testp: Like 'make test', but passes -P to t/harness, so you get
2079 see how broken predereferencing is.
2081 * testj: Like 'make test', but passes -j to t/harness, so you get
2083 see how broken JIT is.
2085 Now, anyone who wants to see how good all three ways of running are
2086 can do so, at the cost of about 3x the time.
2088 2002-01-31 17:09 brentdax
2090 * embed.c, test_main.c: Implement the ARGV-in-P0 thing.
2092 2002-01-31 03:41 grunblatt
2094 * docs/jit.pod: Update jit.pod
2096 2002-01-31 03:20 grunblatt
2098 * jit/i386/core.jit: Hold this until we get an assemble tool,
2099 because of the different objdump problems.
2101 2002-01-31 03:13 grunblatt
2103 * Configure.pl, lib/Parrot/Jit/sun4-solaris.pm,
2104 lib/Parrot/Jit/sun4Generic.pm: Use dis intead of objdump. Courtesy
2105 of: Jason Gloudon <perl@gloudon.com>
2107 2002-01-31 02:22 grunblatt
2109 * jit/i386/core.jit: Continue if the register is null
2111 2002-01-30 23:50 grunblatt
2113 * lib/Parrot/Jit/: alpha-bsd.pm, alpha-linux.pm, alphaGeneric.pm,
2114 i386-bsd.pm, i386-linux.pm, i386Generic.pm, sun4-solaris.pm,
2115 sun4Generic.pm: Move the AS and OBJDUMP constants to each os
2118 2002-01-30 23:35 mrjoltcola
2120 * io/io_win32.c: Change implementation of isatty on win32,
2121 suggested by Hong Zhang.
2123 2002-01-30 23:19 sfink
2125 * jit2h.pl, lib/Parrot/Op.pm, lib/Parrot/OpsFile.pm: Added
2126 Op::may_jump boolean method.
2128 Replaced jit2h's hardcoded pattern match to decide what ops might
2129 change the control flow.
2131 2002-01-30 22:13 dan
2133 * Configure.pl, MANIFEST, testparrotfuncptr.c: This patch allows
2134 parrot to mostly-build with tcc. It allows one to skip compiling
2135 the JIT stuff (by specifying --define jitcapable=0), and it
2136 introduces a test program which gives a friendlier error in this
2137 case for compilers which are as picky as tcc is about function
2140 If anyone figures out the proper way to cast these function
2141 pointers this may not be necessary.
2143 Courtesy of Josh Wilmes <josh@hitchhiker.org>
2145 2002-01-30 20:54 dan
2147 * docs/running.pod, lib/Parrot/Test.pm: I'm being anal again.
2148 Here's an update to docs/running.pod to better reflect the current
2149 state (both the test_parrot and assemble.pl improvements, plus
2150 documentation of a few more things.) And also a speling fiks
2151 s/POST_MORTERM/POST_MORTEM/.
2153 I could also replace some "perl foo" calls with "./foo" if someone
2154 wanted to set the executable flag in CVS on assemble.pl,
2157 Courtesy of Steve Fink <steve@fink.com>
2159 2002-01-30 20:43 dan
2161 * core.ops: find_global doesn't work, so stub out the wrong code
2163 2002-01-30 19:08 dan
2165 * lib/Parrot/Assembler.pm: fixes the POD in Parrot::Assember so
2167 can read it and just tidies it up generally. It also adds
2169 for the constantize_integer and constantize_number functions.
2171 Courtesy of Simon Glover <scog@roe.ac.uk>
2173 2002-01-30 18:02 dan
2175 * assemble.pl, disassemble.pl, optimizer.pl, pbc2c.pl,
2176 classes/genclass.pl, classes/pmc2c.pl,
2177 languages/scheme/Scheme/Test.pm: Many of the Perl scripts in the
2178 distribution (including assemble.pl !)
2179 can no longer find the Parrot::* modules. Enclosed patch fixes
2181 it would be nice if there were an easier way to do this).
2183 Courtesy of Simon Glover <scog@roe.ac.uk>
2185 2002-01-30 16:00 mrjoltcola
2187 * io/io_win32.c: Correct function calls for win32_fdopen and arg
2190 2002-01-30 15:50 mrjoltcola
2192 * io/io_unix.c: Minor bug fix for fdopen flag arg type.
2194 2002-01-30 15:42 grunblatt
2196 * pbc2c.pl, examples/assembly/Makefile: Updates related to moving
2199 2002-01-30 15:38 grunblatt
2201 * MANIFEST: Enclosed patch adds the new SPARC-based JIT files to
2202 the manifest, and also puts it back into alphabetical order.
2204 Courtesy of: Simon Glover <scog@roe.ac.uk>
2206 2002-01-30 14:41 nicholas
2208 * embed.c: Patch from Simon Glover to clean up warnings where
2209 prototype is () not (void)
2211 2002-01-30 13:54 nicholas
2213 * include/parrot/embed.h, test_main.c: Add void as an explicit
2214 parameter in test_main.c's usage(), version(void) and embed.h's
2215 Parrot_new() Without these gcc moans: include/parrot/embed.h:34:
2216 warning: function declaration isn't a prototype
2218 2002-01-30 12:08 simon
2220 * lib/Parrot/.cvsignore:
2221 Ignore generated Perl modules.
2223 2002-01-30 12:07 simon
2226 Run the PMC tests as well.
2228 2002-01-30 12:04 simon
2231 Fix MANIFEST after recent t/pmc rejig.
2233 2002-01-30 11:42 simon
2235 * lib/Parrot/Test.pm:
2236 Report non-zero exit codes.
2238 Courtesy of: Michael G Schwern <schwern@pobox.com>
2240 2002-01-30 11:39 simon
2243 Skip final test, TODO doesn't work yet.
2245 2002-01-30 09:54 brentdax
2247 * docs/embed.pod: Leon Brocard was kind enough to explain to me how
2248 predereferencing works.
2250 2002-01-30 09:38 brentdax
2252 * docs/: embed.pod, parrot.pod: Document this newfangled embedding
2255 2002-01-30 09:37 brentdax
2257 * include/parrot/embed.h: Fix a mistake, clear up a warning.
2259 2002-01-30 09:37 brentdax
2261 * config_h.in: Expose another flag for embedders.
2263 2002-01-30 05:07 jgoff
2265 * make_vtable_ops.pl, t/harness: Both files didn't know of the new
2266 location for Parrot/, and t/harness wasn't able to run the new
2267 op/pmc tests. Both problems fixed, so I think I'm going to declare
2268 the build suitable for public consumption.
2270 2002-01-30 04:34 robert
2272 * docs/Makefile.in: update for CVS movement
2274 2002-01-30 04:32 robert
2276 * Makefile.in: Adjust for CVS reorganization. (This time, edit the
2277 .in file, not the real Makefile)
2279 2002-01-30 04:20 robert
2281 * Configure.pl, jit2h.pl, ops2c.pl, ops2pm.pl, pmc_pm.pl,
2282 vtable_h.pl, classes/pmc2c.pl, include/parrot/parrot.h: Updates
2283 related to moving files around
2285 2002-01-30 04:10 robert
2287 * MANIFEST: Update MANIFEST to reflect CVS reorg.
2289 2002-01-30 04:07 robert
2291 * Configure.pl: Add './lib' to our @INC because Parrot/* moved.
2293 2002-01-30 03:56 robert
2295 * Parrot/: .cvsignore, Assembler.pm, BuildUtil.pm, Op.pm,
2296 OpTrans.pm, OpsFile.pm, Optimizer.pm, PackFile.pm, String.pm,
2297 Test.pm, Vtable.pm, Jit/alpha-bsd.pm, Jit/alpha-linux.pm,
2298 Jit/alphaGeneric.pm, Jit/i386-bsd.pm, Jit/i386-linux.pm,
2299 Jit/i386-nojit.pm, Jit/i386Generic.pm, Jit/sun4-solaris.pm,
2300 Jit/sun4Generic.pm, OpLib/.cvsignore, OpTrans/C.pm,
2301 OpTrans/CGoto.pm, OpTrans/CPrederef.pm, PackFile/ConstTable.pm,
2302 PackFile/Constant.pm, PackFile/FixupTable.pm: Moved Parrot/* to
2305 2002-01-30 03:46 robert
2307 * languages/miniperl/miniperlc: renamed to mpc
2309 2002-01-30 03:45 robert
2311 * t/op/: pmc.t, pmc_array.t, pmc_perlarray.t, pmc_perlhash.t,
2312 pmc_perlstring.t: Moved to t/op/pmc/
2314 2002-01-30 03:40 robert
2316 * include/parrot/register_funcs.h: Renamed to regfuncs.h
2318 2002-01-30 03:14 jgoff
2320 * classes/perlarray.pmc, t/op/pmc_perlarray.t, t/pmc/perlarray.t:
2321 Fixed some problems with PerlArray and added tests. Previously,
2322 only integers could be accessed by negative indices. After this
2323 change, all basic types can be accessed by negative indices, and
2324 they can also be set at negative indices.
2326 2002-01-29 22:13 brentdax
2328 * TODO: Just look at the stupid diff.
2330 2002-01-29 21:53 simon
2332 * TODO, docs/vtables.pod:
2333 New TODO, and tiny addition to vtables.pod
2335 2002-01-29 21:47 mrjoltcola
2337 * include/parrot/io.h, io/io_unix.c: Minor bug fix in io_unix.
2339 2002-01-29 21:38 mrjoltcola
2341 * Makefile.in: Makefile.in tweak for io depend.
2343 2002-01-29 21:15 brentdax
2345 * embed.c: Fix a segfault and some profiling formatting nits.
2347 2002-01-29 20:54 brentdax
2351 2002-01-29 20:50 brentdax
2353 * pmc.c, include/parrot/exceptions.h: Exceptions are better than
2356 2002-01-29 20:17 mrjoltcola
2358 * interpreter.c, core.ops, io.ops: CVS missed this.
2360 2002-01-29 20:17 mrjoltcola
2362 * io/io.c: These should have gone in Sunday with the rest. CVS is
2365 2002-01-29 18:39 brentdax
2367 * platforms/win32.h: Fix Win32 whoops.
2369 2002-01-29 18:29 brentdax
2371 * embed.c, include/parrot/embed.h: A couple minor embedding fixes.
2373 2002-01-29 17:51 simon
2375 * MANIFEST, Makefile.in, config_h.in, embed.c, test_main.c,
2376 include/parrot/embed.h, include/parrot/parrot.h:
2377 Embedding support. Cool.
2379 Courtesy of: <brentdax@cpan.org>
2381 2002-01-29 15:40 grunblatt
2383 * Configure.pl: Detect if we can use "objdump". Courtesy of: Jason
2384 Gloudon <perl@gloudon.com>
2386 2002-01-29 14:42 simon
2388 * include/parrot/parrot.h:
2389 Platform stuff has to be included *after* system headers.
2391 2002-01-29 14:05 grunblatt
2393 * interpreter.c, jit.c, Parrot/Jit/sun4-solaris.pm,
2394 Parrot/Jit/sun4Generic.pm, lib/Parrot/Jit/sun4-solaris.pm,
2395 lib/Parrot/Jit/sun4Generic.pm, include/parrot/jit.h,
2396 jit/sun4/core.jit, jit/sun4/lib.jit, jit/sun4/string.jit: Added
2397 support for SPARC. Courtesy of: Jason Gloudon <perl@gloudon.com>
2399 2002-01-29 10:56 simon
2401 * platforms/generic.h:
2402 If we don't have a S_ISREG, produce something close to it.
2404 2002-01-29 06:01 dan
2406 * MANIFEST, README, LICENSES/Artistic: Finally added licenses
2408 2002-01-29 04:38 jgoff
2410 * classes/array.pmc: Forgot to remove some C++-isms from the
2411 get_{foo}_index routines.
2413 2002-01-29 04:26 jgoff
2415 * MANIFEST, Makefile.in, global_setup.c, classes/Makefile.in,
2416 classes/array.pmc, include/parrot/pmc.h, t/op/pmc_array.t,
2417 t/pmc/array.t: Added array class that languages other than perl can
2418 use for a basis. It has no features like preextension, and the
2419 array index starts at 0.
2421 MANIFEST - added classes/array.pmc and t/op/pmc_array.t Makefile.in
2422 and classes/Makefile.in - Added array.pmc to the makefile.
2423 (Assuming rules like .pmc.o are portable (or even possible) I might
2424 alter classes/Makefile.in to autobuild the appropriate files.
2426 2002-01-29 02:32 dan
2428 * MANIFEST, Parrot/Test.pm, lib/Parrot/Test.pm,
2429 lib/Test/Builder.pm, lib/Test/More.pm, lib/Test/Simple.pm,
2430 lib/Test/Utils.pm, t/op/interp.t, t/op/macro.t, t/op/pmc.t,
2431 t/op/rx.t, t/op/stacks.t, t/pmc/pmc.t:
2432 Update to Test::More 0.41 which adds Test::Builder
2434 Delete the vestigal Test::Utils
2436 Change Parrot::Test so it uses Test::Builder instead of Evil
2440 output_* now returns whether the test passes or fails
2442 Parrot::Test no longer exports Test::More's functions. Instead
2444 can simply be used together. The few tests which used
2446 features (ie. skip) have 'use Test::More' added.
2448 I ditched the export_to_level() crutch. Do we expect parrot to
2450 5.004? (literally 5.004, not 5.004_04)
2452 Courtesy of Michael G Schwern <schwern@pobox.com>
2454 2002-01-28 21:04 dan
2456 * docs/overview.pod: There is no opcodes.pod; I'm assuming the
2457 pointer should actually be to
2458 parrot_assembly.pod, as the canonical documentation.
2460 Courtesy of Simon Glover <scog@roe.ac.uk>
2462 2002-01-28 20:21 dan
2464 * languages/jako/jakoc, t/op/stacks.t: Toss the last traces of
2467 2002-01-28 19:18 dan
2469 * core.ops, register.c: clone[insp] is dead
2471 2002-01-28 17:46 grunblatt
2473 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2474 jit/i386/core.jit: Fix to make the jit work in linux yet again.
2476 2002-01-28 16:45 dan
2478 * MANIFEST, README.OS_X: Added Mac OS X specific readme documenting
2479 the requirement for fink at the moment.
2481 2002-01-28 15:59 simon
2484 People might try and run a directory file, with spectacular
2485 results. We don't want that. No.
2487 2002-01-28 14:58 doughera
2489 * core.ops: Avoid C++-style comments.
2491 2002-01-28 14:16 grunblatt
2493 * jit.c, io/io.c: Changed jit.c to fit the way registers are
2494 accessed. Readded the pio_(stdin|stdout|stderr) to make builds
2497 2002-01-28 13:47 doughera
2499 * include/parrot/register.h: Avoid C++-style comment.
2501 2002-01-28 06:03 dan
2503 * MANIFEST, core.ops, interpreter.c, key.c, register.c, trace.c,
2504 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
2505 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2506 docs/parrot_assembly.pod, include/parrot/interpreter.h,
2507 include/parrot/parrot.h, include/parrot/regfuncs.h,
2508 include/parrot/register.h, include/parrot/register_funcs.h,
2509 include/parrot/string.h, include/parrot/string_funcs.h: Registers
2510 are now stored in the interpreter structure itself, rather than
2511 just a pointer to the top of the register structure. Pushes and
2512 pops now involve memcpys, but register access has one fewer
2515 Fails four of the register stack tests, though, so not perfect.
2516 Needs fixing, but this is a good place to start.
2518 2002-01-28 04:40 mrjoltcola
2520 * test_main.c: cvs commit missed this. ??
2522 2002-01-28 04:27 mrjoltcola
2524 * examples/assembly/io1.pasm, include/parrot/exceptions.h,
2525 include/parrot/interpreter.h, include/parrot/io.h, io/io.c,
2526 io/io_stdio.c, io/io_unix.c, io/io_win32.c: ParrotIO local to each
2527 interpreter now (at least in theory). IO handle array added. Misc
2528 bug fixes in layer handling. Changed any IO_ constants to PIO_ so
2529 we don't conflict with system libraries. Still have broken
2530 stuff in win32 and stdio layer.
2532 2002-01-28 04:01 mrjoltcola
2534 * include/parrot/chartype.h: Typo in chartype.h include guard.
2536 2002-01-28 03:41 mrjoltcola
2538 * t/op/interp.t: Fix flag for interp so we don't get "info"
2539 messages which break tests.
2541 2002-01-28 01:54 dan
2543 * include/parrot/string.h: A few more buffer/string flags
2545 2002-01-27 11:33 nicholas
2547 * chartypes/unicode.c: Cast unsigned argument to int in call to
2548 isdigit to silence gcc warning.
2550 2002-01-26 23:18 grunblatt
2552 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm: Turn
2555 2002-01-26 23:17 grunblatt
2557 * Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2558 jit/i386/core.jit: [no log message]
2560 2002-01-26 22:18 simon
2562 * jit/i386/core.jit:
2563 Jumping to 0x0 is a recipe for segfaults.
2565 2002-01-26 18:35 simon
2568 Allow user to select which tests to harness
2570 Courtesy of: Nicholas Clark <nick@unfortu.net>
2572 2002-01-26 17:20 grunblatt
2574 * Parrot/Jit/i386-linux.pm, Parrot/Jit/i386Generic.pm,
2575 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386Generic.pm: Patch
2576 to make the jit work in linux again.
2578 2002-01-26 16:52 dan
2580 * Configure.pl, hints/darwin.pl: Add -Wno-shadow, as Darwin's
2581 headers can't cope with this. Darwin-only
2583 2002-01-26 16:04 dan
2585 * include/parrot/parrot.h: Quick note to remind folks that this
2586 isn't the file they're looking for if they're writing extensions or
2589 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2591 2002-01-26 00:41 mrjoltcola
2595 2002-01-26 00:37 mrjoltcola
2597 * docs/ParrotFAQ.htm: Parrot FAQ : Created and maintained by Adam
2600 2002-01-25 01:31 grunblatt
2602 * jit/alpha/core.jit: There is no neg or fneg.
2604 2002-01-25 01:27 grunblatt
2606 * core.ops, Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386Generic.pm,
2607 lib/Parrot/Jit/alphaGeneric.pm, lib/Parrot/Jit/i386Generic.pm,
2608 jit/alpha/core.jit, jit/i386/core.jit, t/op/integer.t,
2609 t/op/number.t: Added Parrot_neg. Erase t.s
2611 2002-01-24 23:26 dan
2613 * interpreter.c: Best make sure unused elements are NULL
2615 2002-01-24 23:24 dan
2617 * interpreter.c: Fix stupid thinko
2619 2002-01-24 18:37 doughera
2621 * Makefile.in: Add a few missing dollar signs in the lifetest
2622 section so that ${exe} and the like get properly interpolated.
2624 2002-01-24 18:15 mrjoltcola
2626 * docs/: .cvsignore, Makefile.in, parrot.pod: Fix pod generation
2627 for io.ops file. Add reference to it in parrot.pod. Courtesy of
2628 Simon Glover <scog@roe.ac.uk>
2630 2002-01-24 06:43 mrjoltcola
2632 * io/io_stdio.c: Oops.
2634 2002-01-24 06:34 mrjoltcola
2636 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c: Did a bit
2637 of work on the buffering layer. Decided to use shared read/write
2638 buffer (as do most implementations) for now since its the simplest
2639 way to keep everything synced, (flush on seeks, flush read on
2642 2002-01-24 03:38 mrjoltcola
2644 * test_main.c: Cleaned up option handling code a bit for main().
2646 2002-01-23 23:22 dan
2648 * interpreter.c, include/parrot/interpreter.h,
2649 include/parrot/resources.h: Now each interpreter gets its own hash
2652 2002-01-23 20:45 dan
2654 * Configure.pl: Fix a warning when there's no - in an architecture
2656 2002-01-22 23:57 grunblatt
2658 * docs/running.pod: [no log message]
2660 2002-01-22 20:29 doughera
2662 * KNOWN_ISSUES: long doubles don't work on SPARC either. It
2663 appears to be a generic problem (if sizeof(long double) >
2664 sizeof(double)), not an x86-specific one.
2666 2002-01-22 16:57 doughera
2668 * runops_cores.c: Change variable name from time to starttime to
2669 avoid gcc warning about variable name shadowing.
2671 2002-01-22 16:55 doughera
2673 * classes/pmc2c.pl: Include class_init prototype too.
2675 2002-01-22 16:01 doughera
2677 * MANIFEST: [no log message]
2679 2002-01-22 01:04 ajgough
2681 * global_setup.c, classes/default.pmc, classes/intqueue.pmc,
2682 classes/parrotpointer.pmc, classes/perlarray.pmc,
2683 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2684 classes/perlstring.pmc, classes/perlundef.pmc, classes/pmc2c.pl,
2685 include/parrot/global_setup.h: Patch from Nick Clark to quieten
2686 warnings from pmc files. Message-ID:
2687 <20020121224719.GE1726@Bagpuss.unfortu.net>
2689 2002-01-22 00:53 ajgough
2691 * test_main.c: Clears up a couple of warnings in test_main.c.
2692 Thanks to Nick Clark. Message-ID:
2693 <20020121190457.GB1726@Bagpuss.unfortu.net>
2695 2002-01-22 00:47 ajgough
2697 * string.c, chartypes/unicode.c, chartypes/usascii.c,
2698 include/parrot/chartype.h: Cause all codepoints to be treated as
2699 UNITVALS, and get_digit to return INTVAL, just in case. (Thanks to
2700 Nick Clark, see also: Message-ID:
2701 <20020121214137.GC2371@Bagpuss.unfortu.net> )
2703 2002-01-22 00:24 dan
2705 * key.c: We do mandate an ANSI conformant C compiler, don't we?
2707 Appended patch cures these warnings:
2709 key.c: In function `debug_key': key.c:29: warning: int format,
2710 INTVAL arg (arg 3) key.c:33: warning: int format, INTVAL arg (arg
2711 3) key.c:33: warning: int format, INTVAL arg (arg 4) key.c:36:
2712 warning: int format, INTVAL arg (arg 3) key.c:36: warning: int
2713 format, INTVAL arg (arg 4)
2715 Courtesy of Nicholas Clark <nick@unfortu.net>
2717 2002-01-21 12:41 mrjoltcola
2719 * MANIFEST, io.ops: For some reason cvs commit didn't get this, may
2722 2002-01-21 06:37 mrjoltcola
2724 * io/io.c: Cleanup a warning
2726 2002-01-21 06:28 mrjoltcola
2728 * examples/assembly/io1.pasm, include/parrot/io.h, io/io.c,
2729 io/io_stdio.c, io/io_unix.c, io/io_win32.c: Added 32/64 bit seek
2730 ops. Various other IO twiddlings.
2732 2002-01-21 03:25 grunblatt
2734 * Makefile.in: Use $jitcpuarch instead of $cpuarch. Thanks to
2735 Melvin Smith for the catch up.
2737 2002-01-20 23:13 sfink
2739 * stacks.c: Fixed logic errors, need tests
2741 2002-01-20 22:17 brentdax
2743 * rx.c, rx.ops, include/parrot/rx.h, t/op/rx.t: Make /m work and
2744 prepare for /i to work.
2746 2002-01-20 20:52 grunblatt
2748 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
2749 jit2h.pl, Parrot/Jit/alpha-bsd.pm, Parrot/Jit/alpha-linux.pm,
2750 Parrot/Jit/alphaGeneric.pm, Parrot/Jit/i386-bsd.pm,
2751 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/alpha-bsd.pm,
2752 lib/Parrot/Jit/alpha-linux.pm, lib/Parrot/Jit/alphaGeneric.pm,
2753 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
2754 Parrot/Jit/i386Generic.pm, lib/Parrot/Jit/i386Generic.pm,
2755 include/parrot/jit.h, jit/alpha/core.jit, jit/alpha/lib.jit,
2756 jit/alpha/string.jit:
2757 - Added support for ALPHA, by now linux and bsd.
2759 - Reduced jit2h.pl execution time by precompiling the call to the
2762 - Reduced the duplicated code in Parrot/Jit/*.pm by adding
2763 Parrot/Jit/${cpuarch}Generic.pm
2765 - Changed the way to detect quads to what is written in "man
2768 2002-01-20 17:23 brentdax
2770 * rx.ops: There's no such thing as rx_allocateinfo.
2772 2002-01-19 08:26 brentdax
2774 * pbc2c.pl: Stop this stupid "hard-code the new oplib" stuff.
2776 2002-01-19 07:12 mrjoltcola
2778 * MANIFEST, core.ops, io.ops, pbc2c.pl: Separate pure ParrotIO ops
2779 into io.ops, leave the STDIO wrappers in core.ops until they
2780 disappear. Added debug op for switching on VM debug flag
2782 2002-01-19 01:55 mrjoltcola
2784 * include/parrot/io.h, io/TODO, io/io.c, io/io_stdio.c,
2785 io/io_unix.c, io/io_win32.c: Added a few more Win32 layer calls
2787 2002-01-19 00:55 brentdax
2789 * Makefile.in, rx.c, rx.ops, rxstacks.c, include/parrot/rx.h,
2790 include/parrot/rxstacks.h: Add regex-specific stacks for
2793 2002-01-18 23:58 dan
2795 * Configure.pl: I think the optimal fix here is simply to remove
2796 -ansi -pedantic. -ansi may well have some uses, but even the gcc
2797 man pages say "There is no reason to use this option [-pedantic];
2798 it exists only to satisfy pedants."
2800 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2802 2002-01-18 23:23 dan
2804 * MANIFEST, docs/parrot.pod, docs/running.pod: This patch add
2805 docs/running.pod, which lists the various executables Parrot
2806 currently includes, examples of running them, and mentions of where
2807 they fail to work. It's more of a cry for help than a useful
2808 reference. :-) I've been having trouble recently when making
2809 changes in figuring out whether I broke anything, because any
2810 non-default way of running the system seems to be already broken. I
2811 can't tell what brokenness is expected and what isn't.
2813 Courtesy of Steve Fink <steve@fink.com>
2815 2002-01-15 22:13 brentdax
2817 * include/parrot/rx.h, rx.c, rx.ops: Remove the last vestiges of
2818 substring use and enhance performance.
2820 2002-01-15 21:03 ajgough
2822 * string.c: Fix problem with string_transcode, &dest not being
2823 updated if src was already in desired encoding.
2825 2002-01-15 16:54 brentdax
2827 * rx.c, rx.ops, include/parrot/rx.h: Hunt down and destroy
2828 warnings. Leaves only one warning, at rx.ops line 409, that I
2829 can't manage to get rid of.
2831 2002-01-15 16:50 dan
2833 * pbc2c.pl: Pointer arithmetic not quite right in the generated
2834 code. Also patches pbc2c.pl to work with rx.ops.
2836 Courtesy of Jason Gloudon <perl@gloudon.com>
2838 2002-01-15 16:15 dan
2840 * classes/Makefile.in: All the C files in classes/ weren't being
2841 compiled with an of the gcc warnings flags. With this patch they
2842 are, and there are an awful lot of warnings, more than I could hope
2843 to understand and clear up (within any sensible time period before
2844 submitting a rash of patches, by which time everyone else would
2845 have moved the code on)
2847 Courtesy of Nicholas Clark <nick@unfortu.net>
2849 2002-01-15 16:10 dan
2851 * core.ops, ops2c.pl, Parrot/Op.pm, Parrot/OpTrans.pm,
2852 Parrot/OpsFile.pm, lib/Parrot/Op.pm, lib/Parrot/OpTrans.pm,
2853 lib/Parrot/OpsFile.pm, Parrot/OpTrans/C.pm,
2854 Parrot/OpTrans/CGoto.pm, Parrot/OpTrans/CPrederef.pm,
2855 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
2856 lib/Parrot/OpTrans/CPrederef.pm, chartypes/unicode.c,
2857 chartypes/usascii.c: This patch adds a few more macros for .ops
2858 files to use. In addition to the existing
2872 This is intended mainly for use in helper functions in .ops files,
2873 but also for ops that need to eg push the address of the next
2874 opcode onto a stack. The only place this currently happens (outside
2875 of my private code) is in the bsr opcode, which previously
2876 hardcoded the computation.
2878 This patch also makes ops2c.pl move the CUR_OPCODE #define a bit
2879 higher in the generated file so that it can be used by static
2880 functions in the preamble.
2882 Finally, I ran into a parentheses matching problem -- should goto
2883 OFFSET(...) rewrite \bgoto\s+OFFSET\((.*)\) or
2884 \bgoto\s+OFFSET\((.*?)\)
2886 It was done inconsistently for the different calculations, and of
2887 course neither are correct because you really want matching
2888 parentheses. But that seems like too much bother. (Currently,
2889 there's only one place that uses anything other than $n in the
2890 parentheses, and that's the enternative() op.) So I made them all
2891 .*? but emulated recent POD by also allowing (( ... )) (that's two
2892 parenthesis with a space padding the body.)
2894 The generated core_ops.c and core_ops_prederef.c files after this
2895 patch are identical except for the CUR_OPCODE and REL_PC macros
2896 getting moved a little higher, and the bsr in the regular path (not
2897 prederef) uses 'CUR_OPCODE' instead of the hardcoded 'cur_opcode'.
2899 In summary, this is a big wad of meaningless changes for the
2900 current code. But it will make adding some opcodes easier in the
2901 future, and cleans up a small nit in the current bsr.
2903 Courtesy of Steve Fink <steve@fink.com>
2905 2002-01-15 08:48 brentdax
2907 * include/parrot/rx.h: Bitmaps can now include chars >255 (well,
2910 2002-01-15 08:45 brentdax
2912 * rx.c, rx.ops: Bitmaps can now include chars >255 (well, sort of).
2914 2002-01-15 05:00 brentdax
2916 * rx.ops: Speed up rx_literal--roughly doubles benchmark
2919 2002-01-14 20:18 dan
2921 * vtable.tbl, vtable_h.pl: Clean up a zillion warnings
2923 Courtesy of Nicholas Clark <nick@unfortu.net>
2925 2002-01-14 20:03 dan
2927 * Configure.pl, MANIFEST, Makefile.in, core.ops, exceptions.c,
2928 global_setup.c, interpreter.c, key.c, ops2c.pl, register.c,
2929 runops_cores.c, rx.ops, stacks.c, string.c, test_main.c, trace.c,
2930 chartypes/unicode.c, chartypes/usascii.c, classes/default.pmc,
2931 classes/parrotpointer.pmc, classes/perlarray.pmc,
2932 classes/perlhash.pmc, classes/perlint.pmc, classes/perlnum.pmc,
2933 classes/perlstring.pmc, classes/perlundef.pmc,
2934 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
2935 encodings/utf8.c, include/parrot/exceptions.h, include/parrot/io.h,
2936 include/parrot/parrot.h, include/parrot/rx.h, io/io_stdio.c,
2937 io/io_win32.c, platforms/win32.c, platforms/win32.h, t/op/pmc.t,
2938 t/op/pmc_perlhash.t, t/op/rx.t, t/pmc/perlhash.t, t/pmc/pmc.t: This
2939 patch cleans up most of the MSVC-warnings when using warning level
2940 4 (the highest, one above the default level 3). It turns off two
2941 level-4 warnings for 'unreferenced formal parameter' and 'named
2942 type definition in parentheses', the latter of which was turning up
2943 warnings in MS VC headers. Level 4 warnings also helped me find a
2944 couple of other lurking bugs in the parrot code.
2946 Replaces the various fprintf/exit combos with calls to
2947 internal_exception, which uses var_args to emulate printf. Various
2948 exception types were added as well. These are probably temporary
2949 until a real exception system arrives.
2951 Fixed some places in the IO code where wrong functions were being
2952 called, or put into the vtable.
2954 Courtesy of "Michel Lambert" <mlambert@legendent.com>
2956 2002-01-14 19:00 dan
2958 * MANIFEST: D'oh! Forgot a file.
2960 Courtesy of Andy Dougherty <doughera@lafayette.edu>
2962 2002-01-14 18:44 brentdax
2964 * rx.c, rx.ops, include/parrot/rx.h: Use bitmaps where it makes
2965 sense (and a few other enhancements to regexes).
2967 2002-01-14 07:07 brentdax
2969 * interpreter.c, runops_cores.c, test_main.c,
2970 include/parrot/interpreter.h: Make profiling a little more useful.
2972 2002-01-13 19:44 dan
2974 * Configure.pl: Turn off unsed things warnings for now
2976 2002-01-13 19:39 dan
2978 * key.c, classes/perlarray.pmc: key.c: intialize KEY.keys
2980 classes/perlarray.c: * get_string: is casting
2981 SELF->cache.struct_val to a STRING*, while all other methods are
2982 using it as a KEY*; don't know what a perlarray stringifies to,
2983 so replacing with NULL * get_bool: the default behaviour does not
2986 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
2988 2002-01-13 19:37 dan
2990 * Makefile.in, classes/Makefile.in: Makefile.in: (Re)add ld_debug
2991 flags to LDFLAGS, so that Configure.pl --debugging works with
2994 classes/Makefile.in make easier to add pmb2c.pl flags to all
2997 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
2999 2002-01-13 19:36 dan
3001 * io/io_win32.c: according to my MSVC docs, you should use
3005 Courtesy of "Mattia Barbon" <mbarbon@dsi.unive.it>
3007 2002-01-13 19:35 dan
3009 * docs/intro.pod: Doc tweak.
3011 Courtesy of Simon Glover <scog@roe.ac.uk>
3013 2002-01-13 19:34 dan
3015 * t/: op/pmc_perlstring.t, pmc/perlstring.t: Enclosed test checks
3020 works with PerlString PMCs; these should be false if they are "",
3022 are undefined, and true in every other case.
3024 Courtesy of Simon Glover <scog@roe.ac.uk>
3026 2002-01-13 19:23 dan
3028 * Configure.pl, config_h.in, core.ops, classes/perlnum.pmc: Change
3029 NUMVAL_FMT to FLOATVAL_FMT.
3031 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3033 2002-01-13 17:45 jgoff
3035 * Makefile.in, global_setup.c, classes/Makefile.in,
3036 classes/intqueue.pmc, include/parrot/pmc.h, t/op/pmc.t,
3037 t/pmc/pmc.t: IntQueue is for an upcoming article on perl.com on
3038 designing your own classes.
3040 2002-01-13 08:47 simon
3042 * interpreter.c, Parrot/OpTrans/CPrederef.pm,
3043 lib/Parrot/OpTrans/CPrederef.pm:
3044 Fix bsr in prederef mode.
3046 Courtesy of: Jason Gloudon <perl@gloudon.com>
3048 2002-01-12 15:33 dan
3050 * interpreter.c, key.c, packfile.c, register.c, resources.c,
3051 string.c, encodings/singlebyte.c, encodings/utf32.c,
3052 include/parrot/parrot.h, io/io.c, io/io_stdio.c, io/io_unix.c:
3053 Silence most of the unused variable warnings.
3055 Courtesy of Nicholas Clark <nick@unfortu.net>
3057 2002-01-12 15:18 dan
3059 * rx.ops: This patch fixes a warning and also changes an 'int' to
3060 an 'INTVAL'. All tests should pass on Solaris.
3062 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3064 2002-01-12 15:13 dan
3066 * interpreter.c, string.c, test_main.c, classes/parrotpointer.pmc,
3067 examples/assembly/life.pasm, include/parrot/interpreter.h,
3068 include/parrot/io.h, io/io.c, io/io_stdio.c, io/io_unix.c,
3069 io/io_win32.c: More IO work. (Plus some misc twiddles)
3071 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3073 2002-01-12 01:14 dan
3075 * include/parrot/string.h: fix a missing name
3077 2002-01-12 00:39 grunblatt
3079 * include/parrot/string.h: Few typos.
3081 2002-01-12 00:16 grunblatt
3083 * jit.c, jit2h.pl, jit/i386/core.jit: Added support for opcodes
3084 that change the program control flow.
3086 2002-01-11 23:53 brentdax
3088 * classes/parrotpointer.pmc: Tell the GC to keep its hands out of a
3089 ParrotPointer's guts.
3091 2002-01-11 23:03 dan
3093 * include/parrot/string.h: flags for the buffers, for GC
3095 2002-01-11 22:31 dan
3097 * include/parrot/pmc.h: PMC flag docs. Those'd be good...
3099 2002-01-11 22:21 dan
3101 * include/parrot/pmc.h: Started with PMC flags
3103 2002-01-11 19:33 dan
3105 * config_h.in, memory.c, resources.c, string.c,
3106 include/parrot/resources.h: Beginnings of a memory allocation/gc
3107 system. Without the GC part.
3109 2002-01-11 18:05 dan
3111 * core.ops: Make sure constant pushes are right on mixed 32/64 bit
3114 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3116 2002-01-11 17:50 dan
3118 * core.ops, pbc2c.pl, Parrot/OpTrans/CGoto.pm,
3119 lib/Parrot/OpTrans/CGoto.pm, include/parrot/interpreter.h: Here is
3120 a patch that makes pbc2c generated code work with the bsr opcode.
3121 It creates a new opcode 'enternative', and uses this to support a
3122 mixed model of interpretation and execution of compiled C code.
3124 Courtesy of Jason Gloudon <perl@gloudon.com>
3126 2002-01-11 17:48 dan
3128 * Makefile.in: Add life as a potential .exe target
3130 2002-01-11 17:30 dan
3132 * include/parrot/resources.h: Start of arena stuff for GC
3134 2002-01-11 05:34 brentdax
3136 * rx.ops: Docs modifications.
3138 2002-01-11 04:19 brentdax
3140 * rx.ops, include/parrot/rx.h: Remove unnecessary evilness from
3141 regular expressions.
3143 2002-01-11 03:44 grunblatt
3145 * jit/i386/core.jit: off by one.
3147 2002-01-11 02:25 dan
3149 * Makefile.in, examples/assembly/life.pasm: Tweak to life benchmark
3151 Courtesy of Steve Fink <steve@fink.com>
3153 2002-01-11 00:32 brentdax
3155 * MANIFEST: Forgot to put parrotpointer.pmc in the MANIFEST.
3157 2002-01-10 23:22 ajgough
3159 * string.c, docs/strings.pod: Removed all the nul termination code,
3160 as this is in general a bad idea. Note added to docs/strings.pod
3161 to warn people away from assuming termination.
3163 2002-01-10 23:14 dan
3165 * core.ops, interpreter.c, jit.c, rx.c, rx.ops, stacks.c,
3166 testparrotsizes_c.in, include/parrot/interpreter.h,
3167 include/parrot/rx.h, include/parrot/stacks.h: Much nicer stack
3170 Courtesy of Steve Fink <steve@fink.com>
3172 2002-01-10 22:48 dan
3174 * core.ops: Fix 'basic' test 1 for sizeof(opcode_t) !=
3177 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3179 2002-01-10 22:46 dan
3181 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3182 t/pmc/perlhash.t: Well, actually two bugs.
3184 The first is an off-by-one error in key.c than can cause parrot
3185 to segfault if hash % NUM_BUCKETS happens to be zero.
3187 The other is a bug in the PerlHash init() code that causes new
3189 PMCs to start with the wrong size.
3191 Both fixed below; also tests to prevent them recurring.
3193 Courtesy of Simon Glover <scog@roe.ac.uk>
3195 2002-01-10 22:30 dan
3197 * classes/default.pmc, classes/perlarray.pmc, t/op/pmc_perlarray.t,
3198 t/pmc/perlarray.t: The enclosed patch allows one to use the if op
3201 Courtesy of Simon Glover <scog@roe.ac.uk>
3203 2002-01-10 21:31 dan
3205 * examples/assembly/life.pasm: Tweaked to be a benchmarkable thing
3207 2002-01-10 20:30 grunblatt
3209 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
3210 Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-bsd.pm,
3211 lib/Parrot/Jit/i386-linux.pm, jit/i386/core.jit, jit/i386/lib.jit:
3212 All the op codes that doesn't change the program control flow now
3213 work in the JIT by calling the code generated by the compiler when
3214 the op is not in core.jit TODO: * Make all the ops that change
3215 the program control flow (and are not on core.jit) work. *
3216 Remove the dispatch payload.
3218 2002-01-10 17:13 dan
3220 * classes/parrotpointer.pmc: This patch fixes parrotpointer.pmc,
3221 which tries to return 0 from a void function.
3223 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3225 2002-01-10 17:12 dan
3227 * t/op/macro.t: Skip tests, don't comment them out.
3229 Courtesy of Simon Glover <scog@roe.ac.uk>
3231 2002-01-10 17:10 dan
3233 * rx.c: This fixes a couple of nits in rx.c:
3235 1. There's no newline at the end, which makes gcc unhappy.
3236 2. We should use NULL, not 0 or "", for creating null pointers.
3238 Courtesy of Simon Glover <scog@roe.ac.uk>
3240 2002-01-10 17:09 dan
3242 * MANIFEST: Adds rx.t, removes duplicated rx.c and puts everything
3246 Courtesy of Simon Glover <scog@roe.ac.uk>
3248 2002-01-10 16:54 ajgough
3250 * resources.c: Made free_string check that there was a string to
3251 free. In reponse to a bug spotted by Joshua Nye.
3253 2002-01-09 22:44 dan
3255 * global_setup.c: Forgot the setup
3257 2002-01-09 22:35 dan
3259 * rx.ops: Forgot this one
3261 2002-01-09 22:35 dan
3263 * MANIFEST, Makefile.in, rx.c, string.c, include/parrot/pmc.h,
3264 include/parrot/rx.h, t/op/rx.t: Preliminary regex implementation.
3265 Tests don't work, though.
3267 Courtesy of "Brent Dax" <brentdax@cpan.org>
3269 2002-01-09 21:48 dan
3271 * t/: op/pmc_perlarray.t, pmc/perlarray.t: Whoops, forgot that
3273 2002-01-09 21:22 dan
3275 * classes/Makefile.in, classes/parrotpointer.pmc, Makefile.in:
3276 Generic pointer holder class
3278 Courtesy of "Brent Dax" <brentdax@cpan.org>
3280 2002-01-09 21:19 dan
3282 * MANIFEST, classes/perlarray.pmc, t/op/pmc.t, t/pmc/pmc.t: Array
3285 2002-01-09 19:54 dan
3287 * io/io_unix.c: Whoops. Forgot one
3289 2002-01-09 19:43 dan
3291 * key.c, classes/perlhash.pmc, t/op/pmc_perlhash.t,
3292 t/pmc/perlhash.t: Fix hash crash bugs
3294 Courtesy of Simon Glover <scog@roe.ac.uk>
3296 2002-01-09 19:13 dan
3298 * memory.c: Signedness whoops.
3300 Courtesy of Simon Glover <scog@roe.ac.uk>
3302 2002-01-09 18:23 dan
3304 * MANIFEST, Makefile.in, include/parrot/io.h, io/io.c, io/io_os.c,
3305 io/io_stdio.c, io/io_win32.c: Changes:
3307 -Minor layer cleanups -Win32 layer added (mostly stubs for now) but
3308 will be using the Win32 API and company rather than the unix-ish
3309 fake ones. -stdin/stdout/stderr Win32 specific code added. Rather
3310 than use 0,1,2, Microsoft says use GetStdHandle(), etc. so that
3311 stuff is there. Soon we should be able to start using these
3312 rather than fprintf(stderr, ...) and remove stdio linkage.
3314 Courtesy of <mrjoltcola@mindspring.com>
3316 2002-01-09 17:26 dan
3318 * test_main.c: Fixes bad code gen on x86.
3320 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3322 2002-01-09 17:24 dan
3324 * Configure.pl, config_h.in, core.ops, key.c, classes/perlint.pmc,
3325 classes/perlnum.pmc: This patch adds macros to the config.h file
3326 for INTVAL and NUMVAL printf formats.
3328 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3330 2002-01-08 22:55 ajgough
3332 * docs/vtables.pod: Clarify what get_string should do.
3334 2002-01-08 20:05 dan
3336 * key.c: Keep comments in sync.
3338 Courtesy of Simon Glover <scog@roe.ac.uk>
3340 2002-01-08 19:50 dan
3342 * memory.c, include/parrot/memory.h: Need a realloc
3344 2002-01-08 17:24 gregor
3346 * .cvsignore, Configure.pl, Makefile.in:
3347 Added 'reconfig' make target and corresponding --reconfig option to
3348 Configure.pl, so its very easy to re-run Configure.pl with the last
3349 (command-line) options you passed it.
3351 2002-01-08 16:33 dan
3353 * core.ops, make_vtable_ops.pl, Parrot/OpsFile.pm,
3354 lib/Parrot/OpsFile.pm: Add in, out, and inout parameters to teh ops
3355 in core.ops. Potential help for optimizers and JITters.
3357 Courtesy of gregor@linux1.kennedytech.com
3359 2002-01-08 16:32 dan
3361 * key.c: Grab key length from the right spot
3363 Courtesy of "Peter Gibbs" <peter@emkel.co.za>
3365 2002-01-08 13:27 ajgough
3367 * test_main.c: Fix slight thinko in realloc usage for reading from
3370 2002-01-08 11:34 ajgough
3372 * test_main.c: Allow test_parrot to read bytecode stream from
3373 stdin, adds -f command line option, with "-f -" doing the stdin
3376 2002-01-08 06:34 jgoff
3378 * key.c, include/parrot/key.h: key.c - Added simple implementation
3379 of buckets. include/parrot/key.h - Added enum_key_bucket type
3381 2002-01-08 03:21 jgoff
3383 * include/parrot/key.h: Added an undef type to the key structure,
3384 so we can delete keys without confusion.
3386 2002-01-07 22:09 dan
3388 * key.c, packfile.c, string.c, include/parrot/key.h,
3389 include/parrot/packfile.h, include/parrot/string.h: Fix whines
3390 about index being redefined
3392 Courtesy of Nick Clark
3394 2002-01-07 21:15 dan
3396 * ops2pm.pl: Don't allow the same ops lib to be included twice.
3398 Courtesy of Steve Fink <steve@fink.com>
3400 2002-01-07 20:48 dan
3402 * Parrot/Test.pm, lib/Parrot/Test.pm: Report useful info for test
3405 Courtesy of "Brent Dax" <brentdax@cpan.org>
3407 2002-01-07 20:43 dan
3409 * docs/intro.pod: Missing a comma
3411 Courtesy of "coral" <coral@eekeek.org>
3413 2002-01-07 20:41 dan
3415 * global_setup.c: Quiet a warning
3417 Courtesy of Simon Glover <scog@roe.ac.uk>
3419 2002-01-07 18:58 gregor
3422 Ignore intermediate test files.
3424 2002-01-07 17:01 gregor
3427 Print a warning if an .ops file is mentioned more than once on the
3430 2002-01-07 16:12 ajgough
3432 * t/: op/pmc_perlhash.t, pmc/perlhash.t: A couple more hash tests,
3433 these shouldn't fail.
3435 2002-01-07 15:15 simon
3437 * t/: op/pmc_perlhash.t, pmc/perlhash.t:
3440 2002-01-07 15:11 simon
3443 Fix zero-termination bug in hash function.
3445 2002-01-07 13:37 ajgough
3447 * MANIFEST, t/op/pmc_perlhash.t, t/pmc/perlhash.t: Added
3448 pmc_perlhash.t, one test currently fails, one passes, yin-yang fun.
3450 2002-01-07 11:53 brentdax
3452 * Configure.pl: Fixes the + thing in prompts, plus adds a synonym
3453 (:add{foo}) and a new deleting thing (:rem{foo})
3455 2002-01-07 11:43 simon
3458 Gobble the + before concatenating.
3460 2002-01-07 03:53 dan
3462 * Makefile.in: Dependency fix for new ops setup.
3464 2002-01-07 03:33 jgoff
3466 * classes/perlarray.pmc: Add negative indices, and fix a small
3469 2002-01-06 23:54 ajgough
3471 * hints/os2.pl: Makes the hints file take account of ldflags and
3472 ccflags being split. This hints file is still very specific to
3473 builds with gnu tools, but a proper solution can wait. Thanks to
3476 2002-01-06 22:12 dan
3478 * Makefile.in, ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3479 -changes Parrot::OpLib::core's dependencies to reflect the new
3480 selectable ops files -allows some of the special forms of 'goto'
3481 inside the PREAMBLE of an opcode file
3483 Courtesy of "Brent Dax" <brentdax@cpan.org>
3485 2002-01-06 19:59 simon
3490 2002-01-06 18:19 dan
3492 * classes/perlhash.pmc: Fix some type issues.
3494 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3496 2002-01-06 18:03 dan
3498 * Configure.pl, Makefile.in: It adds a prompt to Configure asking
3499 for a list of opcode files to use. The default is everything
3500 available except for obscure.ops.
3502 In addition, it makes it so that if your answer to a question
3503 starts with '+', it will concatenate it to the default. For
3506 What C compiler do you want to use? [cl] +HAHAHA!!!
3508 will result in $PConfig{cc} eq "cl HAHAHA!!!". While that example
3509 is not terribly useful, it is quite useful with things like
3510 command-line flags and the like.
3512 Finally, it contains a couple tweaks so that my syntax-highlighting
3513 editor recognizes some heredocs correctly. :^)
3515 Courtesy of "Brent Dax" <brentdax@cpan.org>
3517 2002-01-06 17:59 dan
3519 * KNOWN_ISSUES, MANIFEST, README: Doc Patches
3521 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3523 2002-01-06 17:58 dan
3525 * MANIFEST: We're missing a couple of files from the MANIFEST.
3527 Courtesy of Simon Glover <scog@roe.ac.uk>
3529 2002-01-06 17:57 dan
3531 * ops2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: 1.
3532 Compiler directives, etc. in files other than core.ops will now
3533 work. 2. Compiler warnings will now display the file and line
3534 number of the opcode file.
3536 Courtesy of "Brent Dax" <brentdax@cpan.org>
3538 2002-01-06 17:52 dan
3540 * languages/jako/jakoc: Fix breakage caused by iton/ntoi going away
3542 Courtesy of Simon Glover <scog@roe.ac.uk>
3544 2002-01-06 17:36 dan
3546 * docs/intro.pod: Lots of updates
3548 Courtesy of Simon Glover <scog@roe.ac.uk>
3550 2002-01-06 02:34 gregor
3553 Add some internal documentation on the theory of operation of the
3556 2002-01-06 02:17 gregor
3559 Removed unnecessary include.
3561 2002-01-05 12:37 simon
3563 * classes/.cvsignore:
3564 Ignore generated .h files.
3566 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3568 2002-01-05 12:37 simon
3571 Make lcc happier by adding a dummy structure.
3573 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
3575 2002-01-05 12:35 simon
3577 * global_setup.c, classes/perlundef.pmc, t/op/pmc.t, t/pmc/pmc.t:
3578 Make perlundef work. (And coincidentally stop segfaults in the
3581 Courtesy of: Jason Gloudon <perl@gloudon.com>
3583 2002-01-05 04:59 dan
3585 * t/: op/pmc.t, pmc/pmc.t: Undef tests added.
3587 2002-01-05 04:55 jgoff
3589 * classes/perlhash.pmc: Added perlhash class definition
3591 2002-01-05 04:48 dan
3593 * core.ops: Fix on 64 bit platforms with 32-bit opcode_t
3595 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3597 2002-01-05 03:57 jgoff
3599 * MANIFEST, Makefile.in, core.ops, global_setup.c, key.c,
3600 vtable.tbl, classes/Makefile.in, classes/default.pmc,
3601 include/parrot/key.h, include/parrot/pmc.h, t/op/pmc.t,
3602 t/pmc/pmc.t: Initial hash commit.
3604 core.ops - Adding set({i,n,s},p,s) and set(p,{i,n,s},s) operations.
3605 key.h - Adding NUM_BUCKETS classes/default.pmc - Adding
3606 set_{integer,number,string}_index_s
3608 This does not yet do collision resolution, but will soon.
3610 2002-01-05 02:54 dan
3612 * interpreter.c: More unsigned fixes
3614 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3616 2002-01-04 22:13 dan
3618 * Configure.pl, hints/mswin32.pl: Makes config's building of the
3619 test programs happier.
3621 Courtesy of "Jason Diamond" <jason@injektilo.org>
3623 2002-01-04 19:00 dan
3625 * Configure.pl, Makefile.in, hints/darwin.pl: Add link flags as
3628 2002-01-04 18:27 dan
3630 * Configure.pl, Makefile.in, classes/Makefile.in, hints/mswin32.pl:
3631 Fixes to get things configuring and building on Win32 Native.
3633 Courtesy of "Jason Diamond" <jason@injektilo.org>
3635 2002-01-04 17:39 dan
3637 * hints/vms.pl: debug cleanup
3639 2002-01-04 16:53 dan
3641 * docs/parrot.pod: The enclosed patch brings the list of
3642 documentation in parrot.pod
3645 Courtesy of Simon Glover <scog@roe.ac.uk>
3647 2002-01-04 16:47 dan
3649 * test_main.c, Parrot/Jit/i386-linux.pm,
3650 lib/Parrot/Jit/i386-linux.pm: In an attempt to just keep knocking
3653 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3655 2002-01-04 16:44 dan
3657 * Configure.pl, Makefile.in: Fixed linking to use linker.
3659 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3661 2002-01-04 16:39 dan
3663 * io/io_stdio.c: Added CVS tag info
3665 2002-01-04 16:35 dan
3667 * hints/cygwin.pl: Time for this. We need a sane linker, and ld2
3670 2002-01-04 16:26 dan
3672 * languages/miniperl/Miniperl/Tokenizer.pm: Quiet a warning in the
3675 Courtesy of Jonathan Stowe <gellyfish@gellyfish.com>
3677 2002-01-04 16:17 dan
3679 * chartypes/unicode.c: Silence some warnings.
3681 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3683 2002-01-04 16:09 dan
3685 * classes/: genclass.pl, perlarray.pmc, perlint.pmc, perlnum.pmc,
3686 perlstring.pmc, perlundef.pmc: - genclass.pl attempts to put $Id$
3687 into generated files
3688 but the $Id$ string gets mangled when it's committed.
3689 This patch fixes the existing .pmc files and fixes genclass.pl.
3691 - Makes capitalization in .pmc header match actual filenames
3693 - The command for calling genclass.pl in vtables.pod is incorrect,
3694 since it assumes you're running in classes/ but genclass.pl
3696 it's being run from the main directory. I changed genclass.pl to
3700 Courtesy of Steve Fink <steve@fink.com>
3702 2002-01-04 03:57 dan
3704 * MANIFEST, io/TODO, io/io_stdio.c: No wonder things worked for
3705 me--I *had* the files:wq!
3707 2002-01-04 03:40 dan
3709 * MANIFEST: Whoops--remove files not really there
3711 2002-01-04 03:37 dan
3713 * interpreter.c, stacks.c, include/parrot/stacks.h: The patch below
3714 my sig adds a new_stack() function to take care of the allocation
3715 and setup of "generic" stacks.
3717 Courtesy of "Brent Dax" <brentdax@cpan.org>
3719 2002-01-04 02:36 dan
3721 * core.ops: The entry in core.ops for puts(s|sc) is missing a =cut
3723 writes a load of junk in core_ops.pod. Applied patch fixes.
3725 Courtesy of Simon Glover <scog@roe.ac.uk>
3727 2002-01-04 02:35 dan
3729 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: The PerlInt
3730 logical-or is using get_integer instead of get_bool for logical
3731 operations. This patch corrects that.
3733 Perlnum and perlstring have working get_bool's, so the default
3734 logical_or and logical_and should be sufficient. The empty methods
3735 are pointed to the default logical_or.
3737 Courtesy of Jason Gloudon <perl@gloudon.com>
3739 2002-01-04 02:31 dan
3741 * Makefile.in: docs/Makefile should be removed by realclean, but
3744 Courtesy of Kevin Falcone <kevin@jibsheet.com>
3746 2002-01-04 02:29 dan
3748 * classes/: Makefile.in, pmc2c.pl: PMC inheritance! Yay!
3750 Courtesy of Steve Fink <steve@fink.com>
3752 2002-01-04 00:51 dan
3754 * docs/vtables.pod: More docs
3756 Courtesy of Steve Fink <steve@fink.com>
3758 2002-01-04 00:47 dan
3760 * Configure.pl: Updated 64-bit patch
3762 Courtesy of "David M. Lloyd" <dmlloyd@tds.net>
3764 2002-01-04 00:43 dan
3766 * Configure.pl: 64-bit Fix.
3768 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3770 2002-01-03 22:37 dan
3772 * MANIFEST, Makefile.in, interpreter.c, include/parrot/io.h,
3773 io/io.c, io/io_os.c: Code cleanup, started STDIO layer, started
3774 some buffering work. Additional work on other layers.
3776 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3778 2002-01-03 19:41 gregor
3780 * disassemble.pl, obscure.ops, packfile.c, pbc2c.pl:
3781 Updated copyright messages on top-level files.
3783 2002-01-03 04:23 robert
3785 * make.pl: Add author information. Bonsai test.
3787 2002-01-03 04:02 dan
3789 * io/io_os.c: Twig Bonsai
3791 2002-01-03 03:45 dan
3793 * io/: io_os.c, io_os.c: Twig Bonsai
3795 2002-01-03 03:41 dan
3797 * io/io_os.c: Twig Bonsai
3799 2002-01-02 21:42 gregor
3801 * packfile.c, include/parrot/packfile.h:
3802 Get rid of warnings in packfile.[hc]
3804 2002-01-02 20:39 gregor
3807 Bracketed translated patterns with ^ and $.
3809 2002-01-02 20:11 dan
3811 * io/io_os.c: silence a warning
3813 2002-01-02 19:52 grunblatt
3815 * jit.c, jit2h.pl, include/parrot/jit.h: Moved the definition of
3816 op_assembly to jit_struct.h, so that we get the real number of ops.
3817 Removed some warnings.
3819 2002-01-02 19:31 tom
3821 * string.c: Fix string transcoding so that it actually works.
3823 Patch from Peter Gibbs <peter@emkel.co.za>
3825 2002-01-02 19:20 gregor
3828 A program to check the MANIFEST file, accounting for .cvsignore
3831 2002-01-02 19:19 dan
3833 * t/harness: twig bonsai
3835 2002-01-02 19:13 dan
3837 * t/harness: twig bonsai
3839 2002-01-02 18:54 dan
3841 * t/harness: Tweak to test Bonsai
3843 2002-01-02 16:27 dan
3845 * Configure.pl: Allow 64-bit build of parrot on systems with a
3846 mixed 32/64 bit perl
3848 Courtesy of David M. Lloyd <dmlloyd@tds.net>
3850 2002-01-02 15:33 simon
3852 * MANIFEST, docs/Makefile:
3853 Fixed up MANIFEST. (And I removed the Makefile in docs/)
3855 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
3857 2002-01-02 13:51 simon
3860 Die on broken manifest.
3862 2002-01-02 13:48 simon
3864 * jit2h.pl, examples/assembly/mops.pasm:
3865 Clear up JIT warnings.
3867 Courtesy of: Nick Clark <nick@unfortu.net>
3869 2002-01-02 04:10 dan
3871 * io/io.c, io/io_os.c, t/op/interp.t: IO stack now gets initialized
3872 only once, so new interp creation works again
3874 Courtesy of Melvin Smith <mrjoltcola@mindspring.com>
3876 2002-01-02 03:32 dan
3878 * t/op/interp.t: Stubbed the test out, since it's hanging at the
3881 2002-01-02 00:55 dan
3883 * MANIFEST, Makefile.in, core.ops, include/parrot/io.h, io/io.c,
3884 io/io_os.c: Initial IO system patches
3886 Courtesy of <mrjoltcola@mindspring.com>
3888 2002-01-01 22:55 ajgough
3890 * classes/default.pmc: On second thoughts, and some prodding, the
3891 set_* methods now only set the appropriate part of the cache, and
3894 2002-01-01 22:29 ajgough
3896 * classes/default.pmc: Wrote a whole host of default pmc methods.
3898 set_* create appropriate Perl* result.
3899 get_* simply grabs needed bit of cache.*_val
3901 Other methods do the rightest thing I can think of, at the moment.
3903 None yet cope with overflow, the modulus operation needs to be
3905 I don't know quite which semantics we really want.
3909 2002-01-01 20:23 dan
3911 * docs/Makefile, encodings/singlebyte.c, encodings/utf16.c,
3912 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h: Got
3913 rid of unneeded tmp var and eliminated const from encode prototype
3914 since it does make changes to the string.
3916 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3918 2002-01-01 20:11 dan
3920 * Makefile.in: Make clean now tosses pdump.o
3922 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3924 2002-01-01 19:49 dan
3926 * pdump.c, test_main.c: Warnings cleanup
3928 Courtesy of Josh Wilmes <josh@sky.net>
3930 2002-01-01 19:45 dan
3932 * Configure.pl, Makefile.in, docs/.cvsignore, docs/Makefile.in,
3933 hints/mswin32.pl, languages/jako/Makefile.in,
3934 languages/scheme/Makefile.in: Makes cleanup better on non-Unix
3937 Courtesy of "Jason Diamond" <jason@injektilo.org>
3939 2002-01-01 19:41 dan
3941 * include/parrot/register.h: Clean up some warnings
3943 Courtesy of Josh Wilmes <josh@hitchhiker.org>
3945 2002-01-01 19:10 simon
3947 * pbc2c.pl, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
3948 Hack-around to enable compilation of code using vtable ops.
3950 2002-01-01 18:43 dan
3952 * encodings/: singlebyte.c, utf16.c, utf32.c, utf8.c: Toss <0
3953 checks on unsigned things
3955 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
3957 2002-01-01 18:26 dan
3959 * runops_cores.c: More warning silences.
3961 Courtesy of Nicholas Clark <nick@unfortu.net>
3963 2002-01-01 18:25 dan
3965 * trace.c: Shuts up a warning.
3967 Courtesy of Nicholas Clark <nick@unfortu.net>
3969 2002-01-01 18:24 dan
3971 * encodings/singlebyte.c: Clean up some warnings.
3973 Courtesy of Nicholas Clark <nick@unfortu.net>
3975 2002-01-01 18:20 dan
3977 * Configure.pl: Hey, those PPros are really x86 systems! Who'dve
3980 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
3982 2002-01-01 18:17 dan
3984 * packfile.c: Warning cleanup
3986 Courtesy of Nicholas Clark <nick@unfortu.net>
3988 2002-01-01 17:53 dan
3990 * string.c: New string size should be based on output encoding's
3991 size, not input encoding's size.
3993 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
3995 2002-01-01 17:22 dan
3997 * Configure.pl, core.ops, interpreter.c, memory.c, runops_cores.c,
3998 string.c, test_main.c, trace.c, include/parrot/exceptions.h,
3999 include/parrot/interpreter.h, include/parrot/memory.h,
4000 include/parrot/oplib.h, include/parrot/string.h, t/op/string.t:
4003 Courtesy of Chip Turner <cturner@redhat.com>
4005 2002-01-01 17:09 dan
4007 * encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
4008 encodings/utf8.c, include/parrot/encoding.h: Some signed things are
4009 now unsigned, as is proper.
4011 Courtesy of: "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4012 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4014 2002-01-01 16:59 dan
4016 * include/parrot/trace.h: Useless debugging prototype removed
4018 Courtesy of: "Bryan C. Warnock" <bwarnock@raba.com>
4020 2002-01-01 16:58 dan
4022 * MANIFEST: We forgot a file.
4024 Courtesy of "Bryan C. Warnock" <bwarnock@raba.com>
4026 2002-01-01 03:53 dan
4028 * Configure.pl: Okay, I give. Removed some warnings because the
4029 darned system headers were triggering them. Sloppy, sloppy
4032 2002-01-01 03:48 dan
4034 * config_h.in: Add in an unsigned INTVAL.
4036 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4038 2002-01-01 03:46 dan
4040 * global_setup.c: Clean up some compiler warnings.
4042 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4044 2002-01-01 03:43 dan
4046 * ops2c.pl, Parrot/OpTrans.pm, Parrot/OpTrans/CPrederef.pm,
4047 lib/Parrot/OpTrans.pm, lib/Parrot/OpTrans/CPrederef.pm,
4048 include/parrot/op.h: Cleaned up some things to make the compiler
4051 Courtesy of Nicholas Clark <nick@unfortu.net>
4053 2002-01-01 03:14 dan
4055 * Configure.pl: Quad updates.
4057 Courtesy of Nicholas Clark <nick@unfortu.net>
4059 2001-12-31 22:53 dan
4061 * include/parrot/op.h: Typedef had parameters backwards. Threw
4062 core.ops for a big whiny warnings loop.
4064 2001-12-31 22:37 dan
4066 * Makefile.in, resources.c: Tweaks to try and get things to build
4069 2001-12-31 21:58 dan
4071 * Configure.pl: Stupid thinko fix
4073 2001-12-31 21:34 dan
4075 * Configure.pl, hints/mswin32.pl: Tweaks for Win32 builds
4077 Courtesy of: "Jason Diamond" <jason@injektilo.org>
4079 2001-12-31 21:32 dan
4081 * Configure.pl: Fix for non-gcc systems
4083 2001-12-31 20:22 dan
4085 * interpreter.c: Tweak so we can build on non-JIT platforms
4087 2001-12-31 20:11 dan
4089 * Configure.pl: Force the time on some copied files to be 'now' to
4090 make the Win builds much less annoying.
4092 Courtesy of "Jason Diamond" <jason@injektilo.org>
4094 2001-12-31 20:07 dan
4096 * Configure.pl: Nuke all object files in the parrot tree that
4097 matter when configuring. Shouldn't be necessary with good
4098 dependencies in the makefile, but we don't have those yet.
4100 2001-12-31 20:00 gregor
4102 * chartypes/unicode.c:
4103 Silence unused variable warnings.
4105 2001-12-31 19:40 dan
4107 * Configure.pl: Minor Win32 tweaks. Tossed -Wtraditional, too
4109 2001-12-31 19:37 gregor
4111 * interpreter.c, jit.c, include/parrot/jit.h:
4112 Created a prototype for JIT functions and used it in interpreter.c.
4114 2001-12-31 19:31 dan
4116 * Configure.pl, test_gnuc.c: Better GCC detection (and version
4117 detection) with really cranky warnings if we find we're using it.
4119 Courtesy of: Nicholas Clark <nick@unfortu.net>
4121 2001-12-31 18:01 gregor
4123 * interpreter.c, include/parrot/interpreter.h, include/parrot/op.h:
4125 Fixed a few warnings wrt prototypes, etc.
4127 2001-12-31 17:23 dan
4129 * string.c: Silenced most of the compiler whines
4131 2001-12-31 17:15 gregor
4134 Get the ccname from either ccname or just cc config var.
4136 2001-12-31 17:14 gregor
4138 * Parrot/Op.pm, lib/Parrot/Op.pm:
4139 Another intermediate opbody notation. Could come in handy. Explicit
4142 2001-12-31 17:05 dan
4144 * string.c: Minor warnings update
4146 2001-12-31 17:00 dan
4148 * include/parrot/string.h: Warnings cleanup
4150 2001-12-31 16:00 simon
4152 * encodings/utf8.c, include/parrot/encoding.h:
4153 Remove a couple more.
4155 2001-12-31 15:58 simon
4157 * vtable_h.pl, include/parrot/global_setup.h, include/parrot/jit.h,
4158 include/parrot/op.h:
4159 Rid ourselves of a few warnings.
4161 2001-12-31 15:32 dan
4163 * Configure.pl: Made GCC ever so much pickier.
4165 Switch list courtesy of Jarkko.
4167 2001-12-31 15:22 dan
4169 * string.c: Tightened up initial allocation.
4171 Courtesy of: "Peter Gibbs" <peter@emkel.co.za>
4173 2001-12-31 06:48 dan
4175 * Configure.pl: Minor Windows tweak
4177 2001-12-31 05:32 dan
4179 * core.ops: Unused temp variable tossed.
4181 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4183 2001-12-31 05:09 grunblatt
4185 * Configure.pl, Makefile.in, interpreter.c: Link jit.o only on
4186 supported plataforms
4188 2001-12-31 03:05 dan
4190 * Configure.pl, Makefile.in, classes/Makefile.in: Added in a
4191 platform-independent quote substitution for the makefiles.
4192 Hopefully this'll make the Win32 builds happier.
4194 2001-12-30 21:08 dan
4196 * string.c, include/parrot/string.h: More string system tweaks.
4198 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4200 2001-12-30 20:45 dan
4202 * core.ops: Some pod cleanup
4204 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4206 2001-12-30 20:22 ajgough
4208 * docs/parrot_assembly.pod: removed ntoi and iton ops from docs, as
4209 we aren't using them right now. Clarified the workings of set Px,
4210 Py and clone Px, Py.
4212 2001-12-30 20:15 grunblatt
4214 * jit.c, jit2h.pl, jit/i386/core.jit: Removed the warnings in jit.c
4215 Added readjit() to read *.jit files Updated core.jit to the new
4218 2001-12-30 20:14 ajgough
4220 * examples/assembly/mops.pasm: Changed iton/ntoi to set.
4222 2001-12-30 19:52 dan
4224 * packfile.c, pdump.c, register.c, string.c, include/parrot/key.h,
4225 include/parrot/trace.h, platforms/generic.c: Compiler whine
4228 Courtesy of Josh Wilmes <josh@hitchhiker.org>
4230 2001-12-30 19:13 dan
4232 * Configure.pl, Makefile.in: Make GCC pickier by default.
4234 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
4236 2001-12-30 18:41 dan
4238 * core.ops, t/op/integer.t, t/op/number.t: Transformed iton and
4239 ntoi opcodes to sets.
4241 Courtesy of "David & Lisa Jacobs" <jacobsl001@hawaii.rr.com>
4243 2001-12-30 17:58 gregor
4246 'make' no longer builds the mops test. Use 'make mops' for that. To
4247 run the test, you can do 'make mopstest'.
4249 2001-12-30 17:30 gregor
4252 Fixed one oversight. 'make clean' was removing Parrot/Types.pm. Bad
4255 2001-12-30 17:26 gregor
4257 * .cvsignore, Configure.pl, Makefile.in, VERSION, config_h.in,
4258 core.ops, interpreter.c, make_vtable_ops.pl, obscure.ops, ops2c.pl,
4259 Parrot/BuildUtil.pm, Parrot/OpsFile.pm, lib/Parrot/BuildUtil.pm,
4260 lib/Parrot/OpsFile.pm, include/parrot/oplib.h:
4261 Build enhancements. Originally to support building shared
4262 libraries, but now of broader impact.
4264 * .cvsignore: Ignore the blib/ directory, about which more later.
4268 * Got rid of TAB formatting and lined a few things up.
4270 * Added header comment with CVS Id variable, and a few other
4271 block header comments.
4273 * Uses new Parrot::BuildUtil module to determine the Parrot
4276 * Reworded a few messages, added a couple, and wrapped
4280 * Added 2002 to the Copyright statement.
4282 * Added new configure variables: VERSION, MAJOR, MINOR and
4285 NOTE: Please see the 'Alas perl5.7.2' comment. 5.7.2 is
4287 than 5.6.0, but the comment implies it isn't.
4291 * Added $(SO), $(A) and $(AR_CRS) defines for library
4294 * Added $(RM_RF) define for removing directory trees
4296 * Grouped generated files into two classes: "sticky" (made by
4298 persisting across 'make clean') and 'fluid' (made during
4300 process, deleted by 'make clean').
4302 * Added header comments.
4304 * Added target for test_prog linked with shared library.
4306 * Added rules to build shared libraries in blib/lib. The
4308 built with trailing version numbers in their file names,
4310 symbolic links are created for shorter and no version tag
4313 * Added some missing dependencies
4315 * Added some missing 'make clean' targets.
4317 * Added 'make realclean' target that deletes files created by
4318 Configure.pl (including Makefile), forcing a re-configure.
4320 * Added a 'status' CVS target.
4322 * VERSION: New file, contains only the version. This version
4324 propagated to a few places, such as the core oplib version
4326 reduces the amount of coordination that has to happen to get
4328 number stuff throughout the tree in sync and updated prior to
4330 a new release. Feel free to grep for '0.0.3' to see the other
4332 that contain the version number (but, do that in a fresh CVS
4334 after doing 'make realclean').
4336 * config_h.in: Renamed PARROT_CORE_OPLIB_*_VERSION to
4338 since the oplib and Parrot itself share a version number now.
4340 PARROT_PATCH_VERSION (the third component) and PARROT_VERSION
4344 * core.ops: Uses new notation "VERSION = PARROT_VERSION" instead
4346 specifying the version by hand. Non-core oplibs will set this
4348 a quoted dot-string with three natural number components
4352 * interpreter.c: Make use of PARROT_VERSION to simplify some
4354 to get the complete version number in the resulting strings
4358 * make_vtable_ops.pl: Put the "VERSION = PARROT_VERSION" line int
4362 * obscure.ops: Use the new "VERSION = PARROT_VERSION" technique.
4364 * ops2c.pl: Account for the PATCH version, too. This affects the
4366 oplib init function, and the oplib info struct initializer.
4368 * Parrot/BuildUtil.pm: New file for reading in and validating the
4370 the new VERSION file. Other build utilities could go here in
4373 * Parrot/OpsFile.pm:
4375 * Allow three components in version number, and require that
4377 be in double quotes.
4379 * Allow "VERSION = PARROT_VERSION", substituting the shared
4381 VERSION in that case.
4383 * include/parrot/oplib.h: Add the patch_version member.
4385 2001-12-30 12:16 simon
4387 * MANIFEST, Makefile.in:
4388 More stuff forgotten from MANIFEST.
4390 2001-12-30 12:13 simon
4395 2001-12-30 12:12 simon
4400 2001-12-30 12:12 simon
4405 2001-12-30 12:04 simon
4407 * Makefile.in, core.ops, packfile.c, pbc2c.pl, string.c,
4408 classes/perlstring.pmc, encodings/singlebyte.c, encodings/utf16.c,
4409 encodings/utf32.c, encodings/utf8.c, include/parrot/encoding.h,
4410 include/parrot/string.h, t/op/string.t:
4411 * Expand the strings test suite to be more complete * Make string
4412 commands more consistent (i.e, now the only string command that
4413 actually changes the original is chopn) * Significantly reduce the
4414 number of memory allocations and eliminate reallocations.
4416 Courtesy of: David Jacobs <jacobsl001@hawaii.rr.com>
4418 2001-12-29 22:12 dan
4420 * interpreter.c, key.c, register.c, stacks.c, string.c,
4421 test_main.c, trace.c: Updates to match the coding standards.
4423 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
4425 2001-12-29 20:42 grunblatt
4427 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4428 Parrot/Jit/i386-nojit.pm, jit/i386/core.jit, jit/i386/lib.jit,
4429 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4430 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm: Allow
4431 us to write asm in *.jit files instead of hex. Courtesy of: Rafael
4432 Kitover <caelum@debian.org>
4434 2001-12-28 21:20 dan
4436 * core.ops: Okay, now print takes a preceding file handle.
4438 I feel so dirty now.
4440 2001-12-28 20:46 dan
4442 * core.ops, t/op/hacks.t: Added in the readline op, as well as
4443 changing the open op to use fopen under the hood.
4445 THESE OPS ARE EVIL! AND TEMPORARY! USE FOR DEBUGGING PURPOSES ONLY!
4447 2001-12-28 18:20 ajgough
4449 * core.ops, make_vtable_ops.pl, string.c, classes/default.pmc,
4450 classes/perlstring.pmc, docs/parrot_assembly.pod, docs/strings.pod,
4451 include/parrot/exceptions.h, include/parrot/string.h,
4452 t/op/pmc_perlstring.t, t/op/string.t, t/pmc/perlstring.t: Added
4453 repeat op, so that "foo" x 10 can be done. Filled in PerlString
4454 vtables appropriately. Also tests for same, new pmc_perlstring.t
4455 to hold tests specific to PerlStrings, as the pmc.t file is taking
4456 too long to run and slowing down my thought processes.
4458 Changes to strings.c etc to take string functions.
4460 Some changes to the strings docs, but not yet complete.
4462 Also, PerlString was copying pointers to strings, rather than
4463 strings themselves, so some action-at-a-distance bugs were creeping
4464 in, I think I've fixed this so everything works nicely.
4466 2001-12-28 04:56 gregor
4468 * examples/assembly/pmcmops.pasm:
4469 PMC-using version of mops.pasm.
4471 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
4473 2001-12-28 04:56 gregor
4475 * examples/assembly/.cvsignore:
4476 Small tinkering. Removed old stuff, etc.
4478 2001-12-28 01:26 gregor
4480 * examples/mops/mops.scheme:
4481 Scheme example. Major GC thrashing on umb-scheme here. Probably due
4482 to the very un-scheme-like implementation.
4484 2001-12-28 01:19 gregor
4486 * examples/mops/mops.c:
4487 Some people's picky compilers don't like us redefineing time(), so
4488 we call it time_n(). :)
4490 2001-12-28 00:28 gregor
4492 * examples/mops/: README, mops.ps:
4493 Added a PostScript example and a README.
4495 2001-12-27 23:57 gregor
4498 Build the C mops translation in examples/mops/mops.c
4500 2001-12-27 23:56 gregor
4502 * examples/mops/: .cvsignore, mops.c, mops.pl, mops.py, mops.rb:
4503 Some translations of mops.pasm into other languages, for inner loop
4504 performance comparisons.
4506 2001-12-27 22:40 gregor
4508 * examples/assembly/mops.pasm:
4509 Fixed erroneous file name in header comment.
4511 2001-12-27 21:18 gregor
4514 One-liner to avoid no-op gotos to the next op.
4516 2001-12-27 21:06 gregor
4519 Fixed -p (profiling). Slow runops core was doing unconditional
4520 tracing, when it should have been checking the flags.
4522 2001-12-27 18:50 ajgough
4524 * core.ops, string.c, chartypes/unicode.c, chartypes/usascii.c,
4525 classes/perlstring.pmc, include/parrot/chartype.h,
4526 include/parrot/string.h, t/op/pmc.t, t/op/string.t, t/pmc/pmc.t:
4527 dded get_digit() to chartypes * Added string_bool() to strings *
4528 Added if_s_ic op, to use same * Added (PerlString)->get_bool stuff
4529 to perlstring.pmc * Tests for above, also a for couple of other
4532 The unicode chartype has only had placeholders added for get_digit,
4533 string_to_num has been updated to use type->get_digit rather than
4534 the previous ascii-isms. Some remain, but we need to carefully
4535 define what we mean by a number before we let thousands of code
4536 points act as a minus sign.
4538 2001-12-27 18:32 dan
4540 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Silenced some
4543 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4545 2001-12-27 18:23 dan
4547 * t/op/bitwise.t: More tests.
4549 Courtesy of "David Jacobs" <jacobsl001@hawaii.rr.com>
4551 2001-12-27 17:08 gregor
4553 * MANIFEST, Makefile.in, config_h.in, core.ops, interpreter.c,
4554 make_vtable_ops.pl, obscure.ops, ops2c.pl, ops2pm.pl, test_main.c,
4555 trace.c, Parrot/OpsFile.pm, include/parrot/interp_guts.h,
4556 include/parrot/interpreter.h, include/parrot/oplib.h,
4557 lib/Parrot/OpsFile.pm, platforms/generic.c, platforms/generic.h,
4558 platforms/win32.c, platforms/win32.h:
4559 Initial code for dynamic loading of oplibs, applied for now to the
4560 loading of the core_prederef oplib when the -P flag is passed to
4563 * MANIFEST: Added entry for the new file include/parrot/oplib.h.
4567 * Added libcore_prederef_0_3.so to the shared target.
4568 * Added build rule for libcore_prederef_0_3.so.
4569 * Added dependencies on Parrot/OpsFile.pm and Parrot/Op.pm
4570 to Parrot/OpLib/core.pm, core_ops.c and
4571 core_ops_prederef.c.
4573 * config_h.in: Added defines for constants used to locate the
4574 core oplib's init function, and the core_prederef oplib for
4577 * core.ops: Added a VERSION = 0.3 line near the top. This is now
4578 required by Parrot/OpsFile.pm.
4582 * Added init_prederef() and stop_prederef() functions to load
4583 and unload the core_prederef oplib when we are in prederef
4586 NOTE: In all likelihood, the prederef stuff has a rapidly
4587 dwindling time-to-live. The JIT should provide vastly
4589 performance, and loading an alternate set of core_ops isn't
4590 the real direction for the dynaloading stuff. Loading
4591 *additional* ops is. It does provide a handy test case for
4593 general idea for now, though.
4595 * Gets the core copcode table, etc. via the core oplibs oplib
4596 info pointer, as returned by the core oplib's init
4601 * Make use of the version, major version and minor version
4602 stuff parsed by Parrot/OpsFile.pm
4604 * The only exported symbol in the generated files is the init
4605 function now, since that returns an oplib info struct
4606 pointer, and all the important stuff can be found there.
4608 * ops2pm.pl: Put the oplib version in the generated .pm file.
4610 * test_main.c: Small changes necessitated by changes in the names
4611 of some members of the interpreter struct.
4613 * trace.c: Small changes necessitated by changes in the names
4614 of some members of the interpreter struct.
4616 * Parrot/OpsFile.pm: Require a "VERSION = x.y" line before any
4619 * include/parrot/interp_guts.h: Small changes necessitated by
4620 changes in the names of some members of the interpreter struct.
4622 * include/parrot/interpreter.h: Include the new
4623 include/parrot/oplib.h header. Small changes to the oplib-
4626 * include/parrot/oplib.h: Define the type of the oplib init
4627 function, and the struct type for the oplib info.
4629 * platforms/*.[hc]: Remove the second argument to Parrot_dlopen()
4630 since not all platforms have it. For those that do, a default
4631 second argument is provided.
4633 2001-12-26 05:12 gregor
4636 Make jitarch calculation not get tripped up by extra components to
4639 2001-12-24 21:23 gregor
4641 * jit.c, jit2h.pl, Parrot/Jit/i386-bsd.pm,
4642 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm,
4643 include/parrot/jit.h, jit/i386/core.jit, jit/i386/lib.jit,
4644 jit/i386/string.jit, lib/Parrot/Jit/i386-bsd.pm,
4645 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4646 Some more JIT work from Daniel Grunblatt.
4648 * Ops added set_s_s, set_s_sc, bsr_i and eq_s_sc but using calls
4652 * Added JUMP(END) to place the number of bytes to the end of the
4656 * The *.jit files syntax changed.
4658 * Added jit/i386/lib.jit to place handly functions as jump that
4660 argument the address where is the opcode number to jump to.
4662 * There is a bug at some point, but I will start writing
4663 jit/i386/string.jit and jit/i386/stacks.jit so that we don't
4665 calls, which make the jit as slow as the interpreter.
4667 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4669 2001-12-24 03:46 dan
4671 * Parrot/OpTrans.pm, Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4672 Parrot/OpTrans/CPrederef.pm, lib/Parrot/OpTrans.pm,
4673 lib/Parrot/OpTrans/C.pm, lib/Parrot/OpTrans/CGoto.pm,
4674 lib/Parrot/OpTrans/CPrederef.pm: Commented out the use warnings.
4675 Perls before 5.6.0 don't like it.
4677 2001-12-22 16:02 ajgough
4679 * t/op/stacks.t: stopped skipping tests we can run now. added
4682 2001-12-21 21:13 gregor
4684 * jit2h.pl, Parrot/Jit/i386-bsd.pm, Parrot/Jit/i386-linux.pm,
4685 Parrot/Jit/i386-nojit.pm, lib/Parrot/Jit/i386-bsd.pm,
4686 lib/Parrot/Jit/i386-linux.pm, lib/Parrot/Jit/i386-nojit.pm:
4687 Fixed some package name goofs.
4689 Thanks to: Andy Dougherty <doughera@mail.lafayette.edu>
4691 2001-12-21 19:32 gregor
4693 * MANIFEST, Makefile.in, core.ops, interpreter.c,
4694 make_vtable_ops.pl, obscure.ops, ops2c-prederef.pl, ops2c.pl,
4695 pbc2c.pl, stacks.c, Parrot/Op.pm, Parrot/OpTrans.pm,
4696 Parrot/Opcode.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
4697 lib/Parrot/OpTrans.pm, lib/Parrot/Opcode.pm, lib/Parrot/OpsFile.pm,
4698 Parrot/OpTrans/C.pm, Parrot/OpTrans/CGoto.pm,
4699 Parrot/OpTrans/CPrederef.pm, docs/intro.pod, include/parrot/op.h,
4700 include/parrot/stacks.h, lib/Parrot/OpTrans/C.pm,
4701 lib/Parrot/OpTrans/CGoto.pm, lib/Parrot/OpTrans/CPrederef.pm:
4702 Changes to syntax of .ops files and refactoring of ops2c*.pl and
4705 * Removed ops2c-prederef.pl
4707 * (unrelated) Removed vestigial Parrot/Opcode.pm file.
4709 * Added Parrot/OpTrans.pm, Parrot/OpTrans/C.pm (needed for old
4710 functionality of ops2c.pl), Parrot/OpTrans/CPrederef.pm (needed
4711 for old functionality of ops2c-prederef.pl), and
4712 Parrot/OpTrans/CGoto.pm (needed for functionality of pbc2c.pl).
4714 "OpTrans" == "Op Transformation"
4716 * Makefile.in modifications to call "ops2c.pl C" where it used
4717 to be just "ops2c.pl", and "ops2c.pl CPrederef" where it used
4718 to be "ops2c-prederef.pl".
4720 * core.ops and obscure.ops changes to syntax. Semantics are
4721 identical with previous version:
4723 return HALT --> HALT()
4724 return AUTO --> goto NEXT()
4725 return RETREL(...) --> goto OFFSET(...)
4726 return RESTART(*) --> restart NEXT()
4728 Also, pop_generic_entry() stuff (local var + 5 lines of code)
4729 for dest-less branch ops replaced with new notation "goto
4731 which uses the new pop_dest() function in stacks.c. This also
4732 allowed these ops to become 'inline' ops, since they no longer
4733 have local variables.
4735 The 'ret' op also became simplified to just "goto POP()", and
4736 also became an inline op.
4738 * interpreter.c reflects the change in type name:
4740 prederef_op_func_t --> op_func_prederef_t
4742 that occurred in include/parrot/op.h
4744 * make_vtable_ops.pl uses "goto NEXT()" where it used to use
4747 * ops2c.pl is now generic. Its first argument is the last
4748 package name component of a subclass of Parrot::OpTrans. These
4749 subclasses all have full names of the form Parrot::OpTrans::*.
4750 An instance of the class is created and later consulted for
4751 various bits of information needed to generate the C code.
4753 * pbc2c.pl now uses an instance of Parrot::OpTrans::CGoto to
4754 contain its transformation rules.
4756 * stacks.c has a new function pop_dest() that pops a destination
4757 off the control stack. include/parrot/stacks.h has the
4760 * Parrot/Op.pm now supports the syntax generated by
4762 for the "goto POP" case.
4764 Also, the source() method now expects its second argument to be
4765 an object that ISA Parrot::OpTrans. Methods of this object are
4766 called to perform the substitutions.
4768 * Parrot/OpsFile.pm supports the change in notation mentioned
4771 * docs/intro.pod reflects these changes.
4773 * include/parrot/op.h: Renamed type prederef_op_func_t to
4774 op_func_prederef_t because it made the implementation of the
4775 shared ops2c.pl easier.
4777 2001-12-21 13:47 gregor
4779 * Configure.pl, config_h.in, interpreter.c, test_main.c:
4780 Both test_parrot (via test_main.c) and the intepreter itself (via
4781 interpreter.c) use the JIT_CAPABLE config to decide whether to
4782 actually attempt JIT operation, or to complain.
4784 2001-12-20 23:25 gregor
4786 * core.ops, make_vtable_ops.pl, obscure.ops, Parrot/OpsFile.pm,
4787 lib/Parrot/OpsFile.pm, docs/intro.pod, include/parrot/op.h:
4788 Changes to the format of *.ops files. An attempt to provide hints
4789 for future opfunc processing logic that wants to know if an opfunc
4790 is simple enough to JIT (e.g.) inline, or not.
4792 See the POD in Parrot/OpsFile.pm and the updated docs/intro.pod in
4793 addition to The Source in core.ops and Parrot/OpsFile.pm for more
4796 2001-12-20 21:28 gregor
4798 * Configure.pl, jit.c, jit2h.pl, include/parrot/jit.h,
4802 * A fix to Gregor's last Configure.pl update.
4804 * Remove the need for hardcoded "\n" at the end of the "%f"
4805 format for printing floating-point numbers.
4807 * New, improved *.jit syntax for references to registers,
4810 * Support for C() improved.
4812 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4814 2001-12-20 16:55 dan
4816 * MANIFEST: Added jit.c to the manifest.
4818 2001-12-20 15:24 simon
4821 Off-by-one error fixed.
4823 2001-12-20 14:18 simon
4825 * jit/i386/core.jit:
4826 Just a noop. It's the only machine code I know.
4828 2001-12-20 13:10 gregor
4830 * Configure.pl, Makefile.in, jit2h.pl:
4831 Attempt to fix Win32 builds.
4833 * No more empty braces in include/parrot/jit_struct.h
4837 * ${jitarchname} has the *bsd -> bsd substitution on it, but
4841 2001-12-20 11:56 simon
4846 2001-12-20 01:57 gregor
4848 * Configure.pl, MANIFEST, Makefile.in, interpreter.c, jit.c,
4849 jit2h.pl, test_main.c, Parrot/.cvsignore, Parrot/Jit/i386-bsd.pm,
4850 Parrot/Jit/i386-linux.pm, Parrot/Jit/i386-nojit.pm, docs/jit.pod,
4851 include/parrot/.cvsignore, include/parrot/interpreter.h,
4852 include/parrot/jit.h, jit/i386/core.jit, jit/i386/string.jit,
4853 lib/Parrot/Jit/i386-bsd.pm, lib/Parrot/Jit/i386-linux.pm,
4854 lib/Parrot/Jit/i386-nojit.pm:
4855 Initial JIT implementation.
4857 * Enabled with test_parrot -j. 20x speed boosts seen.
4859 * Unsupported archs mapped to i386-nojit. Don't do -j on them.
4863 Courtesy of: Daniel Grunblatt <daniel@grunblatt.com.ar>
4865 2001-12-20 01:53 jgoff
4867 * MANIFEST, core.ops, t/op/key.t: MANIFEST - Removed t/op/key.t
4868 core.ops - Removed key operators, they should be hidden from the
4869 assembler. t/op/key.t - No need to test the nonexistent key
4872 2001-12-20 00:13 ajgough
4874 * core.ops, t/op/stacks.t: Added tests for entrytype op, noticed
4875 that asking for type of entry at depth causes segfault as stack is
4876 zero based, fixed cmp in core.ops to reflect this. Last test is
4877 skipped as we don't do exceptions right yet.
4879 2001-12-19 19:11 ajgough
4881 * t/op/debuginfo.t: Added C<end> ops to debuginfo.t, as thier
4882 non-being was causing Irix "issues".
4884 2001-12-19 03:37 jgoff
4886 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 003_generator.t,
4887 004_combined.t: Changed tests to make sure they pass with the
4888 addition of the clone operator.
4890 2001-12-18 20:06 gregor
4892 * interpreter.c, include/parrot/interp_guts.h:
4893 Performance improvements to the predereferencing code path
4894 suggested to me over lunch yesterday by my friend John Kennedy.
4895 The goal is to remove the additional test in the inner loop that
4896 was checking for NULL to decide whether or not to call the
4897 prederef() function. Also moved pc & pc_prederef syncing outside
4900 * Changed the prototype of the prederef() function in
4901 interpreter.c to match that of an opfunc.
4903 * Instead of initializing the prederef void * array with NULL,
4904 we initialize it with pointers to prederef().
4906 * prederef() now returns the prederef_pc passed in, so that
4907 after predereferencing, the same location is executed, but now
4908 with the real code being called.
4910 Thanks to: John Kennedy
4912 2001-12-18 19:59 ajgough
4914 * t/: op/pmc.t, pmc/pmc.t: Added some more num -> string tests
4915 (including some more in the skipped string -> int tests).
4917 2001-12-18 07:06 jgoff
4919 * MANIFEST: Forgot to add classes/perlarray.pmc
4921 2001-12-18 07:05 jgoff
4923 * Makefile.in, core.ops, global_setup.c, vtable.tbl,
4924 classes/Makefile.in, classes/default.pmc, classes/perlarray.pmc,
4925 classes/perlint.pmc, classes/perlnum.pmc, classes/perlstring.pmc,
4926 classes/perlundef.pmc, include/parrot/pmc.h, t/op/pmc.t,
4927 t/pmc/pmc.t: Big update... Makefile.in - Added
4928 classes/perlarray.pmc core.ops - Added new series of set() ops for
4929 arrays global_setup.c - Initialized perlarray classes/Makefile.in -
4930 Added perlarray.pmc classes/*.pmc - Added
4931 set_{integer,number,string}_index and
4932 get_{integer,number,string}_index include/parrot/pmc.h - Added new
4933 type t/op/pmc.t - Added basic array test
4935 classes/perlarray.pmc - Added
4937 2001-12-17 05:29 jgoff
4939 * languages/miniperl/Miniperl/Generator.pm: Altered miniperl code
4940 generator to use clone operator instead of set Px,Py
4942 2001-12-17 05:25 jgoff
4944 * core.ops, classes/perlint.pmc, classes/perlnum.pmc,
4945 classes/perlstring.pmc, t/op/pmc.t, t/pmc/pmc.t: Added clone
4946 PMC,PMC operator. Uses the clone() vtable entries.
4948 2001-12-17 04:51 jgoff
4950 * MANIFEST: Added miniperl test suite, removed old Miniperl/Test.pm
4953 2001-12-17 04:41 jgoff
4955 * languages/miniperl/Miniperl/Makefile.PL: Now in its proper
4958 2001-12-17 04:41 jgoff
4960 * languages/miniperl/Makefile.PL: Moved it to the proper directory.
4962 2001-12-17 04:39 jgoff
4964 * languages/miniperl/: Makefile.PL, Miniperl.pm, miniperlc, mpc,
4965 Miniperl/Tokenizer.pm: Makefile.PL to let us run the test suite in
4968 2001-12-17 04:27 jgoff
4970 * languages/miniperl/Miniperl.pm: Latest version of the driver.
4971 Admittedly it's a little thin on true OO, but the algorithms are
4974 2001-12-17 04:24 jgoff
4976 * languages/miniperl/Miniperl/t/: 001_tokenizer.t, 002_parser.t,
4977 003_generator.t, 004_combined.t: Much more comprehensive test suite
4978 for the codegen et al
4980 2001-12-17 04:22 jgoff
4982 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm,
4983 Tokenizer.pm: Newer codegen, tightened up parser output, added hash
4986 2001-12-17 04:20 jgoff
4988 * languages/miniperl/Miniperl/Test.pm: The newer test suite is much
4991 2001-12-17 04:17 jgoff
4993 * languages/miniperl/foo.mpl: Test file that'll be outdated by
4994 changes to the new compiler
4996 2001-12-17 04:11 jgoff
4998 * languages/miniperl/t/: harness, 001_basic/basic.t: Moving testing
5001 2001-12-16 14:11 simon
5003 * classes/perlint.pmc, examples/assembly/mops_p.pasm, t/op/pmc.t,
5005 Fix bogus assumption that multiplying an integer by an integer
5008 2001-12-16 12:48 simon
5010 * make_vtable_ops.pl:
5013 2001-12-16 12:45 simon
5015 * make_vtable_ops.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm:
5016 Expand multimethod vtable ops.
5018 2001-12-16 12:04 simon
5021 Added 'cvsclean' which doesn't zap CVS/* directories.
5023 2001-12-15 01:50 dan
5025 * include/parrot/string.h: Fixed typo in string.h. lagnuage,
5028 Thanks to grunblatt fom #parrot for the catch
5030 2001-12-15 01:39 dan
5032 * .cvsignore, Configure.pl, MANIFEST, languages/jako/Makefile.in,
5033 languages/miniperl/.cvsignore, languages/miniperl/Makefile,
5034 languages/miniperl/Makefile.in,
5035 languages/miniperl/Miniperl/Test.pm, languages/scheme/.cvsignore,
5036 languages/scheme/Makefile, languages/scheme/Makefile.in: Build
5039 Courtesy of: Jay McCarthy <jay@kenyamountain.com>
5041 2001-12-14 17:39 dan
5043 * t/op/trans.t: More trans tests.
5045 Courtesy of: Simon Glover <scog@roe.ac.uk>
5047 2001-12-14 07:41 robert
5049 * make.pl: - define MAKE macro - topological sort and subgraph
5050 order - start of timestamp stuff (still badly broken)
5052 2001-12-14 06:06 jgoff
5054 * optimizer.pl: Hopefully this should do the trick..
5056 2001-12-14 06:04 jgoff
5058 * Parrot/Optimizer.pm, lib/Parrot/Optimizer.pm: Optimizer
5060 optimizer.pl is the stub, Parrot/Optimizer.pm is the driver.
5062 The optimizer performs its work on a file post-macro expansion.
5063 Run it on a .pasm file, preferably with some trivially reducible
5065 like 'add I0,5,-6' or 'mul I0,I1,0'
5067 2001-12-14 05:48 robert
5069 * Makefile.in: case error EXE -> exe
5071 2001-12-14 05:42 robert
5073 * Makefile.in: remove legacy PDISASM macro
5075 2001-12-14 04:01 dan
5077 * classes/Makefile.in, languages/Makefile.in: Makefile tweaks for
5080 Courtesy of: Garrett Goebel <garrett@scriptpro.com>
5082 2001-12-13 22:03 dan
5084 * Configure.pl, Makefile.in, Parrot/Test.pm,
5085 languages/scheme/Makefile, languages/scheme/Scheme/Test.pm,
5086 lib/Parrot/Test.pm: Parrot test prog's now a config variable, so we
5087 can change it without having to change the world.
5089 2001-12-13 21:57 dan
5091 * core.ops, interpreter.c, docs/parrot_assembly.pod,
5092 include/parrot/interpreter.h, t/op/debuginfo.t: Added current
5093 file/line/package to interp structure, with ops to get and set
5094 them. Now we can know where we are!
5096 2001-12-13 19:43 dan
5098 * Configure.pl, Makefile.in: Makefile tweaks to hopefully make
5099 WinXP builds work out of the box
5101 2001-12-13 17:05 dan
5103 * Makefile.in, Parrot/Test.pm, lib/Parrot/Test.pm: Change test prog
5104 name again--makes case-insensitive systems much happier.
5106 2001-12-13 16:21 dan
5108 * core.ops, key.c, string.c, test_main.c, trace.c,
5109 classes/Makefile.in, include/parrot/trace.h: Fixes to clean up
5112 Courtesy of: Josh Wilmes <josh@sky.net>
5114 2001-12-13 13:33 gregor
5116 * languages/jako/Makefile.in:
5117 Improved the method of calling the assembler.
5119 2001-12-13 13:30 gregor
5121 * languages/jako/Makefile.in:
5122 Improve the build process. It now works from the main parrot dir,
5123 and from the languages/jako directory. Now uses the .SUFFIXES
5124 target and generic build rules to reduce clutter in the
5127 2001-12-13 13:29 gregor
5129 * languages/jako/.cvsignore:
5130 Ignore the (now generated Makefile), and don't ignore .list files
5131 anymore, since we aren't generating them.
5133 2001-12-13 13:11 gregor
5135 * Configure.pl, MANIFEST, Makefile.in, languages/.cvsignore,
5136 languages/Makefile.in, languages/jako/Makefile,
5137 languages/jako/Makefile.in:
5138 Added a 'languages' target to the top-level Makefile.in, and
5139 modified the jako build procedure to involve Makefile.in -->
5140 Makefile too (done by Configure.pl).
5142 NOTE: languages/jako and language/scheme are built.
5143 languages/miniperl wasn't building right, so it was left off for
5146 2001-12-13 12:15 gregor
5149 Added MAINTAINER file and mandelzoom.jako from languages/jako to
5152 2001-12-13 12:12 gregor
5154 * .cvsignore, MANIFEST, Makefile.in, core.ops, interpreter.c,
5155 ops2c-prederef.pl, ops2c.pl, test_main.c,
5156 include/parrot/interp_guts.h, include/parrot/interpreter.h,
5157 include/parrot/op.h, include/parrot/oplib/.cvsignore:
5158 Welcome to the Just-in-Time Predereferencing Patch!
5160 This patch implements a "predereferencing" mode for parrot. That
5161 means that a lot of the dereferencing you see in DO_OP and in the
5162 opfuncs is done up front (really, JIT) rather than as and each time
5163 we execute each op in the byte code stream.
5165 This works by creating an array of void pointers with the same
5166 number of elements as the byte code array. This array starts out
5167 life zero-initialized. Each time we go to execute an op, we check
5168 first to see if we have a NULL pointer at *cur_opcode. If so, we
5169 know we haven't done our predereferencing yet (this is the JIT
5170 part), so we call the prederef() function with sufficient args that
5171 it can go look up opfunc pointers and op arg types and put the
5172 opfunc and arg pointers at cur_opcode[0] .. cur_opcode[N - 1],
5173 where N is the number of args (counting the op itself as one arg).
5175 We assume that sizeof(INTVAL) <= sizeof(void *), so we can continue
5176 to have inline INTVAL constants.
5178 I've been getting about a 22% speed increase over vanilla code path
5179 when I compile with -O0. Advantage decreases at -O9 here. I tested
5180 with mops.pbc, and also by temporarily putting the -P flag in
5181 Parrot/Test.pm and running all the tests. So, this code is as
5182 correct as the test suite can detect.
5184 Here's how it plays out in the code:
5186 * New script ops2c-prederef.pl
5188 Copy-paste code reuse from ops2c.pl. Modified to expect the
5190 a void ** cur_opcode and to return a void **.
5194 * opfuncs are now static. Who needs to call them by name from
5196 anyway? They are accessed via the opfunc table.
5198 * Some MACRO stuff to make things work whether we prederef or
5200 may be possible to get rid of these some day if other folks
5202 that we should be using CODE object pointers + offsets as
5204 rather than raw pointers to either opcode_t's or (void *)'s
5205 (depending on prederef mode or no).
5207 * core.ops modified to be usable to build both kinds of opfuncs.
5211 * calls to push_generic_entry(... cur_opcode ...) were
5213 push_generic_entry(... CUR_OPCODE ...), where CUR_OPCODE is
5215 macro that does the right thing in both kinds of ops.c
5218 This is applicable to the bsr op. If we treated
5220 (Code PMC + local offset) rather than as
5221 pointer-to-memory-somewhere,
5222 this wouldn't be a big deal. We may need to do that at some
5224 anyway, so that when you jump around and return not only do
5226 the right PC (pointer, today), but you also have the
5228 knowing what chunk of bytecode it is in at all times
5230 allow reflection, as in ops that query or affect the
5233 * runinterp was modified. Instead of copying the top-level
5235 and blasting its byte_code pointer, we simply call runops
5237 interp, passing in the pointer to the current interp's code
5239 offset into that code at which to start (this last arg used
5241 pointer PC, now its an offset PC).
5243 * include/parrot/op.h
5245 * new typedef for prederef opfuncs (they return void **)
5247 * include/parrot/interp_guts.h
5249 * New DO_OP_PREDEREF() macro described above.
5251 * include/parrot/interpreter.h
5253 * New prototype of runops() -- see below.
5255 * resume_addr field changed to resume_flag and resume_offset
5257 We might be resuming from interp using prederef to one not
5259 so pointers between the two don't play nice together.
5260 Offsets are beautiful.
5262 * New PARROT_PREDEREF_FLAG constant
5266 * include "parrot/oplib/core_ops_prederef.h"
5268 * prederef() function described above.
5270 * runops_prederef() runops variant. Uses DO_OP_PREDEREF()
5273 * runops() modified to take size_t CODE-relative offset PC
5275 pointer PC. This made other things workable and doesn't
5277 anything important (IMO).
5281 * New flag '-P' to enable predereferencing.
5283 * Makefile modified to build core_ops_prederef.c from core.ops
5287 BTW, also added missing $(INC)/interp_guts.h to H_FILES.
5289 Added core_ops_prederef$(O) to O_FILES
5291 2001-12-13 12:12 gregor
5293 * languages/jako/MAINTAINER:
5294 Thought it would be nice to put this right in the code...
5296 2001-12-13 04:36 jgoff
5298 * languages/miniperl/Miniperl/Generator.pm: Commented out
5299 debugging, fixed register spillover algorithm
5301 2001-12-13 04:23 jgoff
5303 * make.pl: Found and fixed obob in the parser (Wasn't parsing last
5304 line) Restructured a bit of the dependency generator to fix a
5307 2001-12-13 03:43 robert
5309 * MANIFEST, docs/opcodes.pod: remove old docs/opcodes.pod
5311 2001-12-13 03:03 jgoff
5313 * make.pl: Added make.pl
5315 2001-12-13 02:44 jgoff
5317 * languages/miniperl/Miniperl.pm: Nearly-complete 'make'
5318 replacement in perl. Non-compliant bits - Takes absolutely -NO-
5319 special flags... - Dies on undefined macros
5320 such as $(PDISASM) in current make - Dies on
5321 recursive macro expansions (Doesn't test for
5322 mutual or multipart loops) - In general it
5323 seems to be a little less lenient... Missing bits - File
5324 mod/creation times aren't being looked at - Actions
5325 aren't being taken - The few funky variables ($@, $<)
5326 aren't being dealt with Bugs - Line numbers are slipping a bit.
5328 2001-12-13 02:29 jgoff
5330 * languages/miniperl/Miniperl/: Generator.pm, Parser.pm:
5331 Reconstructing files to make the parser flow a little better.
5333 2001-12-13 00:51 dan
5335 * resources.c: Be a bit less wasteful with resources that don't
5338 2001-12-12 18:22 dan
5340 * Makefile.in: D'oh! Fixed looping makefile bug.
5342 Courtesy of: "Jaen Saul" <jaen@saul.ee>
5344 2001-12-12 16:23 jgoff
5346 * languages/miniperl/t/001_basic/basic1.scheme: Bogus entry
5348 2001-12-12 16:22 jgoff
5350 * MANIFEST: Manifest additions for languages/miniperl
5352 2001-12-12 16:19 jgoff
5354 * languages/miniperl/t/001_basic/: basic.t, basic1.scheme: Basic
5355 tests. These are left over from the Scheme suite and shouldn't be
5358 2001-12-12 16:18 jgoff
5360 * languages/miniperl/: Miniperl/Generator.pm, Miniperl/Parser.pm,
5361 Miniperl/Test.pm, Miniperl/Tokenizer.pm, t/harness: Miniperl base
5362 modules. Miniperl/ is where the real work gets done. t/ is largely
5363 vacant because it isn't ready to survive real tests yet.
5365 2001-12-12 16:17 jgoff
5367 * languages/miniperl/: Makefile, Miniperl.pm, foo.mpl, miniperlc,
5368 mpc: Final go-round, hopefully.
5370 languages/miniperl/Makefile - Used basically to run tests, as there
5371 is nothing here that needs to be
5372 dynamically built. languages/miniperl/Miniperl.pm - Stub module
5373 that calls the real Miniperl/ mods languages/miniperl/foo.mpl -
5374 Sample miniperl file. languages/miniperl/miniperlc - Miniperl
5377 2001-12-12 16:09 dan
5379 * Configure.pl: Setting a variable with the make command name is
5382 2001-12-12 15:07 simon
5384 * Makefile.in, languages/jako/Makefile, languages/scheme/Makefile:
5385 Recursive make considered "ow, don't do that".
5387 2001-12-12 14:45 dan
5389 * Makefile.in: Makefile had some non-portable code. (Okay, a lot of
5390 non-portable code) Killing builds on Win32 native. Small patch
5391 applied which hopefully fixes it.
5393 2001-12-12 06:12 ajgough
5395 * classes/Makefile.in: perl is $(PERL), you know it makes sense.
5397 2001-12-12 06:08 ajgough
5399 * Makefile.in: perl is $(PERL).
5401 2001-12-12 06:00 ajgough
5403 * t/op/integer.t: Added tests to integer.t so that all permutations
5404 of arguments are actually called at some point.
5406 2001-12-12 05:18 ajgough
5408 * t/op/time.t: I can't sleep, but I don't see why parrot shouldn't.
5409 Tests for sleep i|ic
5411 2001-12-12 05:09 ajgough
5413 * t/op/stacks.t: Added pushp and popp register stack tests.
5415 2001-12-12 04:51 ajgough
5417 * t/op/stacks.t: Added tests for save and restore, for all register
5418 types. Let there be Haiku.
5420 2001-12-12 04:27 ajgough
5422 * t/op/basic.t: bsr_i test. You know you want it.
5424 2001-12-12 02:55 ajgough
5426 * MANIFEST: Added hints/os2.pl to MANIFEST.
5428 2001-12-12 02:52 jgoff
5430 * core.ops, key.c: Final checkin... These are actually the correct
5433 2001-12-12 02:12 jgoff
5435 * include/parrot/key.h: key.c - Removed a few functions,
5436 generalized set_element_value and element_value to accept
5437 KEY_PAIRs from core.ops include/parrot/key.h - Modified header.
5438 core.ops - Modified to accept the new return style.
5440 This is a prelude to adding virtual-table methods to allow hashing
5441 &c. Expect at least one or two more redesigns before this settles
5442 down. However, it still passes the original tests.
5444 2001-12-11 13:35 gregor
5449 2001-12-11 12:03 gregor
5452 Don't ignore test_prog, but do ignore parrot.
5454 2001-12-11 12:03 gregor
5456 * classes/.cvsignore:
5457 Ignore the generated file default.h
5459 2001-12-11 04:07 jgoff
5463 2001-12-11 04:05 jgoff
5465 * include/parrot/key.h, t/op/key.t: Needed header file, new test
5467 2001-12-11 04:00 jgoff
5469 * core.ops: Added new key aggregate operations to core ops.
5471 2001-12-11 04:00 jgoff
5473 * include/parrot/parrot.h: Added key.h to header list
5475 2001-12-11 03:59 jgoff
5477 * MANIFEST: Added key.c, include/parrot/key.h, t/op/key.t
5479 2001-12-11 03:58 jgoff
5481 * Makefile.in: Added implementation of key aggregates.
5483 2001-12-08 23:07 simon
5488 2001-12-08 23:05 simon
5490 * Configure.pl, Makefile.in, README, Parrot/Test.pm,
5491 docs/intro.pod, languages/jako/Makefile, languages/scheme/Makefile,
5492 languages/scheme/Scheme/Test.pm, lib/Parrot/Test.pm:
5493 test_prog? What is test_prog?
5495 2001-12-08 22:57 simon
5499 Oops, the changelog commit was on *this* machine.
5501 2001-12-08 22:56 simon
5504 Updates to NEWS and ChangeLog pre-release.
5506 2001-12-08 22:07 simon
5508 * MANIFEST, Makefile.in, classes/Makefile.in, classes/default.pmc,
5509 classes/perlnum.pmc, classes/pmc2c.pl:
5510 Add "default" PMC vtable so you can inherit implied stuff.
5512 2001-12-08 21:24 simon
5514 * Parrot/PackFile.pm, docs/parrot.pod, docs/parrotbyte.pod,
5515 docs/vtables.pod, lib/Parrot/PackFile.pm:
5516 Getting the documentation up to scratch.
5518 2001-12-08 21:21 simon
5521 Allow inheriting from default class.
5523 2001-12-07 20:43 gregor
5525 * examples/assembly/queens.pasm:
5526 Regenerated the file with the latest jakoc.
5528 2001-12-07 20:29 simon
5530 * core.ops, t/op/stacks.t:
5531 Rename "rotate" to "rotate_up".
5533 2001-12-07 20:15 simon
5536 Some tests for rotate.
5538 2001-12-07 00:55 gregor
5541 Cast the result of the pointer arithmetic, since without the cast
5542 there are warnings with some compilers, and without the parens
5543 around the pointer arithmetic, precedence breaks the meaning and
5546 2001-12-06 23:37 simon
5549 Temporary. I prefer compiler warnings to segfaults, thanks.
5551 2001-12-06 23:34 simon
5554 Make "trace" work again.
5556 2001-12-06 21:23 dan
5558 * Parrot/Test.pm, lib/Parrot/Test.pm: Undo twiddles to test.pm
5560 2001-12-06 21:22 dan
5562 * core.ops, packfile.c, Parrot/Test.pm, include/parrot/stacks.h,
5563 lib/Parrot/Test.pm: Fix up source issues that made Dec C unhappy
5565 2001-12-06 19:22 simon
5568 Yet another "How the *%$! did that compile?" moment.
5570 2001-12-06 18:28 dan
5572 * hints/vms.pl: Fix to build, with a HERE logical required
5574 2001-12-06 17:48 dan
5576 * core.ops, interpreter.c, pbc2c.pl, pdump.c, test_main.c,
5577 docs/parrot_assembly.pod, include/parrot/interpreter.h: Sensible
5578 changes to the interpreter--flags are now part of the interp
5581 Courtesy of "Melvin Smith" <mrjoltcola@mindspring.com>
5583 2001-12-06 14:02 gregor
5586 s/little_languages/languages/ in Jako section.
5588 2001-12-06 13:15 simon
5591 Ensure the documentation gets made.
5593 2001-12-06 13:12 simon
5595 * MANIFEST, docs/intro.pod:
5596 Documentation! Added the "Some Assembly Required" article with
5599 2001-12-06 00:39 simon
5604 Courtesy of: Nguon Hao Ching <hao@netaxs.com>
5606 2001-12-06 00:37 simon
5609 Add the "-d" debug flag. Doesn't actually *do* anything yet.
5611 Courtesy of: Melvin <mrjoltcola@mindspring.com>
5613 2001-12-06 00:11 tom
5615 * string.c, chartypes/unicode.c, chartypes/usascii.c,
5616 encodings/singlebyte.c, encodings/utf16.c, encodings/utf8.c,
5617 include/parrot/chartype.h, include/parrot/encoding.h,
5618 include/parrot/parrot.h: Moved string to number conversion code out
5619 of the encoding layer and into the main string layer as neither the
5620 encoding layer nor the character type layer knows enough on it's
5621 own to do the conversion correctly.
5623 2001-12-05 23:12 tom
5625 * Makefile.in: Rebuild the classes directory if any of the object
5626 files for the classes are missing rather than only when perlint.o
5629 2001-12-05 19:43 gregor
5631 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
5632 * Reworked the constantize_string() stuff a little bit because it
5634 puking on things like "\033[H\033[2J\0" (which occurs in the
5635 languages/jako/mandelzoom.jako example).
5637 2001-12-05 19:39 gregor
5639 * languages/jako/: Makefile, mandelzoom.jako:
5640 Added 'mandelzoom' example.
5642 2001-12-05 19:38 gregor
5644 * languages/jako/jakoc:
5647 * Changed some instances of die() to confess()
5649 2001-12-05 18:34 gregor
5651 * t/: op/pmc.t, pmc/pmc.t:
5652 s/sting->int/string->int/
5654 2001-12-05 18:08 gregor
5656 * Parrot/.cvsignore:
5659 2001-12-05 18:05 gregor
5661 * classes/.cvsignore:
5662 Ignore the generated files.
5664 2001-12-05 17:19 gregor
5667 * Reverted recent changes, since they broke the script. Real fix
5671 2001-12-05 17:03 simon
5673 * classes/Makefile.in:
5674 Remember: change Makefile.in, not Makefile. D'oh.
5676 2001-12-05 17:02 simon
5679 Ensure PMC.pm gets remade.
5681 2001-12-05 16:58 simon
5683 * MANIFEST, Makefile.in, classes/Makefile.in,
5684 classes/perlundef.pmc, include/parrot/pmc.h:
5685 Add perlundef class.
5687 2001-12-05 16:45 simon
5690 Document "new P0, foo"
5692 2001-12-05 16:43 simon
5694 * MANIFEST, Makefile.in, pbc2c.pl, pmc_pm.pl, Parrot/Assembler.pm,
5695 lib/Parrot/Assembler.pm, t/op/pmc.t, t/pmc/pmc.t:
5696 Allow assembler to know about PMC class names.
5698 2001-12-04 13:39 ajgough
5700 * MANIFEST: Added t/op/pmc.t to MANIFEST.
5702 2001-12-04 05:02 ajgough
5704 * classes/perlnum.pmc: Picky compiler pointed out probable thinko
5707 2001-12-04 04:24 ajgough
5709 * encodings/singlebyte.c, t/op/pmc.t, t/pmc/pmc.t: A much less
5710 broken form of strtod and appropriate tests. Does not yet check
5713 2001-12-04 01:31 ajgough
5715 * string.c, encodings/singlebyte.c, encodings/utf16.c,
5716 encodings/utf8.c, include/parrot/encoding.h: Added length parameter
5717 to extract_num and extract_int string vtables, without this it
5718 would be impossible to have strings with nulls in while still
5719 knowing where they ended.
5721 2001-12-03 18:40 ajgough
5723 * string.c, classes/perlstring.pmc, encodings/singlebyte.c,
5724 encodings/utf16.c, encodings/utf8.c, include/parrot/encoding.h,
5725 include/parrot/string.h: Moved pmc string to number conversion into
5726 the string encoding tables.
5728 2001-12-03 00:21 ajgough
5730 * core.ops, t/op/pmc.t, t/pmc/pmc.t: Added set i, p and some tests
5733 2001-12-02 23:09 jgoff
5735 * classes/Makefile.in: Removed some redundant targets.
5737 2001-12-02 19:02 ajgough
5739 * t/: op/pmc.t, pmc/pmc.t: Modified all pmc tests to make use of fp
5740 equality macro rather than using perl to generate expected output,
5741 all tests now have <<OUTPUT.
5743 2001-12-02 17:44 ajgough
5745 * t/op/trans.t: Upgraded fp_eq and fp_ne macros to be more useful
5746 for pmc.t as well. Will probably move macros into another file at
5747 some point, although this might be best left until the tests are
5750 2001-12-02 06:16 jgoff
5752 * classes/pmc2c.pl: It wasn't properly setting the vtable index
5753 within Parrot_Perl{Class}_init.
5755 2001-12-02 06:09 jgoff
5757 * classes/Makefile.in: I seem to have removed *$(O) twice..
5759 2001-12-02 05:06 jgoff
5761 * Configure.pl, MANIFEST, Makefile.in: (Hopefully the last time...)
5762 Configure.pl - Removed '-I./include', added classes/Makefile
5763 generation MANIFEST - Added classes/Makefile.in Makefile.in -
5764 Removed old classes/* make stuff Added target for
5767 2001-12-02 04:48 jgoff
5769 * classes/Makefile.in: Going to be used shortly...
5771 2001-12-02 04:40 jgoff
5773 * docs/Makefile: Configure.pl - Added automatic makefile creation
5774 for docs/ and classes/ Removed '-I./include' because
5775 it was getting incorrectly passed to classes/
5776 MANIFEST - added docs/Makefile.in, classes/Makefile.in Makefile.in
5777 - Removed classes/ build stuff, replaced with classes/Makefile.in
5778 Added '-I./include' locally docs/Makefile - Should no
5779 longer be used, but I'm not brave enough to do a
5782 2001-12-02 01:21 ajgough
5784 * t/op/trans.t: Refactored trans math tests to have hard coded
5785 expected return values and be more ready to be unperled at some
5786 point in the future. Added $fp_equality_macro which is a
5787 "nearly-equal-to" function.
5789 2001-12-02 01:18 ajgough
5791 * Makefile.in: Humph. People really ought to use Makefile
5792 variables, s/perl/$(PERL)/ throughout.
5794 2001-12-01 18:15 jgoff
5796 * classes/: perlint.pmc, perlnum.pmc: Temporary patch until we
5797 figure out what to do vis-a-vis the lack of snprintf.
5799 2001-11-30 13:14 ajgough
5801 * t/op/: integer.t, number.t: Added tests for abs ops to number.t
5804 2001-11-30 13:14 ajgough
5806 * core.ops: Added abs(i|n, i|ic|n|nc) ops to core.ops, using if <0
5809 2001-11-30 10:36 simon
5812 Rewrite print_p to do the right thing.
5814 2001-11-30 06:21 jgoff
5816 * t/: op/pmc.t, pmc/pmc.t: New tests for integer/number/string
5817 concat, integer/number/string math
5819 2001-11-30 06:20 jgoff
5821 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc:
5822 classes/perlint.pmc - Fixes and expanding for concat and math with
5823 strings classes/perlnum.pmc - Fixes and expanding for concat and
5824 math with strings classes/perlstring.pmc - Fixes and expanding for
5825 concat and math with strings
5827 2001-11-29 15:21 ajgough
5829 * hints/os2.pl: This is a hints file for os/2, I've set $c{perl} as
5830 $^X lies, which confused bash which make uses to run things when
5833 2001-11-29 04:58 jgoff
5835 * classes/perlstring.pmc: Removed C++-style comments for good
5838 2001-11-29 04:51 jgoff
5840 * t/: op/pmc.t, pmc/pmc.t: New tests for PMC integers
5842 2001-11-29 04:28 jgoff
5844 * global_setup.c: Initialize PMC strings
5846 2001-11-29 04:25 jgoff
5848 * core.ops: Added set_p_s and set_p_sc, modified print_p to handle
5851 2001-11-29 04:24 jgoff
5853 * classes/: perlint.pmc, perlnum.pmc, perlstring.pmc: Changed PMC
5854 files to properly upgrade int to num, do calculations. Also added
5855 basic string operations. Currently errors out on anything but set
5856 operations, but this will be fixed soon.
5858 2001-11-29 04:22 jgoff
5860 * Makefile.in: PMC .c files weren't getting cleaned out.
5862 2001-11-28 17:00 simon
5866 Make csh-glob happy.
5868 Courtesy of: Andy Dougherty: <doughera@lafayette.edu>
5870 2001-11-28 16:40 simon
5872 * classes/perlnum.pmc:
5876 2001-11-28 15:22 simon
5880 Fixes Alex's string concat worry.
5882 2001-11-28 14:27 ajgough
5884 * t/op/string.t: test "null onto null" incorrectly passing as it
5885 produced no output. Output provided.
5887 2001-11-28 11:14 simon
5889 * include/parrot/pmc.h:
5893 2001-11-26 21:03 dan
5895 * MANIFEST, hints/darwin.pl: Tweaks to build on Mac OS X 10.1
5897 2001-11-26 17:29 simon
5899 * classes/perlint.pmc:
5901 Various subtle but non-showstopper bugs.
5903 2001-11-26 11:23 simon
5907 Replace dependency on Text::Balanced
5909 Courtesy of: Bart Lateur <bart.lateur@pandora.be>
5911 2001-11-26 05:22 jgoff
5913 * global_setup.c: Last file that should need to be committed. I
5916 2001-11-26 05:09 jgoff
5918 * core.ops: Let's try this again... Changes to core.ops required
5920 2001-11-26 04:58 jgoff
5922 * classes/perlint.pmc, classes/perlnum.pmc, t/op/pmc.t,
5923 t/pmc/pmc.t: Makefile.in - Added missing cleanup line for perl*.c
5924 core.ops - Added set(p,n|nc), modified print(p) global_setup.c -
5925 Uncommented PerlNum_init classes/perlint.pmc - Added set_number
5926 functions classes/perlnum.pmc - Set up basic number functions
5927 t/op/pmc.t - Added tests for set P0.<number> and {add,mul,sub,div}
5928 tests against numbers and numbers+integers
5930 2001-11-25 13:18 simon
5933 Windows XP make doesn't like $<
5935 2001-11-25 12:56 simon
5937 * MANIFEST, Makefile.in, classes/genclass.pl, classes/perlint.c,
5938 classes/perlint.pmc, classes/perlnum.c, classes/perlnum.pmc,
5939 classes/perlstring.c, classes/perlstring.pmc, classes/pmc2c.pl,
5940 examples/assembly/mops_p.pasm:
5943 Courtesy of: Angel Faus <afaus@corp.vlex.com>
5945 I (Simon) also added a couple more integer methods, but no tests
5946 since I'm a Bad Person.
5948 2001-11-25 08:40 brentdax
5950 * ops2c.pl, Parrot/Op.pm, Parrot/OpsFile.pm, lib/Parrot/Op.pm,
5951 lib/Parrot/OpsFile.pm: Allow _ in op names
5953 2001-11-25 05:54 jgoff
5955 * classes/perlint.c, t/op/pmc.t, t/pmc/pmc.t: classes/perlint.c -
5956 Added basic math ops t/op/pmc.t - Added tests of basic math ops
5958 2001-11-23 18:27 simon
5960 * core.ops, classes/perlint.c, examples/assembly/mops_p.pasm:
5961 Add everything you need to make MOPS use PMCs.
5963 2001-11-23 18:06 simon
5966 Eh, you'll need this for rewriting mops.pasm.
5968 2001-11-23 17:55 simon
5970 * core.ops, classes/perlint.c, include/parrot/pmc.h, t/op/pmc.t,
5972 More work on integer PMCs.
5974 2001-11-23 17:29 simon
5977 Surprise! Whitespace! HLAGHLAGHLAGH
5979 2001-11-23 17:28 simon
5981 * Makefile.in, ops2c.pl, ops2pm.pl:
5982 Add vtables.ops to the core
5984 Courtesy of: Jeff Goff <jgoff@speakeasy.net>
5986 2001-11-22 18:39 simon
5988 * core.ops, global_setup.c, docs/parrot_assembly.pod, t/op/pmc.t,
5990 We can now create PMCs.
5992 2001-11-21 05:49 jgoff
5994 * Makefile.in: Makefile cleans up *.pasm *.pbc *.out
5996 2001-11-20 16:00 simon
5998 * docs/vtables.pod, include/parrot/pmc.h:
5999 Reorder PMC flags so there's a fixed number of user-defined flags.
6001 Courtesy of: Dave Mitchell <davem@fdgroup.co.uk>
6003 2001-11-19 03:39 jgoff
6005 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm, t/op/basic.t:
6006 Parrot/Assembler.pm - Allow "print 'foo'", and properly escape
6007 nested quotes. t/op/basic.t - Add tests for single-quoted strings,
6008 escaped quotes, and proper handling of newlines.
6010 2001-11-16 22:03 simon
6012 * classes/perlint.c:
6013 More work on the Perl Integer class. More needed, though.
6015 2001-11-16 21:57 simon
6017 * pmc.c, vtable.tbl, classes/genclass.pl, classes/perlint.c:
6018 Rename ->new to ->init, and rework pmc.c:pmc_new to fiddle it.
6020 2001-11-16 20:49 simon
6022 * interpreter.c, runops_cores.c, trace.c,
6023 include/parrot/runops_cores.h:
6024 Kill superfluous runops cores.
6026 2001-11-16 17:50 simon
6028 * MANIFEST, Makefile.in, classes/intclass.c, classes/perlint.c,
6029 classes/perlnum.c, classes/perlstring.c, classes/scalarclass.c,
6030 include/parrot/parrot.h, include/parrot/pmc.h:
6031 Skeleton for Perl scalar types, done right.
6033 2001-11-16 16:15 simon
6035 * classes/genclass.pl:
6036 This tidies up genclass to deal with the new-style multimethods.
6038 2001-11-16 15:29 simon
6040 * Makefile.in, make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6041 lib/Parrot/Vtable.pm, include/parrot/parrot.h:
6042 Rework multimethods to be *true* multimethods - that is, have
6045 2001-11-15 22:29 simon
6047 * MANIFEST, Makefile.in, pmc.c:
6048 pmc.c linkage and support. Oh, and making it compile.
6050 2001-11-15 22:26 dan
6052 * t/op/interp.t: Forgot to tell CVS about the test...
6054 2001-11-15 22:10 dan
6056 * MANIFEST, Types_pm.in, core.ops, vtable_h.pl,
6057 docs/parrot_assembly.pod, include/parrot/string.h: Added in support
6058 for PMC registers for the interpreter.
6060 Added in the docs for the runinterp opcode.
6062 Added in code for both the newinterp and runinterp opcodes, so we
6063 can now create new interpreters from within parrot and have them do
6064 things. (Though we can't pass data back and forth. Yet)
6066 2001-11-15 21:24 simon
6068 * vtable.tbl, classes/scalarclass.c, docs/vtables.pod:
6069 More documentation, and other changes as discussed with Dan.
6071 2001-11-15 19:51 simon
6073 * classes/scalarclass.c:
6076 2001-11-15 19:50 simon
6078 * classes/scalarclass.c:
6079 A little code tidiness.
6081 2001-11-15 19:33 simon
6083 * include/parrot/pmc.h:
6084 Missed this in the previous commit - un-constantize the base for
6085 user-defined PMC flags.
6087 2001-11-15 19:28 simon
6089 * classes/scalarclass.c:
6092 2001-11-15 17:09 simon
6094 * classes/scalarclass.c:
6095 It seems I have completely forgotten how to write C.
6097 2001-11-15 16:53 simon
6100 Start of the PMC classes documentation.
6102 2001-11-15 14:46 simon
6104 * classes/scalarclass.c:
6105 Changing to use a Perl-style struct instead of the union cache.
6107 2001-11-13 23:56 tom
6109 * string.c: Removed leading _ from string_index as function names
6110 starting with _ are reserved to implementors by the C standard.
6112 Also fixed string_index to use the encoding routines instead of
6113 assuming a single byte encoding.
6115 2001-11-13 12:59 jgoff
6117 * string.c: Patched string_concat to accept null strings. That
6118 test was failing. Nothing to do with ord().
6120 2001-11-13 12:43 jgoff
6122 * string.c: string_ord function, string_concat fixes
6124 2001-11-13 04:52 jgoff
6126 * core.ops: Added ord to core.ops
6128 2001-11-13 04:35 jgoff
6130 * docs/strings.pod, include/parrot/exceptions.h,
6131 include/parrot/string.h, t/op/string.t: core.ops - Added ord
6132 operator, documentation string.c - Added string_ord, _string_index
6133 (_string_index is a static helper) Patched
6134 string_concat to handle null strings properly. docs/strings.pod -
6135 Description of string_ord include/parrot/exceptions.h - Added
6136 ORD_OUT_OF_STRING exception include/parrot/string.h - Added
6137 string_ord() t/op/string.t - Added full set of test for
6138 ord_i_(s|sc)(_(i|ic))?
6140 string.c contains a bit of documentation explaining the logic
6141 behind _string_index, primarily having to do with multiple encoding
6144 2001-11-12 22:30 simon
6149 2001-11-12 22:28 simon
6152 Add a rule to compile "platform"
6154 2001-11-12 22:26 simon
6157 Tidy up distclean target.
6159 2001-11-12 16:54 dan
6161 * MANIFEST, Parrot/Assembler.pm, lib/Parrot/Assembler.pm,
6162 t/op/macro.t: Fixes to the assembler's macro facility and a test
6164 Courtesy of: Jeff <jgoff@speakeasy.net>
6166 2001-11-12 16:50 dan
6168 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Allow input from
6171 Courtesy of: Jeff <jgoff@speakeasy.net>
6173 2001-11-12 16:36 dan
6175 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix to make test work on
6178 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6180 2001-11-12 11:22 simon
6182 * examples/assembly/mops.pasm:
6184 Trivial tightening of mops loop.
6186 2001-11-07 23:57 ajgough
6188 * docs/tests.pod: This is a basic quide to writing tests with
6191 2001-11-07 22:29 dan
6193 * stacks.c: Added a little documentation on the cleanup parameter
6196 2001-11-07 14:43 dan
6198 * MANIFEST, platforms/generic.c, platforms/linux.c,
6199 platforms/linux.h: Portability patches.
6201 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6203 2001-11-06 19:51 tom
6205 * Makefile.in: Clean up object files in the subdirectories as well
6206 as those in the top level directory.
6208 Enhanced version of patch from Daniel Grunblatt
6209 <daniel@grunblatt.com.ar>
6211 2001-11-06 16:14 dan
6213 * Configure.pl, MANIFEST, Makefile.in, core.ops,
6214 platforms/generic.c, platforms/generic.h: Made things a bit more
6215 platform-independent. Makefile still needs work to pick up changes
6216 to the platform-specific files.
6218 2001-11-05 21:32 dan
6220 * docs/parrot_assembly.pod: Added docs for the GC control ops
6222 2001-11-04 02:52 gregor
6224 * platforms/: win32.c, win32.h:
6225 * win32 dynamic loading functions.
6227 Courtesy of Jason Diamond <jason@injektilo.org>
6229 2001-11-04 00:04 brentdax
6231 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Assembler fixes:
6232 allows an absolute path to be used and gives a useful error message
6233 if the original source file can't be found
6235 2001-11-02 12:37 gregor
6237 * platforms/: linux.c, linux.h:
6238 * Beginning of dynamic loading support. Linux only for now.
6240 2001-11-02 12:13 gregor
6242 * MANIFEST, time.c, include/parrot/time.h:
6243 * Removed time.[hc], since they have been superseded by the new
6247 2001-11-02 12:11 gregor
6249 * Configure.pl, Makefile.in, core.ops, vtable.tbl,
6250 classes/intclass.c, classes/scalarclass.c, hints/mswin32.pl,
6251 include/parrot/parrot.h, platforms/linux.c, platforms/linux.h,
6252 platforms/win32.c, platforms/win32.h:
6253 Patch from Jason Diamond to make win32 platform stuff work:
6255 * Modified Configure.pl, mswin32.pl, and Makefile.in so that the
6256 platform specific files in the platforms directory gets copied to
6257 the correct directories. The Makefile will re-copy the platform.h
6258 and .c files if the original is modified.
6260 * #include platform.h in parrot.h instead of time.h.
6262 * Removed time.h and time.obj from the Makefile. time.h and time.c
6263 aren't being used anymore since that code was moved to linux.c and
6266 * Renamed the BOOL typedef in parrot.h to BOOLVAL (inspired by
6267 INTVAL and FLOATVAL). This was conflicting with the BOOL typedef in
6268 windows.h. This required updating several files besides parrot.h.
6270 * Added a DEFAULT_OPEN_MODE to linux.h and win32.h and used that
6271 instead of the missing identifiers (on Windows) in core.ops in the
6274 * Added Parrot_sleep and Parrot_setenv to both the linux and win32
6275 platform files and called those from core.ops. The Linux code for
6276 these functions came from core.ops so they should hopefully work.
6278 Courtesy of Jason Diamond <jason@injektilo.org>
6280 2001-11-02 06:43 brentdax
6282 * Makefile.in, hints/mswin32.pl: Fix classes/intclass.obj building
6283 for Win32 (courtesy of Jason Diamond <jason@injektilo.org>)
6285 2001-11-02 02:26 gregor
6287 * .cvsignore, MANIFEST, include/parrot/.cvsignore,
6288 platforms/linux.c, platforms/linux.h, platforms/win32.c,
6290 * Beginnings of platform support files in platform/*.[hc]
6292 2001-11-01 23:37 tom
6294 * classes/intclass.c: Added missing *'s to STRING arguments and
6295 return values to avoid compiler warnings.
6297 2001-11-01 22:21 gregor
6299 * MANIFEST, Makefile.in, core.ops, obscure.ops, time.c,
6300 include/parrot/parrot.h, include/parrot/time.h:
6301 Initial "fix" of time(n) op for Win32:
6303 * Initial Win32 code Courtesy of Richard J Cox <rjcox@cix.co.uk>
6305 * time.c and include/parrot/time.h
6307 First attempt at getting this working across platforms. The
6308 macro WIN32 being tested might not be right.
6310 * New functions Parrot_intval_time() and Parrot_floatval_time()
6311 wrap the appropriate functionality depending upon platform.
6312 Changed core.ops to call these.
6314 Added obscure.ops with obscure transcendental ops.
6316 Added simple file I/O ops (close, open, read, write):
6318 * Initial versions Courtesy of Jeff <jgoff@speakeasy.net>
6320 * I changed some arg ordering stuff.
6322 * I added read/write of INTVALs and FLOATVALs.
6324 Added environment variable ops (getenv, setenv)
6326 Added system error ops (err(i) and err(s) for accessing errno and
6329 Moved print ops in with other "temporary" developer ops, since
6330 they'll move to a devel.ops or temp.ops oplib once we have oplibs.
6332 2001-10-31 22:51 tom
6334 * MANIFEST, Makefile.in, chartype.c, encoding.c, global_setup.c,
6335 packfile.c, string.c, strnative.c, strutf16.c, strutf32.c,
6336 strutf8.c, transcode.c, chartypes/unicode.c, chartypes/usascii.c,
6337 encodings/singlebyte.c, encodings/utf16.c, encodings/utf32.c,
6338 encodings/utf8.c, include/parrot/chartype.h,
6339 include/parrot/encoding.h, include/parrot/exceptions.h,
6340 include/parrot/parrot.h, include/parrot/string.h,
6341 include/parrot/strnative.h, include/parrot/strutf16.h,
6342 include/parrot/strutf32.h, include/parrot/strutf8.h,
6343 include/parrot/transcode.h: Reworked the string code in line with
6344 Dan's latest design that separates character sets from encodings.
6346 2001-10-31 19:53 dan
6348 * docs/parrot_assembly.pod: Finished I/O section of docs
6350 2001-10-31 16:51 dan
6352 * core.ops, docs/parrot_assembly.pod, include/parrot/parrot.h:
6353 Moved includes out of core.ops and into parrot.h where they belong
6354 (suitably guarded with #ifdefs). Also some updates to
6357 2001-10-30 21:43 dan
6359 * core.ops, stacks.c, docs/parrot_assembly.pod,
6360 include/parrot/stacks.h: Added entrytype opcode to fetch the type
6361 of the entry on the stack
6363 2001-10-29 18:30 dan
6365 * stacks.c: You can turn off stack entry type validation on pop by
6366 passing in a type of 0 now. (For those cases where you just want to
6367 throw the darned thing away)
6369 2001-10-29 14:37 gregor
6371 * core.ops, languages/jako/jakoc:
6372 * New variants of the save ops to save constants on the stack.
6374 useful for saving zero arg and result counts on the stack, for
6377 * Modified jakoc to to adapt to the newly announced calling
6379 Even though Jako source code appears to show subroutines with
6381 numbers of arguments and results, they are implemented with the
6382 variable count calling convention. Future modifications will be
6384 to ensure that an exception is raised if the stack frame is of
6386 wrong size (or, at least that we pop the complete frame off).
6388 also have to make more changes to support the true
6390 and fixed-result-count parts of the calling convention spec.
6392 2001-10-28 16:53 simon
6394 * MANIFEST, stacks.c, classes/scalarclass.c,
6395 include/parrot/stacks.h:
6396 Unbelievably bad errors of mine, plus a type incompatibility of
6399 2001-10-28 08:30 simon
6401 * classes/scalarclass.c:
6402 Beginning of a scalar class.
6404 2001-10-28 08:29 simon
6406 * make_vtable_ops.pl, vtable.tbl, Parrot/Vtable.pm,
6407 lib/Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6408 include/parrot/pmc.h:
6409 This fixes the problem with vtables and pointer arithmetic.
6411 2001-10-26 19:58 dan
6413 * core.ops, interpreter.c, stacks.c, include/parrot/interpreter.h,
6414 include/parrot/stacks.h: Split the generic stack into a user push
6415 stack and a control stack
6417 2001-10-26 02:59 bdwheele
6419 * Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: [no log message]
6421 2001-10-24 20:27 dan
6423 * languages/scheme/: Makefile, Scheme.pm, schemec,
6424 Scheme/Generator.pm, Scheme/Parser.pm, Scheme/Test.pm,
6425 Scheme/Tokenizer.pm, t/harness, t/arith/basic.t, t/arith/logic.t,
6426 t/arith/nested.t, t/io/basic.t, t/logic/basic.t: Added the mini
6429 2001-10-24 20:23 dan
6431 * MANIFEST, pdump.c, docs/parrot_assembly.pod: Update for
6432 interpreter needs in pdump.c. Added scheme bits to manifest
6434 2001-10-24 16:43 gregor
6436 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6437 * Make the assembler handle octal character code escapes in
6441 2001-10-24 15:56 dan
6443 * MANIFEST, examples/assembly/life.pasm: Added an example in to
6444 play the game of life
6446 2001-10-24 15:54 dan
6448 * core.ops: Added sleep. We'll need to override this to do events
6449 properly anyway, so...
6451 2001-10-24 14:03 gregor
6453 * Makefile.in, pbc2c.pl, pdump.c:
6454 * Adapt pdump.c and pbc2c.pl to the new requirement to pass
6456 pointer into string functions.
6458 Courtesy of: Ryan O'Neil <talisman580@yahoo.com>
6460 2001-10-23 20:09 gregor
6462 * languages/jako/jakoc:
6463 * Terminological refinement in regexp capture comment.
6465 2001-10-23 15:23 simon
6467 * classes/genclass.pl:
6468 Use a saner ANSI C construct to make MIPSPro happy.
6470 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
6472 2001-10-23 00:34 tom
6474 * core.ops, string.c, strnative.c, strutf16.c, strutf32.c,
6475 strutf8.c, include/parrot/string.h: Make sure the interpreter
6476 structure is passed to the transcoder as necessary, including
6477 passing it to string_compare().
6479 2001-10-23 00:32 tom
6481 * Makefile.in: Make pdump build again by including resources.o in
6484 2001-10-22 22:43 dan
6486 * core.ops, packfile.c, string.c, strnative.c, strutf16.c,
6487 strutf32.c, strutf8.c, test_main.c, transcode.c,
6488 include/parrot/packfile.h, include/parrot/parrot.h,
6489 include/parrot/resources.h, include/parrot/string.h,
6490 include/parrot/transcode.h: Everything now uses the allocators and
6491 deallocators in resources.c.
6493 Unfortunately we lost standalone string-test mode, but I can cope
6496 Please note that until we have a real allocation/deallocation/GC
6497 system, this'll leak. A *lot*.
6499 2001-10-22 20:27 dan
6501 * MANIFEST, Makefile.in, pmc.c, resources.c,
6502 include/parrot/resources.h: First cut to handle arena allocation of
6503 PMC headers. (Amongst other things)
6505 2001-10-22 19:02 dan
6507 * Configure.pl, config_h.in, register.c, include/parrot/register.h:
6508 Now each register type has its own mask macro, which is the right
6511 Patch courtesy of Jason Gloudon <perl@gloudon.com>
6513 2001-10-21 23:40 tom
6515 * stacks.c, t/op/stacks.t: Fix bug in handling of rollover to a new
6516 stack chunk and add a test to test this rollover in future.
6518 Courtesy of Jason Gloudon <perl@gloudon.com>.
6520 2001-10-21 19:14 dan
6522 * include/parrot/string.h: Changed string 'unused' field to the
6525 2001-10-21 18:18 gregor
6527 * languages/jako/: Makefile, mops.jako:
6528 * Makefile: 'clean' target removes .list files, too. And, it does
6530 with wildcards rather than listing things explicitly.
6532 * mops.jako actually prints out the
6533 millions-of-operations-per-second
6534 (mops) value instead of just the operations-per-second value.
6536 2001-10-21 18:03 simon
6538 * classes/intclass.o:
6541 2001-10-21 17:47 simon
6543 * MANIFEST, Makefile.in, make_vtable_ops.pl, pmc.c, vtable_h.pl,
6544 Parrot/Vtable.pm, classes/genclass.pl, classes/intclass.c,
6545 classes/intclass.o, include/parrot/parrot.h, include/parrot/pmc.h,
6546 lib/Parrot/Vtable.pm:
6547 Initial work on PMCs. Explanation to follow
6549 2001-10-21 15:20 gregor
6551 * examples/assembly/queens.pasm:
6552 * Modernize the calling conventions in queens.pasm. It was using
6554 which now must be rotate. Also, changed to use return values on
6556 stack instead of in I0.
6558 2001-10-19 18:14 gregor
6560 * core.ops, stacks.c, include/parrot/stacks.h,
6561 languages/jako/jakoc:
6562 Per Dan's request, replacing 'swap' op by 'rotate'.
6564 * core.ops: Replaced 'swap()' by 'rotate(i|ic)'.
6566 * stacks.c and stacks.h: Removed swap-related functions from my
6567 prior commit, replacing them with stack_depth(), stack_entry()
6568 and rotate_entries().
6570 NOTE: The stack_depth() and rotate_entries() routines could
6571 be made more efficient through the caching of the sum of chunk
6572 'used' members from lower chunks in a field in the upper
6573 chunks. Also, if the interpreter's stack_base was changed to
6574 hold the pointer to the *top* chunk (since we usually come
6575 at the stack from the top down) instead of the *bottom*
6576 chunk. The code here at least works, and we can decide about
6577 bigger changes separately.
6579 For now, rotate only handles rotates in one direction and
6580 of magnituded one. A fully general rotate would do handle
6581 rotates in both directions and of arbitrary amounts. Again,
6582 this implementation is sufficient for current applications,
6583 and a feature-complete version can be developed if this turns
6584 out to be otherwise the right type of implementation.
6586 This change includes a new exception for ERROR_STACK_SHALLOW,
6587 meaning "not-empty-yet-not-deep-enough-for-what-you-asked".
6589 * jakoc: Changed the calling convention to use rotate instead
6590 of swap (of course). Also changed the convention for return
6591 value passing to use the stack as well.
6593 2001-10-19 13:36 gregor
6595 * MANIFEST, core.ops, disassemble.pl, stacks.c,
6596 examples/assembly/queens.pasm, include/parrot/stacks.h,
6597 languages/jako/.cvsignore, languages/jako/Makefile,
6598 languages/jako/bench.jako, languages/jako/euclid.jako,
6599 languages/jako/fact.jako, languages/jako/jakoc,
6600 languages/jako/mandelbrot.jako, languages/jako/mops.jako,
6601 languages/jako/primes.jako, languages/jako/queens.jako,
6602 languages/jako/sub.jako:
6603 * New stack functions push_entry(), pop_entry() and swap_entry().
6604 The first two exist for the support of the last one. These
6605 functions don't care what is in the stack entries. These exist
6606 to support the new 'swap' op (see next bullet).
6608 * New op 'swap' for swapping the top two elements on the stack.
6609 This is necessary for passing arguments to functions, since
6610 the return address will be on top of any arguments that have
6611 been pushed on the stack. This way, you can use a (swap, pop)
6612 pair to retrieve each argument (for subroutine linkage).
6614 * Disassembler now prints numbers in decimal by default, with
6615 a new '-x' flag to turn on hexadecimal display. Since other
6616 members of the Parrot Tool Set use decimal by default, this
6617 makes it easier to compare output from the various tools.
6619 * Jako compiler has more explanatory comments and the following
6622 * Lexically scoped variables.
6624 * Subroutines that take arguments and return values:
6626 sub int foo(int bar) {
6633 * ... if (...) and ... unless (...) statement modifiers
6634 can be used on next, last and redo.
6636 * Bitwise and (&, &=) and or (|, |=) ops.
6638 * Type names are just 'int', 'num', 'str', and 'poly' now.
6639 The old long names 'integer', 'number', 'string', and
6640 'polytype' are no longer valid.
6642 * Integer variable assignments can now use 0b (binary),
6643 0 (octal) and 0x (hexadecimal) radix prefixes on literals.
6645 * New Jako and Parrot assembly examples queens.{jako,pasm} for
6646 solving the eight-queens problem. The assembly example is a
6647 hand-modified version of the assembly code produced by the
6648 Jako compiler from queens.jako. A few unnecessary ops have
6649 been removed, lots of unnecessary labels have been removed,
6650 and all the Jako source code comments have been removed.
6652 * Makefile and .cvsignore in languages/jako modified so that
6653 the assembler produces listings when assembling the programs,
6654 yet the *.list files are ignored by CVS.
6656 * Made the default target in languages/jako/Makefile 'all'.
6658 * Modified some of the Jako examples to use some of the new
6659 features of Jako, such as subroutines and lexical variable
6662 2001-10-19 02:43 gregor
6664 * runops_cores.c, include/parrot/runops_cores.h:
6665 Bug fix (gcc doesn't complain, but MIPSpro does):
6667 * Added missing extern to runops_cores array declaration in
6668 include/parrot/runops_cores.h
6670 * Also added 'const' there and in runops_cores.c
6672 2001-10-18 15:18 gregor
6674 * .cvsignore, include/parrot/oplib/.cvsignore:
6675 * Ignore the vtable-related generated files.
6677 2001-10-18 15:14 gregor
6680 * left and right shifts now allow the 2nd argument to be a
6683 2001-10-18 14:55 simon
6685 * make_vtable_ops.pl:
6686 This is C, not Perl. How on earth did that even compile?
6688 2001-10-18 14:54 simon
6690 * make_vtable_ops.pl:
6693 2001-10-18 12:33 simon
6695 * Makefile.in, make_vtable_ops.pl, vtable.tbl:
6696 Initial stab at vtable opcode creation stuff.
6698 2001-10-18 02:15 gregor
6700 * MANIFEST, Makefile.in, interpreter.c, runops_cores.c, trace.c,
6701 include/parrot/interpreter.h, include/parrot/runops_cores.h,
6702 include/parrot/trace.h: Preparation for autogenerated runops cores:
6704 * Split tracing and runops core stuff out of interpreter.c into
6705 trace.c and runops_cores.c
6707 * Similar split of stuff from include/parrot/interpreter.h
6709 * Manifest and Makefile.in updates to make things still compile.
6711 2001-10-18 01:21 gregor
6713 * Makefile.in, ops2c.pl, ops2pm.pl, pbc2c.pl: Bug fixes:
6715 * Makefile.in: examples/assembly/mops.c depends on pbc2c.pl
6717 * Makefile.in: Parrot/OpLib/core.pm depends on ops2pm.pl
6719 * ops2c.pl: Added second arg to mkdir (perl 5.005_02 complains)
6721 * ops2pm.pl: Added second arg to mkdir (perl 5.005_02 complains)
6723 * pbc2c.pl: Removed explicit include of <math.h>, replacing it
6725 copy of $ops->preamble.
6727 2001-10-17 22:32 bdwheele
6729 * interpreter.c: Moved op dump code into trace_op_dump, per Dan's
6732 2001-10-17 22:08 gregor
6734 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm:
6735 * Now handles label-and-comment-only lines.
6737 2001-10-17 22:04 bdwheele
6739 * interpreter.c: added more comprehensive trace output
6741 2001-10-17 16:50 tom
6743 * Makefile.in: Removed the explicit rule for building mops.o from
6744 mops.c so that the implicit rule for compiling C files is used
6745 instead. This means that the chosen C flags are used, including any
6746 optimisation options.
6748 2001-10-17 15:24 tom
6750 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm: Enhanced the
6751 op explosion logic to be able to handle exploding this:
6761 without also generating this unwanted version:
6765 The enhanced version rejects any expansion where there is more than
6766 one expanded argument and all the expanded arguments are constants.
6768 2001-10-17 14:20 simon
6770 * Makefile.in, ops2c.pl, ops2pm.pl, examples/assembly/Makefile:
6771 Build fixes to use correct Perl version and ensure that things are
6772 running in the right directory.
6774 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
6776 2001-10-17 13:16 simon
6779 core.pm is more critical than that.
6781 2001-10-17 13:05 simon
6783 * core.ops, Parrot/OpsFile.pm, lib/Parrot/OpsFile.pm:
6784 "Explode" ops into multiple versions for different parameters.
6786 Courtesy of: Tom Hughes <tom@compton.nu>
6788 2001-10-17 12:54 simon
6791 Fix dependencies and cleaning.
6793 2001-10-17 12:45 simon
6795 * Configure.pl, Makefile.in:
6796 Fixes to make Parrot compile without the temporary build hack
6798 Courtesy of: Jason Gloudon <perl@gloudon.com>
6800 2001-10-16 20:43 gregor
6803 * Fixed dependencies for building Parrot/OpLib/core.pm
6805 2001-10-16 19:35 bdwheele
6807 * core.ops, t/op/string.t: Changed set s,sc to use string_copy &
6808 added test, thanks to Alex Gough
6810 2001-10-16 16:49 bdwheele
6812 * core.ops: added opcode variants for constants and 3 arg concat
6814 2001-10-16 15:12 bdwheele
6816 * core.ops: added "set Sx,Sy" as a string copy to match the other
6817 register-to-register copies available
6819 2001-10-16 13:09 gregor
6822 * Added #include <sys/time.h> in the preamble for gettimeofday().
6824 2001-10-16 13:09 gregor
6827 * Removed cd t; make, which no longer applies
6829 2001-10-16 03:18 bdwheele
6831 * core.ops: fix save & restore operations to push correct type onto
6832 stack. [good eye to Jason Gloudon for noticing this]
6834 2001-10-16 01:38 bdwheele
6836 * core.ops, register.c, examples/assembly/fact.pasm,
6837 include/parrot/register.h: send in the clones: clone routines for
6838 parrot + example program
6840 2001-10-15 22:37 gregor
6842 * MANIFEST, Makefile.in, examples/assembly/.cvsignore,
6843 examples/assembly/Makefile, examples/assembly/bsr.pasm,
6844 examples/assembly/call.pasm, examples/assembly/euclid.pasm,
6845 examples/assembly/jump.pasm, examples/assembly/local_label.pasm,
6846 examples/assembly/mops.pasm, examples/assembly/stack.pasm,
6847 examples/assembly/substr.pasm, examples/assembly/trace.pasm,
6848 t/.cvsignore, t/Makefile, t/call.pasm, t/euclid.pasm, t/jump.pasm,
6849 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
6850 t/test4.pasm, t/test5.pasm, t/trace.pasm:
6851 * Moved examples from t/*.pasm to examples/assembly/*.pasm, with
6853 renames so the names match what they demonstrate.
6855 2001-10-15 22:18 gregor
6857 * core.ops, t/test.pasm:
6858 * time_n uses gettimeofday() to get sub-second times.
6860 * t/test.pasm uses time_n directly rather than doing int stuff
6862 converting to num later.
6864 2001-10-15 12:28 gregor
6866 * t/: test.pasm, test2.pasm, trace.pasm:
6867 * t/test.pasm prints using string constants instead of string
6870 * t/test2.pasm assembles (using implicit op modes)
6872 * t/trace.pasm updated for new behavior of trace_ic, which does
6874 require an 'end' after 'trace'.
6876 2001-10-15 00:47 gregor
6878 * core.ops, interpreter.c, test_main.c,
6879 include/parrot/interpreter.h, t/test.pasm: * New interpreter flag
6882 * New runops cores to handle profiling
6884 * Support for -p flag in test_prog to enable profiling
6886 * New profile_ic op to control profiling at run-time
6888 2001-10-14 21:54 gregor
6890 * core.ops, Parrot/OpsFile.pm, docs/.cvsignore, docs/Makefile,
6891 lib/Parrot/OpsFile.pm: Integrated op documentation.
6893 * core.ops now contains POD documentation of ops, interspersed
6897 * Ops are organized into POD =head2 sections
6899 * Parrot/OpsFile.pm now treats the preamble of the ops file as
6901 up to the first POD directive OR op definition.
6903 * docs/Makefile now generates core_ops.pod from core.ops vi
6906 2001-10-14 11:58 simon
6909 Unbreak Digital Un^W^WTru64
6911 2001-10-14 11:00 simon
6916 2001-10-14 10:56 tom
6918 * Configure.pl: Stop Configure trying to make op_info.c and op.h as
6919 op_info.c no longer exists and op.h is no longer a generated file.
6921 2001-10-14 10:54 tom
6923 * Makefile.in: Added vtable.h to the list of things removed by the
6926 2001-10-14 01:43 gregor
6928 * .cvsignore, MANIFEST, Makefile.in, basic_opcodes.ops,
6929 build_interp_starter.pl, core.ops, disassemble.pl, interpreter.c,
6930 make_op_header.pl, memory.c, opcheck.pl, opcode_table, ops2c.pl,
6931 ops2pm.pl, packfile.c, pbc2c.pl, process_opfunc.pl,
6932 Parrot/Assembler.pm, Parrot/Op.pm, Parrot/OpsFile.pm,
6933 Parrot/OpLib/.cvsignore, lib/Parrot/Assembler.pm, lib/Parrot/Op.pm,
6934 lib/Parrot/OpsFile.pm, lib/Parrot/OpLib/.cvsignore,
6935 include/parrot/.cvsignore, include/parrot/interp_guts.h,
6936 include/parrot/interpreter.h, include/parrot/op.h,
6937 include/parrot/oplib/.cvsignore, t/.cvsignore, t/Makefile,
6938 t/euclid.pasm, t/test.pasm, t/op/integer.t, t/op/number.t,
6939 t/op/stacks.t, t/op/string.t, t/op/trans.t:
6942 * basic_opcodes.ops and opcode_table replaced by core.ops
6944 * process_opfunc.pl replaced by Parrot/OpsFile.pm, Parrot/Op.pm,
6945 and ops2c.pl. These convert *.ops to *_ops.c and
6946 include/parrot/oplib/*_ops.h
6948 * New ops2pm.pl converts *.ops to Parrot/OpLib/*.pm
6950 * disassemble.pl modified to use
6952 * interpreter.c modified to use structures in core_ops.c instead
6953 of the old op_info and op_func stuff. We're not yet to the
6954 point of handling multiple oplibs at a time, but we are getting
6957 Fingerprinting stuff disabled for now. We used to go off
6958 opcode_table. We need to rethink this. I have some ideas to
6959 make it unnecessary, but it remains to be seen whether others
6960 will like the direction they take us.
6962 Termination condition for while(){} loop in runops is now
6963 (pc) instead of (*pc). Any op can cause a HALT by returning
6964 a NULL pointer. Ops end, bounds and trace all do this. So, now
6965 the 'end' op body is actually executed, although all it does
6968 * Makefile.in modified to perform a test build using pbc2c.pl,
6969 which is the bytecode --> C compiler I've posted to the
6972 * Op full names are now autogenerated. Op root names must not
6973 contain underscores, so some op renamings have happened.
6974 Such as clear_i becoming cleari.
6976 2001-10-13 11:49 simon
6978 * Configure.pl, MANIFEST:
6979 Make parrot actually build again.
6981 2001-10-12 21:34 dan
6983 * docs/parrot_assembly.pod: Added docs for the new save/restore/bsr
6986 2001-10-12 20:56 dan
6988 * MANIFEST, Makefile.in, basic_opcodes.ops, interpreter.c,
6989 opcode_table, process_opfunc.pl, stacks.c, include/parrot/stacks.h,
6990 t/test3.pasm, t/test4.pasm, t/test5.pasm: Changes to support
6991 generic stack now in. We also have subroutines, of a simple sort!
6993 2001-10-12 19:15 tom
6995 * t/op/string.t: Improved string comparison tests try all string
6996 combinations with each of the comparison ops.
6998 2001-10-12 19:09 dan
7000 * interpreter.c: Properly sets up generic stack now
7002 2001-10-12 19:09 dan
7004 * include/parrot/interpreter.h: Fixed stack chunk struct type in
7005 interpreter structure
7007 2001-10-12 18:59 dan
7009 * stacks.c, include/parrot/parrot.h, include/parrot/stacks.h: More
7010 changes to get the generic stack working
7012 2001-10-12 18:59 dan
7014 * Configure.pl, MANIFEST, config_h.in, testparrotsizes_c.in,
7015 hints/vms.pl: Made the changes to figure out mask bits for various
7016 register and stack chunks
7018 2001-10-11 22:09 dan
7020 * docs/parrot_assembly.pod: Tossed the parameter for return
7022 2001-10-11 19:28 tom
7024 * strnative.c: Assignment, not comparison. (Plus formatted for
7027 Courtesy of Bryan C. Warnock
7029 2001-10-10 19:21 tom
7031 * basic_opcodes.ops, opcode_table, string.c, strnative.c,
7032 strutf16.c, strutf32.c, strutf8.c, docs/strings.pod,
7033 include/parrot/string.h, t/op/string.t: Added support for string
7034 comparisons and extended the comparison ops to include comparison
7037 2001-10-10 17:58 dan
7039 * MANIFEST: Shouldn't have added vtable.h to the manifest...
7041 2001-10-10 17:54 dan
7043 * MANIFEST, stacks.c, vtable_h.pl, Parrot/Vtable.pm,
7044 lib/Parrot/Vtable.pm: Now spits out the #defines for the various
7045 vtable type entries properly
7047 2001-10-10 15:37 dan
7049 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Re-enabled change to
7050 parse new vtable.tbl file now that I've actually checked *in* the
7051 new format vtable.tbl file...
7053 2001-10-10 15:32 dan
7055 * vtable.tbl: New Column to indicate the type of the vtabel entry
7056 so we can know how many slots it takes
7058 2001-10-10 05:26 thgibbs
7060 * Parrot/Vtable.pm, lib/Parrot/Vtable.pm, vtable_h.pl: Patch to
7061 allow parrot to compile. PACKAGE is not defined, therefore, I
7062 added a struct before it to have it not complain until we define
7063 PACKAGE. Also, there was an extra shift in Vtable.pm and a missing
7064 semicolon at the end of the struct declaration.
7066 2001-10-10 05:09 thgibbs
7068 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: This patch makes
7069 string constants of the form U"string" become unicode encoded
7070 parrot strings and the form N"string" become native encoded parrot
7073 Courtesy of: Tom Hughes <tom@compton.nu>
7075 2001-10-10 04:55 dan
7077 * vtable_h.pl, Parrot/Vtable.pm, lib/Parrot/Vtable.pm: Start of
7078 support for generating the vtable function table offset macros
7080 2001-10-10 01:05 simon
7083 The test for cmod_i was using the 'mod Ix, Ix, Ix' form which
7084 compiles into the mod op, not the cmod_i op, hence wasn't testing
7085 what it thought it was.
7087 Courtesy of: Alex Gough <alexander.gough@st-hughs.oxford.ac.uk>
7089 2001-10-09 03:45 thgibbs
7091 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Patch to allow
7092 assembler to generate unicode strings.
7094 Courtesy of: Tom Hughes <tom@compton.nu>
7096 2001-10-08 19:30 brentdax
7098 * Configure.pl, test_c.in, hints/vms.pl: Cleaner VMS support, more
7099 info for Parrot::Config to remember, more flexible test.c stuff
7101 2001-10-08 15:04 gregor
7103 * basic_opcodes.ops:
7104 * Removed trash from early mod_i experiments (pardon our dust)
7106 2001-10-08 14:56 gregor
7108 * basic_opcodes.ops:
7109 * Fixed a couple of typos.
7111 2001-10-08 14:45 gregor
7113 * basic_opcodes.ops, opcode_table, t/op/integer.t, t/op/number.t:
7114 Arithmetic enhancements:
7116 * Renamed existing mod_i as cmod_i and added "corrected" mod_i:
7118 NOTE: This "uncorrected mod" algorithm uses the C language's
7120 mod operator (x % y), which is
7122 ... the remainder when x is divided by y, and thus is zero
7126 The direction of truncation for / and teh sign of the
7128 are machine-dependent for negative operands, as is the
7130 on overflow or underflow.
7136 ... if the second operand is 0, the result is undefined.
7138 is always true that (a/b)*b + a%b is equal to z. I both
7140 non-negative, then teh remainder is non-negative and
7142 divisor; if not, it is guaranteed only that the absolute
7144 remainder is smaller than the absolute value of the
7149 This op is provided for those who need it (such as
7151 applications with heavy use of mod, but using it only with
7153 arguments), but a more mathematically useful numeric mod based
7155 floor(x/y) and defined with y == 0 is provided by the mod_i op.
7157 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7159 Language*, Second Edition. Prentice Hall, 1988.
7161 * Added "corrected" mod_i:
7163 NOTE: This "corrected mod" algorithm is based on the C code on
7165 of [1]. Assuming correct behavior of C's built-in mod operator
7167 positive arguments, this algorithm implements a mathematically
7169 version of mod, defined thus:
7171 x mod y = x - y * floor(x / y)
7173 For more information on this definition of mod, see section 3.4
7179 [1] Donald E. Knuth, *MMIXware: A RISC Computer for the Third
7180 Millennium* Springer, 1999.
7182 [2] Ronald L. Graham, Donald E. Knuth and Oren Patashnik,
7184 Mathematics*, Second Edition. Addison-Wesley, 1994.
7186 * Added mod_n, using the same formula as above, but with FLOATVAL
7189 * Added cmod_n, using the C math library's fmod() function:
7191 NOTE: This "uncorrected mod" algorithm uses the built-in C math
7193 fmod() function, which computes
7195 ... the remainder of dividing x by y. The return value is x
7197 where n is the quotient of x / y, rounded towards zero to
7200 -- fmod() manpage on RedHat
7203 In addition, fmod() returns
7205 the remainder, unless y is zero, when the function fails
7209 According to page 251 of [1], the result when y is zero is
7213 This op is provided for those who need it, but a more
7215 useful numeric mod based on floor(x/y) instead of truncate(x/y)
7217 defined with y == 0 is provided by the mod_n op.
7219 [1] Brian W. Kernighan and Dennis M. Ritchie, *The C
7221 Language*, Second Edition. Prentice Hall, 1988.
7223 * Added and modified tests as appropriate for the above.
7225 2001-10-08 08:49 thgibbs
7227 * include/parrot/exceptions.h, include/parrot/parrot.h,
7228 include/parrot/string.h, include/parrot/strutf16.h,
7229 include/parrot/strutf32.h, include/parrot/strutf8.h,
7230 include/parrot/transcode.h, include/parrot/unicode.h, MANIFEST,
7231 Makefile.in, global_setup.c, string.c, strnative.c, transcode.c,
7232 strutf16.c, strutf32.c, strutf8.c: Added code to handle unicode
7233 strings for utf8, utf16, and utf32.
7235 Courtesy of: Tom Hughes <tom@compton.nu>
7237 2001-10-08 08:10 thgibbs
7239 * memory.c: Fixed uninitialized variables.
7241 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7243 2001-10-08 01:21 gregor
7245 * packfile.c: * Casting a return value
7247 * Potential uninitialized variable fix
7249 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7251 2001-10-08 01:15 gregor
7253 * packfile.c, test_main.c: One of Bryan's languishing patches (with
7254 a few tweaks of my own):
7258 * Printf format fixes
7260 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7262 2001-10-07 22:39 thgibbs
7264 * build_interp_starter.pl: No longer adds (void*) casts to
7265 interp_guts.c function table as they are not necessary in ANSI C.
7267 2001-10-07 16:27 gregor
7269 * basic_opcodes.ops, interpreter.c, opcode_table,
7270 process_opfunc.pl, test_main.c, include/parrot/interpreter.h,
7272 * Two new ops, trace_ic and bounds_ic that twiddle bits in
7273 interpreter->flags and set interpreter->resume_addr.
7275 * Two new runops core variants, so now we cover the relevant
7276 flag space over {trace, notrace} x {boundscheck, noboundscheck}
7278 * Runops core selection that converts the flags into an index
7280 a core table (runops_cores) to get the core function pointer.
7282 * A new trace_op variant that doesn't do bounds checking (used by
7283 the non-bounds-checking-but-tracing runops core).
7285 * PC is passed into the cores so that they can be used when
7286 resuming (they used to assume starting at the beginning of the
7287 code, which would thwart resumption).
7289 * runops() itself is changed to have a while() loop in it so that
7290 any time we drop out of the core, we'll resume if we have an
7291 interpreter->resume_addr set (after reselecting the core,
7294 * process_opfunc.pl has a new "macro": RESUME(), that sets up
7295 interpreter->resume_addr. This is used by the new ops. The new
7296 ops still return the new PC as the next op (which MUST be an
7297 'end' op to force the core loop to terminate -- *pc being false
7298 is the only termination condition we can count on for all
7301 * New interpreter flag: PARROT_BOUNDS_FLAG, used to control
7302 bounds checking core selection.
7304 * test_prog now has a '-b' flag in addition to the '-t' flag.
7306 bounds checking is off by default (I saw a performance boost:
7307 6.3 Mop/s with -b, 7.0 Mop/s without).
7309 * A new sample/test program: t/trace.pasm that twiddles the trace
7310 flag while it is running.
7312 2001-10-07 15:41 gregor
7314 * .cvsignore, Makefile.in, build_interp_starter.pl, interpreter.c,
7315 include/parrot/.cvsignore, include/parrot/interpreter.h:
7316 Now that 0.0.2 is released, I can clear out the backlog of approved
7317 but uncommitted patches. Here's one Dan approved on 2001-09-21
7320 * test_prog and pdump are linked with only the files the need,
7324 * build_interp_starter.pl writes out op_info.[hc], too. These
7326 contain op name, arg count and arg type information. This will
7328 useful for multiple things in the future, including better
7330 output and the crystalizing loader.
7332 * The DO_OP macro is now simpler and doesn't require explicit
7335 * interpreter.c is modified to use the new op info in tracing
7338 * The interpreter just points its opcode_funcs and opcode_info
7339 members at the default tables rather than allocating memory on
7342 2001-10-07 03:58 thgibbs
7344 * include/parrot/.cvsignore, vtable_h.pl: Minor updates fixing a
7345 comment and adding vtable.h to .cvsignore as it is produced by
7348 2001-10-06 20:58 thgibbs
7350 * vtable.tbl: Added * to REGEX type.
7352 Courtesy of Bryan C. Warnock <bwarnock@raba.com>
7354 2001-10-06 13:41 simon
7356 * MANIFEST, Makefile.in, vtable.tbl, vtable_h.pl, Parrot/Vtable.pm,
7357 include/parrot/parrot.h, lib/Parrot/Vtable.pm:
7358 Framework for vtable functions.
7360 2001-10-06 06:52 thgibbs
7362 * make_op_header.pl: Removed confusing and unused typedef.
7364 2001-10-06 06:31 thgibbs
7366 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Removed variables that
7369 2001-10-06 06:26 thgibbs
7371 * disassemble.pl: Changed intval to op in disassembler.
7373 2001-10-06 06:21 thgibbs
7375 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: Fixed typo with
7376 Assembler, local labels, and integer constants.
7378 2001-10-06 03:11 ask
7380 * Makefile.in: make `make test` actually run the tests on
7383 2001-10-06 02:04 thgibbs
7385 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7386 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7387 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7388 include/parrot/register.h, lib/Parrot/Assembler.pm,
7389 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7390 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7391 t/op/integer.t: No, it didn't mess anything up. I just forgot to
7394 2001-10-06 02:02 thgibbs
7396 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7397 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7398 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7399 include/parrot/register.h, lib/Parrot/Assembler.pm,
7400 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7401 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7402 t/op/integer.t: oops...this messed something up. I must have
7403 missed something in the patch...I have reverted.
7405 2001-10-06 01:57 thgibbs
7407 * Parrot/Assembler.pm, Parrot/Opcode.pm, Parrot/PackFile.pm,
7408 Parrot/String.pm, Parrot/PackFile/ConstTable.pm,
7409 Parrot/PackFile/Constant.pm, include/parrot/packfile.h,
7410 include/parrot/register.h, lib/Parrot/Assembler.pm,
7411 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7412 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm,
7413 t/op/integer.t, Types_pm.in, basic_opcodes.ops, config_h.in,
7414 memory.c, packfile.c, process_opfunc.pl, strnative.c, test_main.c:
7415 This patch ensures that all bytecode is of type opcode_t except for
7416 the constant table constants. That means that almost all of the
7417 INTVALs in the code were replaced with opcode_t and the i pack type
7418 was replaced with the op pack type in calls to pack_arg and such.
7419 Also, since it has been declared that ALL integer constants are to
7420 be 32 bits, some test cases were changed to ensure that an integer
7421 constant was no bigger than 2 ** 31.
7423 process_opfunc.pl was also cleaned up to no longer look at either
7424 opcode_table or interp_guts.h but gather all of its information
7427 The Assembler.pm module was changed to do late binding of arguments
7428 so that 0 could be treated like 0.0 without having to be so
7429 declared. Also, only strings now use the [sc:N] intermediate form
7430 as it was unnecessary for integer and float types.
7432 2001-10-05 21:59 gregor
7434 * MANIFEST, languages/jako/Makefile:
7435 Fixed things due to the movement of little_languages/* to
7438 2001-10-05 18:31 gregor
7441 Updated MANIFEST to reflect recent additions for Jako.
7443 2001-10-05 17:54 gregor
7445 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
7446 fib.jako, hello.jako, jakoc, leibniz.jako, mandelbrot.jako,
7447 mops.jako, primes.jako, sub.jako:
7450 * User-defined subroutines.
7451 * Generates assembly code with the Jako code in comments.
7452 * "end;" no longer required at the end of programs.
7453 * Better handling of const-reg and reg-const.
7454 * Optimizes const-const operations to compile-time
7456 * Constants in addition to variables.
7458 * Allow leading minus signs in integer and number constants
7462 * New sample programs:
7464 * leibniz.jako (based on Greg McCarroll's leibniz.pasm
7466 * mandelbrot.jako (based on Leon Brocard's translation of
7467 Glenn Rhodes' C code)
7468 * mops.jako (based on t/test.pasm)
7469 * primes.jako (based on Leon Brocard's primes.pasm example)
7470 * sub.jako (demonstrates a simple user-defined subroutine)
7472 2001-10-05 12:54 gregor
7474 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7475 * Removed mysterious extra copy of code after POD.
7477 2001-10-05 12:46 gregor
7479 * basic_opcodes.ops, t/op/string.t:
7480 * Enabled the previously SKIPped test of printing string regs
7484 * Made print_s do nothing if the STRING pointer in the register
7488 2001-10-04 21:19 dan
7490 * Configure.pl: VMS tweaks
7492 2001-10-04 21:17 dan
7494 * hints/vms.pl: Hints file for VMS
7496 2001-10-04 00:58 bdwheele
7498 * Parrot/Assembler.pm, lib/Parrot/Assembler.pm: fixed but in
7499 Assembler which stopped equates from working.
7501 2001-10-03 21:50 gregor
7503 * Makefile.in, docs/.cvsignore, docs/Makefile, docs/parrotbyte.pod:
7505 * More documentation updates for the packfile stuff.
7507 2001-10-03 21:37 gregor
7509 * docs/parrotbyte.pod:
7510 * Pointed the reader at Parrot::PackFile.
7512 2001-10-03 21:34 gregor
7514 * Parrot/PackFile.pm, lib/Parrot/PackFile.pm:
7515 * Updated documentation to match current implementation.
7517 2001-10-03 18:30 gregor
7519 * .cvsignore, disassemble.pl, Parrot/Assembler.pm,
7520 lib/Parrot/Assembler.pm, t/call.pasm, t/euclid.pasm,
7521 t/local_label.pasm, t/test.pasm, t/test2.pasm, t/test3.pasm,
7523 * Added new syntax to the assembler to allow square-bracket
7524 arithmetic expressions involving (global) labels, the current
7525 instructions base address ('@'), numeric constants (not
7527 and basic arithmetic operators (+, -, *, / -- although + and -
7528 are likely to be the only ones used in practice).
7530 * Fixed a bug in Parrot/Assemble.pl that caused macro expansion
7532 fail (argument passing wasn't working).
7534 * Enabled t/op/basic.t's last test, which is actually a copy of
7536 code from t/call.pasm. Now all tests there are enabled and
7539 * Added new example/test program t/call.pasm to demonstrate
7541 macros and poor-man's subroutine calls
7543 * Added header comments to t/*.pasm
7545 2001-10-03 18:00 simon
7548 Needed, since it's in the MANIFEST.
7550 2001-10-03 17:56 simon
7552 * t/op/: string.t, time.t:
7553 Small fixes to help Win32 on its way.
7555 2001-10-03 17:41 simon
7560 2001-10-03 17:39 simon
7562 * MANIFEST, NEWS, README:
7563 README, NEWS and MANIFEST? Could it be time for Parrot 0.0.2? I
7566 2001-10-03 17:21 simon
7568 * basic_opcodes.ops, interpreter.c, packfile.c:
7569 Evil printf bandaid (which allows Sparc64 to pass tests)
7571 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
7573 2001-10-03 16:58 simon
7575 * string.c, t/op/string.t:
7576 chop fixes for n < 0 and tests
7578 Courtesy of: Alex Gough <alex@rcon.org>
7580 2001-10-03 15:51 thgibbs
7582 * interpreter.c: Changed an occurrence of INTVAL to opcode_t
7584 Courtesy of: Bryan C. Warnock <bwarnock@raba.com>
7586 2001-10-02 17:48 dan
7588 * include/parrot/stacks.h: Fix typo in function name
7590 2001-10-02 17:35 dan
7592 * include/parrot/stacks.h: changed to support new stack stuff
7595 2001-10-02 15:01 simon
7597 * Configure.pl, Types_pm.in, basic_opcodes.ops, config_h.in,
7598 interpreter.c, make_op_header.pl, memory.c, packfile.c,
7599 process_opfunc.pl, register.c, string.c, strnative.c,
7600 Parrot/Opcode.pm, Parrot/PackFile.pm, Parrot/String.pm,
7601 lib/Parrot/Opcode.pm, lib/Parrot/PackFile.pm, lib/Parrot/String.pm,
7602 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7603 docs/overview.pod, docs/strings.pod, include/parrot/interpreter.h,
7604 include/parrot/memory.h, include/parrot/packfile.h,
7605 include/parrot/parrot.h, include/parrot/register.h,
7606 include/parrot/stacks.h, include/parrot/string.h,
7607 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7611 2001-10-02 12:49 gregor
7613 * process_opfunc.pl:
7614 * Fixed a tyop: s/string/integer/ for INT_CONST expansion
7616 2001-10-02 12:40 simon
7618 * basic_opcodes.ops, process_opfunc.pl, register.c,
7619 include/parrot/register.h:
7620 Move preprocessing of register accessors to process_opfunc.pl
7622 Courtesy of: Jason Gloudon <perl@gloudon.com>
7624 2001-10-02 01:20 ask
7626 * README: add a few lines about lists.
7628 2001-10-01 23:00 brentdax
7630 * Configure.pl, Makefile.in, hints/mswin32.pl: Make 'make clean'
7631 work on Win32 (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
7633 2001-10-01 22:50 brentdax
7635 * Configure.pl, test_c.in: More changes for 64-bit compatibility
7637 2001-10-01 21:51 simon
7639 * process_opfunc.pl:
7640 Michael Fischer's patch broke conditionals.
7642 2001-10-01 15:38 simon
7644 * process_opfunc.pl:
7645 Small hack to keep process_opfunc.pl from generating extra return()
7648 Courtesy of: Michael Fischer <michael@visv.net>
7650 2001-10-01 15:32 simon
7652 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
7655 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
7657 2001-10-01 01:49 simon
7660 Simon is an idiot. Don't trust him with your code.
7662 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
7664 2001-10-01 00:59 simon
7666 * Parrot/String.pm, lib/Parrot/String.pm:
7667 Was in manifest, but not in CVS.
7669 2001-09-30 21:25 simon
7671 * MANIFEST, Types_pm.in, assemble.pl, basic_opcodes.ops,
7672 disassemble.pl, packfile.c, pdump.c, process_opfunc.pl,
7673 Parrot/Assembler.pm, Parrot/PackFile.pm,
7674 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
7675 Parrot/PackFile/FixupTable.pm, lib/Parrot/Assembler.pm,
7676 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
7677 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm,
7678 include/parrot/packfile.h, include/parrot/string.h:
7679 Move NVs to the constant table. * Changes to Types_pm.in to make
7680 life easier for some of the packing/etc. I'm doing elsewhere.
7681 Also, we now pack 'n' as 'i'.
7683 * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
7684 eventually we can use all these tools together inside scripts
7685 rather than call out to the shell to run the programs.
7687 * As I was tracking down problems, I converted the internal
7688 documentation of the assembler to POD from comments.
7690 * Changed the numeric regexp in the assembler to detect leading
7691 signs and trailing exponents.
7693 * Updated basic_opcodes.ops to fetch numeric constants from the
7696 * Enhanced the disassembler in a number of ways to make my life
7697 easier while tracking down bugs (try it out). It now puts in
7698 labels for ops that are the destinations of flow control ops.
7700 * packfile.c now has a TRACE_PACKFILE switch that can be set
7701 to get it to print info as it processes. I needed this while
7702 debugging, but I can remove it or change it before committing
7705 * Updated pdump.c because it was missing a call to init_world().
7707 * Updated process_opfunc.pl to deal with numeric constants
7708 being stored in the constant table instead of inline.
7710 * Added multiple type support to Parrot/PackFile/Constant.pm
7712 * Added Parrot/String.pm, to be used for constants.
7714 * Added packfile.[hc] functions for allocating new constants
7717 * Made string_copy visible to the world in parrot/string.h.
7721 Courtesy of: Gregor N. Purdy <gregor@focusresearch.com>
7723 2001-09-29 15:56 gregor
7725 * languages/jako/Makefile:
7726 Removed assumption that '.' is on the path.
7728 2001-09-29 15:55 gregor
7730 * languages/jako/Makefile:
7731 Removed references to leibnitz test program.
7733 2001-09-29 15:21 thgibbs
7735 * t/op/trans.t, basic_opcodes.ops: Added NV casts to transcendental
7736 math ops args to work on Solaris.
7738 2001-09-27 15:15 thgibbs
7740 * assemble.pl: Added case insensitive matches to hex and binary
7743 Courtesy of: Johnathan Scott Duff <duff@cbi.tamucc.edu>
7745 2001-09-27 04:46 thgibbs
7747 * assemble.pl: This patch makes integer constants of the form
7748 0b[01]+ work with perl 5.005. The oct function in versions of perl
7749 before 5.6 did not handle the 0b numeric prefix; therefore, it was
7750 returning 0. To fix this, I added a from_binary function that
7751 would take a binary string and return its decimal representation.
7752 Now, instead of blindly calilng oct, it makes a distinction between
7753 0/0x numbers and 0b numbers.
7755 2001-09-26 19:30 thgibbs
7757 * assemble.pl: Error now returns a non-zero status
7759 Courtesy of: Andrew Kuchling <akuchlin@mems-exchange.org>
7761 2001-09-26 19:13 gregor
7763 * MANIFEST, Makefile.in, basic_opcodes.ops, bytecode.c,
7764 interpreter.c, packfile.c, pdump.c, test_main.c,
7765 include/parrot/bytecode.h, include/parrot/interpreter.h,
7766 include/parrot/packfile.h, include/parrot/parrot.h, t/op/integer.t,
7768 * bytecode.[hc] removed. packfile.[hc] are the interface to the
7769 packfile/bytecode file from C. May be renamed in the future.
7771 * packfile.[hc] changed to use 'struct PackFile *', etc. instead
7772 of 'PackFile *', just like the interpreter, etc.
7774 * Constants are accessed via the interpreter's 'code' member
7775 (struct PackFile * code). Macros PCONST(i) and PNCONST are
7776 provided to access constants by index and the number of
7777 constants, respectively (assumes a variable 'interpreter' of
7778 the appropriate type is in scope).
7780 * Byte Code is accessed via the interpreter's 'code' member.
7782 * Changed PackFile_Constant to point to a STRING instead of
7784 members for the string_make() arguments. Also has a 'type' IV
7785 in preparation for allowing multiple types of constants in
7788 * Removed hardcoded example program from test_main.c. We have
7789 plenty of test programs elsewhere.
7791 * test_prog now uses a PackFile to deal with the program before
7792 sending it on to the interpreter.
7794 * Added missing 'end' ops to some tests in t/op/integer.t and
7797 2001-09-26 18:38 thgibbs
7799 * assemble.pl: Separated code into functions and added comments.
7801 2001-09-26 18:29 simon
7804 Fix 64-bit chunk-base issue.
7806 2001-09-26 06:55 thgibbs
7808 * t/op/bitwise.t: Added end to bitwise tests.
7810 2001-09-26 00:54 dan
7812 * docs/parrot_assembly.pod: Added in the base for threading, I/O,
7813 and interpreter creation. Skeleton only, but it's something to peer
7816 2001-09-25 21:44 thgibbs
7818 * t/op/trans.t: Removed loops in transcendtal op test.
7820 2001-09-25 10:12 simon
7822 * MANIFEST, t/op/basic.t, t/op/bitwise.t, t/op/integer.t,
7823 t/op/string.t, t/op/time.t:
7826 Courtesy of: Alex Gough <alex@rcon.org>
7828 2001-09-24 19:08 gregor
7831 * Enabled the clear_n test.
7833 2001-09-24 18:56 gregor
7835 * Parrot/.cvsignore:
7836 * Ignore the generated Types.pm file.
7838 2001-09-24 18:52 gregor
7840 * languages/jako/Makefile, t/op/number.t:
7841 * No need to skip the inc and dec numeric tests anymore. I fixed
7843 assembler earlier today.
7845 2001-09-24 18:21 simon
7847 * MANIFEST, t/op/stacks.t:
7850 2001-09-24 18:19 simon
7852 * build_interp_starter.pl, interpreter.c, string.c, Parrot/Test.pm,
7853 include/parrot/exceptions.h, include/parrot/interpreter.h,
7854 lib/Parrot/Test.pm, t/op/string.t:
7855 1) captured error output, so can test errors, this might be bad,
7856 not sure. 2) basic tests for register stack frames, including some
7857 errors 3) I think we can stop skipping one of the string tests 4) I
7858 added some more substr tests, but substr was broken, so 5) changed
7859 substr to work with out of range values, or 6) throw an error if
7860 they're far too silly
7862 Courtesy of: Alex Gough <alex@rcon.org>
7864 2001-09-24 17:27 gregor
7866 * basic_opcodes.ops, opcode_table, t/op/number.t:
7867 * Op set_n was missing. Added it and a test for it. We now have
7869 same int and num ops, except mod is int-only.
7871 2001-09-24 17:01 gregor
7874 * Fixed a typo: s/Line/line/
7876 2001-09-24 16:02 gregor
7878 * basic_opcodes.ops:
7879 * Fixed dec_n_nc opcode, which had += where it should have had
7882 2001-09-24 15:34 gregor
7885 * Fixed handling of constants starting with '0' that should not
7887 sent through oct(). For example 'set N2 0.1' was being
7889 as 'set N2 0' (naughty).
7891 As reported by Leon Brocard <acme@astray.com> in the comments
7893 his mandelbrot.pasm example.
7895 2001-09-24 02:21 bdwheele
7897 * assemble.pl: fixed dumb code when --include was not specified.
7899 2001-09-24 02:17 simon
7904 2001-09-24 01:56 bdwheele
7906 * assemble.pl: * Added --include=dir option to assembler to provide
7907 a path to look for included files. * Error message of a macro is
7908 defined inside of a macro
7910 2001-09-23 21:29 bdwheele
7912 * assemble.pl: Added __FILE__ equate, fixed __LINE__ equate.
7914 2001-09-23 15:50 simon
7917 Fixed typo. Parrot might work again on non-8.3 filesystems. :)
7919 2001-09-23 02:03 ask
7921 * Configure.pl, test_c.in: fix missing newline at the end of test.c
7922 Courtesy of: acme@astray.com (Leon Brocard)
7924 rename 'test' executable used in Configure process to test_siz.
7926 2001-09-23 01:03 simon
7928 * process_opfunc.pl:
7929 iPaq fix. No, really.
7931 2001-09-23 00:47 simon
7934 Missed several, in fact.
7936 2001-09-23 00:46 simon
7941 2001-09-22 21:13 simon
7944 Assembler register numbering rigour.
7946 Courtesy of: Leon Brocard <acme@astray.com>
7948 2001-09-22 18:20 simon
7950 * Makefile.in, lib/Test/More.pm, lib/Test/Simple.pm,
7952 I'm sick of having to install Test::More everywhere. Temporary
7953 measure until we remove this silly dependency.
7955 Also a typo in Makefile.in which suggests some things were only
7956 happening correctly by sheer chance. :)
7958 2001-09-22 18:06 simon
7961 test.pasm is dead, long like make test.
7963 2001-09-22 17:47 simon
7966 De-fang overzealous floating point test.
7968 2001-09-22 17:39 simon
7970 * process_opfunc.pl:
7971 Remove hard-coded NV size assumption. Tru64 is nearly there!
7973 2001-09-22 17:18 simon
7975 * assemble.pl, disassemble.pl:
7976 More portability fixups.
7978 2001-09-22 16:44 simon
7980 * assemble.pl, Parrot/PackFile/Constant.pm,
7981 lib/Parrot/PackFile/Constant.pm:
7982 And I *think* this fixes Tru64.
7984 2001-09-22 16:37 simon
7986 * Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/ConstTable.pm:
7990 2001-09-22 16:36 simon
7992 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
7993 Parrot/PackFile/Constant.pm, lib/Parrot/PackFile.pm,
7994 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
7996 More removal of hard-coded pack formats.
7998 2001-09-22 15:21 simon
8002 Grrr. Why isn't this working?
8004 2001-09-22 15:18 simon
8006 * Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8007 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm:
8009 Make assemble use the PackFile modules; also fixed some bugs in
8012 2001-09-22 14:38 simon
8014 * Configure.pl, MANIFEST, Types_pm.in, assemble.pl, disassemble.pl:
8016 Abstract the argument and opcode packing types and functions out
8017 into a separate module. This *should* help us maintain consistency
8018 when we change the various types.
8020 2001-09-22 00:46 brentdax
8022 * Configure.pl: Delete test.o (or its equivalent) after Configure's
8023 test program finishes.
8025 2001-09-21 21:24 brentdax
8027 * Parrot/Test.pm, lib/Parrot/Test.pm: Fix error with \ as path
8028 separator (courtesy of Mattia Barbon <mbarbon@dsi.unive.it>)
8030 2001-09-21 21:09 gregor
8032 * Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8033 lib/Parrot/PackFile/ConstTable.pm, lib/Parrot/PackFile/Constant.pm:
8035 * Fixed pad calculation (similar to recent bug fix on C library)
8037 2001-09-21 20:23 simon
8040 Pack types and sizes have gone askew.
8042 2001-09-21 20:18 brentdax
8044 * Configure.pl: Fix typo in setting stuff from the C test program
8046 2001-09-21 10:25 simon
8048 * basic_opcodes.ops, process_opfunc.pl:
8051 Courtesy of: Leon Brocard <acme@astray.com>
8053 2001-09-21 06:06 ask
8055 * Config_pm.in, assemble.pl: fix 5.005_03.
8057 2001-09-21 06:03 ask
8059 * Configure.pl: make the ivsize detection work for us normal people
8060 without . in our PATH. :-)
8062 2001-09-21 05:56 brentdax
8064 * test_main.c: Change _read to read for portability to Tru64
8065 (Damien Neil <neild@misago.org> and likely many others)
8067 2001-09-21 05:46 ask
8069 * Makefile.in: "update" target to update from cvs.
8071 2001-09-21 05:44 brentdax
8073 * Configure.pl, test_c.in: Fix issues with ivsize and nvsize
8075 2001-09-21 02:43 brentdax
8077 * Configure.pl: Fix a typo that forced the -g flag on
8079 2001-09-20 22:41 dan
8081 * packfile.c: Had some no-value returns. Naughty
8083 2001-09-20 22:40 dan
8085 * t/test.pasm: Added labels to output
8087 2001-09-20 15:39 simon
8089 * Parrot/Opcode.pm, Parrot/Test.pm, lib/Parrot/Opcode.pm,
8091 This patch does two only somewhat related things.
8093 Parrot/Opcode.pm: Change the hard-wired assumption that sizeof(nv)
8094 = 2*sizeof(iv) to a PConfig-type computed value.
8096 Parrot/Test.pm: Change it to run with the perl that was used to
8097 generate this version of Parrot. This is useful if, for example,
8098 you want to use bleadperl to build and test parrot (e.g. to try out
8099 various 64-bit options) but you still have a 5.6.x (or 5.005_xx)
8100 installed as the default 'perl' on your system. Since perl-5.7.x
8101 is installed 'version-only', a plain 'perl' is quite likely to pick
8102 up the older perl in such cases. Such an older perl might well not
8103 understand pack('q') used in the assembler.
8105 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8107 2001-09-20 15:14 gregor
8110 * Fixed a typo in pad calculation that throwing off unpack and
8113 2001-09-20 15:03 thgibbs
8115 * t/op/integer.t: Removed overflow tests from integer.t. set_i_ic
8116 tests now cover all registers.
8118 Courtesy of: Damien Neil neild@misago.org
8120 2001-09-20 14:48 thgibbs
8122 * process_opfunc.pl: Changed process_opfunc.pl to work on 64 bit
8125 2001-09-20 14:35 simon
8127 * Configure.pl, assemble.pl:
8130 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8132 2001-09-20 14:06 gregor
8134 * languages/jako/jakoc:
8135 * Fixed a tyop in the string interpolation regex.
8137 Courtesy of Michael L Maraist <maraist@UDel.Edu>
8139 2001-09-20 13:56 gregor
8141 * languages/jako/jakoc:
8142 * Updated jakoc to work with the single-destination comp ops.
8144 2001-09-20 05:08 bdwheele
8146 * assemble.pl: macro expansion. Here's the test macro I was using:
8148 # this uses I32,I31 as temporaries. # macro must be preceeded by a
8149 label. testi macro num,got,want print "Test #"
8150 print num print "..." set I32,want set
8151 I31,got eq I32,I31,$ok print "NG\n" branch
8152 $end $ok: print "OK\n" $end: endm
8156 Test1: testi 1,I3,I2
8158 2001-09-20 03:52 dan
8160 * stacks.c, include/parrot/stacks.h: Preliminary files for the
8161 generic stack support
8163 2001-09-20 02:49 bdwheele
8165 * assemble.pl: Added include processing to assemble.pl the syntax
8166 is: include 'file.to.include'
8168 2001-09-19 23:57 thgibbs
8170 * t/op/integer.t, t/op/number.t, assemble.pl, opcode_table: Fixed
8171 opcode_table listing of if_i_ic and if_n_ic. Dan had changed the
8172 function to only use 2 args, but the opcode_table still had three
8173 listed. Fixed integer.t and number.t to use the new comparison
8174 operators. Improved assemble.pl ability to grok operators by
8175 constructing a function set and comparing operator types.
8177 2001-09-19 22:42 dan
8179 * assemble.pl: Binmodes the output filehandles now. (No more
8180 bytecode munching...)
8182 2001-09-19 22:32 dan
8184 * Configure.pl, basic_opcodes.ops, opcode_table, process_opfunc.pl,
8185 t/euclid.pasm, t/test.pasm, t/test2.pasm: Changed opcodes so
8186 conditional branches take a single argument, and fall through
8189 2001-09-19 21:19 thgibbs
8191 * memory.c: Added explanation of mem_allocate_aligned give by Dan
8194 Courtesy of: Josh Wilmes <josh@hitchhiker.org>
8196 2001-09-19 21:04 thgibbs
8198 * include/parrot/interpreter.h, Configure.pl,
8199 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8200 process_opfunc.pl: Changed opcode_t from a union to a configurable
8203 2001-09-19 20:54 thgibbs
8205 * assemble.pl: Missed a couple of changes for 64 bit portability.
8207 2001-09-19 20:37 gregor
8209 * packfile.c, include/parrot/packfile.h:
8210 * Added "methods" for setting and getting all the various
8212 probably sufficient for an assembler to use the library.
8214 2001-09-19 20:04 thgibbs
8216 * assemble.pl: Modifications to run on 64 bit platforms. To run on
8217 a 64 bit platform manually change the setting for 'i' from 'l' to
8218 'q'. This should be automatically done by a Configure setting in
8221 2001-09-19 19:10 thgibbs
8223 * config_h.in: changed c++ comment to c comment.
8225 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8227 2001-09-19 17:48 gregor
8229 * .cvsignore, MANIFEST, Makefile.in, packfile.c, pdump.c,
8230 include/parrot/packfile.h:
8231 * C code for dealing with PackFiles as if they were objects.
8233 read-only interface for now, but it would not be hard to make
8235 read-write. [packfile.c, include/parrot/packfile.h]
8237 * PackFile Dumping program that falls short of disassembling, but
8238 tests the above code and provides a hex listing of the byte
8240 contents of the PackFile. [pdump.c]
8242 * New Makefile target 'pdump' for the above program, and related
8243 Makefile.in changes.
8245 * Updated MANIFEST to reflect the added files
8247 * Update .cvsignore to ignore pdump.
8249 2001-09-19 14:55 thgibbs
8251 * MANIFEST: Added number.t and trans.t to MANIFEST
8253 2001-09-19 05:40 thgibbs
8255 * process_opfunc.pl: Now taking & of opcode_t instead of i member
8256 of union opcode_t. I hope this will be more portable for set_n_nc.
8258 2001-09-19 05:39 thgibbs
8260 * t/op/integer.t: Added end to test 1.
8262 2001-09-19 00:09 thgibbs
8264 * t/op/number.t: Added end to each test
8266 2001-09-19 00:00 simon
8271 Courtesy of: Damien Neil <neild@misago.org>
8273 2001-09-18 23:52 thgibbs
8275 * interpreter.c: Added casts to appropriate types to make -Wall not
8276 complain on certain printf formats
8278 2001-09-18 23:31 thgibbs
8280 * t/op/integer.t: Added end to each test.
8282 2001-09-18 22:54 thgibbs
8284 * t/op/trans.t: Added trans.t for transcendental math function
8287 2001-09-18 22:28 simon
8290 MANIFEST updates. (And notice how I carefully snuck in the
8291 t/op/integer.t there...)
8293 Courtesy of: Andy Dougherty <doughera@lafayette.edu>
8295 2001-09-18 22:26 simon
8297 * t/: integer.t, op/integer.t:
8298 Except it doesn't go there. Duh.
8300 2001-09-18 22:25 simon
8303 Tests for integer ops.
8305 Courtesy of: Damien Neil <neild@misago.org>
8307 2001-09-18 22:03 thgibbs
8309 * include/parrot/bytecode.h, include/parrot/interpreter.h,
8310 build_interp_starter.pl, bytecode.c, config_h.in, interpreter.c,
8311 make_op_header.pl, process_opfunc.pl, test_main.c: Changed IV to
8312 opcode_t union for operators. This required a few perl script
8313 changes to output the correct type. There were also some changes
8314 to allow -pedantic in gcc
8316 2001-09-18 21:07 gregor
8318 * disassemble.pl, Parrot/PackFile.pm,
8319 Parrot/PackFile/ConstTable.pm, Parrot/PackFile/Constant.pm,
8320 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8321 lib/Parrot/PackFile/Constant.pm:
8322 Converted the disassembler to use the Parrot::PackFile Perl classes
8325 2001-09-18 19:18 brentdax
8327 * Makefile.in: Fix missing functions for real this time. (I
8330 2001-09-18 18:49 brentdax
8332 * Configure.pl: Remove unnecessary -I.. (courtesy of Andy Dougherty
8333 <doughera@lafayette.edu>}
8335 2001-09-18 18:47 brentdax
8337 * Makefile.in: Fix bugs with missing math, etc. functions
8339 2001-09-18 14:42 thgibbs
8341 * strnative.c: Sorry Simon...forgot bustart was a void* not a
8344 2001-09-18 13:59 thgibbs
8346 * strnative.c: Removed unnecessary IV cast in concat.
8348 2001-09-18 13:58 thgibbs
8350 * t/op/string.t: Removed unnecessary IV cast in concat. Added end
8351 to concat test in string.t
8353 2001-09-18 12:07 gregor
8355 * languages/jako/jakoc:
8356 * var num ... no longer requires assignment
8357 * automatic casting between int and num
8358 * Fixed an error message
8360 Courtesy of: Simon Cozens <simon@cvs.perl.org>
8362 2001-09-18 11:57 simon
8365 Gonna have to start thinking of more things to do, soon.
8367 2001-09-18 10:42 simon
8370 Introduce a little more tidiness into the opcode table.
8372 2001-09-18 03:06 gregor
8374 * basic_opcodes.ops, opcode_table, t/euclid.pasm:
8375 Resurrected register-const ops per Dan's request.
8377 2001-09-18 02:20 gregor
8379 * .cvsignore, Configure.pl, MANIFEST, Makefile.in,
8380 build_interp_starter.pl, bytecode.h, events.h, exceptions.h,
8381 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8382 process_opfunc.pl, register.h, stacks.h, string.h, strnative.h:
8383 Committed some files that were missed in the last *.h moving
8386 2001-09-18 02:17 gregor
8388 * include/parrot/.cvsignore: Fixed a typo in .cvsignore.
8390 2001-09-18 02:16 gregor
8392 * include/parrot/: .cvsignore, bytecode.h, events.h, exceptions.h,
8393 global_setup.h, interpreter.h, io.h, memory.h, parrot.h,
8394 register.h, stacks.h, string.h, strnative.h: Added .cvsignore file
8395 missed in last commit for the move of *.h to include/parrot.
8397 2001-09-18 01:32 simon
8400 Trivial "clean" target to t/Makefile.
8402 2001-09-18 01:32 simon
8404 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8405 Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8406 Change icky Digest::MD5 for nice simple unpack()
8408 Courtesy of: Jonathan Scott Duff <duff@cbi.tamucc.edu>
8410 2001-09-18 00:35 simon
8412 * basic_opcodes.ops, opcode_table, docs/parrot_assembly.pod,
8414 New concat op. Hey, if I'm going to talk about it in an article,
8415 better implement it...
8417 2001-09-17 22:54 gregor
8419 * MANIFEST, Parrot/PackFile.pm, Parrot/PackFile/ConstTable.pm,
8420 Parrot/PackFile/Constant.pm, Parrot/PackFile/FixupTable.pm,
8421 lib/Parrot/PackFile.pm, lib/Parrot/PackFile/ConstTable.pm,
8422 lib/Parrot/PackFile/Constant.pm, lib/Parrot/PackFile/FixupTable.pm:
8424 Functions for reading, writing and manipulating Parrot Pack Files.
8425 NOTE: This is a proposed term based on the fact that the file
8426 contains more than just byte code, and another language (Java)
8427 calls its binary files by a broader notion of what's in them (Class
8428 Files). Since Perl has packages, and since we use pack() to write
8429 them, we'll call them PackFiles (at least for now).
8431 That does, however, beg the question of file extension. Should we
8432 name the files "foo.pack" instead of "foo.pbc"?
8434 2001-09-17 20:23 thgibbs
8436 * interpreter.c, test_main.c: Uncuddled else statements for coding
8439 2001-09-17 19:57 gregor
8441 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm:
8442 Added a $revision variable, parsing of the CVS Id line in
8443 opcode_table and a &revision() subroutine.
8445 2001-09-17 19:53 gregor
8448 Added a CVS Id tag to it.
8450 2001-09-17 18:58 thgibbs
8452 * interpreter.c: Cleared interpreter flags on creation.
8454 2001-09-17 18:38 gregor
8456 * build_interp_starter.pl, bytecode.c, bytecode.h, interpreter.c,
8457 interpreter.h, test_main.c:
8458 * Provides macros in interp_guts.h for setting up arrays with
8459 op names and op arg counts (done via build_interp_starter.pl).
8461 These are used in the op tracing
8463 * The functions in bytecode.[hc] pass around a pointer to the
8465 of the bytecode so that later when we get to runops, we know
8466 how much bytecode we've got and we can detect out-of-bounds
8467 jumping. The documentation is updated, too.
8469 * runops in interpreter.c now looks at interpreter->flags to
8470 decide if the core of runops should be runops_trace_core or
8471 runops_notrace_core. These new functions contain just the
8472 while-loop portion of runops. A new function runops_generic
8473 does any other setup (such as checking the bytecode
8474 fingerprint) or wrapup (such as complaining if we ended up
8475 out-of-bounds). NOTE: I didn't know what we should do for
8476 functions in here that are not part of the api, so I gave
8477 them docs with 'TODO' marks mentioning they really aren't
8478 part of the api. Guidance appreciated.
8480 * test_main.c now checks for '-t' arg and sets the tracing flag
8481 on its interpreter instance as appropriate.
8483 2001-09-17 17:47 bdwheele
8485 * assemble.pl: added some default equates, and if they're sub
8486 references, they are computed each time it is referenced.
8488 2001-09-17 16:15 dan
8492 Added flags to the interpreter structure and defined a few.
8494 2001-09-17 15:51 simon
8496 * bytecode.h, string.h:
8497 VAR_SCOPE on globals.
8499 2001-09-17 15:20 simon
8502 Parrot/Opcode.pm, Parrot/Test.pm into MANIFEST.
8504 2001-09-17 15:05 gregor
8506 * t/jump.pasm, MANIFEST:
8507 Added a test program to demonstrate jump_i.
8509 2001-09-17 14:44 thgibbs
8511 * register.c: Fixed register pop not using correct offset (off by
8514 Courtesy of: Philip Kendall <pak@ast.cam.ac.uk>
8516 2001-09-17 13:56 thgibbs
8518 * interpreter.c, register.c: Added code to call Parrot_clear_s
8519 during initialization and Parrot_clear_s and Parrot_clear_p when a
8520 new stack frame is pushed.
8522 2001-09-17 13:51 gregor
8524 * languages/jako/: Makefile, bench.jako, euclid.jako, fact.jako,
8525 fib.jako, hello.jako: Added bench.pasm to "clean"
8527 2001-09-17 13:49 gregor
8529 * languages/jako/: jakoc, Makefile:
8532 2001-09-17 13:49 gregor
8534 * languages/jako/jakoc:
8537 Courtesy of: Buggs <buggs-perl6@splashground.de>
8539 2001-09-17 13:29 gregor
8541 * MANIFEST, opcheck.pl:
8542 Added an opcode_table checker to make sure that all opcodes listed
8543 there conform to a simple set of naming rules (rules themselves, of
8544 course, are subject to change).
8546 2001-09-17 13:23 thgibbs
8548 * string.c: Modified string.c to correctly use the return value of
8551 2001-09-17 05:26 brentdax
8553 * Makefile.in: Making the Makefile smarter
8555 2001-09-16 23:06 brentdax
8557 * hints/mswin32.pl: Finishing the Configure hints
8559 2001-09-16 23:05 brentdax
8561 * Configure.pl, Makefile.in, parrot.h, test_main.c,
8562 Parrot/Opcode.pm, lib/Parrot/Opcode.pm: Win32 compatibility,
8563 Configure hints, 5.005 compatibility, MANIFEST checking
8565 2001-09-16 19:25 bdwheele
8567 * assemble.pl: parrot assembly equates
8569 2001-09-16 18:03 gregor
8572 Added 'test' target to run new test suite.
8574 2001-09-16 17:33 simon
8576 * basic_opcodes.ops:
8577 'not' was being !, rather than ~. Too many Perl programmers here, I
8580 Courtesy of: Tom Hughes <tom@compton.nu>
8582 2001-09-16 17:21 simon
8584 * Parrot/Test.pm, lib/Parrot/Test.pm, t/harness, t/op/basic.t,
8586 A *real* test suite!
8588 Courtesy of: "Mattia Barbon" <mbarbon@dsi.unive.it>
8590 2001-09-16 16:49 gregor
8592 * basic_opcodes.ops, opcode_table:
8593 At Dan's request, my new register-constant comparison ops have been
8596 2001-09-16 16:40 gregor
8598 * languages/jako/jakoc:
8599 Fixed a copy-paste error in one of jakoc's error messages.
8601 Courtesy of: Buggs <buggs-perl6-list@splashground.de>
8603 2001-09-16 16:37 gregor
8605 * languages/jako/jakoc:
8606 Modified comparison implementation to use temporary registers in
8607 the case of register-constant and constant-register comparisons.
8608 This will allow the compiler to emit code that works when the
8609 constant-comparison ops are backed out of Parrot. If the ops ever
8610 make their way back in, then jakoc can emit more efficient code
8613 2001-09-16 16:19 bdwheele
8615 * assemble.pl, t/local_label.pasm: Added local labels ($whatever)
8616 ... though not subroutine based like the documentation wants, they
8617 are local to the last non-local label defined.
8619 2001-09-16 14:02 simon
8622 And remember, when you add stuff, keep the manifest up to date.
8624 2001-09-16 02:55 ask
8626 * Makefile.in: a "shared" target for building libparrot.so
8628 2001-09-16 02:45 thgibbs
8630 * bytecode.c, bytecode.h, events.h, exceptions.h, global_setup.c,
8631 global_setup.h, interpreter.c, interpreter.h, io.h,
8632 make_op_header.pl, memory.c, memory.h, parrot.c, parrot.h,
8633 process_opfunc.pl, register.c, register.h, stacks.h, string.c,
8634 string.h, strnative.c, strnative.h, test_main.c: Updated files to
8635 use the coding standard PDD. Also changed Perl_Interp to
8638 2001-09-16 02:21 ask
8640 * README: emphasise the bits about the license not being worked out
8643 2001-09-15 22:21 simon
8645 * process_opfunc.pl:
8646 basic_opcodes.c should *scream* that it's autogenerated.
8648 2001-09-15 21:58 gregor
8650 * languages/jako/Makefile:
8651 Fixed Makefile to use 'jakoc' instead of 'jako_compiler.pl' to
8654 2001-09-15 21:58 gregor
8656 * languages/jako/: jako_compiler.pl, jakoc:
8657 Renamed the Jako compiler to jakoc from jako_compiler.pl
8659 2001-09-15 21:51 gregor
8661 * languages/jako/: Makefile, bench.jako, euclid.jako,
8663 Added a new bench.jako example based on Leon Brocard's Bench.java.
8665 Jako Compiler: * fix a bug in assignment handling * add some
8666 more conditionals to while and if * revert to using implicit
8667 opcodes in a few cases that were broken before the assembler
8668 patch went in recently.
8670 2001-09-15 21:46 gregor
8672 * assemble.pl, basic_opcodes.ops, opcode_table:
8673 New ops for register-constant INTEGER comparisons:
8675 {eq,ne,lt,le,gt,ge}_ic_ic
8677 New ops for register-register and register-constant NUMERIC
8681 {ne,lt,le,gt,ge}_{n,nc}_ic
8685 Allow uppercase and underscores in labels.
8687 Tweaks to the op infer code to make it work with the examples
8691 2001-09-15 19:16 thgibbs
8693 * README: Updated README to include Configure.pl
8695 2001-09-15 17:05 simon
8697 * build_interp_starter.pl:
8700 Courtesy of: Jarkko Hietaniemi <jhi@cc.hut.fi>
8702 2001-09-15 16:45 simon
8705 And the same again: Parrot/Opcode.pm wasn't "..-aware".
8707 2001-09-15 16:40 simon
8710 The Parrot/Opcode.pm dependency means we need to do -I.. in the
8713 2001-09-15 12:26 simon
8716 Fixed to match the coding standards.
8718 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8720 2001-09-15 01:57 ask
8722 * Configure.pl, Makefile.in, Parrot/Opcode.pm,
8723 lib/Parrot/Opcode.pm: make the Makefile use the perl that was used
8726 2001-09-15 01:48 ask
8728 * Parrot/Opcode.pm, lib/Parrot/Opcode.pm: if we need perl 5.6, just
8731 2001-09-15 01:42 gregor
8733 * languages/jako/: euclid.jako, fact.jako, fib.jako,
8735 Compiler: Added variable interpolation in double-quoted strings.
8736 Examples: Made use of variable interpolation.
8738 2001-09-15 01:28 gregor
8740 * Parrot/.cvsignore:
8741 Ignore the Config.pm generated file.
8743 2001-09-15 01:22 gregor
8745 * languages/jako/: .cvsignore, Makefile, euclid.jako, fact.jako,
8746 fib.jako, hello.jako, jako_compiler.pl:
8747 gnp: Added some more sample Jako files and added many more
8748 operators to the compiler. Preparations for supporting all the Math
8751 2001-09-14 19:06 simon
8753 * assemble.pl, build_interp_starter.pl, disassemble.pl,
8754 make_op_header.pl, process_opfunc.pl, Parrot/Opcode.pm,
8755 lib/Parrot/Opcode.pm:
8756 Move common table reading stuff to a module.
8758 Courtesy of: Damien Neil <neild@misago.org>
8760 2001-09-14 17:42 simon
8763 More .cvsignore foo.
8765 2001-09-14 17:40 simon
8767 * assemble.pl, config_h.in:
8770 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8772 2001-09-14 17:38 simon
8774 * assemble.pl, t/Makefile:
8775 Make assemble.pl look in its parent directory if the data files it
8776 needs aren't in the current one. Plus a Makefile that lets "make
8779 Courtesy of: Rocco Caputo <troc@netrus.net>
8781 2001-09-14 16:29 simon
8783 * make_op_header.pl:
8784 Wildly experimental patch to make Parrot compile on FreeBSD. (And
8785 probably segfault everywhere else.)
8787 2001-09-14 15:58 dan
8789 * languages/jako/: euclid.jako, jako_compiler.pl:
8791 Added in the first mini-language that targets Parrot.
8793 Courtesy of: "Gregor N. Purdy" <gregor@focusresearch.com>
8795 2001-09-14 15:20 dan
8797 * memory.c: Was misaligning returned memory. Fixed.
8799 2001-09-14 15:08 simon
8801 * Makefile.in, basic_opcodes.ops, bytecode.c, global_setup.c,
8802 interpreter.c, interpreter.h, memory.c, parrot.c, parrot.h,
8803 register.c, register.h, string.c, string.h, strnative.c,
8805 Fixes to include <parrot/foo.h>
8807 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8809 2001-09-14 12:05 simon
8814 2001-09-14 12:01 simon
8819 2001-09-14 11:54 simon
8824 2001-09-14 11:45 simon
8829 2001-09-14 11:39 simon
8832 Tru64 cc doesn't like -Wall
8834 2001-09-14 10:57 simon
8836 * Config_pm.in, Configure.pl, MANIFEST, Makefile, Makefile.in,
8837 assemble.pl, build_interp_starter.pl, bytecode.c, bytecode.h,
8838 config.h.in, config_h.in, disassemble.pl, interpreter.c:
8839 Configure now generates Makefile
8841 Courtesy of: Brent Dax <brentdax@cpan.org>
8843 2001-09-14 10:08 simon
8848 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8850 2001-09-14 10:07 simon
8853 * uses Getopt::Long for options. -c is now --checksyntax.
8855 sure how to keep compatible (patches welcome!) * options
8856 include: --help --version
8857 --verbose --output=file
8858 --listing=file --checksyntax * produces
8859 verbose listing of what the assembler saw :) Only one nitpick with
8860 it: unknown symbols are given as 0xffffffff, unfortunately, this
8861 includes symbols which may be defined later in the file (i.e.
8864 Courtesy of: Brian Wheeler <bdwheele@indiana.edu>
8866 2001-09-14 10:06 simon
8871 Courtesy of: Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8873 2001-09-14 10:03 simon
8875 * bytecode.c, global_setup.c, interpreter.c, memory.c, memory.h,
8876 register.c, string.c, strnative.c, test_main.c:
8877 Coding standards conformance
8879 Courtesy of Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8881 2001-09-14 09:46 simon
8884 Make the assembler grok transcendental maths again. Courtesy of:
8885 Gibbs Tanton - tgibbs <Tanton.Gibbs@acxiom.com>
8887 2001-09-13 17:29 simon
8890 Better opcode guessing, from Brian Wheeler. (Again!)
8892 2001-09-13 17:20 dan
8894 * docs/parrot_assembly.pod:
8896 Took out duplicate entries for iton, ntoi, and tostring.
8898 2001-09-13 17:16 simon
8900 * assemble.pl, basic_opcodes.ops, opcode_table:
8903 This patch gives the assembler support of '\a','\n','\r','\t', and
8904 '\\' in string constants.
8906 In addition, it changes (for all registers) "I reg %li is ..." to
8907 just the value of the register. Printing constants is also
8908 supported, but alas, you have to specify the type (print_sc,
8909 print_ic, print_nc).
8911 2001-09-13 15:38 simon
8914 Why don't I actually *test* this stuff before applying it, eh?
8916 2001-09-13 15:34 simon
8918 * TODO, t/euclid.pasm:
8919 From: "Gregor N. Purdy" <gregor@focusresearch.com> Subject: [patch
8920 (really)] Removed opcode qualifers t/euclid.pasm to exercise opcode
8923 2001-09-13 14:42 simon
8926 A new assembler, from Brian Wheeler.
8928 2001-09-13 09:44 simon
8930 * basic_opcodes.ops, interpreter.h, parrot.h, strnative.c,
8932 Two more from Tom Hughes: Patch to fix C++ style comments
8933 Patch to remove use of structure constant/cast
8935 2001-09-13 09:39 simon
8937 * TODO, docs/strings.pod:
8940 2001-09-13 09:36 simon
8942 * Makefile, basic_opcodes.ops:
8943 Tom Hughes Patch to link with the maths library Tom Hughes
8944 Patch to fix += on rvalue
8946 2001-09-13 08:57 simon
8949 I guess nobody's been using the nightly builds...
8951 2001-09-13 08:27 simon
8953 * assemble.pl, basic_opcodes.ops, opcode_table:
8954 Bitwise ops, from Brian Wheeler.
8956 2001-09-13 08:23 simon
8958 * .cvsignore, t/.cvsignore:
8959 .cvsignore's, from Gregor Purdy.
8961 2001-09-13 08:22 simon
8964 Euclidean test and test output rearranging from Gregor Purdy.
8966 2001-09-13 08:21 simon
8968 * assemble.pl, basic_opcodes.ops, disassemble.pl, opcode_table:
8969 Math ops from Gibbs Tanton.
8971 2001-09-13 08:14 simon
8973 * basic_opcodes.ops, opcode_table, string.c, string.h, strnative.c,
8975 String substr op; also rearranged "encoding" to be a vtable
8976 pointer, not an array index. Haven't changed docs to reflect this,
8981 2001-09-12 19:48 dan
8983 * t/euclid.pasm: Implementation of Euclid's Algorithm, courtesy of
8986 2001-09-12 19:39 dan
8988 * basic_opcodes.ops, opcode_table: From Gregor Purdy. Adds mod_i.
8990 2001-09-12 19:23 dan
8992 * interpreter.h, parrot.h: Quick placeholder entry for string
8995 2001-09-12 18:58 dan
8997 * memory.c: Added in a cast to make gcc happy.
8999 2001-09-12 16:44 dan
9001 * docs/parrot_assembly.pod:
9003 PDD describing parrot's assembly language and the opcodes in it
9005 2001-09-12 14:20 dan
9008 Fixed alignment issues with allocation
9010 2001-09-12 10:54 simon
9012 * Makefile, assemble.pl, bytecode.c, disassemble.pl,
9013 make_op_header.pl, opcode_table, process_opfunc.pl:
9014 Brian Wheeler's big patch:
9016 * Changes the opcode_table file to provide additional information
9017 about the operands. Case shouldn't be a problem since that data
9018 never becomes a C symbol [this is pretty much as before]
9020 * Padding errors solved: assemble.pl and bytecode.c were padding
9021 the constants incorrectly. It should have been 4-(size % 4), not
9022 just (size % 4). It is now fixed in both places.
9024 * assembler has less special cases, and should be easier to hang
9027 * disassembler dumps constant table and the format is a bit
9028 prettier, including register names, etc.
9030 2001-09-11 23:21 dan
9032 * build_interp_starter.pl, interpreter.c:
9034 Abstracted the runops function core into a macro for easy
9037 2001-09-11 10:43 simon
9039 * Configure.pl, MANIFEST, Makefile, config.h, config.h.in:
9040 Configure system from Brent Dax <brentdax@cpan.org>
9042 2001-09-11 09:38 simon
9044 * assemble.pl, test.pbc:
9045 From: Bryan C. Warnock <bwarnock@raba.com> Subject: Patch:
9046 assembler deferred output
9048 Also got rid of the bytecode, since that's probably way out of
9051 2001-09-11 09:26 simon
9053 * basic_opcodes.ops, opcode_table, t/test2.pasm:
9054 From: Bryan C. Warnock <bwarnock@raba.com> Subject: length_s_i
9057 2001-09-10 23:20 simon
9060 And that move needs a MANIFEST change. So many things to remember!
9062 2001-09-10 23:18 simon
9064 * t/: test.pasm, test2.pasm, test3.pasm:
9065 Move tests to t/. (Oh, CVS doesn't work the way I think it does.)
9067 2001-09-10 23:18 simon
9069 * test.pasm, test2.pasm, test3.pasm:
9072 2001-09-10 23:04 dan
9076 Register push/pop test
9078 2001-09-10 22:47 simon
9080 * basic_opcodes.ops, bytecode.c, parrot.h, test_main.c:
9081 Fix up format warnings, from Sam Tregar <sam@tregar.com>.
9082 (Modified to avoid conflict with Dan's changes.)
9084 2001-09-10 22:45 dan
9088 Happier about blanks in opcode_table
9090 2001-09-10 22:40 dan
9092 * interpreter.c, register.c:
9094 Yanked out debugging code, since these work OK. The bug I want is
9097 2001-09-10 22:30 simon
9100 Uhm. We want make_op_header.pl. We really, really do.
9102 2001-09-10 22:26 simon
9104 * Makefile, TODO, assemble.pl, basic_opcodes.ops,
9105 build_interp_starter.pl, disassemble.pl, make_op_header.pl,
9106 opcode_table, process_opfunc.pl:
9107 Automatic opcode numbering, from Leon Brocard <acme@astray.com>.
9108 This means we can add lots more opcodes without fiddling about with
9109 the numbers. Hooray!
9111 Don't forget that "end" needs to be op zero, else the interpreter
9112 falls off the end of the code. This is Bad, and I wonder if there's
9115 2001-09-10 19:49 simon
9117 * MANIFEST, make_op_table_build.pl:
9118 Hey! This doesn't do anything...
9120 2001-09-10 19:46 simon
9123 "clean" target cleanup from Bryan C. Warnock <bwarnock@raba.com>.
9125 2001-09-10 18:31 simon
9128 You know what this means...
9130 2001-09-10 18:30 simon
9133 "use strict" patch from Leon Brocard <acme@astray.com>. Hey, why
9134 wait for a release...? :)
9136 2001-09-10 18:13 simon
9141 2001-09-10 17:56 simon
9144 A *real* README file, which doesn't claim it isn't for public
9147 2001-09-10 17:02 simon
9152 2001-09-10 16:56 dan
9154 * TODO: Added in assembler gripe. Also added a few blank lines for
9157 2001-09-10 16:49 dan
9159 * register.h, register.c: Renamed the core functions so the opcodes
9160 can find 'em OK. (There were some conflicts)
9162 2001-09-10 16:48 dan
9164 * basic_opcodes.ops, opcode_table: Added register window ops
9166 2001-09-10 11:07 simon
9171 2001-09-10 11:05 simon
9173 * test.pbc, test2.pasm, test_main.c: Other string bits and pieces;
9174 note "-s" flag to test prog.
9176 2001-09-10 11:01 simon
9179 New string documentation.
9181 2001-09-10 11:01 simon
9183 * basic_opcodes.ops, opcode_table:
9186 2001-09-10 10:53 simon
9191 2001-09-10 10:51 simon
9194 Just some more aliases for now. Used by string handling stuff.
9196 2001-09-10 10:50 simon
9198 * assemble.pl, bytecode.c, bytecode.h:
9199 Temporary hack to store string constants in bytecode and recreate
9202 2001-09-10 10:48 simon
9205 op.h is now generated by the Makefile; remove it.
9207 2001-09-10 10:47 simon
9210 clean and op.h Makefile targets.
9212 2001-09-10 10:45 simon
9214 * string.c, string.h, strnative.c:
9215 More string vtable stuff.
9217 2001-09-07 21:07 dan
9221 Much less picky about whitespace in the opcode_table now. (Doesn't
9222 whine on blank lines)
9224 2001-09-07 16:23 dan
9226 * Makefile, assemble.pl, global_setup.h, interpreter.c,
9227 interpreter.h, opcode_table, parrot.h, test.pasm: (Here's hoping
9228 this takes) Added global_setup.h to declare init_world function
9230 Moved variable declarations out of the interpreter loop for small
9233 Changed end opcode to now be opcode #0. A function is provided for
9234 it, but isn't ever executed.
9236 When the interpreter sees an opcode 0 in the stream it means the
9237 end of stream. Things were coring on Cygwin otherwise. (I think I
9238 was dereferencing a zero, which is bad)
9240 2001-09-06 22:07 dan
9242 * basic_opcodes.ops, process_opfunc.pl:
9244 Minor tweaks to basic_opcodes.ops to fix some NV issues. The rest
9245 are minor changes now that things are in a fixed state.
9247 2001-09-06 16:13 dan
9249 * basic_opcodes.c, test_opcodes.c:
9250 test_opcodes.c is now irrelevant--they're all in basic_opcodes.ops.
9252 basic_opcodes.c is now autogenerated from basic_opcodes.ops, and
9253 should be nuked. So it is. :)
9255 2001-09-06 03:35 dan
9257 * basic_opcodes.ops, build_interp_starter.pl, process_opfunc.pl:
9258 Scripts to build the header file that holds the function table
9259 creation code, as well as the script to turn an opcode file to C
9260 source. (And the basic opcode functions turned into an opcode
9263 2001-09-06 03:31 dan
9265 * Makefile, interpreter.c:
9266 Changes to support the autogeneration of the opcode function
9267 pointer table in interpreter.c, along with the changes to the
9270 2001-09-05 13:27 simon
9272 * bytecode.c, config.h, docs/opcodes.pod, docs/overview.pod,
9273 docs/parrotbyte.pod, docs/vtables.pod:
9274 Added stubs for the documents; working on them this week. (What's
9275 left of it.) config.h change is just to type VTABLE, and the
9276 bytecode thing you might want to revoke. It's apidoc for the
9279 2001-09-03 18:26 simon
9282 A start on the string API documentation.
9284 2001-09-03 17:43 simon
9287 Since we specify the opcode number, we can rearrange to a more
9288 human-friendly ordering.
9290 2001-09-03 17:42 simon
9293 Coupl'a logic bugs. (I think)
9295 2001-09-03 17:41 simon
9297 * string.c, string.h, strnative.c:
9298 Tidying up the string vtables.
9300 2001-09-03 17:38 simon
9302 * make_op_header.pl:
9303 Spit out the whole of op.h, not just the bit in the middle.
9305 2001-08-29 13:16 ask
9307 * README: it seems like we indeed can commit. What about sending
9310 2001-08-29 13:07 simon
9312 * Makefile, README, assemble.pl, basic_opcodes.c, bytecode.c,
9313 bytecode.h, config.h, disassemble.pl, events.h, exceptions.h,
9314 global_setup.c, interpreter.c, interpreter.h, io.h,
9315 make_op_header.pl, make_op_table_build.pl, memory.c, memory.h,
9316 op.h, opcode_table, parrot.c, parrot.h, register.c, register.h,
9317 stacks.h, string.c, string.h, strnative.c, strnative.h, test.pasm,
9318 test.pbc, test_main.c, test_opcodes.c:
9319 Initial checkin of Simon's work directory - Dan, feel free to nuke.
9320 I'm still working on the string stuff, though.
9322 2001-08-29 12:44 ask
9324 * README: update README with list address
9326 2001-08-29 12:36 ask
9328 * README: first readme.