develooper Front page | perl.perl6.internals | Postings from September 2001

[PATCH] (Third try)

Thread Next
From:
Gregor N. Purdy
Date:
September 29, 2001 11:38
Subject:
[PATCH] (Third try)
Message ID:
1001788695.30688.33.camel@sarek.oh.focusresearch.com
All --

[[
There was trouble with the attachment on my first post, and missing
files in the patch on my second post, so here it comes again...

And, BTW, I'll be looking through the documentation for things I
need to change there to reflect the update .pbc file format.
]]

This now works on my system. This is a big change, so we really need
to see results from folks before we even think about committing this.
Also, I've probably made some style or portability missteps in a
change this large, so I'd appreciate some feedback there, too. If we
can make whatever changes are necessary to get this working everywhere,
I'd like to commit it so we can release 0.0.2.

Right now my sandbox is passing all its tests.


Here's a rundown of what I did:

  * Changes to Types_pm.in to make life easier for some of the
    packing/etc. I'm doing elsewhere. Also, we now pack 'n' as
    'i'.

  * Moved the guts of assemble.pl to Parrot/Assembler.pm so that
    eventually we can use all these tools together inside scripts
    rather than call out to the shell to run the programs.

  * As I was tracking down problems, I converted the internal
    documentation of the assembler to POD from comments.

  * Changed the numeric regexp in the assembler to detect leading
    signs and trailing exponents.

  * Updated basic_opcodes.ops to fetch numeric constants from the
    constant table.

  * Enhanced the disassembler in a number of ways to make my life
    easier while tracking down bugs (try it out). It now puts in
    labels for ops that are the destinations of flow control ops.

  * packfile.c now has a TRACE_PACKFILE switch that can be set
    to get it to print info as it processes. I needed this while
    debugging, but I can remove it or change it before committing
    if its a problem.

  * Updated pdump.c because it was missing a call to init_world().

  * Updated process_opfunc.pl to deal with numeric constants
    being stored in the constant table instead of inline.

  * Added multiple type support to Parrot/PackFile/Constant.pm

  * Added Parrot/String.pm, to be used for constants.

  * Added packfile.[hc] functions for allocating new constants
    of various types.

  * Made string_copy visible to the world in parrot/string.h.


Let me know how this works for you...


Regards,

-- Gregor
 _____________________________________________________________________ 
/     perl -e 'srand(-2091643526); print chr rand 90 for (0..4)'      \

   Gregor N. Purdy                          gregor@focusresearch.com
   Focus Research, Inc.                http://www.focusresearch.com/
   8080 Beckett Center Drive #203                   513-860-3570 vox
   West Chester, OH 45069                           513-860-3579 fax
\_____________________________________________________________________/


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About