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
5fd9f3d000
Merge pull request #193 from stesie/fix-cpp-functional-memleak
...
defer bailout until std::function dtor
2016-01-01 20:50:41 +01:00
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
beedb680db
Merge pull request #192 from stesie/fix-v8-relock
...
Fix v8::Unlocker behaviour and related memory leaks
2016-01-01 00:28:06 +01:00
Stefan Siegl
8de27fd2ce
free v8::Persistent<v8::Script> on bailout
2016-01-01 00:01:49 +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
2d9c831eeb
Move zend_try block into v8::Unlocker block
...
If the v8::Unlocker block is within the zend_try block, then
v8::~Unlocker (dtor) is not called and hence V8 doesn't
re-aquire the lock.
Besides before we re-entered the isolate within zend_try
and hence *before* taking the lock.
2015-12-31 23:42:01 +01:00
Stefan Siegl
362eb0b806
Merge pull request #190 from stesie/warn-only-on-v8-errors
...
Don't abort PHP on fatal V8 errors, just warn about it
2015-12-31 21:42:00 +01:00
Stefan Siegl
27343d2f65
Merge pull request #191 from stesie/fix-double-free-exception
...
Fix use-after-free error wrt. pending exception
2015-12-31 21:41:58 +01:00
Stefan Siegl
7ab66751e3
Merge pull request #188 from stesie/fix-double-free
...
Fix double free
2015-12-31 20:56:18 +01:00
Stefan Siegl
cb94958afd
Merge pull request #189 from stesie/merge-php5-to-php7
...
Merge version 0.4.0 features to php7 branch
2015-12-31 20:56:10 +01:00
Stefan Siegl
2d34adb91f
Merge remote-tracking branch 'origin/master'
...
This primarily ports features introduced with V8Js 0.4.0
to the PHP7 branch.
2015-12-31 20:25:24 +01:00
Stefan Siegl
61febfb589
Merge pull request #186 from stesie/issue-185
...
Provide correct "this" on V8Object method invocation, closes #185
2015-12-30 22:33:49 +01:00
Stefan Siegl
c0d15af9cc
Ignore .o files
...
These appear if you directly compile V8Js into PHP
2015-12-30 17:54:25 +01:00
Stefan Siegl
de23e8dba4
Don't abort PHP on fatal V8 errors, just warn about it
...
This way the PHP script can handle V8 errors gracefully
(and e.g. provide feedback to the user).
This especially changes behaviour when circular extension
dependencies happen (PHP code can go on, just V8 fails
to start). This also fixes memory leaks of V8 and V8Js
itself caused by bailing out directly otherwise.
2015-12-30 17:53:46 +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
64bfa552ad
Fix double free
...
Fix double free of `php_value` and free `php_ret_value` instead
(which otherwise leaks).
2015-12-30 15:54:47 +01:00
Stefan Siegl
30fe9937de
Merge pull request #187 from stesie/fix-regexp-vardump
...
Fix output of var_dump on regexp (V8 > 4.8)
2015-12-30 15:34:58 +01:00
Stefan Siegl
3108d3947d
Fix output of var_dump on regexp (V8 > 4.8)
...
Newer V8 versions' toString() converts RegExp objects
just to [object RegExp] (instead of the actual regexp
as before). Work-around by calling GetSource() on the
regexp and create former outhway that way.
2015-12-30 14:59:37 +01:00
Stefan Siegl
3c5508b956
Provide correct "this" on V8Object method invocation, closes #185
2015-12-26 12:16:17 +01:00
Stefan Siegl
d9e4ae5abe
Bump version to 0.4.0
2015-12-07 13:26:44 +01:00
Stefan Siegl
28f061101e
Merge pull request #184 from stesie/cust-module-normalisation
...
Allow custom module path normalisation
2015-12-06 14:48:50 +01:00
Stefan Siegl
67a9de01bd
Allow custom module normalisation
2015-12-06 13:55:13 +01:00
Stefan Siegl
f258980399
Accept empty string as module source
...
This might be perfectly valid, if you're using a third-party module,
which requires a module yet doesn't use it in the code paths hit
and hence you just want to stub it out.
2015-12-06 13:25:43 +01:00
Stefan Siegl
4853c6d17f
Set script identifier as String, not Symbol
...
Otherwise long module identifiers might get cut off.
2015-12-06 13:23:14 +01:00
Stefan Siegl
bf58fe67c1
wrap module loading in zend_try/zend_catch, closes #178
2015-12-04 22:09:04 +01:00
Stefan Siegl
39fff2301e
Use module id as JsFileName for V8
...
This way the information to V8JsScriptException instances are way
more clear since they contain the name of the module that caused
the exception.
2015-12-04 21:46:54 +01:00
Stefan Siegl
2f0b8e2873
Make var_dump command available to modules as well
2015-12-04 21:37:51 +01:00
Stefan Siegl
ad4d8e4110
v8js.cc: fix file permissions
2015-12-04 21:14:06 +01:00
Stefan Siegl
09ac23c5a3
Bump version to 1.0.0
2015-12-04 21:07:47 +01:00
Stefan Siegl
227ad57163
prefer V8JS_ZSTR over V8JS_STRL(Z_STRVAL), refs #180
2015-12-04 20:14:47 +01:00
Stefan Siegl
d9eb68b6f9
use ZSTR_LEN, ZSTR_VAL where possible, refs #180
2015-12-04 19:55:20 +01:00
Stefan Siegl
97a9a2cc74
tests/pthreads_001: don't test pthread ext internals
2015-12-04 19:22:29 +01:00
Stefan Siegl
059e0500fb
Merge remote-tracking branch 'origin/master' into php7
2015-11-29 12:21:40 +01:00
Stefan Siegl
f73abfac62
Merge pull request #177 from stesie/fix-vardump-test
...
Fix tests/var_dump.phpt
2015-11-28 17:31:19 +01:00
Stefan Siegl
670554306a
Fix tests/var_dump.phpt
...
Recent V8 versions (e.g. 4.8.253 or 4.9.19) consider
`IsFunction() = true` for Closure objects from PHP; but earlier
versions didn't.
This ensures consistent var_dump behaviour (sticking to the
behaviour with older V8 versions).
2015-11-28 15:27:35 +01:00
Stefan Siegl
4376d59942
Merge pull request #175 from kynx/readme-osx
...
Updated README.MacOS to recommend installing extension via brew
2015-11-20 21:53:09 +01:00
Matt Kynaston
e5ee35a30e
Updated README.MacOS to recommend installing extension via brew
2015-11-20 18:19:23 +00:00
Stefan Siegl
ff172f48ce
Add link to omahaproxy
2015-11-20 18:55:26 +01:00
Stefan Siegl
ca6e0e241b
Merge pull request #174 from aphofstede/patch-1
...
Update README.Linux.md to include PHP extension instruction.
2015-11-20 18:48:13 +01:00
Alexander Hofstede
1642ce48ba
Update README.Linux.md
...
Added a note about adding the extension to PHP config, especially for CLI, which needs to be configured separately in some PHP7 installs.
2015-11-20 22:51:18 +07:00
Stefan Siegl
33d2de53c7
Merge pull request #173 from kynx/function-properties
...
Added ability to set properties on V8Function
2015-11-03 21:40:48 +01:00
Stefan Siegl
7f194fb63a
Merge pull request #171 from stesie/fix-gcc5-build
...
Improve -Wno-c++11-narrowing/-Wno-narrowing detection
2015-11-03 21:28:27 +01:00
Matt Kynaston
a58f944804
Experiment to see if #172 is easy to fix
2015-11-03 17:35:30 +00:00
Stefan Siegl
7805abfb18
Improve -Wno-c++11-narrowing/-Wno-narrowing detection
2015-10-18 18:03:04 +02:00
Stefan Siegl
b29bb886bb
Bump version to 0.3.0
2015-10-11 22:00:33 +02: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
296b9078ff
fix exception back-propagation on PHP7
2015-10-11 14:59:25 +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