138 Commits

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