Commit Graph

105 Commits

Author SHA1 Message Date
pandamicro e1bc6640f4 Implement full GC relied memory model 2015-12-21 00:14:51 +08:00
pandamicro 022bcc24f1 Merge branch 'v3.10' of github.com:cocos2d/cocos2d-x into v3
Conflicts:
	cocos/scripting/js-bindings/manual/chipmunk/js_bindings_chipmunk_manual.cpp
	cocos/scripting/js-bindings/manual/component/CCComponentJS.cpp
	cocos/scripting/js-bindings/manual/js_bindings_opengl.cpp
2015-12-20 22:56:33 +08:00
Ricardo Quesada f023d5a378 no more uthash
Instead of using two uthash entires, it uses two unordered_map entries.
Benefits are:

easier to debug. I can inspect the contents of the unorderd_map with the
debugger
less memory. I don't need to allocate two proxies. I only allocate one
proxy and I added it into both maps
If also fixes an important bug when unrooting objects. Unroot was
cleaning the heap object. So now proxy adds a _jsobj, which is a raw
pointer. Needed under certain cases.
2015-12-16 17:37:44 -08:00
Wenhai Lin 66b0a0e9b1 Adds `std::nothrow` to the `new` statements 2015-12-16 17:06:56 +08:00
pandamicro 64276bd664 Fix ComponentJS proxy management issue in JSB 2015-12-15 11:48:44 +08:00
Ricardo Quesada c5058aa2f9 more conversions 2015-12-11 17:18:20 -08:00
Ricardo Quesada 47911e0c24 more js fixes
fixes in how ref count is measured
opengl bindings converted to new API
2015-12-11 15:18:09 -08:00
Ricardo Quesada 8b2dfb1a4b Mooooores fixes
but GC memory model doesn't work yet... somewhere someone is still
retaining a reference that prevents the whole thing from
releasing
2015-12-10 22:15:44 -08:00
Ricardo Quesada 96d391ea30 Squashed commit of the following:
commit aff4e27200a77db60b13ea30c2457558e5f53059
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Dec 10 17:58:41 2015 -0800

    compiles with new GC model

commit 1fa69cd71231d56371cd45a378e50a1888308b42
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Dec 10 17:41:15 2015 -0800

    Animation3D works Ok

commit d439969caf7e6fe83a74e37d078c4361a08cb816
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Dec 10 13:39:50 2015 -0800

    Sprite3d create: converted to new API

commit aabe449e4a968fad882c44df9be787eb7c3bfcec
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Dec 10 13:27:33 2015 -0800

    ouch...

commit 688ab610a8cb7607bc3c51b8ca01d800ef3c9794
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Dec 10 13:12:25 2015 -0800

    Spawn/Sequence init* were not bound

    Fixed. Now JS Scheduler Test works Ok
2015-12-10 18:02:55 -08:00
Ricardo Quesada 13dc967b03 js_get_or_create_jsobject() and other stuff
- getDescendatns() converted
- singletons converted
- new helper template-specialized js_get_or_create_jsobject()

Squashed commit of the following:

commit 3f21e65bca5f7e5e5c4bf304f2daed0eff26f6aa
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Dec 7 19:04:24 2015 -0800

    logging added (and commented)

    will be useful in the future

commit f995295b385a515c1f82136688610a90eb379855
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Dec 7 19:00:09 2015 -0800

    new js_get_or_create_jsobject<T>

    Specializes Template on cocos2d::Ref.
    When Ref, it calls the `jsb_ref` functions

commit 240b80e4080757ebb47db0d02a1fe1f875237d24
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Dec 7 13:31:52 2015 -0800

    singletons converted

commit 667d94bf90267c103b620630bacfffa7767b42dd
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Dec 7 12:20:07 2015 -0800

    getDescendants() converted
2015-12-07 19:05:23 -08:00
Ricardo Quesada 49882ed91c js_cocos2dx_CCGLProgram_createWithString converted to new JSAPI 2015-12-03 15:49:56 -08:00
Ricardo Quesada b87975096e GLProgram converted to new JSAPI 2015-12-03 15:47:39 -08:00
Ricardo Quesada 67948ff8c8 adds jsb_ref_get_or_create_jsobject()
kind of replaces js_get_or_create_jsobject for Ref objets.
Benefits: friendly with the new JS API
takes less space (no template)
2015-12-03 15:40:52 -08:00
Ricardo Quesada 37b4c3fe6a CallFuncN converted to new JS API 2015-12-03 15:24:37 -08:00
Ricardo Quesada 013f5b8d33 layerMultiplex converted to new JS API 2015-12-03 15:15:47 -08:00
Ricardo Quesada 3100cba5a1 Animation ported to JS 2015-12-03 15:02:39 -08:00
Ricardo Quesada cc6e72fe7c MenuToggleItem converted 2015-12-03 14:54:38 -08:00
Ricardo Quesada bd943c5415 Sequence/Spawn converted to use new API 2015-12-03 13:56:00 -08:00
pandamicro c304348c34 Merge pull request #14565 from pandamicro/v3
Add js test case for fix, improve template
2015-12-03 18:48:34 +08:00
pandamicro 4cc4dd3a9f Fix Rooting API usage issue in cocos2d_specifics 2015-12-03 16:48:25 +08:00
Ricardo Quesada 58e4d3c487 JS Menu fixes 2015-12-02 17:30:54 -08:00
Ricardo Quesada 48523572b7 label JS fixes 2015-12-02 17:23:23 -08:00
Ricardo Quesada 6e50cf883f Sprite::create() using new API...
...also code easier to understand
2015-12-02 16:45:28 -08:00
Ricardo Quesada c321d35a9a Squashed commit of the following:
commit 000a025fb4027c26bf05f7296e2d1fbbf21abe6c
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Dec 2 10:38:27 2015 -0800

    updated submodule

commit b5f45a62b48493f05d75aea865158c371241973d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Dec 1 19:21:34 2015 -0800

    ooops... thanks Panda

commit 85f0b9c01d5281970f748b6460107bc0ca82cdf0
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Dec 1 18:19:16 2015 -0800

    better macro name for GC. Thanks panda

commit e42ad74a664dd2b85cbf4463a6fef8f6abc06664
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Dec 1 17:10:32 2015 -0800

    RepeatForever, Repeat and Speed converted

commit 3a8130ffc06301c91c836539736bbae456f05b4d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Dec 1 14:31:32 2015 -0800

    cherry-picking changes to disable retain/release from GC

commit 3ed6e00dc2d9d46248d9374a1f9874cd0b2ba67d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Dec 1 12:31:04 2015 -0800

    fixes autorelease issues on rebind

commit b65f5f6b16c1542c28b04d66377a27233c6cf214
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Dec 1 12:23:33 2015 -0800

    my JS changes... again
2015-12-02 14:45:13 -08:00
pandamicro 8320c2f702 Use rooted object for js_proxy new and get 2015-11-27 10:19:13 +08:00
pandamicro d23ffe4fc7 Fix some issue of js_type_class usage 2015-11-27 10:16:11 +08:00
pandamicro ae2b75c8be Fix issues causing by temporary RootedObject passed as function parameters 2015-11-27 01:35:06 +08:00
pandamicro c202834312 Clean up manual bindings code, remove JS_THIS_OBJECT and JS_SET_RVAL 2015-11-25 14:33:43 +08:00
pandamicro 69b2b5720b Use JS::PersistentRooted instead of JS::Heap to prevent delegates and wrappers internal js object from GC
More elegant and secured way, potential crashes exists in previous implementation
2015-11-25 14:32:19 +08:00
pandamicro 930405d52c Remove useless manual bindings for MenuItems 2015-11-24 16:32:02 +08:00
pandamicro 68d75a519a Use generational gc friendly API in JSTouchDelegate 2015-10-28 11:55:28 +08:00
pandamicro a3c2904e7f Fix cc.DrawNode.drawPoly 2015-10-27 16:46:25 +08:00
pandamicro 530321fe70 #14124 Improved JSCallbackWrapper with generational GC and fix the issue 2015-10-22 17:00:57 +08:00
pandamicro 9eeda122e9 Fix Scheduler API inconsistency 2015-10-21 22:10:48 +08:00
zhangting 27837e0615 return null if read failed in js_cocos2dx_CCFileUtils_getDataFromFile 2015-10-14 16:07:42 +08:00
pandamicro 7b85211cfe Remove ScriptComponent
Because windows platform can't successfully compile in previous architecture
2015-09-27 22:18:59 +08:00
pandamicro 91928aa23d Add ComponentJS test case and fix windows platforms 2015-09-26 19:43:36 +08:00
zhangting caaf912a28 add writeDataToFile() for jsb 2015-09-20 15:38:15 +08:00
江龙 1b320ac248 add CCGLProgram function binding setUniformLocationWithMatrix 2015-09-17 15:34:41 +08:00
jianglong0156 b19e02bdf6 Remove duplicate function definition, Add function adaptation 2015-08-17 18:18:38 +08:00
pandamicro 85d4ce0d5a Merge branch 'v3.7-release' of https://github.com/cocos2d/cocos2d-x into v3
Conflicts:
	cocos/scripting/lua-bindings/auto/lua_cocos2dx_ui_auto.hpp
	docs/RELEASE_NOTES.md
	tools/cocos2d-console
	tools/tojs/cocos2dx.ini
2015-07-21 11:39:24 +08:00
pandamicro 949eca2846 Improve some manual binding code 2015-07-16 14:34:14 +08:00
pandamicro 490d5a3747 Remove cleanup from auto bindings add made it support override in JS 2015-07-16 14:09:26 +08:00
andyque 91dfb07a8c add more descriptive message to ASSET macro. 2015-07-14 15:28:36 +08:00
江龙 61db9ef103 modify cocos2d_specifics , add navmesh head file。 modify template。add navmesh head file and register code 2015-06-18 23:21:53 +08:00
jianglong0156 4fe1542d17 add navmesh tests 2015-06-18 19:22:27 +08:00
pandamicro 811173ea3b Fix Physics3D test and js bindings 2015-06-18 14:33:16 +08:00
pandamicro 3ffc0e6be6 Merge branch 'v3_navigation' of https://github.com/samuele3hu/cocos2d-x into physics3d 2015-06-18 09:20:37 +08:00
samuele3hu 683812d817 Update Physics3D test for js. 2015-06-17 18:50:55 +08:00
pandamicro 852b9b42b9 Remove jsb_cocos2dx_experimental_manual 2015-06-15 10:46:57 +08:00
pandamicro 032f231ed4 Add bindings for AutoPolygon and PolygonInfo 2015-06-13 11:14:57 +08:00
pandamicro df1219c92d Update manual conversion for sprite polygon 2015-06-12 12:56:37 +08:00
pandamicro e75dee6e7c Remove C++ invocation functions of Component 2015-06-04 20:10:10 +08:00
joshuastray 1366f615dd mac && ios works 2015-05-22 10:43:37 +08:00
zhangbin b4f2d94109 Update js bindings & js tests. 2015-05-05 10:50:19 +08:00