Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
6a03b38f
Commit
6a03b38f
authored
Mar 29, 2016
by
Jacek Caban
Committed by
Alexandre Julliard
Mar 30, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jscript: Use already running interpreter for eval() execution.
Signed-off-by:
Jacek Caban
<
jacek@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
889f2657
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
6 additions
and
2 deletions
+6
-2
dispex.c
dlls/jscript/dispex.c
+1
-1
global.c
dlls/jscript/global.c
+3
-1
jscript.h
dlls/jscript/jscript.h
+2
-0
No files found.
dlls/jscript/dispex.c
View file @
6a03b38f
...
...
@@ -377,7 +377,7 @@ static HRESULT invoke_prop_func(jsdisp_t *This, IDispatch *jsthis, dispex_prop_t
if
(
prop
->
name
||
This
->
builtin_info
->
class
!=
JSCLASS_FUNCTION
)
{
vdisp_t
vthis
;
if
(
This
->
builtin_info
->
class
!=
JSCLASS_FUNCTION
)
if
(
This
->
builtin_info
->
class
!=
JSCLASS_FUNCTION
&&
prop
->
u
.
p
->
invoke
!=
JSGlobal_eval
)
flags
&=
~
DISPATCH_JSCRIPT_INTERNAL_MASK
;
if
(
jsthis
)
set_disp
(
&
vthis
,
jsthis
);
...
...
dlls/jscript/global.c
View file @
6a03b38f
...
...
@@ -185,7 +185,7 @@ static HRESULT JSGlobal_escape(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, u
}
/* ECMA-262 3rd Edition 15.1.2.1 */
static
HRESULT
JSGlobal_eval
(
script_ctx_t
*
ctx
,
vdisp_t
*
jsthis
,
WORD
flags
,
unsigned
argc
,
jsval_t
*
argv
,
HRESULT
JSGlobal_eval
(
script_ctx_t
*
ctx
,
vdisp_t
*
jsthis
,
WORD
flags
,
unsigned
argc
,
jsval_t
*
argv
,
jsval_t
*
r
)
{
call_frame_t
*
frame
;
...
...
@@ -226,6 +226,8 @@ static HRESULT JSGlobal_eval(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, uns
if
(
frame
->
flags
&
EXEC_GLOBAL
)
exec_flags
|=
EXEC_GLOBAL
;
if
(
flags
&
DISPATCH_JSCRIPT_CALLEREXECSSOURCE
)
exec_flags
|=
EXEC_RETURN_TO_INTERP
;
hres
=
exec_source
(
ctx
,
exec_flags
,
code
,
&
code
->
global_code
,
frame
->
scope
,
frame
->
this_obj
,
NULL
,
frame
->
variable_obj
,
NULL
,
r
);
release_bytecode
(
code
);
...
...
dlls/jscript/jscript.h
View file @
6a03b38f
...
...
@@ -475,6 +475,8 @@ HRESULT regexp_string_match(script_ctx_t*,jsdisp_t*,jsstr_t*,jsval_t*) DECLSPEC_
BOOL
bool_obj_value
(
jsdisp_t
*
)
DECLSPEC_HIDDEN
;
unsigned
array_get_length
(
jsdisp_t
*
)
DECLSPEC_HIDDEN
;
HRESULT
JSGlobal_eval
(
script_ctx_t
*
,
vdisp_t
*
,
WORD
,
unsigned
,
jsval_t
*
,
jsval_t
*
)
DECLSPEC_HIDDEN
;
static
inline
BOOL
is_class
(
jsdisp_t
*
jsdisp
,
jsclass_t
class
)
{
return
jsdisp
->
builtin_info
->
class
==
class
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment