Jacek Caban
da02140b43
jscript: Allow accessing arguments values directly from stack.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:05 -05:00
Jacek Caban
abba963006
jscript: Use exprval_t to represent property references passed on JS stack.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:04 -05:00
Jacek Caban
7af8330e93
jscript: Store exception code in exprval_t.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:04 -05:00
Jacek Caban
e641469f9f
jscript: Set output to undefined in jsval_copy on failure.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 11:59:34 +09:00
Jacek Caban
9fc2863ebd
jscript: Fixed potential leak in RegExp lastIndex setter.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 11:59:32 +09:00
Jacek Caban
b0dcbbdbee
jscipt: Use passed copy of arguments if they are alread at the top of the stack.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 11:59:30 +09:00
Jacek Caban
5e4d3826ec
jscript: Store function arguments on JS stack and transfer them to variable object only when needed.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 11:59:27 +09:00
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
Jacek Caban
95bdd084a1
jscript: Added JSON.stringify implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:43:35 +09:00
Jacek Caban
f0be56e17c
jscript: Added JSON.parse implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:43:27 +09:00
Jacek Caban
4e1e2ee451
jscript: Added JSON object stub implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:43:10 +09:00
Jacek Caban
e00708e3aa
jscript: Added new is_finite helper.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:42:57 +09:00
Jacek Caban
b1197a15ec
jscript: Make parse_decimal a more generic helper.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:42:41 +09:00
Jacek Caban
d7e4193df2
jscript: Added support for Function constructor called as a function.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:14:44 +01:00
Jacek Caban
79361d3bc0
jscript: Added a test of DeleteMembedByDispID returning an error.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 20:00:42 +09:00
Nikolay Sivov
fca682435d
jscript: Return error code disp_delete() failed with (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 19:47:55 +09:00
Jacek Caban
326c1e61b4
jscript: Added 'automagic' test.
2015-06-03 14:47:15 +09:00
Jacek Caban
170bb3771f
jscript: Added beginning support for 'automagic' event binding feature.
2015-06-03 14:47:12 +09:00
Jacek Caban
ccccd1c435
jscript: Correctly handle pvarResult in ParseScriptText.
2015-06-01 14:43:28 +09:00
Alexandre Julliard
f324ae7f09
jscript: Avoid UINT32_MAX.
2015-05-14 17:15:14 +09:00
Thomas Faller
fdd22f197a
jscript: Date.parse: long date with '/' or '-'.
2015-05-04 20:20:26 +09:00
Francois Gouget
f0584081c9
jscript: Mark internal symbols with hidden visibility.
2015-03-18 19:39:04 +09:00
Jacek Caban
a1543a3f7b
jscript: Fixed handling VT_VARIANT|VY_BYREF types.
2015-02-06 22:20:39 +09:00
Jacek Caban
1316403770
jscript: Pass 'this' as jsdisp_t to setters.
2015-02-06 22:20:36 +09:00
Jacek Caban
d541b525e4
jscript: Pass 'this' as jsdisp_t to getters.
2015-02-06 22:20:34 +09:00
Jacek Caban
b7fae52964
jscript: Use separated functions for implementing builtin call, get and set operation.
2015-02-06 00:28:35 +09:00
Jacek Caban
90d3569c62
jscript: Don't use builtin property for *Error constructors.
2015-02-06 00:28:35 +09:00
Jacek Caban
b7a27333e3
jscript: Don't use builtin property for a few more constructors.
2015-02-06 00:28:34 +09:00
Jacek Caban
6eb49669aa
jscript: Don't use builtin property for exposing Boolean constructor.
2015-02-05 00:23:14 +09:00
Jacek Caban
b0632af980
jscript: Added support for VT_UI4 variants.
2015-02-04 21:32:50 +09:00
Jacek Caban
a2a57791cd
jscript: Added more SCRIPTSTATE_STARTED tests.
2015-01-14 13:18:27 +01:00
Jacek Caban
091738ffdf
jscript: Don't allow function execution if script engine is not in started state.
2015-01-14 13:18:24 +01:00
Francois Gouget
861f02b5d1
jscript: Add a trailing '\n' to an ok() call.
2015-01-05 20:16:05 +01:00
Jacek Caban
ceaf8bfd83
jscript: Added test of Date object default value.
2014-12-15 14:20:50 +01:00
Alistair Leslie-Hughes
6e8490a582
jscript: Support PROPERTYGET in Date Value.
2014-12-15 14:20:45 +01:00
Michael Stefaniuc
59af425d53
jscript: Merge two if blocks with identical condition (PVS-Studio).
2014-12-05 11:24:14 +01:00
Jacek Caban
7e43408eaa
jscript: Use DISPATCH_PROPERTYPUTREF flag when setting a property to VT_DISPATCH.
2014-11-28 17:05:50 +01:00
André Hentschel
dec5bbbec4
jscript: Remove unused code (Clang).
2014-11-25 19:49:40 +01:00
Jacek Caban
0eec97e29b
jscript: Don't use builtin property for exposing ActiveXObject constructor.
2014-10-13 19:43:28 +09:00
Qian Hong
66ba778cad
jscript: Ignore BOM mark in next_token.
2014-10-02 20:34:10 +02:00
Jacek Caban
e7b8459bc3
jscript: Added support for relational CC expressions.
2014-10-02 16:59:24 +02:00
Jacek Caban
d9e8c013c6
jscript: Added support for '==' CC expression.
2014-10-02 16:59:22 +02:00
Jacek Caban
a0f038963b
jscript: Added parser rules for missing expressions.
2014-10-02 16:59:20 +02:00
Jacek Caban
9b41bb0345
jscript: Added support for '-' CC expression.
2014-10-01 10:53:52 +02:00
Jacek Caban
fcd9817581
jscript: Implicitly turn CC on for @if instruction.
2014-10-01 10:53:49 +02:00
Jacek Caban
8b36388797
jscript: Implicitly turn CC on for @set instruction.
2014-10-01 10:53:47 +02:00
Jacek Caban
68c61d17e0
jscript: Added tests for @if/@elif/@else/@end.
2014-10-01 10:53:45 +02:00
Jacek Caban
afba44d324
jscript: Added support for conditional compilation @if/@elif/@else/@end.
2014-10-01 10:53:43 +02:00
Jacek Caban
ad842c42f0
jscript/tests: Added @set tests.
2014-09-30 18:15:16 +02:00
Jacek Caban
5ec69474cf
jscript: Added conditional compilation @set support.
2014-09-30 18:15:14 +02:00
Jacek Caban
77d0c2a44c
jscript: Moved skipping spaces to separated function.
2014-09-30 17:40:12 +02:00
Jacek Caban
79dc3bc72e
jscript: Added new ccval_t type for CC variable values.
2014-09-30 17:40:11 +02:00
Jacek Caban
166c97d549
jscript: Return double from parse_numeric_literal and parse_double_literal.
2014-09-30 17:40:11 +02:00
Jacek Caban
615f6a6e8b
jscript: Move parser related declarations to separated header.
2014-09-30 17:40:10 +02:00
Jacek Caban
02406d4fd4
jscript: Add DISPATCH_PROPERTYGET flag only for DISPATCH_METHOD call in disp_call_value.
...
Spotted by Qian Hong.
2014-09-16 21:00:30 +02:00
Gerald Pfeifer
2d56e77537
jscript: Remove unused propertyIsEnumerableW and isPrototypeOfW.
2014-08-25 20:39:53 +02:00
Jacek Caban
d2886a05f9
wine/debug.h: Added debugstr_variant and debugstr_vt aliases and removed all duplicated implementations.
2014-07-24 17:05:55 +02:00
Akihiro Sagawa
e29fd54292
jscript: Improve CollectGarbage stub.
2014-06-24 20:26:55 +02:00
Jacek Caban
cbe63d977c
jscript: Added accessing not existing property on IDispatchEx tests.
2014-06-12 18:05:16 +02:00
Jacek Caban
755eac8f0c
jscript: Properly handle NULL pvarResult in ParseScriptText.
2014-06-11 19:15:25 +02:00
Jacek Caban
2d752d1a93
jscript: Fixed uninitialized variable access in interp_end_finally.
2014-04-29 11:27:02 +02:00
Jacek Caban
5cf20ceffd
jscript: Represent NULL VT_UNKNOWN VARIANT as NULL VT_DISPATCH.
2014-03-19 16:50:34 +01:00
Jacek Caban
cd22e8c223
jscript: Skip tests if we can't register ActiveX object.
2014-02-17 20:16:19 +01:00
Frédéric Delanoy
0f2bed51bd
Assorted spelling fixes.
2014-02-10 15:47:29 +01:00
Frédéric Delanoy
bb2a07f81e
jscript/tests: Use common wine_dbgstr_guid implementation from test.h.
2014-01-30 12:42:55 +01:00
Alexandre Julliard
99ef0d6ff0
makefiles: Get rid of the MAKE_TEST_RULES variable.
2014-01-02 12:13:16 +01:00
Alexandre Julliard
5e7416e5c8
makefiles: Get rid of the MAKE_DLL_RULES variable.
2014-01-02 12:08:18 +01:00
Alexandre Julliard
d08ff3ff19
makefiles: Use a single variable for all types of idl files.
2013-12-31 18:15:17 +01:00
Alexandre Julliard
566d3418af
makedep: Add a separate pragma flag for typelibs that need registration.
2013-12-26 13:32:49 +01:00
Alexandre Julliard
ca41acc1f9
makefiles: Automatically update the IDL_H_SRCS variable.
2013-12-15 10:23:06 +01:00
Alexandre Julliard
4f3d71cef3
makefiles: Get rid of the no longer used PO_SRCS variables.
2013-12-15 10:23:04 +01:00
Jacek Caban
1a89ea7043
jscript: Improved error handling in numeric literal parser.
2013-11-06 18:01:04 +01:00
Jacek Caban
4d9ea4b563
jscript: Added support for octal literals.
2013-11-06 18:01:00 +01:00
Alexandre Julliard
5756ee09f3
makefiles: Add makedep pragmas for rc files that contain translations.
2013-11-05 20:38:19 +01:00
Alexandre Julliard
c7803b885b
makefiles: Add makedep pragmas for registration idl files.
2013-11-05 20:38:18 +01:00
Alexandre Julliard
f8421142e7
makefiles: Add makedep pragmas for typelib idl files.
2013-11-05 20:38:18 +01:00
Alexandre Julliard
82c4fa35aa
jscript: Reorganize StringConstr_value slightly to avoid confusing gcc.
2013-10-21 16:26:50 +02:00
Jacek Caban
71d1df73b5
jscript: Compile tests with -D__WINESRC__.
2013-10-14 17:26:15 +02:00
Alexandre Julliard
a804cc711b
jscript: Use the official Windows constant for MAXLONGLONG.
2013-10-14 17:26:14 +02:00
Michael Stefaniuc
0e681027a2
tests: Compile the tests by default with -D__WINESRC__.
2013-10-02 11:04:02 +02:00
Piotr Caban
2e752a115a
jscript: Fix compilation issues when dtoa is defined in headers.
2013-08-15 16:13:27 +02:00
Alexandre Julliard
ffbe1ca986
jscript: Use bison directives instead of defines to specify extra lexer parameters.
2013-08-01 11:59:12 +02:00
Jacek Caban
f34722e772
jscript: Added RegExp.toString() implementation.
2013-05-27 19:29:13 +02:00
Alexandre Julliard
56c6916894
jscript: Don't bother to free memory at process exit.
2013-05-15 10:21:12 +02:00
Jacek Caban
b46ace51f8
jscript: Optimize String.concat implementation.
2013-04-25 15:41:53 +02:00
Jacek Caban
2ac35ac441
jscript: Use single string instance for strings representing NULL BSTR instead of a flag.
2013-04-24 14:34:26 +02:00
Jacek Caban
6d8359fcc5
jscript: Run some SunSpider benchmarks in interactive mode.
2013-04-23 17:20:14 +02:00
Jacek Caban
8541f94e2c
jscript: Store concatenated strings as a rope string to avoid useless copying.
2013-04-23 17:20:14 +02:00
Jacek Caban
29d9d668f7
jscript: Moved string buffer to separated struct from jsstr_t.
2013-04-01 12:19:06 +02:00
Jacek Caban
c79180a978
jscript: Use helpers to access string buffer in string.c.
2013-04-01 12:19:04 +02:00
Jacek Caban
c3cf79ac25
jscript: Use helpers to access string buffers in jsregexp.c.
2013-04-01 12:19:01 +02:00
Jacek Caban
03395f2d2e
jscript: Use helpers to access string buffer in some String functions.
2013-03-28 17:36:53 +01:00
Jacek Caban
618b88ef30
jscript: Added jsstr_extract helper and use it in String.charCodeAt implementation.
2013-03-28 17:36:53 +01:00
Jacek Caban
b7ffca591d
jscript: Use helpers to access string buffer in object.c.
2013-03-27 12:13:44 +01:00
Jacek Caban
e67169c114
jscript: Use helpers to access string buffer in global.c.
2013-03-27 12:13:41 +01:00
Jacek Caban
20530c55b8
jscript: Use helpers to access string buffer in engine.c.
2013-03-27 12:13:39 +01:00
Jacek Caban
ecdf62d324
jscript: Use to_flat_string to access string buffer in array.c.
2013-03-27 12:13:36 +01:00
Jacek Caban
3bf7255d23
jscript: Added to_flat_string helper and use it to access string buffer in activex.c.
2013-03-27 12:13:32 +01:00
Jacek Caban
96ace8cbcb
jscript: Use jsstr_flatten to access string buffer in jsutils.c.
2013-03-26 12:16:04 +01:00
Jacek Caban
b11d47fc90
jscript: Use jsstr_flatten to access string buffer in dispex.c.
2013-03-26 12:16:01 +01:00
Jacek Caban
e3d940334f
jscript: Added jsstr_flatten helper and use it to access string buffer in date.c.
2013-03-26 12:15:57 +01:00
Jacek Caban
4ece40f86b
jscript: Return buffer pointer separately from jsstr_t from jsstr_alloc_len.
2013-03-25 14:10:08 +01:00
Marcus Meissner
874c66e086
jscript: Fix warning with older compilers.
2013-03-25 13:56:17 +01:00
Marcus Meissner
339ec9c4ed
jscript: Check the correct heap return condition (Coverity).
2013-03-25 13:55:32 +01:00
Jacek Caban
3faeffc5f4
jscript: Use DEFAULT_UNREACHABLE macro where appropriate.
2013-03-13 16:27:49 +01:00
Jacek Caban
52fc8b3d94
jscript: Use BSTR also for pure IDispatch call in Object.hasOwnProperty.
2013-03-11 17:01:53 +01:00
Jacek Caban
67d86e630e
jscript: Use BSTR also for pure IDispatch call in disp_get_id.
2013-03-11 17:01:50 +01:00
Jacek Caban
587d007d69
jscript: Use BSTR also for pure IDispatch call in disp_delete_name.
2013-03-11 17:01:47 +01:00
Alexandre Julliard
a27ecc40ba
jscript: Return after assert(0) to silence warnings.
2013-03-08 19:35:20 +01:00
Jacek Caban
9323dc57af
jscript: Avoid direct access to string buffer in a few more places.
2013-03-08 18:11:05 +01:00
Jacek Caban
d7f24b0956
jscript: Reuse static instance of 'undefined' string.
2013-03-08 18:11:05 +01:00
Jacek Caban
c7c71b87b8
jscript: Pass msg as jsstr_t to create_error.
2013-03-08 18:11:05 +01:00
Jacek Caban
324d8b6fa3
jscript: Use jsstr_flush in literal_as_bstr.
2013-03-07 14:56:17 +01:00
Jacek Caban
c3eecec680
jscript: Use (index,length) pair as match result.
2013-03-07 14:56:17 +01:00
Jacek Caban
6eaef96dad
jscript: Reimplemented do_attribute_tag_format without direct access to object's string buffer.
2013-03-06 15:10:34 +01:00
Jacek Caban
25dbf32b5d
jscript: Reimplemented do_attributeless_tag_format without direct access to object's string buffer.
2013-03-06 15:10:31 +01:00
Jacek Caban
895d059ebe
jscript: Use jsstr_flush in String_concat.
2013-03-05 12:43:29 +01:00
Jacek Caban
88e78eb16e
jscript: Use jsstr_flush in variant_change_type.
2013-03-05 12:43:26 +01:00
Jacek Caban
0eeb5c17b4
jscript: Use jsstr_flush in jsval_to_variant.
2013-03-05 12:43:24 +01:00
Jacek Caban
721d3ec1b4
jscript: Use jsstr_flush in jsstr_concat.
2013-03-05 12:43:22 +01:00
Jacek Caban
3f30c34827
jscript: Use jsstr_flush in construct_function.
2013-03-05 12:43:20 +01:00
Jacek Caban
55f67035c4
jscript: Use jsstr_flush in Error_toString.
2013-03-05 12:43:18 +01:00
Jacek Caban
29ff14493d
jscript: Added jsstr_flush helper and use it in array_join.
2013-03-05 12:43:16 +01:00
Jacek Caban
20e85dd21b
jscript: Use jsstr_substr in jsregexp.c where possible.
2013-03-04 11:19:30 +01:00
Jacek Caban
6e3895ad76
jscript: Added jsstr_substr helper and use it in String object implementation.
2013-03-04 11:19:27 +01:00
Jacek Caban
ee880b28c5
jscript: Fixed BSTR leak.
2013-02-19 19:50:53 +01:00
Jacek Caban
1926b5617d
jscript: Use to_int32 in to_uint32 implementation.
2013-02-19 19:50:53 +01:00
Piotr Caban
f16c9877bd
jscript: Avoid copying regular expression results.
2013-02-19 19:50:40 +01:00
Piotr Caban
67c7cc5517
jscript: Cleanup regular expressions engine API.
2013-02-19 19:50:36 +01:00
Piotr Caban
4c6a1d1d92
jscript: Rename JSREG_* defines to REG_*.
2013-02-19 13:47:57 +01:00
Piotr Caban
06e8d830e2
jscript: Moved generic regular expressions code to separate file.
2013-02-15 14:43:17 +01:00
Piotr Caban
5f06c6de28
jscript: Make context generic in internal regular expression functions.
2013-02-15 14:43:09 +01:00
Piotr Caban
deca5e1aca
jscript: Move code operating on JSRegExp out of do_regexp_match_next function.
2013-02-15 14:43:06 +01:00
Piotr Caban
1d61b4581a
jscript: Don't use jsstr_t in js_NewRegExp.
2013-02-15 14:43:04 +01:00
Piotr Caban
89711e35c1
jscript: Don't use jsstr_t in JSRegExp structure.
2013-02-15 14:43:01 +01:00
Piotr Caban
02d63cb312
jscript: Rename jsheap_t to heap_pool_t.
2013-02-15 14:42:58 +01:00
Andrew Talbot
6b5a18f619
jscript: Avoid signed-unsigned integer comparisons.
2013-02-11 11:46:05 +01:00
Piotr Caban
c3bdaf59a8
jscript: Update buffer size in do_regexp_match_next.
2013-01-28 13:59:54 +01:00
Piotr Caban
c45c7bf94c
jscript: Fixed a leak in regexp_match function.
2013-01-25 17:33:05 +01:00
Piotr Caban
1548d0ef7b
jscript: Fixed a leak in do_regexp_match_next function.
2013-01-25 17:31:21 +01:00
Jacek Caban
7726e01844
jscript: Don't pass 'this' argument to DISPID_VALUE of pure IDispatch interfaces.
2012-12-24 13:33:14 +01:00
Jacek Caban
99d1a8529b
jscript: Added null and undefined values support to to_object.
2012-12-21 17:28:55 +01:00
Jacek Caban
0e6d3b8611
jscript: Optimized concatenation of empty strings.
2012-12-18 12:37:14 +01:00
Jacek Caban
f0c0c14241
jscript: Moved string concatenation to helper function.
2012-12-18 12:37:08 +01:00
Jacek Caban
f780ae0f86
jscript: Fixed deleting property by ID from IDispatchEx interface.
2012-12-17 20:31:19 +01:00
Jacek Caban
2d7a3bb482
jscript: Fixed deleting properties by name from IDispatchEx interface.
2012-12-17 20:31:18 +01:00
Jacek Caban
7202f1a32f
jscript: Fixed deleting properties of pure dispatch interface.
2012-12-17 20:31:18 +01:00
Jacek Caban
4dbd777de2
jscript: Fixed deleting nonexistent identifiers.
2012-12-17 20:31:17 +01:00
Jacek Caban
7f07bb9a7a
jscript: Fixed deleting nonexisting properties from member expression.
2012-12-17 20:31:16 +01:00
Jacek Caban
9de9c353ac
jscript: Fixed Number.toFixed for value 0 with 0 precision.
2012-12-17 20:31:16 +01:00
Jacek Caban
0f0f76ce6b
jscript: Allow poping multiple stack values at the time.
2012-12-14 11:54:47 +01:00
Jacek Caban
10c2a2bba4
jscript: Properly handle return value evaluation in comma expression.
2012-12-14 11:54:44 +01:00
Jacek Caban
1000a6bf34
jscript: Ensure correct stack state for non-returning expression evaluation in compile_expression.
2012-12-13 12:24:15 +01:00
Jacek Caban
162f2e6be2
jscript: Moved eval return value logic to specific statement handlers.
2012-12-13 12:24:07 +01:00
Jacek Caban
2c41c4c1cb
jscript: Added SCRIPTTEXT_ISEXPRESSION tests.
2012-12-12 20:23:20 +01:00
Jacek Caban
5e4a16819e
jscript: Added support for SCRIPTTEXT_ISEXPRESSION.
2012-12-12 20:23:17 +01:00
Jacek Caban
b568d88815
jscript: Throw an error if return statement is in eval code.
2012-12-12 20:23:13 +01:00
Jacek Caban
e8766bb66f
jscript: Added more useful debug traces.
2012-12-07 12:04:25 +01:00
Jacek Caban
11f41aa05a
jscript: Treat VT_UNKNOWN VARIANTs supporting IDispatch interface as VT_DISPATCH.
2012-12-05 20:23:51 +01:00
Jacek Caban
0e5933f70a
jscript: Added support for indexed string access.
2012-11-30 19:12:16 +01:00
Jacek Caban
956cb343b2
jscript: Cut arguments circular reference after returning from the function.
2012-11-30 19:12:15 +01:00
Jacek Caban
d9d8c8b716
jscript: Added support for DontDelete attribute and use it for arguments object.
2012-11-30 19:12:15 +01:00
Jacek Caban
466fae6444
jscript: Added disp_delete_name helper and use it in interp_delete.
2012-11-30 19:12:14 +01:00
Jacek Caban
e6fc8d9b0c
jscript: Added disp_delete helper and use it in interp_delete_ident.
2012-11-30 19:12:14 +01:00
Jacek Caban
6b56c65f8d
jscript: Alias arguments properties to real values.
2012-11-30 19:12:14 +01:00
Jacek Caban
ac41380b94
jscript: Fixed some Coverity issues.
2012-11-27 17:00:45 +01:00
André Hentschel
6804ae26fb
jscript: Fix possible NULL pointer access in heap_strdupW.
2012-11-19 16:36:41 +01:00
Jacek Caban
55f0663e3e
jscript: Use proper object as 'this' when function is called on an activation object.
2012-11-14 16:37:49 +01:00
Jacek Caban
74a83150ab
jscript: Fixed leak in disp_propget.
2012-11-09 16:42:47 +01:00
Jacek Caban
25ffa3d97b
jscript: Added more enumerable attribute tests.
2012-11-05 17:44:16 +01:00
Jacek Caban
78652f7602
jscript: Added propertyIsEnumerable implementation.
2012-11-05 17:44:16 +01:00
Jacek Caban
ea34e01493
jscript: Use jsdisp_propput_dontenum where appropriate.
2012-11-05 17:44:15 +01:00
Jacek Caban
57f7a6fa4e
jscript: Create non-enumerable properties in jsdisp_propput_const.
2012-11-05 17:44:15 +01:00
Jacek Caban
7491d480a9
jscript: Use prop_put in jsdisp_propput_dontenum.
2012-11-05 17:44:14 +01:00
Jacek Caban
12adc67782
jscript: Fixed some leaks (coverity).
2012-10-31 16:12:27 +01:00
Jacek Caban
79a30a4e0a
jscript: Optimize object refcount handling.
2012-10-26 13:59:08 +02:00
Jacek Caban
2d962d0395
jscript: Use jsstr_t for passing strings to regexp matching functions.
2012-10-18 19:23:07 +02:00
Michael Stefaniuc
f3d15811b4
jscript: Move 'inline' to the beginning of the declaration.
2012-10-15 15:24:37 +02:00
Jacek Caban
ec8a57b6de
jscript: Removed SysFreeString calls missed in previous patch.
2012-10-12 12:04:28 +02:00
Jacek Caban
c2df65eeef
jscript: Get rid of BSTR in date.c.
2012-10-11 18:53:14 +02:00
Jacek Caban
be885e287b
jscript: Use jsstr_t for compiler constant strings.
2012-10-11 18:53:11 +02:00
Jacek Caban
3182852293
jscript: Store regexp source as jsstr_t.
2012-10-11 18:53:08 +02:00
Jacek Caban
7f1e3300fe
jscript: Use custom string container instead of BSTR.
2012-10-11 18:53:04 +02:00
Jacek Caban
bf65003271
jscript: Added support for pstrFormalParams argument in ParseProcedureText.
2012-10-04 16:29:24 +02:00
Jacek Caban
1d542e3aa4
jscript: Added ParseProcedureText tests.
2012-10-04 16:29:18 +02:00
Jacek Caban
730479e6a4
jscript: Removed useless return statement in jsval_number.
2012-10-03 18:17:02 +02:00
Francois Gouget
a809803a92
jscript: Make regexp_match() static.
2012-10-01 11:59:43 +02:00
Jacek Caban
fa0dfd0bb6
jscript: Properly invoke regexp matching in String.split.
2012-09-24 22:27:29 +02:00
Jacek Caban
77c3dc544b
jscript: Added support for limit argument in String.split.
2012-09-24 22:27:29 +02:00
Jacek Caban
c0d2029560
jscript: Fixed conversion in place in IVariantChangeType::ChangeType.
2012-09-21 20:02:58 +02:00
Jacek Caban
e374449e30
jscript: Get rid of unused hres.
...
Spotted by Michael Stefaniuc.
2012-09-20 19:23:16 +02:00
Jacek Caban
87d6e2385a
jscript: Added support for RegExp.$* properties.
2012-09-20 19:23:08 +02:00
Francois Gouget
d75a4ba17f
jscript: Make jsval_variant() static.
2012-09-20 00:00:14 +02:00
Jacek Caban
37509e540f
jscript: Pack jsval_t to 64-bit structure on i386.
2012-09-19 13:04:34 +02:00
Jacek Caban
33331b1ccf
jscript: Don't store jsexcept_t in exec_ctx_t.
2012-09-19 13:04:24 +02:00
Jacek Caban
6f5475dd26
jscript: Store exception value in script_ctx_t instead of passing it everywhere.
2012-09-19 13:04:16 +02:00
Jacek Caban
c0cd0d17aa
jscript: Avoid direct access to jsval_t struct.
2012-09-17 18:30:25 +02:00
Jacek Caban
9e7829828e
jscript: Don't assume that undefined variable is zeroed.
2012-09-17 18:30:20 +02:00
Jacek Caban
c4df88b7fa
jscript: Use helper to access jsval_t type.
2012-09-17 18:30:14 +02:00
Jacek Caban
c5183bb505
jscript: Use BOOL instead of VARIANT_BOOL in lexer.
2012-09-17 18:30:08 +02:00
Jacek Caban
6920b289b0
jscript: Use BOOL instead of VARIANT_BOOL in a few more places.
2012-09-17 18:30:03 +02:00
Jacek Caban
29f4194d74
jscript: Return BOOL instead of VARIANT_BOOL from jsdisp_is_own_prop.
2012-09-17 18:29:54 +02:00
Jacek Caban
bc768b0906
jscript: Store Boolean object's value as BOOL instead of VARIANT_BOOL.
2012-09-17 18:29:49 +02:00
Jacek Caban
5fecc71d34
jscript: Get rid of no longer needed VARIANT helpers.
2012-09-17 18:29:42 +02:00
Jacek Caban
a3f7f0f7de
jscript: Store regexp last_index value as jsval.
2012-09-17 18:29:35 +02:00
Jacek Caban
228aab23be
jscript: Always use jsval-based to_object implementation.
2012-09-17 18:29:19 +02:00
Jacek Caban
acfd2b98c3
jscript: Always use jsval-based to_string implementation.
2012-09-17 18:29:11 +02:00
Jacek Caban
2fc71ab6d5
jscript: Always use jsval-based to_uint32 implementation.
2012-09-17 18:29:02 +02:00
Jacek Caban
0bab034fac
jscript: Always use jsval-based to_number implementation.
2012-09-17 18:28:52 +02:00
Jacek Caban
26576b83da
jscript: Always use jsval-based to_boolean.
2012-09-17 18:28:41 +02:00
Jacek Caban
c1eb4326a0
jscript: Always use jsval-based to_primitive.
2012-09-17 18:28:35 +02:00
Jacek Caban
daf0b8dad2
jscript: Store exception value as jsval_t instead of VARIANT.
2012-09-17 18:28:05 +02:00
Jacek Caban
80f7f3c246
jscript: Store jsdisp_t values as jsval_t instead of VARIANT.
2012-09-17 18:27:57 +02:00
Jacek Caban
16b2b019b8
jscript: Use jsval_t instead of VARIANT for stack values.
2012-09-17 18:27:42 +02:00
Jacek Caban
847aebdc87
jscript: Use jsval instead of VARIANT to pass arguments to builtin functions.
2012-09-17 18:27:36 +02:00
Jacek Caban
932b3dd088
jscript: Added new variable representation and use it for internal function return values.
2012-09-17 18:27:17 +02:00
Jacek Caban
8c5f5b49ec
jscript: Added support for host objects being part of scope chain.
2012-09-13 16:47:29 +02:00
Jacek Caban
fdbd536983
jscript: Don't leave current scope in return statement before evaluating the expression.
2012-09-13 16:47:22 +02:00
Jacek Caban
dd0fe98646
jscript: Added support for no new line between return and expression rule.
2012-09-10 17:36:08 +02:00
Jacek Caban
f1642ce1fc
jscript: Added support for no new line between continue and identifier rule.
2012-09-10 17:36:05 +02:00
Jacek Caban
dc2133cc66
jscript: Added support for no new line between break and identifier rule.
2012-09-10 17:36:02 +02:00
Jacek Caban
42d75be69d
jscript: Be more verbose about parser failure.
2012-09-07 19:15:23 +02:00
Jacek Caban
6ba7a1964a
jscript: Fixed empty cases in the end of switch statement.
2012-09-04 16:15:45 +02:00
Jacek Caban
7fec767864
jscript: Fixed argument conversion in disp_call_value when 'this' is specified.
2012-09-03 16:13:21 +02:00
Michael Stefaniuc
37a9183d68
jscript: Avoid FALSE:TRUE conditional expressions.
2012-08-13 17:29:31 +02:00
Jacek Caban
142d0f3026
jscript/tests: Use proper helpers for iface calls.
2012-07-30 17:13:31 +02:00
Jacek Caban
1104663fe7
jscript: Use prototype for builtin String properties.
2012-07-24 13:38:41 +02:00
Jacek Caban
1dfb75d9a3
jscript: Use prototype for builtin RegExp properties.
2012-07-24 13:38:37 +02:00
Jacek Caban
3b80361a70
jscript: Use prototype for builtin Number properties.
2012-07-24 13:38:31 +02:00
Jacek Caban
175c4ddad5
jscript: Use prototype for builtin Date properties.
2012-07-24 13:38:26 +02:00
Jacek Caban
5058c1d12d
jscript: Use prototype for builtin Boolean properties.
2012-07-24 13:38:20 +02:00
Jacek Caban
6e4f74f71b
jscript: Use prototype for builtin Array properties.
2012-07-24 13:38:09 +02:00
Jacek Caban
de6e95213a
jscript: Added more tests.
2012-07-23 19:53:49 +02:00
Jacek Caban
10179c210e
jscript: Properly handle builtin properties in Object.prototype.hasOwnProperty implementation.
2012-07-23 19:53:48 +02:00
Jacek Caban
15a83f0ff5
jscript: Don't expose properties that belong to function prototype from function instance.
2012-07-23 19:53:48 +02:00
Jacek Caban
a2c2103cd3
jscript: Don't expose properties belonging to Object prototype from Object instance.
2012-07-23 19:53:46 +02:00
Jacek Caban
d0aa78c096
jscript: Don't set constructor property to each object instance, it belongs to their prototypes.
2012-07-16 16:29:57 +02:00
Jacek Caban
49fd903205
jscript: Expose RegExpError constructor in global object.
2012-07-16 16:29:51 +02:00
Jacek Caban
27747d3a75
jscript: Properly set Error object's constructor property.
2012-07-16 16:29:45 +02:00
Jacek Caban
bf7b7272ee
jscript: Properly set Function constructor's constructor property.
2012-07-16 16:29:38 +02:00
Jacek Caban
d492650332
jscript: Properly handle constructor property for most builtin constructors.
2012-07-16 16:29:31 +02:00
Jacek Caban
cf8029717c
jscript: Properly set Number.prototyp.constructor.
2012-07-16 16:29:21 +02:00
Jacek Caban
8613d5e9cc
jscript: Prefer builtin version.
2012-07-13 14:10:30 -05:00
Francois Gouget
b7f74922a4
jscript: Make int_to_bstr() static.
2012-06-26 17:06:11 +02:00
Jacek Caban
7dcd1d06ef
jscript: Added more apply and call tests.
2012-06-25 18:12:52 +02:00
Jacek Caban
14138e6f09
jscript: Removed no longer needed arg_cnt and get_arg helpers.
2012-06-25 18:12:52 +02:00
Jacek Caban
f8383c3417
jscript: Don't use DISPPARAMS for internal arguments.
2012-06-25 18:12:51 +02:00
Jacek Caban
0307d73569
jscript: Don't use DISPPARAMS named args for internal parameter passing.
2012-06-25 18:12:51 +02:00
Jacek Caban
00b5ba5355
jscript: Moved DISPPARAMS conversion to InvokeEx.
2012-06-21 18:04:56 +02:00
Jacek Caban
1dd4cbc491
jscript: Pass jsthis internally without using DISPPARAMS.
2012-06-21 18:04:52 +02:00
Jacek Caban
17ff7829d3
jscript: Make Function object invocation a special case in IDispatchEx implementation.
2012-06-21 18:04:39 +02:00
Jacek Caban
4a335142f9
jscript: Use INFINITY macro instead of num_set_inf().
2012-06-21 18:04:32 +02:00
Jacek Caban
c7c8cd780a
jscript: Use INFINITY macro instead of ret_inf() hack.
2012-06-20 19:21:08 +02:00
Jacek Caban
1532037bcd
jscript: Use num_set_int where possible.
2012-06-20 19:21:05 +02:00
Jacek Caban
7118e6fbbb
jscript: Use num_set_int in array.c.
2012-06-20 19:21:01 +02:00
Jacek Caban
4cfab07748
jscript: Always store numeric literals as double.
2012-06-20 19:20:57 +02:00
André Hentschel
2f7453f81f
jscript/tests: Fix some typos.
2012-06-18 10:57:25 +02:00
Jacek Caban
de5495ba86
jscript: Added missing port.h include to lex.c.
2012-05-30 11:28:21 +02:00
Jacek Caban
db737291fc
jscript: Get rid of num_set_nan hack.
2012-05-29 18:20:14 +02:00
Jacek Caban
d0a719a79d
jscript: Get rid of ret_nan hack.
2012-05-29 18:20:13 +02:00
Michael Stefaniuc
8f4512f763
jscript/tests: Check the correct return value.
2012-05-21 11:34:38 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Francois Gouget
22fe702f7a
jscript/tests: Fix the spelling of the testEmbeddedFunctions() function name.
2012-05-14 12:06:15 +02:00
Jacek Caban
35e663425d
jscript: Store double op arg directly instead of by pointer.
2012-05-14 12:04:23 +02:00
Jacek Caban
1acb30a522
jscript: Added get_op_str and get_op_double helpers.
2012-05-14 12:04:23 +02:00
Jacek Caban
e273636d4d
jscript: Make flags parameter of OP_regexp unsigned.
2012-05-14 12:04:22 +02:00
Jacek Caban
0d5defafd4
jscipt: Make arg_cnt parameter of OP_new unsigned.
2012-05-14 12:04:22 +02:00
Jacek Caban
efe744a8ba
jscript: Added get_op_int helper.
2012-05-14 12:04:21 +02:00
Jacek Caban
bad9afb3a0
jscript: Added get_op_uint helper.
2012-05-14 12:04:21 +02:00
Jacek Caban
9a496ce10b
jscript: Added get_op_bstr helper.
2012-05-14 12:04:20 +02:00
Jacek Caban
c8a28a9671
jscript: Added support for VT_INT.
2012-05-04 18:08:33 +02:00
Jacek Caban
c61af66c5b
jscript: Skip failing tests on old jscript versions.
2012-05-04 18:08:32 +02:00
Jacek Caban
56bf46fda0
jscript: Return double from to_integer.
2012-05-03 20:44:11 +02:00
Jacek Caban
e26a3018e7
jscript: Better handling of to_integer in String.substr.
2012-05-03 20:44:10 +02:00
Jacek Caban
9b02d2d5a3
jscript: Better handling of to_integer result in String.substring.
2012-05-03 20:44:10 +02:00
Jacek Caban
c01562040d
jscript: Better handling of to_integer result in String.slice.
2012-05-03 20:44:10 +02:00
Jacek Caban
d49635f08a
jscript: Better handling of to_integer result in String.lastIndexOf.
2012-05-03 20:44:09 +02:00
Jacek Caban
baa07477d2
jscript: Bettter handling of to_number result in String.indexOf.
2012-05-03 20:44:09 +02:00
Jacek Caban
621180e81c
jscript: Better handling of to_integer result in String.charCodeAt.
2012-05-03 20:44:08 +02:00
Jacek Caban
0143201eac
jscript: Better handling of to_integer result in String.charAt.
2012-05-03 20:44:08 +02:00
Jacek Caban
3ee7438a5f
jscript: Better handling of to_integer result in Array.splice.
2012-05-03 20:44:08 +02:00
Jacek Caban
5b83abced7
jscript: Properly test if double may be converted to int32.
2012-05-02 20:14:56 +02:00
Jacek Caban
13db9a1662
jscript: Added VT_I2 tests.
2012-05-01 15:28:24 +02:00
Jacek Caban
c9c8c6165e
jscript: Added support for VT_I2 in invoke_prop_func.
2012-05-01 15:28:22 +02:00
Jacek Caban
da125450da
jscript: Added support for VT_I2 in disp_call.
2012-05-01 15:28:18 +02:00
Jacek Caban
b6a1912392
jscript: Added support for VT_I2 in disp_propget.
2012-05-01 15:28:16 +02:00
Thomas Faber
58ad6fcf1f
jscript: Add missing port.h include for isnan.
2012-04-30 11:00:35 +02:00
Jacek Caban
30acd235dd
jscript: Removed unused do_*_tag_format arguments.
2012-04-27 12:02:31 +02:00
Jacek Caban
424b63119c
jscript: Use stack_push_int in interp_bneg.
2012-04-27 12:02:28 +02:00
Jacek Caban
ca15adfde6
jscript: Get rid of parser function collecting hack by moving the logic to compiler.
2012-04-26 19:27:36 +02:00
Piotr Caban
cc6205f10c
jscript: Fix toExponential behavior when exponent is 0.
2012-04-25 17:16:37 +02:00
Jacek Caban
474f1152b2
jscript: Moved collecting variable declarations from parser to compiler.
2012-04-25 12:17:08 +02:00
Jacek Caban
b866c7f5e9
jscript: Make parser a temporary compiler object.
2012-04-25 12:17:04 +02:00
Jacek Caban
97b44da746
jscript: Store function parameters in function_code_t.
2012-04-25 12:17:01 +02:00
Jacek Caban
d1a4053953
jscript: Fixed func->funcs leak.
2012-04-25 12:16:56 +02:00
Jacek Caban
64a3f5077f
jscript: Store variable names in function_code_t.
2012-04-25 12:16:52 +02:00
Jacek Caban
375ab889d8
jscript: Store source code range in function_code_t.
2012-04-24 17:45:27 +02:00
Jacek Caban
8c533d10d6
jscript: Store function name in function_code_t.
2012-04-24 17:45:18 +02:00
Jacek Caban
d76b675ea8
jscript: Use compiler-generated struct for representing function code.
2012-04-24 17:45:16 +02:00
Jacek Caban
4733fd0623
jscript: Added regexp 'pre-parser' to support non-backslash-sequenced non-terminating '/' in characted classes.
2012-04-20 11:59:51 +02:00
Piotr Caban
4c4c7c047f
jscript: Added Number.toPrecision implementation.
2012-04-19 19:28:11 +02:00
Piotr Caban
c1228eb45f
jscript: Added Number.toExponential implementation.
2012-04-19 19:28:11 +02:00
Piotr Caban
a20c0d1141
jscript: Added Number.toFixed implementation.
2012-04-19 19:28:11 +02:00
Piotr Caban
b81e44f8d9
jscript: Make parsing of double more accurate.
2012-04-19 19:28:10 +02:00
André Hentschel
6677982728
jscript: Remove unneeded shadow variable.
2012-04-18 17:13:14 +02:00
Jacek Caban
c1cb8f29b0
jscript: Correctly handle empty matches in String.replace.
2012-04-18 15:44:47 +02:00
Jacek Caban
e21588aef7
jscript: Pass correct cpbegin to InitMatch.
2012-04-18 15:44:43 +02:00
Frédéric Delanoy
69f3d23045
jscript: Assorted spelling fixes.
2012-04-18 13:59:44 +02:00
Jacek Caban
d2fb2af8ee
jscript: Added parameterized property assignment tests.
2012-04-17 19:19:07 +02:00
Jacek Caban
0b0e34ab39
jscript: Addded parameterized property assignment support.
2012-04-17 19:19:03 +02:00
Jacek Caban
05d59abc1c
jscript: Make sure to jump out of switch before entering implicit default clausule.
2012-04-16 12:08:56 +02:00
Jacek Caban
78fc648dec
jscript: Replace only the first match for non-regexp pattern in String.replace.
2012-04-09 17:16:00 +02:00
Jacek Caban
bf066791e0
jscript: Avoid cleaning an uninitialized variable.
2012-04-04 19:02:49 +02:00
Jacek Caban
114a439fed
jscript: Fixed parsing /=/ regexp.
2012-04-02 14:14:32 +02:00
Jacek Caban
353553e0aa
jscript: Emit undefined statement return for switch without default clausule.
2012-04-02 14:14:30 +02:00
Jacek Caban
b3bafb60a2
jscript: Fixed jsheap_grow implementation.
2012-04-02 12:34:45 +02:00
Jacek Caban
8f36daa422
jscript: Properly handle NULL bstr in str_to_number.
2012-03-28 17:28:34 +02:00
Jacek Caban
7bb41e75b6
jscript: Store value as double in NumberInstance object.
2012-03-27 11:43:17 +02:00
Jacek Caban
0bf61fb640
jscript: Return double instead of VARIANT from stack_pop_number.
2012-03-27 11:43:10 +02:00
Jacek Caban
0d287ff0b1
jscript: Return double instead of VARIANT from date_utc.
2012-03-27 11:43:06 +02:00
Jacek Caban
451169fb93
jscript: Return double instead of VARIANT from to_number.
2012-03-27 11:43:01 +02:00
Jacek Caban
c18b84cf4e
jscript: Added decoding tests.
2012-03-26 18:15:15 +02:00
Jacek Caban
f7a8650500
jscript: Added decoding support.
2012-03-26 18:15:11 +02:00
Jacek Caban
129183ebb0
jscript: Added JScriptEncode object tests.
2012-03-26 18:15:09 +02:00
Jacek Caban
4a9eea3516
jscript: Added beginning support for JScriptEncode object.
2012-03-26 18:15:09 +02:00
Jacek Caban
0762106648
jscript: Store source code in bytecode_t.
2012-03-26 18:15:08 +02:00
Jacek Caban
84ed86c431
jscript: Get rid of no longer needed caller argument from builtin_invoke_t.
2012-03-14 17:34:00 +01:00
Jacek Caban
a6ee63eef3
jscript: Removed no longer needed ref counting in parser_ctx_t.
2012-03-13 10:30:53 +01:00
Jacek Caban
a1c4c84005
jscript: Store parser_ctx_t in bytecode_t instead of other way around.
2012-03-13 10:30:49 +01:00
Jacek Caban
8c347fd71d
jscript: Store script context in exec_ctx_t.
2012-03-13 10:30:42 +01:00
Jacek Caban
9d4b0bd502
jscript: Don't store compiler_ctx_t in parser_ctx_t.
2012-03-13 10:30:36 +01:00
Jacek Caban
be29a73845
jscript: Call script_parse from compile_script, not the other way around.
2012-03-13 10:30:32 +01:00
Jacek Caban
825eb76321
jscript: Compile all function from given source in one run.
2012-03-13 10:30:27 +01:00
Jacek Caban
4fb1cad149
jscript: Simplify compile_subscript_stat.
2012-03-13 10:30:22 +01:00
Jacek Caban
9f83c6061f
jscript: Store bytecode_t in exec_ctx_t.
2012-03-13 10:30:18 +01:00
Jacek Caban
29b9237c91
jscript: Removed no longer needed caller argument from jsdisp_get_idx.
2012-03-12 16:37:21 +01:00
Jacek Caban
0d9cc45406
jscript: Removed no longer needed caller argument from jsdisp_propget_name.
2012-03-12 16:37:21 +01:00
Jacek Caban
7d4ba8db63
jscript: Removed no longer needed caller argument from jsdisp_propput_idx.
2012-03-12 16:37:20 +01:00
Jacek Caban
12bc6e0cc7
jscript: Removed no longer needed caller argument from jsdisp_propput_name and jsdisp_propget.
2012-03-12 16:37:20 +01:00
Jacek Caban
a80dd7cb79
jscript: Removed no longer needed caller argument from jsdisp_call_name.
2012-03-12 16:37:19 +01:00
Jacek Caban
07be020a48
jscript: Removed no longer needed caller argument from jsdisp_call_value.
2012-03-12 16:37:19 +01:00
Jacek Caban
93972b79cc
jscript: Added VARIANT conversion tests.
2012-03-12 16:37:18 +01:00
Jacek Caban
c6360c3e6e
jscript: Added QueryService(SID_VariantConversion) implementation.
2012-03-12 16:37:18 +01:00
Jacek Caban
bac7c1ef36
jscript: Added ChangeType implementation.
2012-03-12 16:37:17 +01:00
Jacek Caban
fb79915803
jscript: Removed no longer needed disp_propput caller argument.
2012-03-09 11:31:29 +01:00
Jacek Caban
f560e98346
jscript: Removed no longer needed disp_propget caller argument.
2012-03-09 11:31:24 +01:00
Jacek Caban
e0ae18260e
jscript: Removed no longer needed caller argument of disp_call function.
2012-03-09 11:31:19 +01:00
Jacek Caban
dfb59c6049
jscript: Pass proper caller argument to InvokeEx.
2012-03-09 11:31:15 +01:00
Jacek Caban
f8b20563aa
jscript: Properly handle NULL strings in add_eval.
2012-03-09 11:31:09 +01:00
Jacek Caban
1cadd7cc32
jscript: Added IVariantChangeType stub implementation.
2012-03-09 11:31:04 +01:00
Jacek Caban
2830a21e1d
jscript: Get rid of unused SET_CALLED macro.
2012-01-27 18:05:52 +01:00
Alistair Leslie-Hughes
ae46ad83a5
jscript: ActiveX objects might not support IServiceProvider Interface.
2012-01-25 20:39:48 +01:00
Jacek Caban
e5baa75034
jscript: Simplify identifier_eval function.
2012-01-18 16:25:46 +01:00
Alexandre Julliard
902915f667
jscript: Set return value after assert(0) to avoid warnings.
2012-01-17 15:02:47 +01:00
Jacek Caban
f03b24ad3e
jscript: Get rid of no longer used OP_label.
2012-01-17 14:08:33 +01:00
Jacek Caban
5c47f4a269
jscript: Added labelled statements tests.
2012-01-17 14:08:32 +01:00
Jacek Caban
4aec6b1090
jscript: Added labelled continue statement implementation.
2012-01-17 14:08:32 +01:00
Jacek Caban
9a4e12aa93
jscript: Added labelled break statement implementation.
2012-01-17 14:07:54 +01:00
Jacek Caban
383e2b1a0e
jscript: Added labelled statement implementation.
2012-01-17 14:06:13 +01:00
Jacek Caban
5561ee635c
jscript: Fixed jscript tests on some broken versions.
2012-01-12 16:09:45 +01:00
Jacek Caban
afcb9a0130
jscript: Run sanity check with invoke_version 0.
2012-01-12 16:09:42 +01:00
Jacek Caban
e7bb8813a9
jscript: Don't use break in finally block on pre-IE8 jscript.
2012-01-12 16:09:33 +01:00
Jacek Caban
dc5a75a7ac
jscript: Fixed continue inside for..in statement.
2012-01-10 17:58:57 +01:00
Francois Gouget
ee2111b5d5
jscript: Make some engine functions static.
2012-01-09 12:52:10 +01:00
Jacek Caban
5640da1414
jscript: Run script tests in version 2 by default.
2012-01-06 19:24:23 +01:00
Michael Stefaniuc
158c8b76cb
jscript: Remove break after return (Smatch).
2012-01-03 12:37:57 +01:00
Marcus Meissner
0648a567a8
jscript: Mark some function DECLSPEC_HIDDEN.
2012-01-03 12:37:31 +01:00
Jacek Caban
4f59ab4ab7
jscript: Use 0 as an invalid label value.
2012-01-03 12:37:23 +01:00
Jacek Caban
9752df99af
jscript: Get rid of instr_off from expression_t.
2012-01-03 12:37:23 +01:00
Jacek Caban
708c83e208
jscript: Make 0 an invalid code offset.
2012-01-03 12:37:22 +01:00
Jacek Caban
11453b2414
jscript: Always alloc the first chunk of code buffer.
2012-01-03 12:37:22 +01:00
Jacek Caban
da07748ca2
jscript: Get rid of return_type_t.
2011-12-30 15:41:07 +01:00
Jacek Caban
83e8658894
jscript: Get rid of no longer needed interp_tree.
2011-12-30 15:41:06 +01:00
Jacek Caban
cdd90254dd
jscript: Get rid of no longer needed compile_interp_fallback since we can handle all execution by bytecode.
...
We use compiler on whole functions body now. There is still some work
done to move it one level up (to whole source string) to do some work
that's currently done (sometimes in a hacky way) by parser, but the most
critical part is done.
2011-12-30 15:41:06 +01:00
Jacek Caban
e0552ad8c3
jscript: Use bytecode for labeled continue and break statements.
2011-12-30 15:41:06 +01:00
Jacek Caban
b82a6982a9
jscript: Get rid of no longer needed type field of return_type_t structure.
2011-12-30 15:41:05 +01:00
Jacek Caban
fc092da98e
jscript: Use bytecode for return statement implementation.
2011-12-30 15:41:05 +01:00
Jacek Caban
dd7a5301e6
jscript: Make compiler responsible for proper return from regular code vs. eval-interpreted code.
2011-12-30 15:41:04 +01:00
Jacek Caban
11ccf0f33e
jscript: Handle invalid continue statements in compiler.
2011-12-30 15:41:01 +01:00
Jacek Caban
7361cdc2f3
jscript: Handle invalid break statements in compiler.
2011-12-30 15:40:58 +01:00
Jacek Caban
59619073a8
jscript: Added bytecode dumper implementation.
2011-12-29 16:18:51 +01:00
Jacek Caban
ee6e6986fb
jscript: Moved instr_off from statement_t to source_elements_t.
2011-12-29 16:18:50 +01:00
Jacek Caban
b3907c40f7
jscript: No longer support per-statement compilation.
2011-12-29 16:18:50 +01:00
Jacek Caban
6710e7ec6f
jscript: Get rid of stat_eval_table.
2011-12-29 16:18:49 +01:00
Jacek Caban
f08fcff4fd
jscript: Moved exec_source to the bottom of the file.
2011-12-29 16:18:48 +01:00
Jacek Caban
2dcb8d412f
jscript: Always use bytecode for while statement.
2011-12-29 16:18:48 +01:00
Jacek Caban
c6932d8069
jscript: Always use bytecode for try statement.
2011-12-29 16:18:47 +01:00
Jacek Caban
985c6a1943
jscript: Always use bytecode for switch statement.
2011-12-29 16:18:46 +01:00
Jacek Caban
f904bc8e78
jscript: Always use bytecode for for statement.
2011-12-29 16:18:46 +01:00
Jacek Caban
2c0920f8c3
jscript: Always use bytecode for for..in statement.
2011-12-29 16:18:45 +01:00
Jacek Caban
1c0fe6002d
jscript: Always use bytecode for with statement.
2011-12-29 16:18:44 +01:00
Jacek Caban
d7fd00fdab
jscript: Added more control flow tests.
2011-12-28 17:49:35 +01:00
Jacek Caban
8f8c852897
jscript: Get rid of no longer needed no_fallback hack.
2011-12-28 17:49:30 +01:00
Jacek Caban
c5c2276a9f
jscript: Added bytecode versions of break and continue statements.
2011-12-28 17:49:19 +01:00
Jacek Caban
80113b5c5c
jscript: Use labels in compiler for ending loops.
2011-12-28 17:49:15 +01:00
Jacek Caban
3b56e49ef9
jscript: Added bytecode version of try statement.
2011-12-28 17:48:48 +01:00
Jacek Caban
02ff8d1853
jscript: Use bytecode for throw statement.
2011-12-28 17:48:42 +01:00
Jacek Caban
3f4f9f0f40
jscript: Rename throw opcode to throw_ref.
2011-12-28 17:48:37 +01:00
Jacek Caban
661241a392
jscript: Added bytecode version of for..in statement.
2011-12-28 17:48:32 +01:00
Jacek Caban
a6530f4032
jscript: Use bytecode for labelled statement stub.
2011-12-27 16:55:09 +01:00
Jacek Caban
c57dd899a4
jscript: Added bytecode version of switch statement.
2011-12-27 16:55:08 +01:00