Commit Graph

125 Commits

Author SHA1 Message Date
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
Jacek Caban 02ff8d1853 jscript: Use bytecode for throw statement. 2011-12-28 17:48:42 +01:00
Jacek Caban 3f4f9f0f40 jscript: Rename throw opcode to throw_ref. 2011-12-28 17:48:37 +01:00
Jacek Caban 661241a392 jscript: Added bytecode version of for..in statement. 2011-12-28 17:48:32 +01:00
Jacek Caban a6530f4032 jscript: Use bytecode for labelled statement stub. 2011-12-27 16:55:09 +01:00
Jacek Caban c57dd899a4 jscript: Added bytecode version of switch statement. 2011-12-27 16:55:08 +01:00
Jacek Caban abffe88e19 jscript: Added bytecode version of with statement. 2011-12-27 16:55:08 +01:00
Jacek Caban 17fedc448b jscript: Added bytecode version of for loop statement. 2011-12-27 16:55:07 +01:00
Jacek Caban f5425aeeca jscript: Added bytecode version of while statement. 2011-12-27 16:55:07 +01:00
Jacek Caban 95677c5099 jscript: Added new jmp_z opcode, more appropriate for branches. 2011-12-20 20:06:30 +01:00
Jacek Caban e5d7d50faa jscript: Renamed jmp_z and jmp_nz to cnd_z and cnd_nz. 2011-12-20 20:06:30 +01:00
Jacek Caban f5a3f1417e jscript: Get rid of no longer used expr_eval flags. 2011-12-20 20:06:29 +01:00
Jacek Caban 5c158f1df6 jscript: Use compiler to handle variable statement. 2011-12-20 20:06:28 +01:00
Jacek Caban 7c3160ae02 jscript: Use compiler for hanling empty statements. 2011-12-19 20:15:47 +01:00