Skip to content
Commits on Mar 10, 2014
  1. @rurban

    [test] start t/op/morph.t

    rurban committed
  2. @rurban

    morph: add morph methods to undef and fixedpmcarray

    rurban committed
    fixes the test to morph fixedpmcarray to integer
    t/src/extend_vtable.t 9
    t/pmc/undef.t: 10 still broken: String morph to Undef, get_class Undef is a PMCProxy
  3. @rurban

    [core] WIP fix morph [GH #372]

    rurban committed
    pass the correct type info to pmc_reuse
    allow the 2nd argument to be a Object PMC, so
    use Parrot_pmc_reuse_init instead.
    Define some FixedPMCArray morphs.
    - get_class Undef returns a PMCProxy object
    - More basic arrays, Integer, String and Hash morphes
    - non-builtin types via PARROT_CLASS(type)->id
      and Parrot_pmc_reuse_by_class
    - morph old values into new type (pmc specific).
      e.g. *Array => Integer needs to assign the elements to the get_integer iv
  4. @rurban

    [imcc] fix GH #1061, nqp -O2: set_addr label marks a basic_block

    rurban committed
    set_addr label does mark a basic_block, dead_code_remove() needs the
    label. disable old premature optimization
    Fixes nqp/#160
    All nqp tests pass now with parrot -O2.
  5. @rurban
Commits on Mar 9, 2014
  1. @zhuomingliang

    Merge pull request #1057 from paultcochrane/ptc/remove_svn_id

    zhuomingliang committed
    [codingstd] removing exceptions for SVN Id tags
  2. @paultcochrane

    [codingstd] removing exceptions for SVN Id tags

    paultcochrane committed
    Subversion is no longer used in this project and thus the exceptions for the
    svn Id: tag within the test code can be removed.
  3. @rurban

    [pdd07] allow fill-column: 78 in parrot files [GH #1054]

    rurban committed
    pod, parrot and perl files should allow easy and correct reformatting
    of pod sections, and it does not harm to optionally reformat overlong
    parrot lines to 78 also.
    pdd07 only state MUST NOT longer than 100 columns,
    and only later SHOULD have this code with 100.
    Change pdd07 to allow 78 also.
  4. @rurban

    frontend: fix -R trace

    rurban committed
    trace is a seperate runcore, but misses a _init registration
    function, we rather go through the slow runcore and check
    then the trace flag.
    Fixes the t/run/options.t breakage of the previous commit
Commits on Mar 8, 2014
  1. @rurban

    runcores: fix docs, match docs with implementation and vice versa

    rurban committed
    use docs/running.pod as description for the runcore, debugging and
    optimization options.
    add missing docs for the runcores.
    we already have a new parrot manpage for the rest.  allow the old runcores
    in the implementation as described in the docs.
    but disable the exec runcore, as it is different from the jit runcore.
    there is now side-effect of producing a native executable (as of now).
  2. @rurban

    [docs] fix most podchecker issues

    rurban committed
    at least the valid ones. podchecker warns about valid
    L<name|link> tags.
    See podchecker docs/*.pod docs/*/*.pod (not the book)
    See also GH #1053 to use Pod::Checker in the test and
    GH #1054 to relax the fill-column: 100 coda to allow 78
    also, to write valid pod.
Commits on Mar 7, 2014
  1. @rurban

    [cage] annotate cachegrind results

    rurban committed
    clang--3-4++ =O3:
    valgrind --tool=cachegrind -- ./parrot -O2 examples/benchmarks/oo1.pir
    qcachegrind cachegrind.out.*
    also fix a c++ cast error from latest src/string/encoding/shared.c patch
  2. @rurban
  3. @timo @rurban

    cache iterators in encoding_find_*cclass

    timo committed with rurban
    encoding_find_cclass and encoding_find_notcclass can now cache an iterator
    between calls, because there is at least one usage of the pattern "scan a
    whole string for newlines" in rakudo.
    for utf8 files, like Actions.nqp and Grammar.nqp, it used to take 5s and 2s
    respectively, now takes 2.4s and 0.9s respectively after the patch.
    My only concern is that there's a chance of false positive on the cache
    find_cclass called
    string GC'd
    new string allocated at same address
    find_cclass called
    This seems unlikely, but heisenbug paths like this are really hard to track
    down if tripped over.  We could add the cached iterator directly to the
    string, adding two words per string that we can try to reuse any time
    STRING_iter_skip is called.  (Probably involves an API change:
    And now that I think about it, caches can be very problematic in threaded
    See #1027
  4. @rurban

    [cage] Revamp GH #957 pull request

    rurban committed
    Throw unknown key type exceptions in default case
    Remove some compiler warnings (tested even with clang++)
    Added even the strcmp case exception even if it makes not much sense.
    Harmonize "Wrong type of value from annotation" exception messages.
    Most work done by Paul Cochrane
    In Makefile moved touch up to align the gnu replaceble testutils
    so that I can delete the superfluous slow $(PERL) -MExtUtils::Command -e
    variants manually more easily.
  5. @rurban

    fix clang optimizer increment issue GH #774

    rurban committed
    have to use volatile scratch registers in Parrot_Integer_increment_orig to avoid
    skipping overflow sementics: -1 => MAXINT
    fixes t/pmc/bigint.t test negate_min_integer
  6. @rurban
  7. @rurban

    [cage] fix --debugging and some of the latest SHIM/UNUSED decl

    rurban committed
    make headerizer and --debugging tested.
    TODO: UNUSED should be switched to SHIM in the decl.
Commits on Mar 6, 2014
  1. @rurban
  2. @rurban
  3. @rurban
  4. @rurban
  5. @rurban

    [cage] fix clang compilation with inline imcc_vfprintf

    rurban committed
    debug.o wants this symbol even with inline
  6. @rurban
  7. @rurban

    [docs] fix parrotbyte.pod [GH #598]

    rurban committed
    see the more explicit pdds/draft/pdd13_bytecode.pod for details
  8. @rurban
  9. @rurban

    [test] skip invalid -O2 test [GH #1049]

    rurban committed
    t/compilers/imcc/syn/regressions.t contains testing for a run-time exception
    which is optimized away by constant propagation and then used_once
    at compile-time with -O2.
    $ ./parrot -d1040 -O2 t/compilers/imcc/syn/regressions_2.pir
    used once deleted 0x2289920 div $I1, 1, 0
    used once deleted 0x228a0f0 div $N1, 1.0, 0.0
    code_size(ops) 17  old_size 0
    0 push_eh_ic	0x251d6c0 push_eh ok1
    2 pop_eh	0x251d9d0 pop_eh
    3 print_sc 0	0x251db30 print "not "
    5 say_sc 2	0x251dd30 say "ok 1 - caught div_i_ic_ic exception"
    7 push_eh_ic	0x251de90 push_eh ok2
    9 pop_eh	0x251e1a0 pop_eh
    10 print_sc 0	0x251e260 print "not "
    12 say_sc 1	0x251e430 say "ok 2 - caught div_n_nc_nc exception"
    14 set_returns_pc 0	0x251ed60 set_returns
    16 returncc	0x251ede0 returncc
  10. @rurban
  11. @rurban

    [cage] key.pmc minor optimization

    rurban committed
    avoid default case integer key for get_type to reduce code size.
    numbers cannot be keys.
    better UNIMPLEMENTED error messages
  12. @rurban

    [cage] shim unused arguments in src/io/*.c

    rurban committed
    silence c++ compiler warnings
  13. @rurban

    [cage] improve IMCC_debug_ins for headerizer

    rurban committed
    the odd function format was not picked up by the headerizer
    add pod also
    INLINE to imc.h added by headerizer
Commits on Mar 5, 2014
  1. @rurban
  2. @rurban

    [docs] fix parrotbyte.pod

    rurban committed
    Fixed magic, endian-ness and FloatType 2.
    Fixes GH #992, thanks to Zefram.
  3. @rurban

    [docs] fix "Discarding return values" GH #1004

    rurban committed
    According to zefram docs/pdds/pdd19_pir.pod talks about
      sub_label($I0, $I1, $I2)
    as "... discards any return values".
    Actually this is not correct.
    The quoted code is equivalent to
    () = sub_label($I0, $I1, $I2)
    It doesn't save any return values, but if result count checking is
    enabled then returning any non-zero number of results will cause an
    exception. Not quite the discarding that the documentation suggests.
    I changed the wording to "does not save any return values."
  4. @rurban

    [test] ignore smolder upload failures on make smoke

    rurban committed
    and smolder_fulltest. fixes GH #1040. Travis should now be useful again
Something went wrong with that request. Please try again.