Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 03, 2012
@perlpilot perlpilot Add a way to name native routines
Sometimes the names used in a particular native library may not mesh
well with their usage in Perl. Rather than force our Perl subroutines to
have the same name as their native counterparts, we provide a way to
specify the name of the routine in the native library that our arbitrarily-
named Perl subroutine maps to.
Commits on Aug 07, 2012
@arnsholt arnsholt Merge pull request #8 from perlpilot/master
Provide a way to use a different name in your Perl than the native library
@arnsholt arnsholt Clean up pull request. As discussed on #perl6.
Renames is named trait to is symbol, use defined-or instead of boolean-or when
checking return value of native_symbol (moritz++). Add basic test to make sure
it works.
Commits on Aug 21, 2012
@moritz moritz add export tags 3228da6
Commits on Aug 26, 2012
@arnsholt arnsholt Add test for wrapper sub with native parameter types.
Closes issue #12 in conjunction with NQP commit a886a77
@arnsholt arnsholt Merge branch 'master' of 3d6ee45
Commits on Sep 25, 2012
@jnthn Update for sigilless variable spec changes, eliminating warnings. 32bbd4f
@jnthn Fix 07-writebarrier.t for Win32. 95df414
@jnthn Fix Win32 NCI example to work portably. 8583324
@jnthn Don't explicitly add the .dll. b538ecb
Commits on Oct 01, 2012
@arnsholt arnsholt Fix typo in README.
Some inconsistent naming in the CPointer REPR example, where both FooPointer
and FooHandle referred to the same class. Closes #14.
Commits on Nov 16, 2012
@jnthn Fix fork example; bbkr++. Closes #17. 9ace1ee
Commits on Dec 17, 2012
Moritz Lenz fix use of undeclared variable 45ff47c
Commits on Jan 28, 2013
@arnsholt arnsholt Add tests for sized ints in structs.
Also tweaks the array member of structs test a bit (and once we have sized
ints in arrays it should likely be updated again).
Commits on Feb 01, 2013
@arnsholt arnsholt Add tests for sized floats, and use is_approx instead of is for compa…
Commits on Feb 02, 2013
@arnsholt arnsholt Add tests for sized ints and nums in arrays. bf396de
Commits on Mar 17, 2013
@jnthn s/int8_t/char/ (C89 compat) 4638245
Commits on May 05, 2013
@arnsholt arnsholt Add test for Str function returning NULL. 37f1592
Commits on Jun 08, 2013
@flussence flussence s/p6decont/decont/g
Fix for changes made in rakudo f19881b, gets all but 1 test passing again
Commits on Aug 23, 2013
@moritz moritz skip failing test to make R* releasable 61224fa
@moritz moritz guard tests against suffering from buffering d2392e1
Commits on Aug 29, 2013
@arnsholt arnsholt Unbust explicitly managed strings. 6f912ac
Commits on Oct 12, 2013
@jnthn .exists => :exists b946f3f
Commits on Oct 13, 2013
@jnthn Use standard nqp::atpos ops.
These are now supported properly on 6model array REPR things on Parrot
Commits on Oct 14, 2013
@arnsholt arnsholt Make the test suite run on JVM.
Here be hackery. Most notably, figuring out how to compile libraries on JVM is
tricky, so for now we can run the test suite with Rakudo/Parrot to get them
built and then again with Rakudo/JVM.

Also, the extension guessing doesn't, so far. It just assumes the shared
library extension is so.
Commits on Oct 19, 2013
@arnsholt arnsholt Skip a test on JVM for the time being. d5fbad0
Commits on Oct 21, 2013
@arnsholt arnsholt Mark a test as TODO on JVM. 50bcadd
Commits on Oct 23, 2013
@arnsholt arnsholt Un-TODO working test. 8a9727b
Commits on Nov 02, 2013
@arnsholt arnsholt Decontainerize class in explicitly-manage. c785176
@arnsholt arnsholt Run CStr tests on JVM. 7f8b309
Commits on Nov 30, 2013
@retupmoca retupmoca Fix explicit library extension c974ce4
@jnthn Merge pull request #30 from retupmoca/master
Fix explicit library extension
Commits on Jan 14, 2014
@tadzik tadzik Drastically reduce nativecalling overhead 9e5af01
@tadzik tadzik Micro-optimize map_return_type even further :) bafb1d0
Commits on Jan 26, 2014
@arnsholt arnsholt Use concrete value when testing CArray[OpaquePointer].
This uncovers some missing functionality in on JVM the old code missed.
Commits on Feb 16, 2014
@arnsholt arnsholt Properly decont in typed CArray STORE/FETCH. dc75c36
@arnsholt arnsholt Store return type object for callbacks. 2f3cfad
@arnsholt arnsholt Correct wording of a test description. 291e6b9
Commits on Feb 17, 2014
@arnsholt arnsholt Remove bogus refresh test.
The test checked that a covertly modified struct member wasn't discovered
until after we explicitly call for a refresh, but that's probably not
something we want to require.
@arnsholt arnsholt Also update test count. Derp. 6c38010
Commits on Mar 13, 2014
@jnthn Support compiling test libraries on Moar. 9e61713
@jnthn Add Moar hanlding of so/dll/whatever extension. f2bc8d3
@arnsholt arnsholt Let test suite compile libraries on JVM too. c774705
Commits on Mar 14, 2014
@jnthn Guess .dll on Windows when no data.
If you ignore the link error and use a DLL from another platform's
build, this gets things working on JVM on Windows.
@jnthn Updates to CArray to convey type to REPR compose.
This will be needed for Moar to be able to handle CArray. Can maybe
get some further cleanups here in the future once everyone switches
over to the compose protocol. Didn't try on Parrot yet, but no JVM
regression on CArray tests with this patch.
@jnthn Tweak 06-struct.c to cope with MSVC.
Treats long as 32-bit even on a 64-bit box.
@jnthn Fix assignment/binding confusion. be4edd4
@jnthn Correct test message. b970480
@jnthn Another container avoidance in binding. 2454ace
@jnthn Another Win32 hack/workaround.
Will solve these properly shortly.
Commits on Mar 15, 2014
@jnthn Ensure we pass decont'd types to NativeCall. 01febfe
@arnsholt arnsholt Try to make library compilation more robust on Windows JVM backend. 9975032
@jnthn Emit missing newline after a test. 115d5ce
Commits on Mar 26, 2014
@retupmoca retupmoca Fix library extension guessing for MoarVM
Without this patch, is native('libfoo') would try and load
instead of
@jnthn Merge pull request #32 from retupmoca/master
Fix library extension guessing for MoarVM
Commits on Mar 29, 2014
@FROGGS FROGGS fix for: warning: too many arguments for format [-Wformat-extra-args] 4330e29
@FROGGS FROGGS fixed typo: libraires -> libraries 91ca678
@jnthn Merge pull request #34 from FROGGS/patch-2
fixed typo: libraires -> libraries
@jnthn Merge pull request #33 from FROGGS/patch-1
fix for: warning: too many arguments for format [-Wformat-extra-args]
Commits on Mar 30, 2014
@FROGGS FROGGS use perllibs, because libs contains boilerplate
On my ubunto box nativecall.libs contains -lgdbm which is not needed, and is not found by the linker for some reason.
$ perl -MConfig -E 'say $Config{libs}'
-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
$ perl -MConfig -E 'say $Config{perllibs}'
-ldl -lm -lpthread -lc -lcrypt
@jnthn Merge pull request #35 from FROGGS/patch-3
use perllibs, because libs contains boilerplate
Commits on May 16, 2014
@tadzik tadzik Get rid of deprecation messages 53317e5
@timo timo assign_pos for CArray ac41467
Commits on May 17, 2014
@timo timo these weren't meant to be num methods. 92c8f2d
@jnthn Merge pull request #40 from timo/assign_pos_carray
assign_pos for CArray
Commits on Jun 19, 2014
@jnthn Merge pull request #39 from jnthn/tadzik/deprecations
Get rid of deprecation messages
Commits on Jul 01, 2014
@FROGGS FROGGS allow pointer math using OpaquePointer type
We will now see the memory address a OpaquePointer is about when calling
its .gist, it is also now round-trippable by calling .perl and EVAL.
Also, it will return the memory address when being used as a number, so
that we can walk the bytes of a CStr or obtain addresses of Ctsructs in
a list when we know their size.
Commits on Jul 03, 2014
@FROGGS FROGGS add tests for new OpaquePointer methods
These tests pass on all three backends, though a most recent rakudo is required.
@FROGGS FROGGS Merge pull request #44 from FROGGS/pointer-math
allow pointer math using OpaquePointer type
@sergot sergot nativecast added
nativecast has been added, it makes us able to cast things conditionally.
Commits on Jul 04, 2014
@arnsholt arnsholt Merge pull request #45 from sergot/master
nativecast added
@FROGGS FROGGS Revert "nativecast added" c0f68bc
@FROGGS FROGGS Merge pull request #46 from jnthn/revert-45-master
Revert "nativecast added"
Commits on Jul 07, 2014
@FROGGS FROGGS Reenable usage of nqp::nativecast, and its tests
This reverts commit c0f68bc.
@FROGGS FROGGS bind result of nqp::nativecallcast so there is no extra container
Otherwise calling nqp::isint($result) will blow up.
@FROGGS FROGGS box native string returned by nativecallcast when we get one 019d26e
@FROGGS FROGGS simplify sub nativecast
We do not need to box the return value anymore since we provide the proper
box target now. A call looks now like: nativecast(int32, Int, $opaque-pointer)
Commits on Aug 18, 2014
@jnthn Use subtest syntax for C output.
Avoids confusing, which likes to have an exact count.
lizmat++ for suggesting this solution.
Commits on Sep 04, 2014
Moritz Lenz fix nativecast test failures
since the built-in slicing does not like our CArray, provider our
own (potentially slicing) multi postcircumfix:<[ ]>.

No idea if this is the right fix. Maybe TimToady++ has a better idea.
Moritz Lenz Fix tests
turns out that we must not return a Parcel for a single-element slice/array access
Commits on Sep 13, 2014
@FROGGS FROGGS remove test about old pointer->pointer cast 2cc378d
Commits on Sep 18, 2014
@FROGGS FROGGS expose sub to fetch C globals
This will partial resolv issue #11.
Commits on Sep 24, 2014
@FROGGS FROGGS add tests for C global support e75ca9e
Commits on Oct 11, 2014
@vendethiel vendethiel Fix library name parsing of libfoo-2.0 147cdf0
@moritz moritz Merge pull request #48 from Nami-Doc/master
Fix library name parsing of libfoo-2.0
Commits on Nov 01, 2014
@sjn sjn Fix typo in SQL 7687ca0
@FROGGS FROGGS Merge pull request #50 from sjn/master
Fix typo in SQL
Commits on Dec 08, 2014
@hoelzro hoelzro Remove strdup in Str callback example
MoarVM no longer attempts to free strings coming in via callbacks;
other implementations should follow soon
@hoelzro hoelzro Add callback example to README c2e7e3c
@jnthn Merge pull request #52 from hoelzro/master
Documentation for function arguments, and removal of strdup in Str callback test
Commits on Dec 19, 2014
@mathw mathw Detect libnames with .so.<.digit>$ and use them unchanged.
This allows things like "is native('')" which would previously attempt to load
@mathw mathw Extend recognition of libraries with .so.<digit>+ to .so(.<digit>+)+
This allows calling libraries named like
@jnthn Merge pull request #53 from mathw/master
Detect libnames with .so.<.digit>$ and use them unchanged.
Commits on Dec 30, 2014
@pnu pnu use whitespace to define subsignature for unpacking f8f4e1b
@moritz moritz Merge pull request #54 from pnu/master
use whitespace to define subsignature for unpacking
Commits on Jan 17, 2015
@FROGGS FROGGS fix callback example (whitespace before signature) 50d2890
Commits on Jan 28, 2015
@moritz moritz Fix for latest rakudo
postcircumfix:<( )> now receives a normal argument list, not a single-item capture
Commits on Jan 31, 2015
@retupmoca retupmoca Enable direct Buf/Blob passing to C functions 31f392b
Commits on Feb 02, 2015
@FROGGS FROGGS Merge pull request #55 from retupmoca/master
Enable direct Buf/Blob passing to C functions
@FROGGS FROGGS skip buffer tests on parrot and jvm 2815c25
Commits on Feb 03, 2015
@moritz moritz Clean up type_code_for 27d9263
Commits on Feb 04, 2015
@FROGGS FROGGS unfudge native-sub(Buf) test b51ff75
Commits on Feb 09, 2015
@moritz moritz Fix for latest rakudo b29e0a3
Commits on Feb 13, 2015
@FROGGS FROGGS s/int/long/ and use long and int32 correctly b6c78ed
Commits on Feb 14, 2015
@FROGGS FROGGS use new trait "is ctype" 6dc894e
Commits on Feb 20, 2015
@moritz moritz README: mention that NativeCall is shipped with rakudo 4a29f3b
Commits on Mar 01, 2015
@niner niner Document memory management of strings passed to callbacks 0c8704a
@moritz moritz Merge pull request #58 from niner/master
Document memory management of strings passed to callbacks
Something went wrong with that request. Please try again.