Skip to content

Releases: HaxeFoundation/hxcpp

Release 4.3.119

28 Jan 20:04
0e9183d

Choose a tag to compare

C++11 std mutex and condition variable (#1298)

* Add new mutex and condition types

* Update c functions to use new impl

* recursive mutex

* Update src/hx/thread/ConditionVariable.cpp

Co-authored-by: Zeta <[email protected]>

* Non recursive mutex for condition variable

* Remove timed wait which isn't actually used anywhere

* Revert "Remove timed wait which isn't actually used anywhere"

This reverts commit 63ea8255737837d0bfb6323dcb1ada6f991939b8.

* Use an atomic_int for the thread id

* Update telemetry implementations to use std::mutex

* std::mutex for __hxcpp_field_to_id

* std::mutex for profiler

* std::mutex for debugging

* std::mutex for gc

* try recursive mutex for telemetry

* Revert "std::mutex for gc"

This reverts commit 33ea04d8c6e689b7e0aca30571f304327897c56c.

* std::mutex for finaliser and root protection

* std::mutex for large object heap

* recursive mutex for special object and state change locks

* pointers to condition variables

* Use wait overload instead of manual while loops

* non recursive mutex for thread pool lock

* non recursive mutex for special object lock

* non recursive mutex for state change lock

* Remove function not used in haxe

---------

Co-authored-by: Aidan Lee <[email protected]>
Co-authored-by: Zeta <[email protected]>

Release 4.3.118

27 Jan 20:01
dc27a8d

Choose a tag to compare

v4.3.118

build tool: support clang pch (#1299)

Release 4.3.117

22 Jan 09:27
51f1a6c

Choose a tag to compare

v4.3.117

Add missing GCFreeZone calls for semaphores and condition variables. …

Release 4.3.116

18 Jan 22:30
4473137

Choose a tag to compare

Implement __GetHandle for AutoCallables (#1293)

* Override getHandle for build in auto callables

* Add handle for adapter callables

* Recurse __GetHandle

* Revert "Recurse __GetHandle"

This reverts commit dc2ed5cc22b0e760086d6e4fec15f59339b00203.

* Update GC tests to avoid same thread stack clearing

clang now seems to be doing optimisations which breaks it

---------

Co-authored-by: Aidan Lee <[email protected]>

Release 4.3.115

18 Jan 14:39
a20c1cc

Choose a tag to compare

Callable object for typed functions (#1047)

* Initial work for typed functions

* Bit of cleanup to use typedefs

* implicit conversion to T for use in wrapper functions

* Remove extra callable subclass and MarkThis GC functions

* Add null check operator

* Throw when calling null object function or dynamic is not a function

* Add closure mark and visit gc functions

* Add instance of to base callable object

* bump API level

* Update macro template

* revert temp changes

* Use callable for create_var_args function

* Use callables for Maths _dyn functions

* Callables for string _dyn functions

* Add __run functions to maths and string callables

* Handle __Run variant in Callable_obj with some template magic

* Add compare functions to maths and string callables

* Experiments in not needing loads of manual __run overloads

* Restore missing __Run function for varray dyn closures

* reinterpret to hx::Object

* Add back some __Run functions to work with templating changes

* Cppia now compiles (but test suite still fails)

* Make Ptr on callable public

* Add a bunch of api level checks I got lazy about and didn't initial write

* One more forgotten api level check

* Could it be this?

* Restore forgotten about dynamic call functions for strings

* Fix broken array closure macro for dynamic runs

* Split out array safe sorter

* Array sort and filter functions use callables

* Array map function uses callable (still somewhat dynamic)

* Switch sorter away from fixed sized numerics

* Revert "Switch sorter away from fixed sized numerics"

This reverts commit 8400309e64e4363fccf4ca1400a0318cee35913f.

* Include limits header

* More header include order faff

* Update cppia array implementation to work with callables

* Only define callable at 500 api level

* Templated array map function

* Update cppia array support to work with templated map

* Add forgotten about api level checks

* avoid one if constexpr with a specialised template

* Specialised callable ptr class to not need constexpr

* C++11 index sequence

* Remove constexpr if in dynamic call

* Remove now unused extra level of indirection

* Alternative to C++17 folds

* Only require C++11

* callables for virtual array dyn closures

* Add forgotten api level check

* callables for array dyn closures

* Fix some include issues

* Reduce duplicated maths function macro

* Reduce duplicated string function macro

* Use HX_LOCAL_RUN in array function macros

* help the compiler with nested template case

* Allow creating a null callable from a null dynamic object

* support pointer and struct wrapping for dynamic calls

* c++11 version

* Create new intermediate closure object to hide forward declaration issues

* API level check

* Add new closure header

* add hx::Object* operator to dynamic for easier cffi and callable interop

* Add callable constructor which accepts a cpp::Function of the same signature

* Update cffi caller object to work with new __run and __Run

* Apply null check to void callable specialisation to allow null callables

* Allow null callables in the void return callable specialisation

* turn cppia logging back off

* Don't use a MemReference for objects

* Do not place mistakenly place hx::Object*'s in cpp::Pointers as part of the automatic dynamic calls

* Add forgotten about return and explicit template

* Add some write barriers

* typedef instead of using for < c++11

* Fix dodgy typedef

* Another dodgy typedef

* Callable for thread creation function

* Slightly different conditional for mapping func

* Cppia fixes related to the thread create callable update

* Fix botched merge

* remove __run

* remove closure

* get cppia working

* api level guarding

* fix dodgy cffi copy and paste job

* More fixes

* silence warning to see if there are actual errors

* forward declaration to make clang happy

* try removing the HXCPP_CLANG guard

* strip const-ness of pointers before wrapping in cpp::Pointer for dynamic

* Ensure callables are not reinterpreted when static casted

needed to work around a cppia edge case

* wrap in cppia define check

* re-introduce intermediate object for haxe generated callables

* Move to a traits based dynamic conversions for the invoker

* Add native struct wrapping back

* Update objective c helpers

* Add missing api level check

---------

Co-authored-by: Aidan Lee <[email protected]>

Release 4.3.114

17 Jan 07:56
14133db

Choose a tag to compare

Haxe friendly root api (#1292)

* Root api

* Null checking

* Some tests

---------

Co-authored-by: Aidan Lee <[email protected]>

Release 4.3.113

13 Jan 17:47
0d23f85

Choose a tag to compare

v4.3.113

[ci] Revert to release version of setup-haxe (#1291)

Release 4.3.112

07 Jan 15:01
e4d10ad

Choose a tag to compare

[tests] Fix cppia inheritance test (#1272)

* [ci] Update to haxe 4.3.7

* [tests] Ensure HostExtendedRoot is in cppia host

Release 4.3.111

07 Jan 11:56
3dc43ab

Choose a tag to compare

v4.3.111

Fix undefined behaviour in View::tryCopyTo overlap (#1287)

Release 4.3.110

06 Jan 18:16
26a23b4

Choose a tag to compare

[ci] Switch to patched setup-haxe version (#1286)

* [ci] Hardcode latest haxe version for setup-haxe

This avoids the invalid url error caused by relative redirect of the
"latest" file.

* Apply Aidan's patch for encoding errors

* Avoid warnings from string encoding code

* [ci] Switch to patched setup-haxe version

* Omit name for unusued null arguments