Stefan Siegl
98205461be
Reorder includes for Visual Studio 2015, closes #194
...
C++ headers need to go first, since PHP headers redefine
"inline" which causes trouble with the C++ header files.
2016-01-06 09:01:35 +00:00
Stefan Siegl
227ad57163
prefer V8JS_ZSTR over V8JS_STRL(Z_STRVAL), refs #180
2015-12-04 20:14:47 +01:00
Stefan Siegl
5cba44ccd0
Merge remote-tracking branch 'origin/master' into php7
...
Conflicts:
README.md
v8js.cc
v8js_class.cc
v8js_exceptions.cc
v8js_object_export.cc
v8js_v8.cc
v8js_v8object_class.cc
2015-10-11 02:09:59 +02:00
Stefan Siegl
8a3124ee2a
handle new IS_INDIRECT and IS_UNDEF in zval->js export
2015-10-02 23:19:32 +02:00
Stefan Siegl
909e3f004d
Adapt to PHP7: v8js_convert.cc, v8js_exception.cc, v8js_methods.cc
2015-08-28 21:05:16 +02:00
Stefan Siegl
53995ac616
Make FLAG_FORCE_ARRAY not affect V8Function objects, #closes 160
2015-08-26 18:41:38 +02:00
Stefan Siegl
2d0aa9b2cc
adapt PHPJS_OBJECT_KEY from zval* to zend_object*
2015-08-24 21:13:35 +02:00
Stefan Siegl
8389e126b5
adapt to changed ZVAL_STRING/ZVAL_STRINGL/RETVAL_STRINGL macros
2015-08-23 21:14:49 +02:00
Stefan Siegl
45f7e18624
Remove conditional compilation for PHP_VERSION_ID < 7.0.0
2015-08-23 21:10:47 +02:00
Stefan Siegl
5b4aaa64f1
More php_v8js_ prefix cleanup
2014-12-13 01:37:25 +01:00
Stefan Siegl
294a5c8d1f
php_v8js_create_v8 -> v8js_v8object_create
2014-12-13 01:21:02 +01:00
Stefan Siegl
3efec8d428
Remove CVS $Id$ comment lines
2014-12-13 00:45:05 +01:00
Stefan Siegl
6869d318b3
Rename V8Object stuff to v8js_v8object_XXX
2014-12-13 00:28:09 +01:00
Stefan Siegl
2b4750748e
Merge branch 'array-access'
...
Conflicts:
v8js_convert.cc
2014-12-10 20:02:33 +01:00
Stefan Siegl
a2a9c30a11
Use zend_try/zend_catch to unwind v8 stack
2014-12-09 23:56:46 +00:00
Stefan Siegl
fc583a8ec6
Move PHP to JS object wrapping into seperate file
2014-11-29 15:42:41 +01:00
Stefan Siegl
ddcaee47d6
Refactor array access code into seperate files
2014-11-25 21:06:11 +01:00
Stefan Siegl
1121d5f4d0
Skip unnecessary v8::FunctionTemplate fluff
2014-11-23 23:49:36 +01:00
Stefan Siegl
3f6ea8fcfd
Set Array.prototype on ArrayAccess wrapped object
2014-11-23 23:47:29 +01:00
Stefan Siegl
f1dd5ad23b
Add basic ArrayAccess wrapping
2014-11-23 23:39:15 +01:00
Stefan Siegl
920d9eeb33
Strip second timezone specification
...
v8 adds two timezone specifications to date strings.
However PHP fails to parse the second one, generated
on Windows systems. Hence just strip away the redundant
specification and pass that one to PHP.
2014-11-16 22:33:32 +01:00
Stefan Siegl
fc89b6ba8c
eliminate left-over variable-size arrays
2014-11-13 01:36:01 +01:00
Stefan Siegl
5b736a6e92
Undefine min/max macros
2014-11-13 00:58:32 +01:00
Stefan Siegl
8d8aed1e72
Reject V8Function passback to wrong isolate, closes #116
2014-10-31 23:35:28 +00:00
Stefan Siegl
3145ea0323
Set hidden data also on already know weak objects, closes #121
2014-10-30 22:02:13 +00:00
Stefan Siegl
c339d51924
Drop old-age PHP_V8_API_VERSION #ifdef
2014-10-19 12:20:10 +00:00
Stefan Siegl
f6310f9994
Get rid of V8JS_NEW macro.
2014-10-19 11:58:21 +00:00
Stefan Siegl
8b88b928c2
Don't Z_ADDREF_P twice on same exported object.
2014-09-21 01:48:07 +02:00
Stefan Siegl
cd8542745c
Unwind stack step by step, fixes #95
2014-09-20 17:58:41 +02:00
Stefan Siegl
48765bcc97
Merge pull request #102 from stesie/dispose-isolate
...
Dispose isolate on V8Js object destruction
2014-09-16 16:02:35 +02:00
Stefan Siegl
361dd4185c
Fix some memory leaks.
2014-08-11 15:09:02 +02:00
Stefan Siegl
0334ba64fa
TSRM/ZTS fixes
2014-08-11 14:25:39 +02:00
Stefan Siegl
133ad4a7b5
Merge remote-tracking branch 'rosmo/dispose-isolate'
2014-08-10 22:13:47 +02:00
Stefan Siegl
3947d8690c
zend_fetch_class_by_name is not available in PHP 5.3
2014-08-10 17:59:15 +02:00
Stefan Siegl
50b36d2cf5
Don't explicitly indicate constructor, let V8 figure out
...
The GetConstructor function was removed from v8::Object which
would require some work to find out. But V8 can do it
internally, so just leave it to V8 :)
2014-08-10 13:58:08 +02:00
Stefan Siegl
9ead20823f
GetConstructor method was removed, use GetConstructorName and instanciate on our own
2014-08-10 13:36:54 +02:00
Stefan Siegl
e25e5264f6
Make compatible with V8 3.28.23, fixes #99
2014-08-10 11:57:20 +02:00
Taneli Leppa
a8ddf9daef
Also perform isolate exit on fatal error abort.
2014-07-01 10:49:29 +03:00
Stefan Siegl
1fc79f8223
Don't restore original error handler when exiting inner frame, refs #94
2014-05-23 00:35:51 +02:00
Taneli Leppa
cbda704d7e
Only pass fatal errors to the V8JS error handler, others go to PHP's error handler.
2014-05-22 11:17:38 +03:00
Stefan Siegl
659c0fb601
Code folding marks and comments
2014-04-13 22:59:35 +02:00
Stefan Siegl
6f31840daf
Handle fatal errors even if executeString is used recursively
2014-04-13 22:52:38 +02:00
Stefan Siegl
35d8b815f8
Store error message and re-throw with original type & message
2014-04-13 21:46:31 +02:00
Stefan Siegl
dfd8a1f386
Use V8JSG instead of global variable.
2014-04-12 09:22:58 +02:00
Stefan Siegl
a49fa8ce02
Unwind V8 execution context on fatal error, refs #87
...
This is yet a first hack to prove applicability. Currently
unwind environment is held in a global variable, i.e. solution
is neither thread safe nor reentrant yet.
2014-04-12 00:02:43 +02:00
Stefan Siegl
48feb0bf35
Don't unset non-public properties, just hide them.
...
Before non-public properties were not reset also, trying to
unset them just caused a fatal php error, effectively crashing
the whole script.
2014-04-11 20:42:55 +02:00
Stefan Siegl
c866e67313
Call INIT_ZVAL on stack-allocated zval
2014-04-11 20:15:51 +02:00
Stefan Siegl
b188f9882f
Initialize fci.no_separation correctly
2014-04-11 20:13:08 +02:00
Stefan Siegl
8f200b3905
Call __set if JS accesses private/protected property
2014-04-07 00:53:46 +02:00
Stefan Siegl
53cac1c524
Don't allow JS to overwrite protected/private properties
2014-04-06 23:53:08 +02:00