Commit Graph

177 Commits

Author SHA1 Message Date
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 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 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 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 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 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
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 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 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 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 7e43408eaa jscript: Use DISPATCH_PROPERTYPUTREF flag when setting a property to VT_DISPATCH. 2014-11-28 17:05:50 +01: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
Jacek Caban b11d47fc90 jscript: Use jsstr_flatten to access string buffer in dispex.c. 2013-03-26 12:16:01 +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
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 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 7f07bb9a7a jscript: Fixed deleting nonexisting properties from member expression. 2012-12-17 20:31:16 +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
Jacek Caban 74a83150ab jscript: Fixed leak in disp_propget. 2012-11-09 16:42:47 +01:00
Jacek Caban 78652f7602 jscript: Added propertyIsEnumerable implementation. 2012-11-05 17:44:16 +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 7f1e3300fe jscript: Use custom string container instead of BSTR. 2012-10-11 18:53:04 +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 9e7829828e jscript: Don't assume that undefined variable is zeroed. 2012-09-17 18:30:20 +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 c1eb4326a0 jscript: Always use jsval-based to_primitive. 2012-09-17 18:28:35 +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 7fec767864 jscript: Fixed argument conversion in disp_call_value when 'this' is specified. 2012-09-03 16:13:21 +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 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 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 c8a28a9671 jscript: Added support for VT_INT. 2012-05-04 18:08:33 +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
Frédéric Delanoy 69f3d23045 jscript: Assorted spelling fixes. 2012-04-18 13:59:44 +02:00
Jacek Caban 0b0e34ab39 jscript: Addded parameterized property assignment support. 2012-04-17 19:19:03 +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 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 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 abffe88e19 jscript: Added bytecode version of with statement. 2011-12-27 16:55:08 +01:00
Jacek Caban 5e6faaea12 jscript: Use bytecode for object literal implementation. 2011-12-16 16:38:28 +01:00
Andrew Talbot 30cab39056 jscript: Mark a fall-through in a switch statement. 2011-10-10 13:30:05 +02:00
Piotr Caban 65a7f47531 jscript: Limit name hash computations number. 2011-09-02 18:10:12 +02:00
Piotr Caban f1a237d682 jscript: Use hash table when accessing object properties by name. 2011-09-02 18:10:09 +02:00
Piotr Caban 71b58e56c2 jscript: Added Object.hasOwnProperty implementation. 2011-09-02 18:10:07 +02:00
Michael Stefaniuc 3cb9886ea7 jscript: COM cleanup for the IDispatchEx iface. 2011-01-17 13:22:10 +01:00
Piotr Caban cac0620fa5 jscript: Added DISPATCH_PROPERTYGET flag to some calls. 2010-10-20 10:24:19 +02:00
Alexandre Julliard 58825125ce jscript: Add a missing terminator to a string constant. 2010-10-11 12:54:17 +02:00
Jacek Caban f46f926134 jscript: Addd jsdisp_addref helper function. 2010-09-07 16:01:57 +02:00
Jacek Caban ac8d2f1fae jscript: jsdisp_t to IDispatch casts clean up. 2010-09-07 16:01:52 +02:00
Jacek Caban 2ae0f44033 jscript: Added a helper function for setting VARIANT value to jsdisp_t. 2010-09-07 16:01:46 +02:00
Jacek Caban 8c2a548b54 jscript: Rename DispatchEx to jsdisp_t to match jscript naming convention. 2010-09-06 17:09:57 +02:00
Jacek Caban 0cbe1574fe jscript: Store builtin constructor's length in instance object. 2010-05-27 14:46:42 +02:00
Jacek Caban 9fd4f4a44a jscript: Added support for constructor property. 2010-02-08 17:14:43 +01:00
Jacek Caban 75ab8e2027 jscript: Avoid unnecessary prototype lookup. 2010-02-08 17:14:43 +01:00
Jacek Caban 10c9931051 jscript: Get value as VARIANT in prop_put. 2010-02-08 17:14:43 +01:00
Jacek Caban 10c99b5735 jscript: Moved property creation out of find_prop_name_prot. 2010-02-08 17:14:43 +01:00
Jacek Caban bf17483a19 jscript: Don't try to create property in jsdisp_call_name. 2010-02-08 17:14:43 +01:00
Piotr Caban 352ae8b480 jscript: Fix jsdisp_propget_idx implementation. 2010-01-25 13:00:51 +01:00
Rob Shearman 9dc584d0a2 jscript: Fix various memory and reference count leaks. 2009-12-31 14:27:06 +01:00
Jacek Caban 48eef3bc67 jscript: Ignore version bits in grfdex. 2009-10-20 13:47:53 +02:00
Jacek Caban f8c2b42de4 jscript: Allow 'this' to be host object in builtin functions. 2009-09-23 16:25:23 +02:00
Jacek Caban 5511f7173f jscript: Pass script_ctx_t to builtin functions. 2009-09-23 16:19:44 +02:00
Jacek Caban f14c5f074a jscript: Get rid of lcid argument in builtin function implementations. 2009-09-23 16:19:31 +02:00
Jacek Caban fadfab5ff6 jscript: Use script LCID in *disp_propput* functions. 2009-09-23 16:19:11 +02:00
Jacek Caban 8b338786aa jscript: Use script LCID in *disp_propget* functions. 2009-09-23 16:19:01 +02:00
Jacek Caban 1f565ac095 jscript: Use script global LCID in *disp_call* functions. 2009-09-23 16:18:54 +02:00
Jacek Caban d918a1890b jscript: Added Function.toString implementation for builtin functions. 2009-09-17 10:07:51 -05:00
Jacek Caban c444a4907e jscript: Code clean up. 2009-09-01 15:59:10 +02:00
Piotr Caban 5323a454c8 jscript: Fixed Object.toLocaleString implementation. 2009-08-12 17:04:38 +02:00
Piotr Caban 346619d093 jscript: Added Array length setting implementation. 2009-07-14 10:46:18 +02:00