0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-11-15 07:28:40 +00:00
Commit Graph

626 Commits

Author SHA1 Message Date
Stefan Siegl
5ec269877a Add cscott and myself 2015-03-13 15:42:28 +01:00
Stefan Siegl
5fb79ee994 Merge remote-tracking branch 'pecl/master'
Merging form pecl/v8js master branch to preillyme/v8js on Github
to get both heads on par.

Conflicts:
	php_v8js_macros.h
2015-03-13 13:59:23 +01:00
Stefan Siegl
3726d233b8 return SUCCESS from PHP_MINIT_FUNCTION 2015-03-12 12:22:01 +01:00
Stefan Siegl
0e76b675d2 Require v8 3.24.6 or higher
Just tested it, v8js builds correctly with 3.24.6 and fails to build
against 3.24.5 due to `RequestInterrupt' being undefined.

Syncing the check in config.m4 (used to test 3.21.12 or newer) against
README.md file (which stated 3.24.10 or newer).
2015-03-11 15:00:01 +01:00
Stefan Siegl
90c3b9db5f Fix debug build; move debug stuff into seperate files 2015-03-11 14:06:21 +01:00
Stefan Siegl
8934e8c078 Add note that RUNPATH might need to be fixed 2015-03-10 15:28:25 +01:00
Stefan Siegl
7b926a3d06 ForceDelete was removed, use normal Delete 2015-03-10 15:09:41 +01:00
Stefan Siegl
ddc6a46049 Set c++ -std version on v8 version test 2015-03-10 14:16:37 +01:00
Stefan Siegl
a9ef3d5d67 Merge pull request #134 from stesie/issue-97
Fix build on MacOS X
2015-03-09 13:53:52 +01:00
Stefan Siegl
c014892da4 Provide dedicated installation instructions for Linux & Mac 2015-03-09 13:43:58 +01:00
Stefan Siegl
453a95826b On MacOS/Darwin link against libv8_libbase.a as well, refs #97 2015-03-09 04:48:09 -07:00
Stefan Siegl
37e3e001c5 Don't --rpath link on MacOS/Darwin, refs #97 2015-03-08 16:07:54 -07:00
Patrick Reilly
bb95374985 Merge pull request #132 from stesie/code-cleanup
Code cleanup
2015-01-03 15:45:22 -08:00
Patrick Reilly
c9cc884131 Merge pull request #133 from christiaan/update_readme
Update the Readme with setTimeLimit and setMemoryLimit
2015-01-03 12:58:42 -08:00
Christiaan
b6a923c949 Change the invalid php stub with valid php code that can be used for type hinting 2015-01-01 21:43:26 +01:00
Christiaan
e52e6a3617 Update the Readme
section about the public API with the two new functions setTimeLimit and setMemoryLimit
2015-01-01 21:20:26 +01:00
Stefan Siegl
5b4aaa64f1 More php_v8js_ prefix cleanup 2014-12-13 01:37:25 +01:00
Stefan Siegl
294a5c8d1f php_v8js_create_v8 -> v8js_v8object_create 2014-12-13 01:21:02 +01:00
Stefan Siegl
2954de2db5 Remove php_ prefix to struct & type names 2014-12-13 01:18:42 +01:00
Stefan Siegl
3efec8d428 Remove CVS $Id$ comment lines 2014-12-13 00:45:05 +01:00
Stefan Siegl
d269809d8b Move types from php_v8js_macros.h to new headers 2014-12-13 00:43:19 +01:00
Stefan Siegl
6869d318b3 Rename V8Object stuff to v8js_v8object_XXX 2014-12-13 00:28:09 +01:00
Stefan Siegl
f987cc7b4c Rename php_v8js_objects -> v8js_v8objects
* drop php_ prefix, currently used inconsistently anyways
* change "object" to "v8object" to clarify it's a JS object wrapped
  to a V8Object instance
2014-12-13 00:13:03 +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
Stefan Siegl
af58f4ec9e Catch serialization of V8Function instances 2014-12-11 22:28:01 +01:00
Stefan Siegl
73d022cca1 Test unserialization with properties 2014-12-11 22:15:38 +01:00
Stefan Siegl
c0d1e2fa6d Catch serialization of V8Object instances 2014-12-11 20:58:53 +01:00
Stefan Siegl
dfb6b1db46 Handle absent isolate in V8Js::__destruct 2014-12-11 19:14:33 +00:00
Stefan Siegl
1386c96d26 Catch serialization of V8Js object, closes #119 2014-12-11 19:30:06 +01:00
Stefan Siegl
0ea210f94e Throw V8JsException if source is not a script 2014-12-11 18:05:37 +01:00
Stefan Siegl
c28c9f50f1 introduce V8JsException class 2014-12-11 18:00:43 +01:00
Stefan Siegl
2b4750748e Merge branch 'array-access'
Conflicts:
	v8js_convert.cc
2014-12-10 20:02:33 +01:00
Stefan Siegl
a7fbe9dde4 Fix path seperator for Windows 2014-12-10 19:46:15 +01:00
Stefan Siegl
603790f3dd Don't redefine default parameter
This compiles fine with gcc, but Visual C++ doesn't support it but
throws C2572 error instead.
See http://msdn.microsoft.com/en-us/library/acahh3ba.aspx
2014-12-10 19:41:59 +01:00
Stefan Siegl
8b89a7b691 increase time limit to start engine 2014-12-10 19:27:04 +01:00
Stefan Siegl
1613570ced Add test on die() call, refs #122 2014-12-10 01:10:30 +01:00
Stefan Siegl
a2a9c30a11 Use zend_try/zend_catch to unwind v8 stack 2014-12-09 23:56:46 +00:00
Simon Best
dbea6fc122 Correct name of memory limit test. 2014-12-09 22:53:06 +01:00
Stefan Siegl
7ac12c4fbd Unwind stack after fatal error in V8Function, closes #130 2014-12-09 22:40:53 +01:00
Stefan Siegl
2252169a98 Use isolate->RequestInterrupt to get heap size 2014-12-09 01:08:16 +01:00
Stefan Siegl
0004626015 Make time limit tests pass more safely 2014-12-09 01:06:46 +01:00
Stefan Siegl
b6fb9acc65 Remove set_memory_limit_002 test
The test is unfortunately unstable as it somehow depends on CPU speed.
v8 seems to precompute the result even so it hasn't reached the for
loop consuming the memory.

This can be proved easily by adding a sleep(1) call at the start of the
prolongTimeLimit function.  Then the memory limit is always tripped
even so v8 didn't have to do much until there
2014-12-07 16:52:10 +01:00
Stefan Siegl
e85b095282 Add test showing that time limits can be prolonged 2014-12-07 16:44:54 +01:00
Stefan Siegl
c17208c9c0 Allow to impose memory & time limits 2014-12-07 16:44:54 +01:00
Stefan Siegl
8945357d76 Allow to change & reset memory limits 2014-12-07 16:44:52 +01:00
Stefan Siegl
daf8788e0f Allow to change & reset time limits 2014-12-07 16:05:58 +01:00
Stefan Siegl
ab6df6f14f Use std::deque for timer_stack
In order to update limits at runtime we need the stack to be iterable.
2014-12-07 15:54:37 +01:00
Stefan Siegl
e617662293 Always push timer on stack to allow updates 2014-12-07 15:49:56 +01:00
Stefan Siegl
2a1ae43496 Use prologues for V8Function calls, closes #129 2014-12-07 15:19:47 +01:00
Stefan Siegl
acd00af78a Refactor v8 call prologue/epilogue into function 2014-12-07 14:08:01 +01:00