Jacek Caban
|
424b63119c
|
jscript: Use stack_push_int in interp_bneg.
|
2012-04-27 12:02:28 +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 |
Frédéric Delanoy
|
69f3d23045
|
jscript: Assorted spelling fixes.
|
2012-04-18 13:59:44 +02:00 |
Jacek Caban
|
0b0e34ab39
|
jscript: Addded parameterized property assignment support.
|
2012-04-17 19:19:03 +02:00 |
Jacek Caban
|
bf066791e0
|
jscript: Avoid cleaning an uninitialized variable.
|
2012-04-04 19:02:49 +02:00 |
Jacek Caban
|
0bf61fb640
|
jscript: Return double instead of VARIANT from stack_pop_number.
|
2012-03-27 11:43:10 +02:00 |
Jacek Caban
|
451169fb93
|
jscript: Return double instead of VARIANT from to_number.
|
2012-03-27 11:43:01 +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
|
8c347fd71d
|
jscript: Store script context in exec_ctx_t.
|
2012-03-13 10:30:42 +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
|
0d9cc45406
|
jscript: Removed no longer needed caller argument from jsdisp_propget_name.
|
2012-03-12 16:37:21 +01:00 |
Jacek Caban
|
7d4ba8db63
|
jscript: Removed no longer needed caller argument from jsdisp_propput_idx.
|
2012-03-12 16:37:20 +01:00 |
Jacek Caban
|
12bc6e0cc7
|
jscript: Removed no longer needed caller argument from jsdisp_propput_name and jsdisp_propget.
|
2012-03-12 16:37:20 +01:00 |
Jacek Caban
|
fb79915803
|
jscript: Removed no longer needed disp_propput caller argument.
|
2012-03-09 11:31:29 +01:00 |
Jacek Caban
|
f560e98346
|
jscript: Removed no longer needed disp_propget caller argument.
|
2012-03-09 11:31:24 +01:00 |
Jacek Caban
|
e0ae18260e
|
jscript: Removed no longer needed caller argument of disp_call function.
|
2012-03-09 11:31:19 +01:00 |
Jacek Caban
|
f8b20563aa
|
jscript: Properly handle NULL strings in add_eval.
|
2012-03-09 11:31:09 +01:00 |
Jacek Caban
|
e5baa75034
|
jscript: Simplify identifier_eval function.
|
2012-01-18 16:25:46 +01:00 |
Jacek Caban
|
f03b24ad3e
|
jscript: Get rid of no longer used OP_label.
|
2012-01-17 14:08:33 +01:00 |
Francois Gouget
|
ee2111b5d5
|
jscript: Make some engine functions static.
|
2012-01-09 12:52:10 +01:00 |
Jacek Caban
|
708c83e208
|
jscript: Make 0 an invalid code offset.
|
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
|
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
|
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
|
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
|
8f8c852897
|
jscript: Get rid of no longer needed no_fallback hack.
|
2011-12-28 17:49:30 +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
|
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 |
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
|
5086bb2cd9
|
jscript: Get rid of no longer needed EXPR_NEWREF flag.
|
2011-12-15 17:46:47 +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
|
43a2d8b990
|
jscript: Don't pass EXPR_NEWREF to name expression in array_expression_eval.
|
2011-12-15 17:46:46 +01:00 |
Jacek Caban
|
595646066b
|
jscript: Call expressions needling EXPR_NEWREF flag directly.
|
2011-12-15 17:46:46 +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
|
64ef20ce53
|
jscript: Initialize VARIANT before passing it to disp_propget.
|
2011-12-12 15:50:50 +01:00 |
Jacek Caban
|
2c8e8948df
|
jscript: Properly handle NULL IDispatch in stack_pop_object.
|
2011-12-12 15:50:46 +01:00 |
Jacek Caban
|
6f35c8fd5d
|
jscript: Use bytecode for instanceof implementation.
|
2011-12-12 15:50:46 +01:00 |
Jacek Caban
|
f8e3e92be3
|
jscript: Don't use EXPR_NEWREF in forin_statement_event.
|
2011-12-12 15:50:45 +01:00 |
Jacek Caban
|
106fcb8e87
|
jscript: Don't use EXPR_NEWREF in for_statement_event.
|
2011-12-12 15:50:45 +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
|
fcdd85267d
|
jscript: Fixed memory leaks.
|
2011-12-09 21:15:27 +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 |
Francois Gouget
|
0a065cb4bd
|
jscript: Make interp_expression_eval() static.
|
2011-12-06 17:54:33 +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
|
5b2c2c5cf9
|
jscript: Use bytecode for assignment to member expression.
|
2011-12-05 12:24:59 +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
|
6c47177cb1
|
jscript: Mark some functions as static.
|
2011-11-30 11:51:16 +01:00 |
Jacek Caban
|
0505e03b57
|
jscript: Use bytecode for binary xor expressions.
|
2011-11-29 13:26:29 +01:00 |
Jacek Caban
|
96b13314eb
|
jscript: Use bytecode for binary or implementation.
|
2011-11-29 13:26:26 +01:00 |
Jacek Caban
|
7a20965bd2
|
jscript: Use bytecode for modulo expression implementation.
|
2011-11-29 13:26:22 +01:00 |
Jacek Caban
|
09306e434e
|
jscript: Use bytecode for '/' expression implementation.
|
2011-11-29 13:26:18 +01:00 |
Jacek Caban
|
cf68237c80
|
jscript: Use bytecode for '*' expression implementation.
|
2011-11-29 13:26:15 +01:00 |
Jacek Caban
|
bd80daff96
|
jscript: Added bytecode-based version of identifier expression.
|
2011-11-28 16:40:50 +01:00 |
Jacek Caban
|
518f4c4983
|
jscript: Use bytecode for new expression implementation.
|
2011-11-28 16:40:49 +01:00 |
Jacek Caban
|
25e58de596
|
jscript: Use bytecode for conditional expressions.
|
2011-11-28 16:40:49 +01:00 |
Jacek Caban
|
88dc54a7f7
|
jscript: Use bytecode for logical and expression.
|
2011-11-28 16:40:49 +01:00 |
Jacek Caban
|
28375af386
|
jscript: Use bytecode for logical or expression.
|
2011-11-28 16:40:49 +01:00 |
Jacek Caban
|
58952a07d0
|
jscript: Use bytecode for '==' and '!=' expression.
|
2011-11-25 16:21:58 +01:00 |
Jacek Caban
|
413fe9a462
|
jscript: Use bytecode for unary '-' expression.
|
2011-11-25 16:21:58 +01:00 |
Jacek Caban
|
b13c6a27c3
|
jscript: Use bytecode for '-' expression implementation.
|
2011-11-25 16:21:58 +01:00 |
Jacek Caban
|
47314a92d7
|
jscript: Use bytecode for comma expression implementation.
|
2011-11-25 16:21:58 +01:00 |
Jacek Caban
|
172fa4fa99
|
jscript: Fixed memory leaks.
Spotted by Piotr.
|
2011-11-25 16:21:57 +01:00 |
Jacek Caban
|
0b50c32c83
|
jscript: Use bytecode for void expression.
|
2011-11-24 20:57:01 +01:00 |
Jacek Caban
|
83667e74d6
|
jscript: Use bytecode for this expression implementation.
|
2011-11-24 20:57:01 +01:00 |
Jacek Caban
|
9050c3725f
|
jscript: Always use bytecode version of literal expressions.
|
2011-11-24 20:57:01 +01:00 |
Jacek Caban
|
e4f92ef473
|
jscript: Use bytecode for regexp literals.
|
2011-11-24 20:57:01 +01:00 |
Jacek Caban
|
83c53d855a
|
jscript: Use bytecode for null literal.
|
2011-11-24 20:57:01 +01:00 |
Jacek Caban
|
a218e06854
|
jscript: Use bytecode for double literal.
|
2011-11-23 12:29:22 +01:00 |
Jacek Caban
|
e5e7803a55
|
jscript: Use bytecode for string literal.
|
2011-11-23 12:29:17 +01:00 |
Jacek Caban
|
13d96df4bd
|
jscript: Use bytecode for bool literal implementation.
|
2011-11-23 12:29:14 +01:00 |
Jacek Caban
|
b3feafab41
|
jscript: Use bytecode for int literal implementation.
|
2011-11-23 12:29:10 +01:00 |
Jacek Caban
|
1c824ea606
|
jscript: Use bytecode for 'in' expression implementation.
|
2011-11-23 12:29:05 +01:00 |
Jacek Caban
|
b1b0aadaab
|
jscript: Use bytecode for '+' expression implementation.
|
2011-11-22 17:17:13 +01:00 |
Jacek Caban
|
35b9c42f53
|
jscript: Use bytecode for unary '+' expression.
|
2011-11-21 16:16:44 +01:00 |
Jacek Caban
|
2d83bdcfbe
|
jscript: Use bytecode for binary negation implementation.
|
2011-11-21 16:16:42 +01:00 |
Jacek Caban
|
418af7eda9
|
jscript: Use bytecode interpreter for logical negation expression.
|
2011-11-18 15:37:08 +01:00 |
Jacek Caban
|
32602170a5
|
jscript: Use bytecode interpreter for '!==' expressions.
|
2011-11-18 15:37:08 +01:00 |
Jacek Caban
|
b473f5d5c6
|
jscript: Added minimal bytecode compiler/interpreter and use it for '===' expressions.
|
2011-11-18 15:37:08 +01:00 |
Jacek Caban
|
6ffe4cb59f
|
jscript: Moved return_type_t declaration to engine.c.
|
2011-10-25 16:57:26 +02:00 |
Jacek Caban
|
a7cc9441e9
|
jscript: Correctly throw an exception if instanceof expression is not used on function.
|
2011-06-21 18:14:49 +02:00 |