Commit Graph

1745 Commits

Author SHA1 Message Date
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