Stefan Siegl
0334ba64fa
TSRM/ZTS fixes
2014-08-11 14:25:39 +02: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
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
50fdfc5c88
Add test on constructor get-accessor.
2014-08-10 13:53:10 +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
137a6732c6
IdleNotification is on Isolate now
2014-08-10 13:36:07 +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
Taneli Leppa
dbe477fc8e
Exit current isolate on fatal V8 error.
2014-07-01 10:48:06 +03:00
Taneli Leppa
03728d8bbd
Dispose isolate when freeing V8Js object.
2014-07-01 09:20:45 +03:00
Stefan Siegl
1d8ae1f458
Test whether error handler is removed correctly, if outermost frame is left
2014-05-23 00:45:08 +02:00
Stefan Siegl
1fc79f8223
Don't restore original error handler when exiting inner frame, refs #94
2014-05-23 00:35:51 +02:00
Stefan Siegl
847ac7677c
Initialize V8JSG(old_error_handler) on ZTS, refs #94
2014-05-23 00:06:28 +02:00
Stefan Siegl
464cff0477
test unwind behaviour on PHP notices & warnings, refs #94
2014-05-23 00:03:42 +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
a134129018
Use isolate version of V8::TerminateExecution, refs #92
2014-05-14 23:39:41 +02:00
Stefan Siegl
1cff5fc927
Merge pull request #93 from carlos22/patch-1
...
Fix V8JS_VERSION to match package.xml (0.1.5)
2014-04-23 22:48:16 +02:00
Karl G
2b61b9d1be
Fix V8JS_VERSION to match package.xml (0.1.5)
2014-04-23 14:49:39 +02:00
Patrick Reilly
16447f8fce
Merge pull request #91 from stesie/hack-fatal-error-unwind
...
Handle PHP Fatal Errors inside JS->PHP callbacks
2014-04-14 10:00:17 -07: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
Patrick Reilly
997b237240
Merge pull request #90 from stesie/fix-property-visibility
...
Fix visibility of PHP properties in JS
2014-04-11 13:39:35 -07:00
Stefan Siegl
956eacb180
Add test on property visibility regarding hasOwnProperty
2014-04-11 20:50:36 +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
aa924a8cb3
Add test on visibility of properties on enumeration
2014-04-11 19:04:05 +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
Stefan Siegl
170b1ff94c
Handle property visibility and __get, refs #79
...
Protected and private properties should not be available
to JS context. Instead call __get function, if the
property is not accessible.
2014-04-06 20:04:48 +02:00
Stefan Siegl
c54b49d2a6
Use PHPWRITE macro instead of php_output_write, refs #80
...
php_output_write is not available in PHP 5.3.
2014-03-23 00:54:15 +01:00
Stefan Siegl
a7d5a0776c
Make datetime_pass.phpt run on PHP 5.3, refs #86
2014-03-23 00:39:45 +01:00
Stefan Siegl
fd801631b7
Add null-byte passing test, make var_dump null-byte safe, closes #80
2014-03-23 00:28:53 +01: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
1186e7951f
Make compatible with V8 3.25.12, fixes #88
2014-03-22 17:58:38 +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
3b6390b7f8
Fix passing of null bytes from V8 to PHP (github issue #80 ).
2014-03-21 10:59:18 +02: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
66dbe7d323
Forgot to commit test for large number support.
2014-03-20 15:45:35 +02:00
Taneli Leppa
9ddac3f124
Passing integers that didn't fit in 32-bit integers from PHP to Javascript
...
did not work properly, now uses float to pass larger numbers.
2014-03-20 12:00:45 +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
dd20670546
When passing objects from JS to PHP with mixed keys, some of the keys
...
might get lost or "re-indexed". This fixes it and adds two tests.
2014-03-20 10:35:05 +02:00