Eric Wing
f8feeacb68
v8: Removed the extern "C" around the initialize function because it makes no sense since it requires a C++ templates object as a parameter.
2013-08-31 03:46:07 +02:00
Eric Wing
ed729f7d3a
This brings over the memory leak fixes for pointers to structs with a %extend destructor from my Neha fork. The generator was not generating and connecting the needed code for the requested destructor to the v8 dtor finalizer.
...
I did not realize this branch has some JavaScriptCore stuff in it too. Unfortunately, it seems to have its own unique problems (like creating C++ files when it should be generating C files). My changes are targeted for v8, and I don't think my JSCore changes fully reach in this JSCore implementation so more work would need to be done to get this branch working. I think my Neha fork is in better shape at the moment.
Also, I did port over the 'NULL out the dtor function pointer' in the %nodefaultdtor fix to v8.
Usage case:
struct MyData {
%extend {
~MyData() {
FreeData($self);
}
}
};
%newobject CreateData;
struct MyData* CreateData(void);
%delobject FreeData;
void FreeData(struct MyData* the_data);
where the use case is something like:
var my_data = example.CreateData();
my_data = null;
2013-08-31 03:46:07 +02:00
Oliver Buchtala
caa92740d3
Add an option to deactivate creation of an extra module object in javascript.
...
This is useful, if the extension host calls the initializer with custom
local variables.
E.g., this is the case with node.js.
2013-08-31 03:23:12 +02:00
Oliver Buchtala
213c107b7f
Add a swig macro to register node.js extensions.
2013-08-31 03:23:12 +02:00
Oliver Buchtala
4fea3a403e
Generate an extra file part after the initializer for v8 modules.
...
E.g., this is useful for creating node.js modules.
2013-08-31 03:23:12 +02:00
Oliver Buchtala
31844ac72a
Simplify the signature of the v8 module intializer.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
9d630ab930
Fix std::string support for v8.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
2c4a90a37d
Generate defines for initializer function.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
be06ceea26
Fixes in std_string for JSC generator.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
7fffd801e4
Fix std_string.i which generated compile errors in certain cases.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
fb9c4955fb
Not a real change: removed some trailing spaces.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
f9d6afbdfe
Add a missing return statement in JS shell.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
9d22644563
Rename a argument variable to avoid errors with overloaded functions.
2013-08-31 03:23:11 +02:00
Oliver Buchtala
bad64925ed
Configuration is now easier for building and running examples and tests using v8.
2013-08-31 03:23:10 +02:00
Oliver Buchtala
caa6827daf
Javascript interpreter supports for JSC and V8 simultaneously.
...
Before, one had to build two different versions.
2013-08-31 03:23:10 +02:00
Oliver Buchtala
008adca72f
Provide more control about the target object/namespace where a v8 module is registered to.
2013-08-31 03:23:10 +02:00
Oliver Buchtala
6754bf2b49
Generate cleanup code for %newobject.
2013-08-31 03:23:10 +02:00
Oliver Buchtala
058a27bf32
Simplify creation of a Javascript shell.
2013-08-31 03:23:10 +02:00
Oliver Buchtala
57980975a0
Generate cleanup code.
2013-08-31 03:23:10 +02:00
Oliver Buchtala
94730dad7a
Beautify output of v8 emitter.
...
Trimming some of the code templates.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13830 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:54 +00:00
Oliver Buchtala
86cb621466
Add comments to v8 code templates.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13829 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:42 +00:00
Oliver Buchtala
217ffb11d0
Fix regressions of latest commits.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13828 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:26 +00:00
Oliver Buchtala
9b06144d39
Fix handling of overloaded ctors in v8 emitter.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13827 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:16:09 +00:00
Oliver Buchtala
131a106204
Improve names and comments of code templates for javascript emitters.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13826 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:15:51 +00:00
Oliver Buchtala
8b7a9fec25
Add complex support to v8 module.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13825 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:15:29 +00:00
Oliver Buchtala
7c7d1cf3b9
Fix errors related to wrapping and destruction of (undefined) SWIG_TYPES.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13824 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:15:12 +00:00
Oliver Buchtala
296a5d0285
Minor change in javascript example Makefile configuration.
...
Propagate global CFLAGS and CXXFLAGS to inner javascript targets.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13823 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:14:48 +00:00
Oliver Buchtala
4616f9643f
Adapt test-suite configuration to allow switching between js engines.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13822 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:14:37 +00:00
Oliver Buchtala
8948360725
Fix configuration_in for detecting v8 include and lib.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13821 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:14:23 +00:00
Oliver Buchtala
2092793868
Make v8 shell more quiet.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13820 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:14:14 +00:00
Oliver Buchtala
f814a8e702
Fix errors concerning object wrapping and cleanup in v8 emitter.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13819 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:14:02 +00:00
Oliver Buchtala
8db76ddee1
Remove generated file from repository.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13818 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:13:42 +00:00
Oliver Buchtala
5425edc508
Add library flag for building v8 shell.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13817 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:13:29 +00:00
Oliver Buchtala
da109ee764
Fix input string handling in v8 typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13816 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:13:17 +00:00
Oliver Buchtala
91fc0ff205
Use a throwing default setter in v8 emitter.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13815 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:13:03 +00:00
Oliver Buchtala
a82e0a6e8f
Fix c++ linking problem in example 'variables'.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13814 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:12:46 +00:00
Oliver Buchtala
843c8a408c
Fix AsVal macros of long and int for v8.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13813 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:12:33 +00:00
Oliver Buchtala
d13289cc91
Fix function dispatching for v8.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13812 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:12:18 +00:00
Oliver Buchtala
68f0f859f8
Fix name collision in generated v8 initializer.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13811 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:11:51 +00:00
Oliver Buchtala
da6307a19e
Enable overloading ctors for v8.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13810 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:11:32 +00:00
Oliver Buchtala
70383a1b61
Enable string exceptions in v8.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13809 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:11:11 +00:00
Oliver Buchtala
84e5476147
Add std::string support to v8 typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13808 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:10:57 +00:00
Oliver Buchtala
a4f8e4c1c3
Fix bug in v8 ctor emitter.
...
This bug leaded to flaky crashes of v8 engine.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13807 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:10:42 +00:00
Oliver Buchtala
2893df9f73
Several fixes in v8 emitter.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13806 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:10:27 +00:00
Oliver Buchtala
c4ab879027
Fix string warnings of for char* constants in CPP wrappers.
...
This has been done by changing the implementation of marshalOutputArgs,
which now does not create a local result variable in this case, and
uses the constant inline in the output typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13805 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:10:10 +00:00
Oliver Buchtala
58e4f9703c
Fix handling of Char constants in JSC typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:09:57 +00:00
Oliver Buchtala
915e65135c
Minor fix in v8 shell.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13803 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:09:43 +00:00
Oliver Buchtala
c3918f3f82
Add string support to v8 typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13802 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:09:31 +00:00
Oliver Buchtala
bd752ff86b
In example Makefiles for v8 forward to CPP target.
...
As v8 is C++ it is not possible to build wrappers in C.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13801 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:09:18 +00:00
Oliver Buchtala
1862f43cfc
Minor clean up in class example.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13800 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 01:09:05 +00:00