Stefan Siegl
f1dd5ad23b
Add basic ArrayAccess wrapping
2014-11-23 23:39:15 +01:00
Stefan Siegl
0fed780320
Fall back to arbitrary PATH_MAX upper bound
2014-11-13 00:36:52 +01:00
Stefan Siegl
ad09ee0993
Undefine COMPILER symbol
2014-11-12 23:17:02 +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
c91f96a439
Merge pull request #108 from stesie/fix-commonjs-module-reuse
...
Fix module caching, closes #107
2014-09-20 15:05:31 +02:00
Stefan Siegl
eda74908cc
Fix module caching, closes #107
...
Use v8::Persistent handle to keep module instances around.
Objects cannot be shared between isolates anyhow, hence moved
modules_loaded map from global V8JSG structure to php_v8js_ctx.
Besides fixes a use-after-free on normalised_module_id.
2014-09-19 22:36:27 +00:00
Taneli Leppa
200c16c30e
Fixed script destructor and free resource struct when done.
2014-09-16 17:11:13 +03:00
Taneli Leppa
bd7d649d90
Added new functions V8Js::compileString() and V8Js::executeScript().
...
Conflicts:
php_v8js_macros.h
2014-09-16 17:09:58 +03:00
Stefan Siegl
ebcb6dc211
Keep track of V8Object/V8Function instances
...
Disallow access to these once the V8Js object has been destroyed.
2014-08-11 03:11:02 +02:00
Stefan Siegl
a72a180596
Keep a list of disposed isolates and make sure not to use disposed isolates.
2014-08-10 23:48:54 +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
Karl G
2b61b9d1be
Fix V8JS_VERSION to match package.xml (0.1.5)
2014-04-23 14:49:39 +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
0355a95c78
Fix strdup+getenv behaviour; multi api version support, closes #86
2014-03-22 19:09:53 +01:00
Stefan Siegl
ddbef50ea6
Merge remote-tracking branch 'rosmo/master'
2014-03-22 18:44:13 +01:00
Stefan Siegl
bc86ce9e44
Clear persistent cells with weak references correctly, refs #88
2014-03-22 17:41:00 +01:00
Stefan Siegl
4c64bc4ad9
Make compatible with V8 3.24.10, fixes #83
2014-03-22 00:07:53 +01:00
Taneli Leppa
da53c90f88
Added new "v8js.use_date" ini setting to convert PHP DateTime objects to Javascript Date objects
...
when set as V8JS object properties.
2014-03-20 16:06:18 +02:00
Taneli Leppa
0a85d27ee7
V8 needs to be notified when timezone changes. Keep track of timezone changes and notify it.
...
Also added a test.
2014-03-20 11:20:59 +02:00
Taneli Leppa
52dc41e30e
Build fix for GCC 4.4 (eg. el6).
2014-03-19 16:24:24 +02:00
Stefan Siegl
1e773dd4a8
Make compatible with V8 3.23.8 (and below)
2013-12-21 20:54:55 +01:00
Stefan Siegl
e20e5098c7
Make compatible with V8 3.23.11 (and below)
2013-12-21 19:56:28 +01:00
Stefan Siegl
69290b5779
Fix build against libv8 3.24.5
2013-12-21 01:18:08 +01:00
C. Scott Ananian
24257b54af
Free php_v8js_accessor_ctx when we are done with it.
2013-10-27 02:49:24 -04:00
C. Scott Ananian
3f77a5a356
Make PHP object accessors typesafe using V8::AccessorSignature.
...
This ensures that if you copy the accessor to another object you can't
trigger a segfault.
2013-10-27 02:49:24 -04:00
C. Scott Ananian
57348c5f7d
Fix double-pop of timer_ctx (and efree from wrong thread).
...
The timer_ctx was being popped & freed in terminate_execution, from the
timer thread (not the main thread), and then popped again in the main
thread when execution was aborted. Do all pop/free work in main thread.
Also, remember to pop the timer_ctx when just a memory limit is set.
2013-10-27 02:48:52 -04:00
C. Scott Ananian
dba6322812
Fix memory leak: The get_properties handler owns the returned hashtable.
2013-10-26 23:14:39 -04:00
Stefan Siegl
18b129b128
Trigger garbage collection within Isolate::Scope
...
Before the idle notifications to V8 were sent without a special
Isolate entered, which results in V8 using it's default isolate
(which we don't use at all). Hence those were pretty useless
anyways (if they were called, which was unlikely).
Besides V8 seems to not trigger the weak object callbacks if
the isolate is destroyed, hence the PHP objects we add-ref'ed
before will leak.
Therefore this removes the previous idle notification logic
and forces garbage collection from the V8Js object destructor.
2013-10-27 00:41:47 +02:00
C. Scott Ananian
39cc821f91
Store tsrm_ls in php_v8js_ctx.
...
This avoids the need to ever do a (slow) TSRMLS_FETCH().
2013-10-26 02:07:12 -04:00
C. Scott Ananian
303f3f52b5
Refactor template cache into php_v8js_ctx.
...
Reduce map lookups by adding internal object field pointing to function
template. Use hidden field to allow easy unwrapping of PHP objects.
2013-10-25 17:40:51 -04:00
C. Scott Ananian
c341511b36
PHP 5.3 compatibility fixes.
2013-10-25 17:40:51 -04:00
C. Scott Ananian
52d8946b89
Add isolate parameter to V8JS_* macros.
...
This avoids unnecessary calls to Isolate::GetCurrent() in the implementation.
By standardizing on the V8JS_SYM and V8JS_STR macros we also standardize on
UTF-8 encoding for v8 strings.
2013-10-25 16:46:07 -04:00
C. Scott Ananian
49632054a4
Cleanup: remove some warnings when compiled with -Wunused
2013-10-25 14:17:40 -04:00
Stefan Siegl
61eee4cbd6
TSRM/ZTS fixes.
2013-10-19 23:04:35 +00:00
Stefan Siegl
d69f2be50a
Add v8 debug support
2013-10-13 11:36:57 +02:00
Stefan Siegl
662e491e1f
Pass back v8 functions, don't re-wrap
2013-10-03 00:34:50 +02:00
Patrick Reilly
dc1475a3ad
updated package for beta release and switch license to MIT
2013-09-28 10:17:33 -07:00
Stefan Siegl
286b0d8ac0
Handle non-construct call
2013-07-12 20:23:12 +02:00
Stefan Siegl
ffa42cdfaf
Replaced deprecated v8 api calls with newer equivalents
2013-07-08 00:58:19 +02:00
Patrick Reilly
4a82311b4d
fix mutex issue and c++11 support on Ubuntu — remove stray EOL marker
2013-05-15 12:21:38 -07:00
Patrick Reilly
6f44220328
fix merge conflict
2013-05-09 15:55:30 -07:00
Patrick Reilly
713d4119da
Merge branch master of github.com:preillyme/v8js
2013-05-09 09:17:39 -07:00
Simon Best
8d8c671aa0
V8 isolates need to be passed into all variable accessor and conversion functions.
2013-04-14 00:36:05 +01:00
Simon Best
8ae7606338
Refactor CommonJS modules functionality to store state in the extension globals and context as appropriate.
2013-04-13 00:00:27 +01:00
Simon Best
93df3411d9
Merged CommonJS modules functionality.
2013-04-11 17:15:55 +01:00
Simon Best
84baa7614a
First working version of CommonJS modules.
2013-03-24 16:27:13 +00:00
Patrick Reilly
dfbd5f0c0c
Fixed build in 5.4+
2012-07-06 17:12:53 -07:00