0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-23 01:51:51 +00:00
Commit Graph

751 Commits

Author SHA1 Message Date
Stefan Siegl
d8e239a756 test per isolate module cache seperation 2015-08-01 17:57:57 +02:00
Stefan Siegl
3d89f0250d Provide key compare function for modules_loaded
Without the compare function std::map simply compares one
pointer to another.  However we need to compare the actual
strings.

Besides we must not efree normalised_module_id on return
of require method, since the pointer was added to
modules_loaded (and is valid until destruction of V8Js
class); instead it is now freed during V8Js object destruction.
2015-08-01 17:49:11 +02:00
Stefan Siegl
754d398ec9 Move v8js_commonjs.cc forward declarations in .h file 2015-08-01 17:09:48 +02:00
Stefan Siegl
8c5716f502 Bump version to 0.2.1 2015-07-26 00:07:58 +02:00
Stefan Siegl
3fff469174 Remove stray V8JS_DEBUG define
Currently it just enables RSHUTDOWN code that should print
memory usage statistics. However the code implements API calls
that aren't supported anymore (for a long time).
2015-07-25 23:40:50 +02:00
Stefan Siegl
b30ee1e09b auto-add CXXFLAG -Wno-c++11-narrowing if possible 2015-07-25 21:36:34 +02:00
Stefan Siegl
cdcfb973a7 Merge pull request #148 from stesie/test-fail-old-v8
skip extensions_error test for v8 version < 3.30
2015-07-25 20:48:25 +02:00
Stefan Siegl
f6eacd59d0 Merge pull request #147 from stesie/issue-135
Enter endless loop after V8::TerminateExecution call, fixes #135
2015-07-25 20:43:38 +02:00
Stefan Siegl
34242c5d60 skip extensions_error test for v8 version < 3.30 2015-07-25 18:16:04 +02:00
Stefan Siegl
72cb2da9ba Enter endless loop after V8::TerminateExecution call, fixes #135
The V8::TerminateExecution does *not* immediately terminate execution
as its name might suggest.  It just marks the given isolate as
"to terminate" and the execution thread checks - from time to time -
whether to terminate.  For v8 itself this is not problematic as
the call is thought to stop long-running scripts executed in the
browser context.

As v8js exposes this function to JavaScript with the exit() method,
this behaviour is confusing.  In order to stop code execution right
at the exit() call, v8js enters an endless loop and waits for v8
to terminate execution within it.
2015-07-25 17:42:32 +02:00
Stefan Siegl
eafa458620 Merge pull request #146 from stesie/use-arraybufferallocator
Provide v8::ArrayBufferAllocator as needed
2015-07-25 17:40:06 +02:00
Stefan Siegl
22e90d1c50 Call v8::V8::SetArrayBufferAllocator for v8 4.4.10 & higher 2015-07-25 17:28:08 +02:00
Stefan Siegl
493e448bae Provide ArrayBufferAllocator for v8 4.4.44 (and later) 2015-07-25 16:04:25 +02:00
Stefan Siegl
81018372e4 Adapt test to changed v8 error message
Added a "%s" so both messages are matched:

 * Extension or internal compilation error: MakeReferenceError in handlebars at line 1.
 * Extension or internal compilation error in handlebars at line 1.
2015-07-25 16:01:54 +02:00
Stefan Siegl
e67f1f4c9c Fix handling of failed context creation, closes #136 2015-05-01 11:43:24 +02:00
Stefan Siegl
4d17ba2566 Delete V8JSG(timer_thread) on shutdown, refs #138 2015-04-28 00:31:33 +02:00
Stefan Siegl
79f2056bc3 Properly stop timer thread, closes #138
We need to reset V8JSG(timer_stop) and V8JSG(timer_thread), otherwise
subsequent requests fail on multi-request SAPIs.

If we don't reset those, a subsequent request will not start a new timer
thread (as V8JSG(timer_thread) != NULL), but will try to join the thread
(once more) in GSHUTDOWN as V8JSG(timer_thread) still is non-NULL and
hence cause program termination.
2015-04-28 00:21:00 +02:00
Stefan Siegl
b350871795 Correctly force to array on property writing, closes #137 2015-04-26 13:49:13 +02:00
Stefan Siegl
5c43a471b4 Remove reference to my (deprecated) Jenkins site 2015-03-13 16:35:35 +01:00
Stefan Siegl
555f7aa30f Bump version to 0.2.0 2015-03-13 16:33:57 +01:00
Stefan Siegl
fd10356f62 Remove hard-coded PHP_V8_VERSION symbol 2015-03-13 16:18:12 +01:00
Stefan Siegl
1a85a82289 Add myself to package.xml file as lead (sync to pecl) 2015-03-13 16:15:51 +01:00
Stefan Siegl
3940613858 Update package.xml file manifest
Used "fpm" command; it changed sort order of releases.
Afterwards looked over file type associations.
2015-03-13 16:14:18 +01:00
Stefan Siegl
8923eac4ff Fix typo in package description 2015-03-13 16:05:52 +01:00
Stefan Siegl
0b769df7c0 Import package.xml from last release package 2015-03-13 15:50:34 +01:00
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