Commit Graph

1680 Commits

Author SHA1 Message Date
Jacek Caban 4960f9e338 jscript: Move function destructor implementation into vtbl.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 17:41:01 +02:00
Jacek Caban bad132acae jscript: Introduce function vtbl and use it for toString implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 17:41:01 +02:00
Francois Gouget bb62fe7f51 jscript: Add a trailing '\n' to a WARN() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Francois Gouget 0479b6b3fd jscript: A spelling fix in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Francois Gouget 326fcdf967 jscript/tests: A spelling fix in an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Jacek Caban febfcdae40 jscript: Add support for parametrized compound assignments.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Jacek Caban 9dd50eae06 jscript: Allow 0x strings with explicit radix 16 in parseInt.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Jacek Caban 58dd9c2b99 jscript: Support VT_UI1 and VT_I1 types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:36 +02:00
Alexandre Julliard 784b3f611a jscript: Consistently use wcscmp() instead of lstrcmpW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:49:04 +02:00
Alexandre Julliard 29ea8b42db jscript: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 11:15:24 +02:00
Jacek Caban aac2110e8f jscript: Allow calling eval function from external code.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 22:09:42 +02:00
Andreas Maier f010569c3d jscript/tests: Add more Enumerator tests.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:02:50 +02:00
Andreas Maier a015c62643 jscript: Implement Enumerator object.
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:02:47 +02:00
Francois Gouget cfcb7b7473 jscript: Make the Enumerator_props functions static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-10 16:04:25 +02:00
Jacek Caban 88d2576ae7 jscript: Don't skip empty strings in String.prototype.split in ES5 mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 19:48:26 +02:00
Jacek Caban b48cc9614e jscript: Fix handling empty string regexp matches in String.prototype.split implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 19:48:26 +02:00
Andreas Maier 6ab3ed7ce4 jscript_test: Simple test for Enumerator().
Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:17:43 +02:00
Andreas Maier 6630bc4096 jscript: Stub Enumerator object.
Enumerator is an MS extension.
It's needed to succeed VyChat219.msi installation.

Signed-off-by: Andreas Maier <staubim@quantentunnel.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:17:37 +02:00
Jacek Caban f192f2f1a1 jscript: Support type conversion to VT_UI2.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:42 +02:00
Jacek Caban b9a57de048 jscript: Use parse_decimal for parsing JSON numeric literals starting with 0.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 22:57:51 +01:00
Jacek Caban 8be931623a jscript: Support undefined context value in Array.prototype.map.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:17:21 +01:00
Jacek Caban 6d69c6db51 jscript: Support undefined context value in Array.prototype.forEach.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-20 20:17:15 +01:00
Jacek Caban b5058ada58 jscript: Add Object.create implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:09:38 +01:00
Jacek Caban 60816b9f8a jscript: Add Array.prototype.map implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-14 23:52:59 +01:00
Jacek Caban f2a07b117a jscript: Add Object.getPrototypeOf implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 17:55:12 +01:00
Jacek Caban 922049a21d jscript: Add support for string literals with embedded null bytes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:22 +01:00
Jacek Caban 1314140a37 jscript: Pass string as jsstr_t to push_instr_str.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:07 +01:00
Jacek Caban edc9df207c jscript: Return regexp string as jsstr_t from lexer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:09:04 +01:00
Jacek Caban 79557db981 jscript: Support embedded null bytes in unescape.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:08:13 +01:00
Jacek Caban e70825b014 jscript: Use jsstr_t as string argument type in OP_obj_prop.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:07:07 +01:00
Jacek Caban 36e58035c2 jscript/tests: Allow GetTypeInfo calls.
Those are called by some versions of jscript.dll.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:06:55 +01:00
Jacek Caban 1e8f4c059b jscript: Use flatten string in create_regexp debug traces.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Serge Gautherie 961d5c8ed0 jscript: Fix a MSVC-x64 warning about to_uint32().
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Jacek Caban cda846b8cb jscript: Add Array.prototype.forEach implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-05 22:33:43 +01:00
Jacek Caban 0cc68cf82a jscript: Add interpreter support for getters and setters in object initializer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:28 +01:00
Jacek Caban 56be97fd5d jscript: Add parser support for getters and setters in object initializer.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:24 +01:00
Jacek Caban fd4c34759f jscript: Use separated parser rule for property definition.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:20 +01:00
Jacek Caban 9193b9f52c jscript: Rename prop_val_t to property_definition_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:50:17 +01:00
Alex Henrie 58da918e4d jscript: Make several constants static.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 19:36:51 +01:00
Jacek Caban 1fc9b2e934 jscript: Support undefined separator in String.split implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-30 19:36:51 +01:00
Jacek Caban 4cabe3612f jscript: Allow trailing comma in object literals.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 22:26:07 +02:00
Michael Stefaniuc ef64f27632 jscript: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-10 18:58:59 +02:00
Jacek Caban 5a90acf59c jscript: Use global accumulator for storing function call results.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 14:08:07 +02:00
Jacek Caban b0cce16c7a jscript: Use jsdisp_define_data_property in Object.getOwnPropertyDescriptor.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 16:48:26 +02:00
Michael Stefaniuc 05253c75cc jscript/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-06 17:16:02 +02:00
Thomas Faber 88a6936d40 jscript: Fix MSVC build.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 09:19:41 +02:00
Jacek Caban 16ba7f4444 jscript: Added String.trim implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 19:40:22 +02:00
Jacek Caban ff829f0beb jscript: Support setting accessor property value.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:12 +02:00
Jacek Caban 887840a888 jscript: Move handling PROPF_WRITABLE to property type specific code.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:10 +02:00
Jacek Caban fd91fe52b7 jscript: Support getting value of accessor property.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:08 +02:00
Jacek Caban d8aa26f660 jscript: Support accessor properties in getOwnPropertyDescriptor.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 15:33:06 +02:00
Jacek Caban f732bfc50e jscript: Added support for accessor properties in defineProperty.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:12 +02:00
Jacek Caban 5abb2ca6fc jscript: Added Object.defineProperties stub.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:10 +02:00
Jacek Caban 599769f857 jscript: Use jsdisp_define_property to set prototype constructors.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:07 +02:00
Jacek Caban 3767d63a1c jscript: Use jsdisp_define_property to set function prototypes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:05 +02:00
Jacek Caban 20007e586a jscript: Use jsdisp_define_data_property for arguments object properties.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:03 +02:00
Jacek Caban ae8c45c694 jscript: Use jsdisp_define_property for Error object properties.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:26:01 +02:00
Jacek Caban 827f45901d jscript: Get rid of no longer used jsdisp_propput_const.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 16:25:38 +02:00
Jacek Caban ae8635db62 jscript: Use jsdisp_define_property instead of jsdisp_propput_dontenum for global properties.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:26:51 +02:00
Jacek Caban 6b1e54a28e jscript: Make global constants non-writable in ES5 mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:26:51 +02:00
Jacek Caban 4555828c57 jscript: Use jsdisp_define_property instead of jsdisp_propput_const.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:26:51 +02:00
Jacek Caban 83de7691c6 jscript: Add Object.defineProperty implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:26:51 +02:00
Jacek Caban 2538a74c80 jscript: Make RegExp object properties non-writable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:51 +02:00
Jacek Caban 7f01473a38 jscript: Make Function instance object properties non-writable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:49 +02:00
Jacek Caban a9f8c2c7c1 jscript: Make String.length non-writable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:47 +02:00
Jacek Caban fc639fa271 jscript: Use jsdisp_get_own_property in Object.propertyIsEnumerable implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:45 +02:00
Jacek Caban f82bc09f28 jscript: Use jsdisp_get_own_property in Object.hasOwnProperty implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:43 +02:00
Jacek Caban 551e5a77e2 jscript: Added Object.getOwnPropertyDescriptor implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 00:39:41 +02:00
Zebediah Figura bf47aebdee jscript: Avoid crash when calling stringify() with no arguments.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-07 12:02:51 +02:00
Jacek Caban da186c3cc5 jscript: Rename PROPF_ENUM to PROPF_ENUMERABLE.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 16:20:42 +02:00
Jacek Caban 6b86fd795c jscript: Use new PROPF_WRITABLE flag instead of PROPF_CONST.
This is closer to how ES5 defines them.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 16:20:40 +02:00
Jacek Caban 197db9cac9 jscript: Use new PROPF_CONFIGURABLE flag instead of PROPF_DONTDELETE.
This is closer to how ES5 defines them.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-03 16:20:36 +02:00
Jacek Caban a373054b72 jscript: Remove unused prop_put arguments.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 18:43:32 +02:00
Jacek Caban 23e4a530c5 jscript: Remove unused prop_get arguments.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 18:43:29 +02:00
Jacek Caban aa27dd07aa jscript: Added Date.prototype.toISOString implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 20:14:45 +02:00
Jacek Caban 4fde6d4138 jscript: Properly parse large hexadecimal listerals.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 20:14:43 +02:00
Jacek Caban f96aa1f32c jscript: Properly support overloaded values in to_int32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 20:14:41 +02:00
Jacek Caban 3263d51a1f jscript: Allow using reserved words as identifiers in ES5 mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 22:04:27 +02:00
Jacek Caban 3987d93992 jscript: Added Array.prototype.indexOf implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:54:32 +01:00
Jacek Caban 3c7ec6af92 jscript: Renamed equal2_values to jsval_strict_equal.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:54:29 +01:00
Jacek Caban d72acebd6c jscript: Properly handle elisions in array literals.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:54:27 +01:00
Jacek Caban 89da4559ee jscript: Properly support missing array elements in Array.pop.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:54:25 +01:00
Jacek Caban 5f9f9a45e9 jscript: Properly support missing array elements in stringify_array.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:54:23 +01:00
Jacek Caban 3bd3d559ce jscript: Added Array.isArray implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:27:45 +01:00
Jacek Caban af5edf9504 jscript: Added Date.now implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:27:32 +01:00
Jacek Caban d95a8b2bb4 jscript: Introduce Wine-specific extension allowing IE9+ JavaScript mode implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:27:23 +01:00
Jacek Caban a48ecc7e7c jscript: Improve interp_local debug traces.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 18:53:18 +01:00
Michael Stefaniuc eb168bcbbf jscript: Use the global HeapAlloc() wrappers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:59 +01:00
Nikolay Sivov 8643a17ff3 jscript/tests: Test for script object creation failure (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 22:47:24 +01:00
Jacek Caban 77e27441b2 jscript: Use WARN for exception traces instead of separated debug channel.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-20 17:49:32 +01:00
Jacek Caban 2f9c2186cc jscript: Do not pass DISPATCH_JSCRIPT_CALLEREXECSSOURCE flag for calls across different script contexts.
Fixes regression in calls between different contexts. Spotted by Nikolay.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-12 16:00:08 +01:00
Jacek Caban d2213e205b jscript: Support VT_UI8 in variant_to_jsval.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:31:11 +01:00
Jacek Caban 4fc0f2aa38 jscript: Added support for VT_UI2 VARIANT types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-01 23:16:07 +01:00
Jacek Caban 8f89e142ec jscript: Fixed visit_function_expression error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 19:54:14 +02:00
Jacek Caban c25208f2af jscript: Added support for VT_R4 VARIANT types.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 08:37:43 +09:00
Francois Gouget 5c8c4d92f6 jscript: A spelling fix in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:08:46 +02:00
Jacek Caban 59c39fa1f0 jscript: Added new debug channel printing details and backtrace of unwinded exceptions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-05 17:34:09 +02:00
Jacek Caban 4b5291a519 jscript/tests: Added more exception tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban 60232cc770 jscript: Always jump to finally block from OP_pop_exept when available.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban 685cd437c9 jscript: Pass finally offset instead of catch ident to OP_push_except.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban 8bd99c363a jscript: Ensure that OP_pop_except is called with proper stack depth.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban 622eb728d7 jscript: Added new opcode to enter catch block and use it to setup the scope.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Jacek Caban b7bb16673c jscript: Simplify pop_to_stat implementation.
We no longer need to do stack pops before return expression evaluation.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Francois Gouget 1731629fd3 jscript: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
And standardize their parameter names.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 13:57:35 +01:00
Francois Gouget 493659e097 jscript: Make scope_push() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:15 +01:00
Michael Stefaniuc 7af3f65188 jscript: Add more jsdisp_t to Instance helpers.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:48:13 +09:00
Michael Stefaniuc 55f6e3c350 jscript: Use the existing helpers to get from a jsdisp_t to an Instance.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:48:11 +09:00
Jacek Caban 0f21353ac0 jscript: Use wine_rb_tree to store local variables in compiler_ctx_t.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 11:40:45 +09:00
Michael Stefaniuc fc1ae4fc9e jscript: Use CONTAINING_RECORD() to get from a field to a struct.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-19 23:13:37 +09:00
Sebastian Lackner 57291c4bfd jscript: Simplify create_utc_string and add basic tests.
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-09-12 22:58:51 +09:00
Sebastian Lackner 20d5bbaa63 jscript: Simplify date_to_string and add basic tests.
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-09-12 22:58:41 +09:00
Sebastian Lackner 4d67ffd57e jscript: Allocate string of correct size in Date toLocaleDateString method.
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-09-12 22:58:16 +09:00
Sebastian Lackner 79f18d027f jscript: Properly handle \0 characters in Array join method.
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-09-12 22:58:01 +09:00
Sebastian Lackner fd07a15727 jscript: Allocate string of correct size in Date toTimeString method.
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-09-09 20:20:53 +09:00
Sebastian Lackner 1c3e0dd3d5 jscript: Properly handle \0 characters in String indexOf method.
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-09-09 20:20:53 +09:00
Sebastian Lackner 54e6736032 jscript: Properly handle \0 characters in String to{Lower,Upper}Case methods.
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-09-09 20:20:53 +09:00
Sebastian Lackner cd5ea7612e jscript/tests: Remove an invalid win2k broken() check.
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-09-09 20:20:53 +09:00
Sebastian Lackner 18420826aa jscript: Do not include terminating \0 in result returned by Date_toLocale{Date,Time}String.
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-09-08 10:06:28 +09:00
Sebastian Lackner 69437afed1 jscript: Change prototype of jsstr_alloc_buf and fix some error handling issues.
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-09-08 10:05:46 +09:00
Sebastian Lackner d36ae568c1 jscript: Fix definition of JSSTR_MAX_LENGTH.
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-09-06 11:29:13 +09:00
Sebastian Lackner 7369836323 jscript: Simplify jsstr_release implementation.
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-09-06 11:29:00 +09:00
Jacek Caban afc63fd570 jscript/tests: Added more tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 10:32:40 -05:00
Jacek Caban 5088828f2a jscript: Don't create arguments object in pop_call_frame if it wasn't already created.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 10:32:27 -05:00
Jacek Caban 403fb41cd1 jscript: Create scope in setup_scope.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 10:32:23 -05:00
Jacek Caban 983bbab531 jscript: Replaced OP_ident with static binding when possible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:20 -05:00
Jacek Caban 04617ddf21 jscript: Replaced OP_identid with static binding when possible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:18 -05:00
Jacek Caban 765a52e86a jscript: Store variables on the stack if possible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:16 -05:00
Jacek Caban 7694afff4b jscript: Don't use OP_var_set.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:14 -05:00
Jacek Caban 713051d027 jscript: Store local functions in locals map.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:12 -05:00
Jacek Caban 2e06686ef9 jscript: Use locals map for local variables.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:09:10 -05:00
Jacek Caban 1857cdf57d jscript: More arguments object tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:50 -05:00
Jacek Caban 2f63a1e009 jscript: Delay arguments object until it's accessed and properly detach it after function exits.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:50 -05:00
Jacek Caban 5a7327d21d jscript: Setup arguments object by interpreter and store all arguments inside the object on call exit.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:50 -05:00
Jacek Caban 9daafa87bc jscript: Access arguments directly from stack in arguments object if possible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:50 -05:00
Jacek Caban b652a9787c jscript: Build local references map in compiler and use it to search the scope.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 11:13:50 -05:00
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