1338 Commits

Author SHA1 Message Date
Jacek Caban
798ba715e3 jscript: Optimize iface_to_jsdisp by using vtbl comparison.
This is 14% win on SunSpider 0.9 benchmark.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 23:05:14 +09:00
Jacek Caban
be37b894a4 jscript: Use IDispatch* as iface_to_jsdisp argument type.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 23:04:53 +09:00
Sebastian Lackner
b2e58b4c7c jscript: Use list_head get first entry of list.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 19:58:00 +09:00
Jacek Caban
68dddd8d89 jscript: Properly handle arguments in Object constructor.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-21 11:23:42 +09:00
Jacek Caban
db6b86cbbd jscript: Allow Function.apply() to be called on non-jscript objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:18 +09:00
Jacek Caban
b5aeb661b9 jscript: Added non-zero timezone offset tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:26 +09:00
Jacek Caban
a8b5dc84bd jscript: Removed obsolete FIXME comments in tests and add relevant tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:24 +09:00
Jacek Caban
b1773131ac jscript: Added RegExp.global getter implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:22 +09:00
Jacek Caban
81cb13af7a jscript: Added RegExp.multiline getter implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:20 +09:00
Jacek Caban
2db1666096 jscript: Added RegExp.ignoreCase getter implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:18 +09:00
Markus Heidelberg
74257d5940 jscript: Date.parse: make "UTC"/"GMT" optional before the timezone offset.
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 22:17:38 +09:00
Jacek Caban
e1970c8547 jscript: Properly handle function expressions with identifiers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-06 21:09:04 +09:00
Piotr Caban
756c604d9a jscript: Fix handling of numbers starting with decimal separator.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-29 00:54:12 +09:00
Jacek Caban
6a03b38f33 jscript: Use already running interpreter for eval() execution.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:44 +09:00
Jacek Caban
889f2657dd jscript: Use already running interpreter for Function.call() execution.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:42 +09:00
Jacek Caban
813609b843 jscript: Use already running interpreter for Function.apply() execution.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:40 +09:00
Jacek Caban
fa726bed4d jscript: Use already running interpreter for execution new expressions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:37 +09:00
Jacek Caban
2d35954adb jscript: Use already running interpreter for execution expressions that are source functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:35 +09:00
Jacek Caban
66632091bf jscript: Use already running interpreter for execution of member source function.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:33 +09:00
Jacek Caban
35133dbe58 jscript: Find Function.arguments on the stack instead of storing it in FunctionInstance object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:40:06 +09:00
Jacek Caban
42e90ca592 jscript: Moved arguments object destuction to interpreter.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:40:04 +09:00
Jacek Caban
cb317ed5b8 jscript: Moved more return object logic to enter_bytecode loop.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:40:01 +09:00
Jacek Caban
8c1526a865 jscript: Keep reference to bytecode in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:59 +09:00
Jacek Caban
db0fee5e9d jscript: Merge setup_call_frame into exec_source.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:57 +09:00
Jacek Caban
d66b5bf4cb jscript: Moved constructor return logic to interpreter.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:55 +09:00
Jacek Caban
2bb824b7c9 jscript: Sore is_global as a flag.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:53 +09:00
Jacek Caban
4bef35fd48 jscript: Clear stack outside OP_call* handlers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:51 +09:00
Jacek Caban
51f65ec974 jscript: Clear stack outside OP_new handler.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:49 +09:00
Jacek Caban
d08036120a jscript: Don't assume that ret value is cleared when it's not set explicitly.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 10:39:47 +09:00
Sebastian Lackner
19777292a3 jscript: Fix off-by-one error in decode_dword.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 18:41:01 +09:00
Jacek Caban
32d9c59868 jscript: Get rid of no longer needed exec_ctx_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:17 +09:00
Jacek Caban
00ce4419b4 jscript: Store is_global flag in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:15 +09:00
Jacek Caban
932ffa0de9 jscript: Store return value in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:12 +09:00
Jacek Caban
b8fb19f160 jscript: Store variable object in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:10 +09:00
Jacek Caban
0db7059663 jscript: Store this object in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:07 +09:00
Jacek Caban
0224f1829b jscript: Moved stack from execution context to script context.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:05 +09:00
Jacek Caban
9e03bb2ece jscript: Pass script context instead of execution context to op handlers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:02 +09:00
Jacek Caban
400435dbe3 jscript: Store entry scope chain in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:50 +09:00
Jacek Caban
49ecfa950b jscript: Store current scope chain in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:45 +09:00
Jacek Caban
0e32c09901 jscript: Store stack base in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:38 +09:00
Jacek Caban
a120ecbefc jscript: Store instruction pointer in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:31 +09:00
Jacek Caban
fa5d9b3db1 jscript: Store exception frame in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:26 +09:00
Jacek Caban
53ecdb6549 jscript: Added new helpers for jumps.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:20 +09:00
Jacek Caban
132ff14d37 jscript: Store function description in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:15 +09:00
Jacek Caban
89ad1094ea jscript: Store bytecode pointer in call_frame_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:11 +09:00
Jacek Caban
8a17cf89fb jscript: Keep track of active call in a separated structure.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 20:09:07 +09:00
Jacek Caban
47cf3fe36d jscript: Added a few more arguments tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 00:52:09 +09:00
Jacek Caban
061592a205 jscript: Removed no longer used argument from exec_source.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 23:02:20 +09:00
Jacek Caban
45b3334757 jscript: Fixed tests on some old jscript versions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 17:53:35 +09:00
Jacek Caban
2cbb757abe jscript: Added JSON tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:43:41 +09:00