0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-11-09 02:38:40 +00:00
Commit Graph

591 Commits

Author SHA1 Message Date
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
11f7311ab8 Use php_v8js_compile_script for checkString. 2014-09-20 12:22:56 +00:00
Stefan Siegl
9cb3711c66 Merge remote-tracking branch 'rosmo/compile-script-201409', closes #95 2014-09-20 12:22:31 +00: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
Stefan Siegl
129052a176 Add pointer to docker repo 2014-09-19 18:54:44 +02:00
Stefan Siegl
751b612d8d Suggest libplatform install via mri-script 2014-09-19 18:50:22 +02:00
Stefan Siegl
7228e31eee Remove note on v8 not being buildable with g++ 4.8
The issue on code.google.com is long closed.
Besides I've just tried and it just works.
2014-09-18 23:28:12 +02:00
Stefan Siegl
db8c1bc94d Revert "Add build-status badge again"
This reverts commit 702302d9f6.
2014-09-17 23:20:20 +02:00
Stefan Siegl
702302d9f6 Add build-status badge again
My Jenkins box has a SSL certificate now, hence it should
work without caching effects finally.
2014-09-17 23:16:19 +02:00
Stefan Siegl
3702e64611 Merge pull request #105 from stesie/fix-init-platform
Call V8::InitializePlatform as needed, fixes builds >= 3.29.36
2014-09-17 19:58:27 +02:00
Stefan Siegl
06371e4126 Include libplatform.h only for v8 >= 3.29.36 2014-09-17 16:47:33 +02:00
Stefan Siegl
3843fc1b5c Remove stray debug-echo 2014-09-17 16:33:03 +02:00
Stefan Siegl
14600d3be3 Initialize v8 platform as needed
See http://comments.gmane.org/gmane.comp.lang.javascript.v8.general/8029
for more information.
2014-09-17 00:45:24 +02:00
Taneli Leppa
200c16c30e Fixed script destructor and free resource struct when done. 2014-09-16 17:11:13 +03:00
Taneli Leppa
de8b0666a6 Some changes to how V8 contexts are managed. 2014-09-16 17:10:18 +03:00
Taneli Leppa
7310c93c1e Deprecate V8Js::checkString() in favour of compileString() and add tests. 2014-09-16 17:10:15 +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
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
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