Stefan Siegl
a83c49266e
defer bailout until std::function dtor
...
std::function allocates some heap memory, at least with some
implementations and expects the dtor to run. Hence defer the
bailout until the dtor ran.
2016-01-01 19:10:04 +01:00
Stefan Siegl
a520f49335
exit v8::HandleScope and v8::IsolateScope before bailing out
...
This fixes some memory leaks.
2015-12-31 23:44:01 +01:00
Stefan Siegl
7e1f2e9355
Fix use-after-free error wrt. pending exception
...
Don't dtor pending exception, PHP's exception handling does after all.
2015-12-30 17:46:29 +01:00
Stefan Siegl
3085db6aeb
Merge remote-tracking branch 'origin/master' into php7
2015-10-11 19:51:59 +02:00
Stefan Siegl
b38c31b521
Remove v8::Debug agent stuff
...
Debug Agent support was removed from V8 with 3.28 line which
is pretty old meanwhile.
2015-10-11 19:47:22 +02: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
c6136ec3d2
Fix globals ptr passing wrt. timer thread
2015-09-28 22:03:24 +02:00
Stefan Siegl
74440ed9f7
Move V8JSG extensions and v8_flags to process globals
2015-09-26 21:39:26 +02:00
Stefan Siegl
7d97c97d4c
Fix multi-threading, initialize V8 only once
2015-09-26 18:58:12 +02:00
Stefan Siegl
5f6d9aee2d
Don't terminate execution repeatedly
2015-09-22 22:36:50 +02:00
Stefan Siegl
592d6528ca
PHP7 adapt: fix zend_string memory leaks
2015-08-30 00:26:55 +02:00
Stefan Siegl
fd6eeddc52
Adapt to PHP7
2015-08-29 17:48:26 +02:00
Stefan Siegl
2d0aa9b2cc
adapt PHPJS_OBJECT_KEY from zval* to zend_object*
2015-08-24 21:13:35 +02:00
Stefan Siegl
f7c33539c2
Improve PHP->JS->PHP exception back propagation
2015-08-23 15:09:21 +02:00
Stefan Siegl
f7a592052f
Store flags in v8js_ctx class instead of v8 hidden value
2015-08-21 16:12:12 +02:00
Stefan Siegl
187b97060f
Stop JS execution on PHP exceptions, refs #144
2015-08-21 15:55:52 +02:00
Stefan Siegl
4650273c90
Shutdown V8 on GSHUTDOWN
2015-08-02 19:42:03 +02:00
Stefan Siegl
5018192123
Move libplatform.h include farther down
...
If it is included before php.h, PHP_V8_API_VERSION is not
defined if V8Js is built as a PHP built-in extension.
2015-08-02 18:15:28 +02:00
Stefan Siegl
90c3b9db5f
Fix debug build; move debug stuff into seperate files
2015-03-11 14:06:21 +01:00
Stefan Siegl
5b4aaa64f1
More php_v8js_ prefix cleanup
2014-12-13 01:37:25 +01:00
Stefan Siegl
2954de2db5
Remove php_ prefix to struct & type names
2014-12-13 01:18:42 +01:00
Stefan Siegl
6869d318b3
Rename V8Object stuff to v8js_v8object_XXX
2014-12-13 00:28:09 +01:00
Stefan Siegl
5ea36016fe
code cleanup, part 1
...
Splits longish v8js.cc file into pieces. It used to contain the
definitions of all V8Js exception classes, the V8Js class itself as
well as the V8Object/V8Function classes... besides the module setup
code itself.
This change factors out all exception class definitions into a
seperate pair of files (v8js_exceptions.*).
The V8Js class definition itself is moved to v8js_class.* pair,
with the v8 init & call code moved to v8js_v8.* pair
and the watchdog timer to v8js_timer.* pair.
The V8Object/V8Function code was moved to v8js_v8object_class.*
pair, not differentiating between the two like before.
2014-12-13 00:11:02 +01:00