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

780 Commits

Author SHA1 Message Date
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
Stefan Siegl
3a1f3e5237 Add setMemoryLimit & setTimeLimit setter methods 2014-12-07 13:25:52 +01:00
Stefan Siegl
0023c03280 Use v8::TryCatch if calling V8Function, refs #127 2014-12-01 22:12:22 +01:00
Stefan Siegl
38bc89e10a Once more fix ZTS build 2014-11-30 22:34:24 +00:00
Stefan Siegl
dba4da9b8b Refactor PHP method call code 2014-11-30 23:30:28 +01:00
Stefan Siegl
901268994a Implement isset behaviour on ArrayAccess objects 2014-11-30 22:43:56 +01:00
Stefan Siegl
1b027a525f Implement delete behaviour on ArrayAccess objects 2014-11-30 22:31:27 +01:00
Stefan Siegl
6399b49b3f Improve ArrayAccess enumeration
When enumerating an ArrayAccess-style object the array keys should be
returned, not the method names & properties of the PHP object.
2014-11-30 21:00:42 +01:00
Stefan Siegl
8550dcb5ca Mention array & object mapping 2014-11-30 19:25:08 +01:00
Stefan Siegl
35350f7642 Test __invoke handling on ArrayAccess objects 2014-11-29 21:34:17 +01:00
Stefan Siegl
d21896ab33 Test export of properties on ArrayAccess object
Private & protected properties shouldn't be accessible, also the
length property should not be overwritten by a length property of
the PHP object.
2014-11-29 21:30:44 +01:00
Stefan Siegl
5a11ef2468 Test ArrayAccess prototype method overwriting
If the PHP object implementing ArrayAccess has a method,
that has the same name as one of the Array.prototype methods,
the PHP method shall be called, i.e. overwrite the JS method.
2014-11-29 21:28:21 +01:00
Stefan Siegl
b25960786d Remove count() echo statements
These cause the test to fail on old v8 versions like 3.24.10
since the Array.prototype.push implementation calls count() twice
with that version (causing a second echo-line that makes the
test fail).
2014-11-29 20:23:23 +00:00
Stefan Siegl
27d326a196 Fix ZTS build 2014-11-29 19:49:44 +00:00
Stefan Siegl
2b897e8bc4 Export extra methods on ArrayAccess
This merges the distinct code path for the export of ArrayAccess
capable PHP objects back into the "common" PHP object export code.
Sole difference is that the ArrayAccess-style object has index
property handlers as well as property bridging to Array.prototype.
2014-11-29 20:35:32 +01:00
Stefan Siegl
02d8ecc16e Split php_v8js_hash_to_jsobj into smaller pieces
php_v8js_hash_to_jsobj is called for all wrapping to JS objects, be it
a PHP associative array or a PHP object.  I've now splitted both parts
into seperate functions since they don't share any code any longer
anyways.
2014-11-29 16:38:45 +01:00
Stefan Siegl
fc583a8ec6 Move PHP to JS object wrapping into seperate file 2014-11-29 15:42:41 +01:00
Stefan Siegl
d494a22644 Use hidden value instead of internal field
Just a preparation to mix the array access stuff with the name-based
property accessors.
2014-11-29 15:16:58 +01:00
Stefan Siegl
5135afa67e Add ArrayAccess test with native JS push method 2014-11-29 13:41:35 +01:00
Stefan Siegl
1b64a92c8d Add test on ArrayAccess live binding 2014-11-29 13:25:01 +01:00
Stefan Siegl
ff194ba6c1 Add v8js_array_access.cc to Win32 build files 2014-11-26 00:15:55 +01:00
Stefan Siegl
94a889b2cb Fix ZTS build + memory leak 2014-11-25 22:55:17 +00:00
Stefan Siegl
1efd91b29a Add array access offsetSet support 2014-11-25 23:43:21 +01:00
Stefan Siegl
66b42ce080 Add slice call to array_access test 2014-11-25 21:18:00 +01:00
Stefan Siegl
ddcaee47d6 Refactor array access code into seperate files 2014-11-25 21:06:11 +01:00
Stefan Siegl
1121d5f4d0 Skip unnecessary v8::FunctionTemplate fluff 2014-11-23 23:49:36 +01:00
Stefan Siegl
3f6ea8fcfd Set Array.prototype on ArrayAccess wrapped object 2014-11-23 23:47:29 +01:00
Stefan Siegl
f1dd5ad23b Add basic ArrayAccess wrapping 2014-11-23 23:39:15 +01:00
Stefan Siegl
6d43ec6dbc Fix exception_clearing test wrt. column numbers 2014-11-22 18:58:05 +01:00
Stefan Siegl
654a8b8039 Merge branch 'issue-126' 2014-11-22 13:27:26 +01:00
Stefan Siegl
65148db31f Add StartColumn/EndColumn properties to script exception, closes #126 2014-11-22 12:56:00 +01:00
Stefan Siegl
b77ba3773c Merge branch 'clear-exception' 2014-11-22 02:26:37 +01:00
Stefan Siegl
3ec580aaa3 Add test on clearPendingException 2014-11-22 02:18:32 +01:00
Stefan Siegl
687459ba7c Typo: dependancy, closes php.net bug 65725 2014-11-20 21:21:09 +01:00
Taneli Leppa
7ee8d69470 Added V8Js::clearPendingException(). 2014-11-17 10:45:35 +02:00
Stefan Siegl
760e50c705 Mention to download & unpack V8Js itself 2014-11-17 00:05:35 +01:00
Stefan Siegl
75b7b27587 Merge branch 'issue-123', closes #123, closes #24 2014-11-16 23:56:04 +01:00
Stefan Siegl
70d5349702 Add pointer to README.Win32.md 2014-11-16 23:50:33 +01:00
Stefan Siegl
720945b4ef Add build instructions for Windows 2014-11-16 23:48:05 +01:00
Stefan Siegl
7b435e30dc Skip tests/timezones on Windows 2014-11-16 23:07:32 +01:00
Stefan Siegl
920d9eeb33 Strip second timezone specification
v8 adds two timezone specifications to date strings.
However PHP fails to parse the second one, generated
on Windows systems.  Hence just strip away the redundant
specification and pass that one to PHP.
2014-11-16 22:33:32 +01:00
Stefan Siegl
cd44e72683 Slow down memory_limit test
Otherwise the test may execute so fast, that the
watchdog thread, ticking at 10ms currently, is too
slow to detect the memory limit situation.
2014-11-16 20:20:43 +01:00
Stefan Siegl
6ee72b6f0a Use concurrency::wait on Windows to sleep.
The chrono + sleep_for implementation seems not to work,
due to bugs in chrono header file.  And after all sleep_for
calculates a time_point for sleep_until, which calculates
the delta again and finally passes the number of
milliseconds to concurrency::wait ...
2014-11-14 00:08:30 +01:00
Stefan Siegl
449d66ca01 Don't force garbage collection on shutdown.
Doing so causes crashes on Windows and isn't needed anymore
anyways, since we have started tracking weak references
meanwhile.
2014-11-14 00:05:58 +01:00
Stefan Siegl
4e0b500de0 Use directory seperator pattern %e 2014-11-13 21:26:47 +01:00
Stefan Siegl
249aa39418 object_dom test requires DomDocument class 2014-11-13 21:24:22 +01:00
Stefan Siegl
293ca476f0 commonjs_modules test requires json_encode. 2014-11-13 21:14:05 +01:00