Commit Graph

928 Commits

Author SHA1 Message Date
Jacek Caban
9752df99af jscript: Get rid of instr_off from expression_t. 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
da07748ca2 jscript: Get rid of return_type_t. 2011-12-30 15:41:07 +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
b82a6982a9 jscript: Get rid of no longer needed type field of return_type_t structure. 2011-12-30 15:41:05 +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
ee6e6986fb jscript: Moved instr_off from statement_t to source_elements_t. 2011-12-29 16:18:50 +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
f08fcff4fd jscript: Moved exec_source to the bottom of the file. 2011-12-29 16:18:48 +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
d7fd00fdab jscript: Added more control flow tests. 2011-12-28 17:49:35 +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
00030ff66f jscript: Get rid of no longer needed identifier in exprval_t. 2011-12-20 20:06:29 +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
Alistair Leslie-Hughes
1a9d9e0f76 jscript: Don't double free IObjectWithSite interface. 2011-12-20 10:13:10 +01:00
Jacek Caban
7c3160ae02 jscript: Use compiler for hanling empty statements. 2011-12-19 20:15:47 +01:00
Jacek Caban
cf2fc11e31 jscript: Use compiler for handling if statement. 2011-12-19 20:15:47 +01:00
Jacek Caban
ccba279b89 jscript: Use compiler for handling expression statements. 2011-12-19 20:15:47 +01:00
Jacek Caban
2f3e27f09a jscript: Use bytecode for execution main code block in exec_source. 2011-12-19 20:15:46 +01:00
Jacek Caban
f6023c428a jscript: Use bytecode for block statement implementation. 2011-12-19 20:15:46 +01:00
Jacek Caban
42aefd424d jscript: Store type information in statement nodes. 2011-12-19 20:15:45 +01:00
Jacek Caban
47fa932ac0 jscript: Return VARIANT directly from expr_eval. 2011-12-16 16:38:29 +01:00
Jacek Caban
6b1077e2cb jscript: Invoke bytecode directly from expr_eval. 2011-12-16 16:38:29 +01:00