Commit Graph

30 Commits

Author SHA1 Message Date
James Chen b2ecbca549 fix JSB Memory leaks and crashes (#18577)
* [game] Uses global compartment.

* fixed cocostudio bug.

* Fixes Memory leak for JSB.

* Memory leak in ActionsTest.js

* js_callfunc binding check whether jsThis is valid.

* Fixes potential crash in DownloadDelegator .

* CCLOG -> CCLOGINFO for garbage collect callback.

* jsb_c_proxy_s is a struct which contains a JS::Heap<> cpp object. Need to use `new`/`delete` to manage its memory.

* The functionality of JS controls C++ object's lifecycle isn't stable enough, please don't enable it now. Make an error if user enables it.

* Compilation error fixes.

* Removes unused JSAutoCompartment since we use JS_EnterCompartment/JS_LeaveCompartment now.
2018-01-10 14:39:45 +08:00
pandamicro 75383bdcde Jsb improvements (#17513)
* Cleanup ScriptingCore code

* Add jsb.ENABLE_GC_FOR_NATIVE_OBJECTS to indicate the memory model

* Use incremental GC

* Improve ScriptingCore::executeFunctionWithOwner performance

* Support ScriptingCore::executeGlobalFunction

* Reuse js objects for get_or_create_weak_jsobject reduce memory usage

* Fix sequence / spawn js object lost issue

* Improve wrappers with cppOwner system
2017-03-16 09:42:16 +08:00
pandamicro 0eec73ba43 Bindings fix and assets manger ex fix (#17115)
* Fix custom event being discard during event emission

* Fix tilemap black line issue

* Fix auto bindings config

* Adapt websocket to new memory model

* Improve cocos2d_specifics code stability

* Fix issue with get_or_create_js_object function

* Improve memory usage in function wrapper invocation

* Use JS Function bind to avoid memory tracking issues

* Support size parameter to collect total byte size before update process

* Fix download resuming issue on Android

* Remove temporary assets when temporary manifest is invalid or out of date

* Use version compare handle to compare manifests versions

* Support max concurrent tasks setting & download verify callback

* Add Manifest::Asset conversion

* Avoid crash caused by wrappers

* Sync implementation of tested and published AssetsManagerEx from Cocos Creator

* Fix linux compilation issues
2017-03-15 16:09:02 +08:00
CocosRobot d07794052f Update license to 2017 (#17362)
* Typo: CopyRight -> Copyright

* Copyright update: chukong-inc.com -> Chukong Technologies Inc.

* [js files] Copyright update: 2014 -> 2014-2017

* [cpp files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2015 -> 2015-2017

* [js files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2016 -> 2016-2017

* Copyright update: 2013 -> 2013-2017

* Copyright update: 201?-201? -> 201?-2017

* License year fixes.

* Liscene year fix in CCRay.cpp

* Updates license years in CCGLProgramState.h & CCGLProgramStateCache.h
2017-02-14 14:36:57 +08:00
pandamicro a715e3169f Sync issue fixes from creator (#17041)
* Add EventDispatcher#hasEventListener (sync from creator)

* Fix function wrapper using js object during its gc

* Support more system languages

* Direct log/error for better understanding problems & add sys.now

* Synchronize Editbox APIs

* Synchronize Scheduler.PRIORITY_NON_SYSTEM const

* Upgrade web engine

* Upgrade test cases

* Manually bind EventDispatcher::addCustomEventListener to avoid memory issue

* Manual bind EventListeners’ create to avoid memory issue

* Fix compilation issue when COCOS_DEBUG = 2

* Unify function name of Texture2D::releaseTexture

* Fix compilation issues and update web & bindings-generator

* Fix lua compilation issue

* Use %ld instead of %zd

* Separate FinalizeHook for ref objects and non ref objects

* Fix spine TrackEntry recursive conversion issue by using getter

* Fix crash during Wrappers deallocation (possible to have leak)

* Increase default JS heap to 32 mb

* Update engine version

* Add change log of web engine

* Improve cc.formatStr

* Fix chipmunk crash issues when using setDefaultCollisionHandler

* Add change log for JSB and update web engine ref
2016-12-21 13:39:34 +08:00
mogemimi 8b703a8d12 Fix implicit conversion warning (#16598)
* Fix implicit conversion warning

* Change SAXParser::textHandler parameter type from int to size_t
2016-09-26 14:49:47 +08:00
pandamicro f0be4f3069 Merge part of Cocos2d-x-lite (#16380)
* Update js auto binding settings with new ndk version

* Remove unnecessary property from Ref

* Merge part of Cocos2d-x-lite :
1. Improve network bindings
2. Use nullptr instead of NULL
3. Remove usage of some deprecated APIs
4. Add some defensive code and cleanup

* Fix spine track entry circle referencing issue

* cocos2d/cocos2d-x#16327: Fix global object leak issue in JSB

* Improve ScriptingCore::evalString, old implementation have been deprecated in Spidermonkey

* Update JS versions

* Add docs for web v3.13

* Improve ScriptingCore

* Manual merge cocos2d/cocos2d-x#16383 by DavidDeSimone

* Fix auto bindings configurations

* Update web ref
2016-08-19 16:28:47 +08:00
pandamicro 3597ce7c43 Fix scheduler callback target lost issue 2016-06-03 11:01:06 +08:00
pandamicro d1e9a149c4 Fix scheduler callback target lost issue 2016-06-02 16:02:29 +08:00
xpol 1e70fb5eb5 Remove include of cocos2d.h (#15435) 2016-04-18 15:09:21 +08:00
Xpol Wan 90456d29ba Fixes 1605 include path in 541 files
using the tools/coding-style/include-linter.py with -f options.
2016-03-20 21:53:44 +08:00
dongtao.han 34b1c1bc18 exported js_get_type_from_native for cocos2d::Node type. 2016-02-25 09:47:19 +08:00
pandamicro 554523a201 Use JS::Heap instead of Mozilla::maybe to improve stability 2016-01-28 01:03:13 +08:00
pandamicro d6cedb88ec Remove JS::Persistent and move js object reference into JS scope 2016-01-24 19:47:26 +08:00
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
Wenhai Lin 66b0a0e9b1 Adds `std::nothrow` to the `new` statements 2015-12-16 17:06:56 +08:00
Ricardo Quesada 43a573f4fd ccvector_to / ccmap_to converted to new API
and more fixes
2015-12-15 17:37:48 -08:00
Ricardo Quesada c5058aa2f9 more conversions 2015-12-11 17:18:20 -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 96ee343884 fixes for windows 2015-12-08 20:07:13 -08:00
Ricardo Quesada e675657cae improved docstrings 2015-12-07 19:14:10 -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
pandamicro ae2b75c8be Fix issues causing by temporary RootedObject passed as function parameters 2015-11-27 01:35:06 +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 68d75a519a Use generational gc friendly API in JSTouchDelegate 2015-10-28 11:55:28 +08:00
pandamicro 530321fe70 #14124 Improved JSCallbackWrapper with generational GC and fix the issue 2015-10-22 17:00:57 +08:00
pandamicro 490d5a3747 Remove cleanup from auto bindings add made it support override in JS 2015-07-16 14:09:26 +08:00
pandamicro 1f48beee1e Reorganize code 2015-07-03 12:55:55 +08:00
zhangbin b4f2d94109 Update js bindings & js tests. 2015-05-05 10:50:19 +08:00