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
|
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
|
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
|
a6ee63eef3
|
jscript: Removed no longer needed ref counting in parser_ctx_t.
|
2012-03-13 10:30:53 +01: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
|
8c347fd71d
|
jscript: Store script context in exec_ctx_t.
|
2012-03-13 10:30:42 +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
|
9f83c6061f
|
jscript: Store bytecode_t in exec_ctx_t.
|
2012-03-13 10:30:18 +01:00 |
Jacek Caban
|
f03b24ad3e
|
jscript: Get rid of no longer used OP_label.
|
2012-01-17 14:08:33 +01:00 |
Jacek Caban
|
9752df99af
|
jscript: Get rid of instr_off from expression_t.
|
2012-01-03 12:37:23 +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
|
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
|
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
|
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
|
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
|
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 |
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
|
6b1077e2cb
|
jscript: Invoke bytecode directly from expr_eval.
|
2011-12-16 16:38:29 +01:00 |
Jacek Caban
|
fecc2fcb5e
|
jscript: Get rid of no longer needed expression eval entry.
|
2011-12-16 16:38:28 +01:00 |
Jacek Caban
|
5e6faaea12
|
jscript: Use bytecode for object literal implementation.
|
2011-12-16 16:38:28 +01:00 |
Jacek Caban
|
b268e41da6
|
jscript: Use bytecode for function expression implementation.
|
2011-12-16 16:38:28 +01:00 |
Jacek Caban
|
63366f8f1b
|
jscript: Always use compiler for member, array and identifier expressions.
|
2011-12-15 17:46:47 +01:00 |
Jacek Caban
|
fd6ecbd781
|
jscript: Throw type error on invalid delete.
|
2011-12-15 17:46:42 +01:00 |
Jacek Caban
|
3fd2979fba
|
jscript: Use byte code for deleting identifier expressions.
|
2011-12-15 17:46:41 +01:00 |
Jacek Caban
|
3caf287630
|
jscript: Use bytecode for typeof expression implementation.
|
2011-12-13 18:59:10 +01:00 |
Jacek Caban
|
6f35c8fd5d
|
jscript: Use bytecode for instanceof implementation.
|
2011-12-12 15:50:46 +01:00 |
Jacek Caban
|
7c3728d728
|
jscript: Use bytecode for '<<=' expression implementation.
|
2011-12-09 21:15:29 +01:00 |
Jacek Caban
|
a80392e5ea
|
jscript: Use bytecode for '<<' expression implementation.
|
2011-12-09 21:15:28 +01:00 |
Jacek Caban
|
7904932a9e
|
jscript: Use bytecode for '>>>=' expression implementation.
|
2011-12-09 21:15:28 +01:00 |
Jacek Caban
|
96e822a33e
|
jscript: Use bytecode for '>>>' expression implementation.
|
2011-12-09 21:15:28 +01:00 |
Jacek Caban
|
d30bfb6e54
|
jscript: Use bytecode for '>>=' expression.
|
2011-12-08 18:00:16 +01:00 |
Jacek Caban
|
28013dfa6f
|
jscript: Use bytecode for '>>' expression.
|
2011-12-08 18:00:14 +01:00 |
Jacek Caban
|
fc4948af2c
|
jscript: Use bytecode for '&=' expression implementation.
|
2011-12-08 18:00:12 +01:00 |
Jacek Caban
|
1ef486421e
|
jscript: Use bytecode for binary and implementation.
|
2011-12-08 18:00:11 +01:00 |
Jacek Caban
|
558d759465
|
jscript: Use bytecode for array literal expressions.
|
2011-12-08 18:00:09 +01:00 |
Jacek Caban
|
4d0e360266
|
jscript: Use bytecode for pre-decrement implementation.
|
2011-12-08 18:00:07 +01:00 |
Jacek Caban
|
667cc2e68a
|
jscript: Use bytecode for pre-increment expression implementation.
|
2011-12-08 18:00:05 +01:00 |
Jacek Caban
|
e1da3d7242
|
jscript: Use bytecode for post-decrement expression.
|
2011-12-07 17:50:02 +01:00 |
Jacek Caban
|
a508149fad
|
jscript: Use bytecode for post-increment expression.
|
2011-12-07 17:50:01 +01:00 |
Jacek Caban
|
aa809f1b7e
|
jscript: Added bytecode version of array expression.
|
2011-12-07 17:50:01 +01:00 |
Jacek Caban
|
9c9157a144
|
jscript: Use binary_expression_t instead of array_expression_t.
|
2011-12-07 17:50:01 +01:00 |
Jacek Caban
|
4da0cf39f4
|
jscript: Use bytecode for all call expressions.
|
2011-12-07 17:50:00 +01:00 |
Jacek Caban
|
3aa7cee00e
|
jscript: Use bytecode for calls on identifier and member expressions.
|
2011-12-07 17:50:00 +01:00 |
Jacek Caban
|
9749de29bc
|
jscript: Use bytecode for '^=' expression implementation.
|
2011-12-06 15:50:59 +01:00 |
Jacek Caban
|
c74641acf2
|
jscript: Use bytecode for '|=' expression.
|
2011-12-06 15:50:59 +01:00 |
Jacek Caban
|
a289b8e0a4
|
jscript: Added bytecode version of member expression.
|
2011-12-06 15:50:59 +01:00 |
Jacek Caban
|
822fdde42d
|
jscript: Use bytecode for '%=' expression implementation.
|
2011-12-06 15:50:59 +01:00 |
Jacek Caban
|
e9bd2e47f8
|
jscript: Use bytecode for '/=' expression implementation.
|
2011-12-06 15:50:59 +01:00 |
Jacek Caban
|
0ff59f444b
|
jscript: Use bytecode for '*=' expression implementation.
|
2011-12-06 15:50:59 +01:00 |
Jacek Caban
|
7b022dbbb8
|
jscript: Use bytecode for '-=' expression implementation.
|
2011-12-05 12:25:14 +01:00 |
Jacek Caban
|
087afe8b79
|
jscript: Use bytecode for '+=' expression implementation.
|
2011-12-05 12:25:09 +01:00 |
Jacek Caban
|
8511797c07
|
jscript: Use bytecode for invalid assignments.
|
2011-12-05 12:25:04 +01:00 |
Jacek Caban
|
9aafd03110
|
jscript: Use bytecode for assigning to array expression.
|
2011-12-05 12:24:55 +01:00 |
Jacek Caban
|
d3d2f063b6
|
jscript: Use bytecode for assignment to identifier.
|
2011-12-05 12:24:50 +01:00 |
Jacek Caban
|
9f9f5ae0a7
|
jscript: Use bytecode for '>=' expression implementation.
|
2011-12-01 14:18:41 +01:00 |
Jacek Caban
|
f3e18fbf03
|
jscript: Use bytecode for '>' expression implementation.
|
2011-12-01 14:18:37 +01:00 |
Jacek Caban
|
fb51810a95
|
jscript: Use bytecode for '<=' expression implementation.
|
2011-12-01 14:18:33 +01:00 |
Jacek Caban
|
e5a31cc2d0
|
jscript: Use bytecode for '<' expression implementation.
|
2011-12-01 14:18:29 +01:00 |
Jacek Caban
|
82368f5cfe
|
jscript: Get rid of no longer needed EXPRVAL_NAMEREF.
|
2011-11-30 11:51:29 +01:00 |
Jacek Caban
|
facc2189d2
|
jscript: Use bytecode for delete on array expression implementation.
|
2011-11-30 11:51:20 +01:00 |
Jacek Caban
|
0505e03b57
|
jscript: Use bytecode for binary xor expressions.
|
2011-11-29 13:26:29 +01:00 |