Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base: 5dd8c543ab
compare: master
This comparison is big! We’re only showing the most recent 250 commits
Commits on Dec 05, 2014
@rurban rurban Merge branch 'smoke-me/embed-gh829' e451d80
Commits on Dec 06, 2014
@rurban rurban [config] silence failing mathl probes
as e.g. with cygwin which has no lang math.
We are only interested in the result: yes, some or no,
and the PARROT_HAS_ defines in the generated has_header.h
@rurban rurban [config] auto::mathl add most result when only 2 probes fail
this is better than some
Commits on Dec 07, 2014
@fperrad fperrad [win32] fix build with MinGW
follow 9318cba347635120cf08004b1f457cc3
@fperrad fperrad [pbc_to_exe] fix build with MinGW 44917d6
@rurban rurban [win32] improve the pbc_to_exe fix
and next time please check the smoke-me branch at first, which already included
those fixes (and more)
@rurban rurban [win32] improve cast of arg 3 to CryptGenRandom to BYTE*
ChangeLog for the windows mingw fixes.
Closes #1156
@rurban rurban [test] TODO the t/run/options.t 9-12 tests
See GH #1124. -t swallows now also stdout, not only stderr.
But we prefer for a while to have less StringBuilder and GC stress for -t,
it is for debugging only anyway.
Commits on Dec 08, 2014
@rurban rurban [docs] various comments on UnManagedStruct, ... dd34725
@rurban rurban [test] disallow negative repeat counts
in t/codingstd/c_indent.t, observable with perl5.21.7
@rurban rurban [test] instrument t/pmc/nci.t 61 for check for #1155
if strings/bytebuffers passed to nci are freed or moved during a GC or not.
./parrot_old -D301 -t --gc-debug t/pmc/nci_61.pir
find the address of the string buffer in the output,
and search for it in the subsequent GC
Commits on Dec 09, 2014
@rurban rurban [GH #892] Fixup IO::CaptureOutput removal
Fixes also #1158 windows tests, where I do not have IO::CaptureOutput installed.
@rurban rurban [GH #892] more capture fixes
actually fill the provided stdout and stderr arguments to capture.
handle missing stderr.

Fixes also the failing win32 tests where I have no IO::CaptureOutput #1158
@rurban rurban [test] fix t/native_pbc/number.t for windows
windows prints 1.12589990684262e+015 and not 1.12589990684262e+15
Fixes 2/3 of #1158
@rurban rurban [test] fix last windows test, qxx => capture_output
Closes GH #1158
wonder where the qxx came from. not ours.
@rurban rurban [cage] fix formats in runcore/subprof.c without long long 925749b
@rurban rurban [pbc_to_exe] add mt.exe check on mingw
Fixes some parts of #1157.
@rurban rurban [codingstd] Variable declared in conditional in capture 0dcf359
@rurban rurban [test] one more capture fixup
capture already does the eval, and returns $@ as 4th return value.
GH #892
@rurban rurban [test] stabilize numeric cmp in t/pmc/sub.t 39
clang 3.0 -O2 cut it to 1.6180339887499, 13 digits
@rurban rurban [test] check acot -Inf test against has_negative_zero
which is has not on mingw. Fixes one part of #1157
@rurban rurban [fulltest] fix one more capture case: t/tools/pmc2cutils/05-gen_c.t 37 f088b20
Commits on Dec 13, 2014
@rurban rurban [cage] fix 32bit -DMEMORY_DEBUG -Wformat size_t vs long
for the new GC debug print: %ld => "SIZE_FMT"
Commits on Dec 16, 2014
@rurban rurban [test] add mathl config steps test, fix most t/steps tests
we have a new capture API.

also add clean to auto::infnan
@rurban rurban [test] disable some recursive t/steps/auto tests
capture is not re-entrant, so we get empty stdout for already cleaned
stdout capture.
Disable these 3 tests for now.
@rurban rurban Release 6.11.0 - Fischer's Lovebird
See ChangeLog
@rurban rurban ChangeLog + fix a doc link d0d0694
Commits on Dec 18, 2014
@rurban rurban [test] add easily repro GC testcase for GH #1159 2586ee4
@rurban rurban [core] add INTERPINFO_MAX_GENERATIONS api
Returns the defined constant for gms (changed from 4 to 3), or 0.
Allow -DGC_MAX_GENERATIONS=n to be set via --ccflags.
benchmarked with parrot-bench: 3 and 4 are the best, 8 is also interesting.

Todo string collects in t/op/gc-leaky-call.t and
  There's no apparent need to collect strings, when none are
  allocated during a cycle.
  But add a collectable string for the lulz
Commits on Dec 19, 2014
@rurban rurban [gc] enable on_dirty_list assertion, document pobj flags
and improve the GH #1159 testcase. It was too slow
@rurban rurban [gc] Change semantics of GC_MAX_GENERATIONS
GC_MAX_GENERATIONS=3 means now 3 generations: 0,1,2.
It was too odd and head-scratching to define 4 for max 3 generations
@rurban rurban [gc] fix the GC regression GH #1159 in resizablepmcarray
Always do PARROT_GC_WRITE_BARRIER with rpa unshift, even with the fast case.
The same with resize skip, where only the right side is adjusted.
Just skip the WB when the old size == new size.

This should fix the gc errors on small machines with big programs.
parrot-bench is now 1.2% slower.
@rurban rurban [cage] Fix c++ Wcast-qual and -Wunused-result, PTR_UNCONST
in the io and string api.
We really need to bypass the const qualifier for our io api.
Add a new PTR_UNCONST macro.
@rurban rurban [cage] more --cage fixes
undeclared snprintf
duplicate declarations
unused vars
@rurban rurban [cage] more --cage fixes
remove some -Wunused-variable and unneeded function calls, io cleanup
fix one logical autoflush error in Parrot_io_open
add pbc_merge_annotations to pbc_merge,
remove some dead functions: setup_imcc, do_a_better_error_message,
use switch for gc_get_info (I trust the compilers not to overdo it)
@rurban rurban [cage] more --cage fixes: ops, imcc.y
remove unneeded variables and signature function calls
regenerate the parser,
@rurban rurban [io] re-enable async io on linux
linux is Obsolete (not POSIX compliant)
@rurban rurban [cage] remove more redundant duplicate declarations
in dynpmc: see GH #741

src/vtables.c: Parrot_gbl_initialize_core_pmcs is already declared now
@rurban rurban [cage] more --cage fixes: interp
remove unneded num_thr
@rurban rurban [cage] undo instable PTR_UNCONST, fix codingstd 4788480
@rurban rurban [tools] add gc_gms_is_pmc_ptr/trace_mem_block to parrot.supp valgrind
@rurban rurban Merge branch 'smoke-me/cast-cage' 918d8ca
@rurban rurban ChangeLog for smoke-me/cast-cage merge 0d8d1fc
Commits on Dec 20, 2014
@rurban rurban [codingstd] forgot some spaces after a comma 7d985ad
Commits on Dec 30, 2014
@rurban rurban [cage] fix PARROT_CANNOT_RETURN_NULL, add HASATTRIBUTE_FORMAT_* variants
* PARROT_CANNOT_RETURN_NULL was empty, thus never detected when used on
  wrong declarations. Implement it now,
  e.g. ./include/parrot/packfile.h:353:9:
  error: returns_nonnull attribute on a function not returning a pointer
* HASATTRIBUTE_FORMAT has multiple variants. try gun_printf, ms_printf
  or printf. Not yet used.
* bring together the definition and it's non-defined counterpart. they are
  currently seperated.  if you add one, you should not forget to add the
  other part.

See GH #1163.
@rurban rurban [cage] better whitespace alignment in generated config.h a1e9c04
@rurban rurban [cage] add ARGIN_FORMAT decl
which sets  __attribute__format__(n, x) automatically.
x = n+1 when the next arg is ... or otherwise 0.


add forgotten PARROT_DEPRECATED, PARROT_EXPOSED as known headerizer macros

add required return value check for the Socket.socket method and use it.

See GH #1163
@rurban rurban [cage] more ARGIN_FORMAT decl in io
also add a WB for Socket.destroy
Commits on Dec 31, 2014
@rurban rurban [cage] Fix some more compiler attributes, disable gcc returns_nonnull
Found a new unknown gcc bug with __attribute__((returns_nonnull)), tested ok
with MSVC and clang.  Will be hard to track down where in gimple and in
which of our function exactly.

Add the _Check_return_ MSVC SAL variant,
the new _Ret_maybenull_ variant which replaces __maybenull not yet.

Remove one more wrong PARROT_CANNOT_RETURN_NULL in pbc_to_exe generation.

See GH #1163
@rurban rurban deprecations: add the DEPRECATED attribute to all deprecated functions
Several of the packfile API functions are still used by us.
@rurban rurban [config] move HASATTRIBUTE_* from ccflags to has_header.h
also undefine a HASATTRIBUTE_ on any warning or error.
override the gcc bugfix in compile.h for returns_nonnull in the probe,
so that the probe does not lie.

Closes GH #1163
@rurban rurban fix 4 more wrong PARROT_CANNOT_RETURN_NULL
where they do
@rurban rurban [codingstd] Fix headerizer/01_functions.t
We changed the warning
Commits on Jan 01, 2015
@rurban rurban Change deprecated calls to use the new version
Fixed instances of: PackFile_new, PackFile_destroy, Parrot_io_putps, Parrot_io_open_handle,
  Parrot_io_close_handle, Parrot_io_readline, PackFile_unpack, Parrot_io_flush_handle,

Add Parrot_pf_unpack.
Also fix some format strings.
@rurban rurban [codingsstd] add a new make dependency for dynoplibs/io_ops df5a1fa
@rurban rurban [codingstd] more codingstd fixes for the latest changes 55ed0eb
@rurban rurban [core] fix wrong returns_null for cx_check_scheduler
The branch op checks the result of cx_check_scheduler == 0.
Only gcc removed this branch because of the returns_null attribute.

Fix the attribute and check against NULL.
Commits on Jan 02, 2015
@rurban rurban fix error: expected unqualified-id before string constant
PARROT_EXPORT needs to be the first function attribute. See GH #1164.
This error appears now with c++ compilers, because now returns_null is
only now enabled.
@rurban rurban [test] Add tests for #1164, that PARROT_EXPORT is the first
also allow PARROT_DOES_NOT_RETURN as only attribute for functions
with make headerizer.
in some NYI function which do not return. (encoding/shared.c only)
This is better than just PARROT_CANNOT_RETURN_NULL
@rurban rurban Bump copyright to 2015, remove unneeded casts
Also add a ARGIN_FORMAT to Parrot_x_force_error_exit.
@rurban rurban [cage] improve die_from_exception
fix -Wunused-result for Parrot_io_STDOUT,
do not calculate Parrot_io_STDOUT and Parrot_io_STDerr twice.
@rurban rurban [cage] fix some -Wuseless-cast
improves code quality
@rurban rurban [cage] fix some -Wformat wrong type warnings
cast ptr to ulong
@rurban rurban Merge branch 'smoke-me/attributes-gh1163' 4e6a7b1
@rurban rurban [cage] Move -Wformat to --cage #1165
also add potential (nyi on gcc)
-Wsuggest-attribute=returns_nonnull, -Wsuggest-attribute=warn_unused_result,
-Wsuggest-attribute=hot to --cage
@rurban rurban bump 2015, improve -t10 for on_free_list 5e921f9
Commits on Jan 04, 2015
@rurban rurban [config] Fix and allow --cxx on FreeBSD 10 (clang, not g++) #1166 a2922bd
Commits on Jan 06, 2015
@rurban rurban [config] Fix git_describe config probe on tag-less repos
e.g. git clone --depth ... Closes #1167
@rurban rurban [imcc] Fix parser crash detected by the american fuzzy lop
See GH #1168.
The fuzzer only processed 29.49% cases so far, so there might be more.
@rurban rurban [GH #858] Fix solaris asctime_r with _POSIX_PTHREAD_SEMANTICS/_POSIX_…
Commits on Jan 07, 2015
@rurban rurban [docs] add docs/dev/fuzzing.pod for afl
Instructions how to use the american fuzzy lop.
See also
@rurban rurban [docs] more on docs/dev/fuzzing.pod e17a862
@rurban rurban [docs] fix typo docs/dev/fuzzing.pod 3f099e1
@rurban rurban [imcc] Fix 2nd parser crash detected by afl
invalid quoted strings '\0 or "\0. See GH #1168
@rurban rurban [codingstd] overlong line in docs/dev/fuzzing.pod 8e22e34
Commits on Jan 08, 2015
@rurban rurban [docs] 2 more paragraphs for docs/dev/fuzzing.pod
Ctrl-C and resume during fuzzing

Crosscheck the results for false positives
@rurban rurban [docs] add to fuzzing "Further investigations - crash explorer" 2176e8e
Commits on Jan 10, 2015
@rurban rurban [core] replace Parrot_pcc_get_regs_used with PCC_GET_REGS_USED
This is a minor refactor to avoid internal function calls, but
not effective for the fast runcore. Only called with --debugging or on -t (trace).

Parrot_pcc_get_regs_used is an exported API
@rurban rurban [test] add test for reg alloc crash GH #1168
detected by afl-fuzz. See docs/dev/fuzzing.pod
@rurban rurban [test] minimize testcase for GH #1168 cabc1cc
@rurban rurban [imcc] fix end in methods GH #1168
This is the last fix for all afl-fuzz detected crashes.

And `end` op inside a user-defined method will exit a runloop unproperly.
The old ctx will be corrupted. Replace it with an equivalent `returncc` op,
which does set the continuation and context properly to end the current runloop.

`exit` would be an alternative, but we documented `end` to halt the interpreter,
which is fresh inside certain runloops. I documented this case as unspecified behaviour.
It crashed before, now it returns.
Commits on Jan 11, 2015
@rurban rurban Merge branch 'smoke-me/afl-crash-gh1168'
Smoked ok
@rurban rurban [codingstd] close GH#719 > 20min TEST_SLOW
all copyright years are now correct
@rurban rurban Deprecate all exported non Parrot_ functions, #1122
All remaining exported functions with non Parrot_, PDB_, imcc_, and mem_
prefixes got now Parrot_> prefixes, and the old functions are deprecated.

* PackFile_               => Parrot_pf_ (some)
* dynop_register          => Parrot_dynop_register
* new_runloop_jump_point  => Parrot_runloop_new_jump_point
* free_runloop_jump_point => Parrot_runloop_free_jump_point
* parrot_split_path_ext   => Parrot_split_path_ext
* print_pbc_location      => Parrot_print_pbc_location

See GH #1122

Missing is clone_interpreter from parrotinterpreter.pmc,
and several Packfile_ functions. Only Packfile_destroy is yet deprecated
@rurban rurban PackFile API refactor => Parrot_pf_. See GH #1170
See #1122 and TT #2140

static the unused PackFile_ functions.
rename and deprecate the PackFile_ functions, which are not static.
move the segments functions to segments.c

PackFile_new             => Parrot_pf_new
Parrot_new_debug_seg     => Parrot_pf_new_debug_segment
PackFile_Segment_new_seg => Parrot_pf_new_segment
Parrot_switch_to_cs      => Parrot_pf_switch_to_cs
Parrot_debug_add_mapping => Parrot_pf_debug_add_mapping
PackFile_destroy         => Parrot_pf_destroy
Parrot_fixup_subs        => Parrot_pf_fixup_subs
Parrot_debug_pc_to_filename => Parrot_pf_debug_pc_to_filename

PackFile_Annotations_lookup    => Parrot_pf_annotations_lookup
PackFile_Annotations_add_entry => Parrot_pf_annotations_add_entry

PackFile_Segment_destroy   => Parrot_pf_destroy_segment
PackFile_add_segment       =>
PackFile_map_segments      =>
PackFile_find_segment      => Parrot_pf_find_segment


@rurban rurban PackFile API refactor part 2. See GH #1170
Finish the PackFile deprecation refactor.

  PackFile_Annotations_*, PackFile_ConstTable_*, PackFile_funcs_register,
  PackFile_Segment_*, PackFile_Constant_pack.
@rurban rurban [codingstd] fix linelength and missing asserts 19d18b9
@rurban rurban pgegrep: Fix for -V (end after help) 6802e32
Commits on Jan 12, 2015
@rurban rurban [cage] SHIM_INTERP in pf_register_standard_funcs 5e173e1
@rurban rurban PackFile API refactor part 3. See GH #1170
Leave some Parrot_pf_ConstTable_ functions in the API.
Add a precise summary to docs/deprecations/deprecations.pod.
PackFile_funcs_register => pf_register_funcs.
@rurban rurban Rename clone_interpreter => Parrot_interp_clone
and move it from the pmc to the API (auto-headerized).
deprecate clone_interpreter.
refactor Parrot_interp_clone s => interp

Closes GH #1122
@rurban rurban Merge branch 'smoke-me/exports+depr-gh1122'
Smoked ok,
Tested ok with nqp and rakudo.
There are some deprecation warnings todos with perl6.ops
Commits on Jan 14, 2015
@rurban rurban headerizer: fix docs and interp check for Parrot_interp_clone 980693d
@rurban rurban [codingstd] add ASSERT macro for interp_clone, fix line lengths 08bfc0b
@rurban rurban nci: bring back t sig, for nci cstring support
WIP. needed in most external code. #601
@rurban rurban nci: add cstr, pshort/pint/plong
the old 't' type as string,
and the pnum types for PMC access to integers (Integer).

fail: only t/pmc/nci_13.pir v (void) special-case
@rurban rurban nci: special-case v signature (void)
void needs to be rhs singleton. check for this at run-time,
not just compile-time.

also improve and harmonize the nci exception messages
@rurban rurban nci: re-add old nci tests for t,2,3,4 [GH #601]
@rurban rurban ChangeLog for rurban/t-nci-sig-gh601
SDL is now usable again. #436, #601, #605
@rurban rurban [test] tune the nci tests a bit 531f7be
@rurban rurban [test] fix nci.t nci_pv, skip the v sig in args
And harmonize one more wrong signature type error message.
@rurban rurban [test] fix nci_vP, cannot check for PMCNULL, be we can check for NULL 58cf310
@rurban rurban nci: make 234 destructive, improve v, add nci_ii2 test
234 do work now.
On big endian I need to add the ptr offset to the integer.
On both endians mask the unused bits, so that the result will not be
influenced by them.
@rurban rurban Merge branch 'smoke-me/t-nci-sig-gh601'
Smoked ok
@rurban rurban [examples] SDL: fix concat and replace t with p sig
really need to revert  0a8cc07 remove support for deprecated "t" nci signatures
@rurban rurban SDL: fix example to use t sig again 989494b
@rurban rurban SDL: more libSDL_ttf-2.0 choices to search for b5a2402
@rurban rurban [examples] SDL: print SDLLIBPATH= only on failure 53df8f4
@rurban rurban SDL: simplify loader
there are no error messages, when loading a .so failed.
so do not bother the user with messages when everything went ok.
@rurban rurban t/examples/shootout.t: add timings, enable TEST_PROG_ARGS
-O1 and -O2 currently fails with fasta. A optimizer bug!
@rurban rurban SDL: fix setattribute
need a str now. find_global was also deprecated with 2.9 TT #1660
@rurban rurban SDL: fight bitrot: wrong library/ paths, find_global GH #601 0d3a067
@rurban rurban SDL: remove wrong examples/nci/sdl_blue_rectangle.pir
we have a modern nci examples/sdl/blue_rect.pir instead.
Closes #436
@rurban rurban fix ncurses and Curses nci
nci: replace b by t, 234 do work now.
improve loadlib tries and add error handling.
examples/library/ncurses_life.pir tested ok
@rurban rurban [codingstd] nci_test.c, libffi.c c1a8d82
@rurban rurban Merge branch 'smoke-me/SDL-gh601'
Smoked ok. Some SDL examples are still broken though.
@rurban rurban [cage] socket.c: unused variable warnings without ipv6 e6aa9c7
@rurban rurban nci: provide new thunk definitions
generated all used Curses signature thunks.
Added the new/old nci types t234 to the thunk generator.
Commits on Jan 15, 2015
@rurban rurban nci: add SDL thunk definitions 257e398
@rurban rurban [docs] undeprecate t234 in docs/pdds/draft/pdd16_native_call.pod
They are required for most NCI samples and were never properly replaced.
@rurban rurban nci: move t/pmc/nci.t signatures from extra to core
update generated t/pmc/nci.t signatures and move it to
extra can be omitted via --without-extra-nci-thunks.
cache a useful subset of pregenerated thunks in core.
Document how to generate or update the signatures from a module.

Also refactor tools/dev/ a bit: Add Windows support.
Add more docs to tools/dev/nci_thunk_gen.pir
@rurban rurban nci: bootstrap-nci static thunks
enable t234 in nci_thunk_gen.pir
@rurban rurban nci_thunk_gen.pir v0.03
properly cast argument pc c<=> c types.
regenerate thunks, now without warnings
@rurban rurban nci: fix static thunks
add slow support for t234 refs to nci_thunk_gen.pir.
libfii manipulates the iv slots directly, but we go the safe and slow route here.
special-case t234 as if they were refs.

Makefile: warn when one of the src/nci/*_thunks.c is out of date.
@rurban rurban nci: avoid static thunks for 234
The cc optimizer will create invalid conversions due to strict aliasing.
We rather rely on the better code in libffi to convert 234 intrefs dynamically.
Closes GH #1171
@rurban rurban nci: add ipp sig to core thunk for nci.t 32 funcptr
also fix the nci.t structure for the skips
@rurban rurban ChangeLog: for smoke-me/new-thunks-gh1171 8dd2982
@rurban rurban Merge branch 'smoke-me/new-thunks-gh1171'
Smoked ok
Commits on Jan 16, 2015
@rurban rurban [pmc] temp. disable the rpa splice shrink fast optimization branch
to fix a perl6 blocker perl6/nqp#209, GH #1174.
But this broke test 129 of t/pmc/resizablepmcarray.t
Commits on Jan 17, 2015
@rurban rurban [test] add test and stress tests for GH #1174
delete one too less in rpa splice shrink fast
@rurban rurban [pmc] fix rpa shrink fast GH #1174
shrink (deleted) off-by-one. Passes now the new stress tests.
Closes GH #1174 and fixes perl6/nqp 209
@rurban rurban [test] add more rpa-splice stress tests
this time with explicit result checks, with perl5 semantics.
All tests pass, the new #1175 assertion in splice grow with (5,4,8) off=0 count=0
not repro yet
@rurban rurban [pmc] rpa: add splice: offset past end of array exception
conformant to perl5 semantics. Closes GH #1176
@rurban rurban [test] add testcases for #1176
we see now splice() offset past end of array excpetions in perl5 and parrot.
This is of course not yet usable as such
@rurban rurban [test] fix testcases for #1176
check now for proper splice() offset past end of array exceptions
Commits on Jan 18, 2015
@rurban rurban [test] enable the rpa-splice offset past end warning
See GH #1176. In parrot we have to manually enable the warning, in perl5 not. Whatever.
@rurban rurban [test] refactor t/stress/rpa-splice.t
For GH #1175 and #1176.
Use the first negative count tests only under a memory checker, valgrind or asan/msan.

Use dynamic done_testing for the test count and allow a flexible MAXCOUNT for the p0 size.
Fix the offset overflow detection, only use that on off by one to avoid too many noisy perl5 warnings.

Failed tests:  88, 102-103, 105, 273 with MAXSIZE=5
@rurban rurban [pmc] fix more rpa splice cases #1174 + #1175 + #1176
- First, for debugging only:
  track if no TRACE_RPA was ever emitted and do it at the end to see a splice
- Second, on splice off > size, enlarge the array as in perl5, see GH #1176.
- Third, disallow the splice shrink fast, just adjusting the offset if we have
  to keep one element at the left.
- Forth, fix splice shrink followed by a grow or fill, by not adjusting the
  offset twice.
- Fifth, on splice shrink fast, also adjust the new size, as the newsize branch
  below is not always taken (jump to splice_copy)

Add an optional argument to t/stress/rpa-splice.t for the maxsize, default 7.
We still have 'splice off > size' errors > 7.
@rurban rurban [test] add proper rpa testcases for the previous fixes 20a9072
@rurban rurban [pmc] this should be the last splice fix GH #1176
Do not enlarge the array on overlarge offset. Rather fix the offset, as in perl5.
Add a proper testcase also
@rurban rurban ChangeLog: updated for #1171, #1174, #1175, #1176 4c46059
@rurban rurban ChangeLog: more tuning 9ca85b6
@rurban rurban Merge branch 'smoke-me/rpa-splice-shrink-fast-gh1174'
Smoked ok, tested also on centos5 32bit and darwin ppc.
@rurban rurban [nci] fix 234 call_ffi calculation for cornercases
failed on cygwin 32bit with INTVAL_SIZE=8, but probably also on
all other special --intval and pointer sizes.
Calculate the slack for INTVAL dynamically.
Use it internally +1 for the switch fallthru. Improves GH #601
Commits on Jan 19, 2015
@rurban rurban native_pbc: updates for 7.0 on big endian 32bit 0fc544c
@rurban rurban native_pbc: updates for 7.0 on little-endian 32+64 bit 939435b
@rurban rurban native_pbc: fingerprint updates for 7.0, big endian 64bit 0748de5
@rurban rurban [core] silence Unknown codeset `', defaulting to ASCII
On small or old libc's nl_langinfo will just return an empty string,
where we used to default to ASCII, in Parrot_init_platform_encoding().

This is a regression on ppc. Closes #1180.
@rurban rurban ChangeLog: for #1180 e42c6b8
@rurban rurban [nci] fix new libffi code for big-endian
wrong pointer for nci sigs 2, 3. See GH #601.
Commits on Jan 20, 2015
@moritz moritz Perl 6 synopses now live at fd2cf91
Commits on Jan 21, 2015
@Util Util Prepare for the 7.0.0 release. 4435bb7
@Util Util Corrected date for February release. f9bb25b
@rurban rurban internal: remove interp arg from pf_register_standard_funcs()
This is not exported, so no deal. Closes GH #1183
@rurban rurban [config] fix --m=64 logic with gcc, GH #1181
- Tested on debian multilib powerpc64, analog to the previous
  mips64 fixes in #1110.
- Fix the missing space after lib64. See GH #1181.
- Add analog fixes for arm and sparc also, untested.
- Change more wrong libpaths: also libdir embed-ldflags
  inst_libparrot_linkflags rpath_lib

Note that cc_build still uses wrong paths, as icu is still
falsely detected.
@rurban rurban [config] Fix --m=32 with explicit --cc in init::defaults
--m=32 --cc="ccache gcc" will delete the -m32 from the cc setting, as one
would suspect it is added to cflags not cc.  Add -m32 to ccflags if cc was
given as option, ditto for ld and link.
@rurban rurban [config] better icu probes, esp for --m overrides #1182
Add a new `has_libpath_override' config hash entry, with
lib or lib64, when the libpaths had to be adjusted from lib or lib64.
Do this for intel in init::defaults and for gcc in auto::gcc.
We do not more about the rest.

We cannot just blindly assume adding -Isystem will help finding the icu
headers returned by icu-config. We actually need to link the libs also
to detect possible cross-linking problems.
Provide a better error message on icu and --m failures.
@rurban rurban [config] skip icu configs when cross build failed
we failed the tests, but still passed has_icu => 1.
@rurban rurban [config] protect cmdline libpaths from --m overrides, GH #1181
honor --ldflags, ... cmdline options and do not override them on
--m cross adjustments.

Set the config hash only once, at the end of the loop.
@rurban rurban ChangeLog: for smoke-me/m64-gh1181 03246d1
@rurban rurban Merge branch 'smoke-me/m64-gh1181'
Tested ok on amd64 --m=32, powerpc64 --m=64, mips --m=64
@rurban rurban [docs] cover 7.3 in release_manager_guide 3c77a57
@rurban rurban [config] Optimize away ExtUtils::Command on posix systems
It would be nice if the perl5 fallbacks would be better and safer
than the posix/gnu tools, but we waited too long. Closes #1177.
@rurban rurban [docs] minor release_manager_guide improvement e5c6eaf
@rurban rurban [config] Fix cpu config values for gcc_cmpxchg #1173
On amd64 atomic/gcc_x86.o is now included.
The HAS_\U${platform}_$feature config hash entries are now harmonized.
@rurban rurban [config] harmonize ppc and sparc cpu config entries also
Removed the old all-lowercase $platform_has_$feature keys.
Use the key HAS_$platform_$feature instead.

Closes GH #1173
@rurban rurban [config] fix cmpxchg probe and darwin i386 detection
on gcc-style asm we know we can use stdint.h, which we need
to check for 64bit.
on darwin --m=32 we need to use cpuarch i386, not amd64.
Fixes GH #1173
@rurban rurban ChangeLog: for smoke-me/gcc_cmpxchg-gh1173 26643df
@rurban rurban Merge branch 'smoke-me/gcc_cmpxchg-gh1173'
Tested ok on all intel combinations
@rurban rurban [core] fix atomic/gcc_x86.h --without-threads
atomic.h already provides these fallback declarations
Commits on Jan 22, 2015
@rurban rurban [codingstd] include/parrot/atomic/gcc_x86.h c_indent.t fbc7817
@rurban rurban [atomic] cannot mix PARROT_EXPORT + PARROT_INLINE
remove the INLINE
@rurban rurban [pmc] rpa: fix custom_mark_destroy confusion
custom_mark_destroy is only needed in the init method, which is fpa.set_integer_native.
optimize PObj_custom_mark_destroy_SETALL to use only one setter call.
@rurban rurban [GC] fix GC segfault with --optimize
A wrong PARROT_CANNOT_RETURN_NULL in Parrot_pf_get_current_code_segment
(unchecked return of inter->code, which can be null) causes GC segfaults
when inter->code == NULL.

Fixes GH #1186.
This wrong PARROT_CANNOT_RETURN_NULL was added with 3.6.0
in 7dc0e22 at Wed Jun 29 20:52:24 2011
but started being fatal after the new packfile refactor with 7.0,
when the cc optimizer started optimizing away the bc != NULL check
in mark_code_segment()
@rurban rurban [GC] optimize away a Parrot_pf_get_current_code_segment call
This was the call with the wrong CANNOT_RETURN_NULL attribute, causing GH #1186.
We only need inter->code, and it can be const. The const_table also
@rurban rurban [threads] fix deadlock in gc_gms_mark_and_sweep
move the lock downwards to the guard. Fixes GH #1187
@rurban rurban [docs] cover 7.3 in release_manager_guide 1bfb43c
@rurban rurban [docs] minor release_manager_guide improvement ba5fd2f
@rurban rurban [pmc] rpa: fix custom_mark_destroy confusion
custom_mark_destroy is only needed in the init method, which is fpa.set_integer_native.
optimize PObj_custom_mark_destroy_SETALL to use only one setter call.
@rurban rurban [GC] fix GC segfault with --optimize
A wrong PARROT_CANNOT_RETURN_NULL in Parrot_pf_get_current_code_segment
(unchecked return of inter->code, which can be null) causes GC segfaults
when inter->code == NULL.

Fixes GH #1186.
This wrong PARROT_CANNOT_RETURN_NULL was added with 3.6.0
in 7dc0e22 at Wed Jun 29 20:52:24 2011
but started being fatal after the new packfile refactor with 7.0,
when the cc optimizer started optimizing away the bc != NULL check
in mark_code_segment()
@rurban rurban [GC] optimize away a Parrot_pf_get_current_code_segment call
This was the call with the wrong CANNOT_RETURN_NULL attribute, causing GH #1186.
We only need inter->code, and it can be const. The const_table also
@rurban rurban [threads] fix deadlock in gc_gms_mark_and_sweep
move the lock downwards to the guard. Fixes GH #1187
@rurban rurban [docs] alarm and threads
Update docs
Commits on Jan 23, 2015
@rurban rurban Prepare 7.0.1 hotfix release
Todo the 2nd t/stress/threads.t test, caused by stringbuilder gc,
probably #1123.
@rurban rurban [config] remove internal {without} arg when constant
small refactor to reduce unneeded complexity
@rurban rurban [config] fix ICU tests drop headers #1188
we forgot to pass the -I directives to _probe_icu.
Closes #1188
@rurban rurban [config] one more icuheaders probe fix for GH #1188
First try without icuheaders incpath, then with.

Note: This will still fail with shared icu, if the icu libpath is
not in the LD LIBRARY search path. but icu-config does not provide a rpath.
@rurban rurban [test] fix t/steps/auto/icu-01.t
remove tests for outdated internal functions
and fix some old capture tests
@rurban rurban Release 7.0.1 c4ec76d
@rurban rurban Merge branch '7.0.1'
Fixed Conflict:
@rurban rurban [docs] update release_manager_guide
remove some outdated items.
there is nothing version specific at the gh wiki and c2 wiki anymore.
@rurban rurban RESPONSIBLE_PARTIES + CREDITS: small updates
cotto and whiteknight are non-active since 5.0
@rurban rurban comment: add GH #1184 testcase for src/gc/system.c amd64 a00ee7f
Commits on Jan 24, 2015
@rurban rurban [config] add optimize to myconfig
It was not visible in ccflags of myconfig, thus needed extra
Commits on Jan 27, 2015
@rurban rurban win64: fix nci call regression, msvc only
On win64 with msvc the size of long is 4.
Broken with 6.11.0
Closes GH #1190
@rurban rurban msvc: sal does not work cl < 16.0 as such
Visual Studio 9 (cl 15.00) emits [returnvalue:SA_Post(MustCheck=SA_Yes)]
checks and similar which fails to parse somehow.
This is a regression from 6.10. I added better sal checks in 6.11
Windows MSVC only.
@rurban rurban [config] better documentation for Parrot/Configure/Compiler
cc_build and cc_run really have a monstrous and unusable api, which
deserves documentation.
@rurban rurban [config] add exit_code to cc_run* api
at least with wantarray we should be able to seperate a positive
empty output (as in inter::progs) from a failed compilation.
@rurban rurban [config] whitespace only 59f0cda
@rurban rurban [config] refactor inter::progs
do not pass cc around, we would need link also, but rather
take the used values from $conf.
test_compiler() needs to output a result, so that cc_run() has something
to return.
@rurban rurban [config] refactor windows hints for msvc
esp. for win64 with a strawberry perl, we cannot just take the
perl5 provided compiler settings. we need at least --cc=cl --link=link.

fix wrong g++ linker from strawberry on msvc.
provide -nologo
fixup msvcrt.lib with libcmt.lib for _environ access.
allow --link=cl flags also, in gcc fashion.
@rurban rurban [config] fix config/auto/cpu/amd64 warning with msvc 04e0f7e
@rurban rurban [config] rearrange msvc hints to get proper ccflags
with win64 on transformation from a strawberry mingw perl.
This also fixes the lost access to _environ, GH #1191
@rurban rurban [config] fix msvc hints
esp. when being configured with a mingw perl.
remove -s from optimize, disable -O3

tested ok on win64 and win32 with cl 17 and 15
@rurban rurban [config] msvc hints: disable link as cl
we need to link with link to support -nodefaultlib which is needed to access _environ
@rurban rurban [nativbe_pbc] fix win64 cvt_num16_num8
on intel assume we use intel 10-byte, not __float128. thus use cvt_num12_num8.
Note that was already fixed in the branch native_pbc2
@rurban rurban Merge branch 'smoke-me/win64-msvc-gh1190'
Passed all tests
@rurban rurban ChangeLog: for the windows fixes 786ae0b
Commits on Jan 28, 2015
@rurban rurban [native_pbc] finish cvt_num16_num8 fix #1193
move the old cvt_num16_num8 code for true __float128 to cvt_num16_num8_be,
where it is really used in non-powerpc long doubles.

Closes GH #1193.
Also fixed a small codingstd problem.

TODO: darwin ppc long-double, and many more conversions. See `native_pbc2` for that.
@rurban rurban [test] fix t/steps/inter/progs*
we refactored inter::progs::_get_programs
@rurban rurban Release 7.0.2 - Hotfix for Microsoft Visual C++ 9629cac
Commits on Jan 29, 2015
@rurban rurban new ChangeLog 9a4171c
@rurban rurban [test] Add 2 stable and good GC stress test to normal tests
See GH #1189
@rurban rurban [test] Only one test, travis timed out >10min
Also a minor test refactor.
Closes GH #1189
Commits on Jan 31, 2015
@rurban rurban [test] Fix tests for --ccflags=-DSTRUCT_DEBUG. #1195
Skipped the failing tests due to stderr pollution,
and added a # prefix to the debugging output.
Closes GH #1195
@rurban rurban [test] unmanagedstruct.t skip_all
Tests out of sequence.  Found (7) but expected (5)
Tests out of sequence.  Found (8) but expected (6)
Tests out of sequence.  Found (9) but expected (7)
Tests out of sequence.  Found (10) but expected (8)
Commits on Feb 08, 2015
@rurban rurban [gc] fix SIGBUS in GC trace_mem_block on alignment-strict CPUs (armv5)
We traced all mem and stack pointers +1 and not by +4 or +8. This is not
only a huge performance loss, it is also illegal on certain RISC
architectures.  ptrdiff_t is not a pointer, it is an integer.
use size_t* instead.
Note that this is not repro in qemu, even not with echo 5>/proc/cpu/alignment
on armv5-linux.

Should fix GH #1200.
Commits on Feb 16, 2015
@rurban rurban Release 7.1.0 - Lilian's Lovebird
"Recently, cases of Lilian's lovebird poisoning have intensified although it
is not known why poachers are poisoning the birds.  Lilian's lovebird
researchers assume poachers mean to poison larger mammals and lovebirds fall
victims." -
Commits on Feb 17, 2015
@rurban rurban bump ChangeLog skeleton for 7.2.0 3ade73a
Commits on Mar 17, 2015
@Util Util Fix warning on Win32 (with cl.exe) when `link` is not explicitly set. f1c695f
@Util Util Ran `bootstrap-nci` to get changes introduced by 11611de ; only affec…
…ted prelude comment.
Commits on Mar 18, 2015
@Util Util Prepare for the 7.2.0 release. 8ac7324
Commits on Apr 20, 2015
@rurban rurban win64: fix msvc hints for link
On win64 with msvc link needs to be link.exe, not cl.exe.
Set it now explicitly, before we only checked for the strawberry case with g++.
This is an regression and fixes issue #1203
@rurban rurban ChangeLog for smoke-me/win64-gh1203 c42ace2
@rurban rurban [test] relax t/op/gc-stress.t, and re-add first JSON.nqp test
with less gc stress
@rurban rurban OpenBSD has no RLIMIT_AS
as of 4.9
@rurban rurban PLATFORMS: update smoke tested platforms a477a36
@rurban rurban fixup PLATFORMS for opensolaris11-x86-gcc -lm fails 93a2b87
Commits on Apr 21, 2015
@rurban rurban Supported release 7.3.0 - "Peach-faced Lovebird"
"The rosy-faced lovebird is a fairly small bird, 17–18 cm long with an
average wing length of 106 mm and tail length of 44–52 mm.
Populations have been reduced in some areas by trapping for the pet trade.
However numbers may have increased in other parts due to human creation of
new water sources and the building of artificial structures which provide
new nesting sites." -
@rurban rurban Prepare next release 668b409
Commits on May 20, 2015
@Util Util Fix typos in documentation, comments, and descriptions. edc8b8b
@Util Util Fix punctuation 335e517
@Util Util Prepare for the 7.4.0 release. b171421
@coke coke Remove notifications to perl6-specific lists.
Even the rakudo compiler releases don't use -announce.
This probably dates from when rakudo was still in the nest.
Commits on May 23, 2015
@Util Util Prepare for the next release. e3e07f5
@Util Util Add Changelog: Coverity scans have resumed. 450a34c
@Util Util Fix Coverity bug CID 1299560 (MISSING_COMMA).
The lack of a comma caused the strings to be concatenated to "flooracos".
Commits on May 25, 2015
@Util Util Fix Coverity bug CID 61291: Insecure chroot (CHROOT).
chdir must be called immediately after chroot.
@Util Util Fix Coverity bug CID 743941 (NESTING_INDENT_MISMATCH).
The statement is indented to column 9, as if it were nested
within the preceding parent statement, but it is not.
Commits on May 26, 2015
@Util Util Add Changelog entries for last two commits. 63348c0
Commits on Jun 15, 2015
@rurban rurban [core] optimize integer mod
for all positive int args use the HW mod insn,
and do not call Parrot_util_intval_mod().
This was profiled to be a bottleneck. 4% perf. win in parrot-bench.
@rurban rurban [cage] remove executable perms from some testfiles 62d83bb
@rurban rurban Release 7.5.0 - "Yellow-collared Lovebird"
"White eye-rings lovebirds, of which Yellow-collared lovebirds are part, are
reportedly less aggressive in comparison to the slightly larger peach-faced
lovebird.  They are frequently housed in aviaries with other species of
their genus, a practice which although can be convenient, and wonderfully
aesthetic, may lead to hybridization.  This can especially be concerning
where other species may not be as locally common e.g.  black-cheeked
lovebird, and Lilians lovebird." -
Commits on Jul 22, 2015
@Util Util [t] Corrected reversed order of got/expected. a87196b
@Util Util [pmc] Added missing returns to switch/case in structview. d6bbc55
@Util Util [t] Refactored to list all problem records with ok() and diag(); is_d…
…eeply() only showed the first problem, and is overkill when @expected is always [].
Commits on Jul 23, 2015
@Util Util Added note as to why "include/pmc/pmc_default.h" is sometimes missing…
… from "MANIFEST.generated". See GH#1206.
@Util Util Prepare for the 7.6.0 release. a6d5d17
@Util Util Prep Changelog for next release. 9c68f75