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
b568d88815
jscript: Throw an error if return statement is in eval code.
2012-12-12 20:23:13 +01:00
Jacek Caban
ac41380b94
jscript: Fixed some Coverity issues.
2012-11-27 17:00:45 +01:00
Jacek Caban
be885e287b
jscript: Use jsstr_t for compiler constant strings.
2012-10-11 18:53:11 +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
fdbd536983
jscript: Don't leave current scope in return statement before evaluating the expression.
2012-09-13 16:47:22 +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
4cfab07748
jscript: Always store numeric literals as double.
2012-06-20 19:20:57 +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
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
ca15adfde6
jscript: Get rid of parser function collecting hack by moving the logic to compiler.
2012-04-26 19:27:36 +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
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
353553e0aa
jscript: Emit undefined statement return for switch without default clausule.
2012-04-02 14:14:30 +02:00
Jacek Caban
f7a8650500
jscript: Added decoding support.
2012-03-26 18:15:11 +02:00
Jacek Caban
0762106648
jscript: Store source code in bytecode_t.
2012-03-26 18:15:08 +02: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
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
Alexandre Julliard
902915f667
jscript: Set return value after assert(0) to avoid warnings.
2012-01-17 15:02:47 +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
dc5a75a7ac
jscript: Fixed continue inside for..in statement.
2012-01-10 17:58:57 +01:00
Jacek Caban
4f59ab4ab7
jscript: Use 0 as an invalid label value.
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
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
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