Ruben Ayrapetyan
|
9fd708eabe
|
Revert "Fixing ecma_compare_zt_string_to_ecma_string routine."
This reverts commit c6e955aa2b231076b3ec70c55b38084afb4d01d2.
|
2014-07-31 17:51:40 +04:00 |
|
Ruben Ayrapetyan
|
d327bf5682
|
Fixing ecma_compare_zt_string_to_ecma_string routine.
|
2014-07-31 17:49:16 +04:00 |
|
Ruben Ayrapetyan
|
2c85a55c85
|
Introducing Global Environment constructor; using Global Environment as starting lexical environment.
|
2014-07-31 17:21:47 +04:00 |
|
Ruben Ayrapetyan
|
bfad8e897d
|
Implementing ECMA-262 v5 10.2.1.2 operations (object environment record's CreateMutableBinding, SetMutableBinding, etc.).
|
2014-07-31 17:13:20 +04:00 |
|
Ruben Ayrapetyan
|
f8ef3deaf3
|
Full implementation of general objects' [[DefineOwnProperty]].
|
2014-07-31 17:07:21 +04:00 |
|
Ruben Ayrapetyan
|
a084273286
|
Minor style fixes.
|
2014-07-31 17:05:51 +04:00 |
|
Ruben Ayrapetyan
|
9610680e3c
|
Fix ecma_create_object_lex_env: increasing binding object's reference counter.
|
2014-07-31 14:56:22 +04:00 |
|
Ruben Ayrapetyan
|
c364461b80
|
Splitting ecma_create_lexical_environment to ecma_create_decl_lex_env and ecma_create_object_lex_env.
|
2014-07-31 14:48:28 +04:00 |
|
Ruben Ayrapetyan
|
16cab18ae9
|
Introducing partially implemented Global object constructor.
|
2014-07-31 14:26:24 +04:00 |
|
Ruben Ayrapetyan
|
e25e4d6cab
|
Introducing constructor for ecma_property_descriptor_t.
|
2014-07-31 14:03:11 +04:00 |
|
Ruben Ayrapetyan
|
b50e091b08
|
Renaming opcode_idx_t to opcode_counter_t.
|
2014-07-30 21:54:53 +04:00 |
|
Ruben Ayrapetyan
|
4ebf551525
|
Renaming interp_bytecode_idx to op_idx_t.
|
2014-07-30 21:52:17 +04:00 |
|
Ruben Ayrapetyan
|
c344cc7422
|
Correct implementation of opfunc_call_0 that was commited in c8dc00f4558efeb4bc0c2cd5d21e778294cb0d3a. The comment to that revision is incorrect: it specifies that opfunc_func_decl_0 should be rewritten; it is mistake, really it was about opfunc_call_0.
|
2014-07-30 21:46:02 +04:00 |
|
Ruben Ayrapetyan
|
e540590ddd
|
Partial implementation of function call routine ([[Call]]).
|
2014-07-30 20:34:04 +04:00 |
|
Ruben Ayrapetyan
|
221fb47a77
|
Implementing steps 16 - 19 of 'Function object creation' routine; creating ecma_op_get_throw_type_error stub.
|
2014-07-30 18:27:48 +04:00 |
|
Ruben Ayrapetyan
|
45a3d52d70
|
Fixing [[DefineOwnProperty]]: correctly setting up value of data named property; correctly increasing reference counters of getter and setter.
|
2014-07-30 18:24:14 +04:00 |
|
Ruben Ayrapetyan
|
df224408fc
|
Introducing ecma_get_magic_string that returns pointer to requested magic string that is used in an ECMA routine.
|
2014-07-30 17:56:53 +04:00 |
|
Ruben Ayrapetyan
|
b059212e32
|
Implementing IsCallable operation.
|
2014-07-30 17:48:28 +04:00 |
|
Ruben Ayrapetyan
|
d4d446cd4f
|
Temporary implementation of 'func_decl_0' opcode handler. Should be rewritten from scratch after 'Function object creation' routine is fully implemented.
|
2014-07-30 15:44:28 +04:00 |
|
Ruben Ayrapetyan
|
ccb0701469
|
Removing 'ret' opcode from unimplemented opcodes' list.
|
2014-07-30 15:42:32 +04:00 |
|
Ruben Ayrapetyan
|
fe54e4dfd8
|
Implementation of 'ret' opcode handler.
|
2014-07-30 15:41:47 +04:00 |
|
Ruben Ayrapetyan
|
e6f0057456
|
Partial implementation of func_decl_0 opcode handler.
|
2014-07-30 15:40:41 +04:00 |
|
Ruben Ayrapetyan
|
f05719d622
|
Partial implementation of ECMA Function object creation routine.
|
2014-07-30 15:36:21 +04:00 |
|
Ruben Ayrapetyan
|
7bca73b8be
|
Removing build targets from 'all' because check targets call build targets themself.
|
2014-07-30 15:08:50 +04:00 |
|
Ruben Ayrapetyan
|
52495b2cc1
|
Generating version info without header file.
|
2014-07-30 15:08:02 +04:00 |
|
Ruben Ayrapetyan
|
c1d0a4dd13
|
Introducing interp_bytecode_idx type for opcode indexes.
|
2014-07-30 14:34:31 +04:00 |
|
Ruben Ayrapetyan
|
0dd67e4799
|
Introducing ecma_object_class_t type that describes ecma-defined object classes (value of ECMA_INTERNAL_PROPERTY_CLASS internal property); adding outer lexical environment's reference counter increment in ecma_create_lexical_environment; updating ecma_create_object to support object type field (that is not connected with ecma-defined object class, but is internal implementation defined type of an object).
|
2014-07-30 14:24:01 +04:00 |
|
Ruben Ayrapetyan
|
f8743a1375
|
Switching from 'echa_char_t*' to 'const ecma_char_t*' where appropriate.
|
2014-07-30 14:20:20 +04:00 |
|
Ruben Ayrapetyan
|
56daef38eb
|
Fixing debug.stm32f4: uncommented memcpy and memset aliases, placed them under #ifndef LIBC_MUSL.
|
2014-07-30 13:57:40 +04:00 |
|
Ruben Ayrapetyan
|
8d387cd32f
|
Introducing make parameters todo, fixme and echo: todo/fixme enable printing of todo/fixme pragma messages if set to 1 (that are disabled by default after this commit); echo enables compilation/linking command line echoing if set to 1.
|
2014-07-29 14:52:42 +04:00 |
|
Ruben Ayrapetyan
|
299c94ee85
|
Implementation of general objects' [[GetOwnProperty]], [[GetProperty]], [[CanPut]], [[HasProperty]], [[Delete]]; partial implementation of general objects' [[Get]], [[Put]], [[DefineOwnProperty]].
|
2014-07-29 14:32:01 +04:00 |
|
Ruben Ayrapetyan
|
4cefa6950e
|
Fix ecma_op_define_own_property argument list: the routine now takes property descriptor as an argument instead of property.
|
2014-07-28 21:57:27 +04:00 |
|
Ruben Ayrapetyan
|
b073701da4
|
Introducing ECMA property descriptor (8.10) type and helpers for it: constructor and destructor.
|
2014-07-28 21:54:42 +04:00 |
|
Ruben Ayrapetyan
|
3ee0e8a8a5
|
Style fixes regarding 'empty' value: introducing ecma_is_empty_completion_value, reducing usage of the 'empty' value, listing possible usage cases of the 'empty' value in the comment to it's definition.
|
2014-07-28 21:21:31 +04:00 |
|
Ruben Ayrapetyan
|
cae07c0832
|
Implementing stubs for ecma objects' common internal properties and methods (ECMA-262 v5, Table 8).
|
2014-07-28 18:16:05 +04:00 |
|
Ruben Ayrapetyan
|
7840a846e8
|
Fix: removing extra semi-colon after FIXME.
|
2014-07-28 15:46:12 +04:00 |
|
Ruben Ayrapetyan
|
7984c7e65f
|
Fixing comment about an object's maximum reference counter. Adding runtime check for the counter's overflow.
|
2014-07-28 15:17:01 +04:00 |
|
Ruben Ayrapetyan
|
27f6d2b552
|
Fixing test_poolman that is failing after 6b050cc03719bfdb49b68eeb5deeed61bc51ff5a.
|
2014-07-25 20:23:34 +04:00 |
|
Ruben Ayrapetyan
|
f1a0e616b1
|
Resident set size measurement script.
|
2014-07-25 20:16:43 +04:00 |
|
Ruben Ayrapetyan
|
09c1f91bb3
|
Printing heap's block headers before beginning of unit test.
|
2014-07-25 20:00:59 +04:00 |
|
Ruben Ayrapetyan
|
e3c8af68f5
|
Enhancement of heap memory usage statistics output.
|
2014-07-25 19:16:52 +04:00 |
|
Ruben Ayrapetyan
|
5e4078095a
|
Print heap memory usage statistics before exit (host version).
|
2014-07-25 19:09:10 +04:00 |
|
Ruben Ayrapetyan
|
d90dccde9a
|
Reducing heap's chunk size to 64 bytes, heap size to 2.5K; RAM size to 8K in stm32f4 linker script.
|
2014-07-25 19:03:45 +04:00 |
|
Ruben Ayrapetyan
|
222e9e680c
|
Adding assertion checks in serializer_dump_opcode and serializer_rewrite_opcode to avoid buffer overrun.
|
2014-07-25 18:20:54 +04:00 |
|
Ruben Ayrapetyan
|
ff2609eb88
|
Implementing {pre,post}_{incr,decr} opcodes.
|
2014-07-25 18:07:18 +04:00 |
|
Ruben Ayrapetyan
|
cfdef23303
|
Adding compilation flag '-Wfatal-errors'.
|
2014-07-25 18:06:45 +04:00 |
|
Ruben Ayrapetyan
|
361e5a6f38
|
Use -gdwarf-3 by default, -gdwarf-4 if dwarf4=1 option is passed to make.
|
2014-07-25 13:51:35 +04:00 |
|
Ruben Ayrapetyan
|
7077e42c85
|
Improving performance of building unittests.
|
2014-07-24 21:41:04 +04:00 |
|
Ruben Ayrapetyan
|
7f918612c1
|
Removing 'dev.*' targets.
|
2014-07-24 21:19:34 +04:00 |
|
Ruben Ayrapetyan
|
6301cba0c3
|
Implementing equal_value, not_equal_value, less_than, greater_than opcodes.
|
2014-07-24 21:09:02 +04:00 |
|
Ruben Ayrapetyan
|
20b04a5ed7
|
Adding ecma-try-catch-macro.h that should have been a part of previous commit.
|
2014-07-24 20:33:58 +04:00 |
|
Ruben Ayrapetyan
|
b2ae827fbd
|
Partially implementing ECMA 'Absract relational comparison' (11.8.5).
|
2014-07-24 20:31:57 +04:00 |
|
Ruben Ayrapetyan
|
61550f2029
|
Fixing opcode unit tests.
|
2014-07-24 20:04:27 +04:00 |
|
Ruben Ayrapetyan
|
89834cd616
|
Printing of called function's name in 'call_1' opcode handler.
|
2014-07-24 18:30:49 +04:00 |
|
Ruben Ayrapetyan
|
63a757a5a7
|
Connecting try_get_str_by_idx with deserialize_string_by_id and get_number_by_idx with deserialize_num_by_id.
|
2014-07-24 18:28:46 +04:00 |
|
Ruben Ayrapetyan
|
b7a3a13bc9
|
Implementing register variables.
|
2014-07-24 18:13:32 +04:00 |
|
Ruben Ayrapetyan
|
2718d8e918
|
Fixing is_false_jmp, is_true_jmp opcodes; adding them to var_decl and assignment unit tests as partial checks.
|
2014-07-23 22:22:50 +04:00 |
|
Ruben Ayrapetyan
|
d659b703a1
|
Style fix in ecma_make_reference.
|
2014-07-23 21:59:32 +04:00 |
|
Ruben Ayrapetyan
|
826c6aeca2
|
Implementing is_false_jmp, is_true_jmp opcodes.
|
2014-07-23 21:58:15 +04:00 |
|
Ruben Ayrapetyan
|
13b6d13c3c
|
Implementing jmp_down, jmp_up opcodes.
|
2014-07-23 21:00:03 +04:00 |
|
Ruben Ayrapetyan
|
8d180e9be1
|
Minor style fixes.
|
2014-07-23 20:41:21 +04:00 |
|
Ruben Ayrapetyan
|
26c00acd50
|
Refinement of src/main.c.
|
2014-07-23 19:08:06 +04:00 |
|
Ruben Ayrapetyan
|
dafae023e3
|
Merge branch 'master' of git-server.vd:jerry
|
2014-07-23 15:50:07 +04:00 |
|
Ruben Ayrapetyan
|
cbba89c7f8
|
Extending each *.check target by unit tests' run.
|
2014-07-23 15:48:58 +04:00 |
|
Ruben Ayrapetyan
|
d17e28b7bf
|
Fixing *.stm32f4 builds.
|
2014-07-23 14:57:37 +04:00 |
|
Ruben Ayrapetyan
|
0eea67ceb2
|
Renaming camelCase-named identifiers in unit tests' code.
|
2014-07-23 14:14:45 +04:00 |
|
Ruben Ayrapetyan
|
1796b9d903
|
Renaming rest camelCase-named identifiers according to underscore_named_value-naming.
|
2014-07-23 14:07:45 +04:00 |
|
Ruben Ayrapetyan
|
79f3d97434
|
Renaming jerry_* identifiers from 'camelCase' to 'underscore_naming'.
|
2014-07-23 13:03:30 +04:00 |
|
Ruben Ayrapetyan
|
c0df259726
|
Renaming ecma_GC_info_t -> ecma_gc_info_t (missed this renaming in previous commit).
|
2014-07-23 13:00:01 +04:00 |
|
Ruben Ayrapetyan
|
bc0c7824c2
|
Renaming ecma_* identifiers from 'camelCase' to 'underscore_naming'.
|
2014-07-23 12:54:56 +04:00 |
|
Ruben Ayrapetyan
|
b3b4c74cbe
|
Renaming mem_* identifiers from 'camelCase' to 'underscore_naming'.
|
2014-07-23 12:54:45 +04:00 |
|
Ruben Ayrapetyan
|
2d4ed154ee
|
Removing m_ prefix from identifiers (m_ValueType -> ValueType, ...).
|
2014-07-23 11:41:58 +04:00 |
|
Ruben Ayrapetyan
|
3ef9ee9eb4
|
Merge branch 'master' of git-server.vd:jerry
|
2014-07-22 22:15:03 +04:00 |
|
Ruben Ayrapetyan
|
8e08d5f6d6
|
Partially implementing ECMA 'Absract equality comparison' (11.9.3).
|
2014-07-22 22:13:51 +04:00 |
|
Ruben Ayrapetyan
|
19c15b03b0
|
Reverting changes in jerry_Exit and adding comment about jerry_AssertFail call.
|
2014-07-22 21:47:33 +04:00 |
|
Ruben Ayrapetyan
|
cc513e9f35
|
Adding assertion that interpreter doesn't receive non-empty normal ecma completion value.
|
2014-07-22 19:01:11 +04:00 |
|
Ruben Ayrapetyan
|
488ed41c2b
|
Implementing 'substraction' opcode handler and, partially (except string operands), 'addition' opcode handler; adding unit tests for them.
|
2014-07-22 18:55:13 +04:00 |
|
Ruben Ayrapetyan
|
cbbd71588a
|
Implementing 'division' and 'remainder' opcode handlers, adding unit tests for the opcodes.
|
2014-07-22 18:26:06 +04:00 |
|
Ruben Ayrapetyan
|
f71e8c521a
|
Adding stubs with partial implementation for ecma numbers' addition, substraction, division, remainder calculation and negation.
|
2014-07-22 17:38:39 +04:00 |
|
Ruben Ayrapetyan
|
f0abfbb31b
|
Refinement of exception handling code in 'multiplication' and 'assignment' opcode handlers.
|
2014-07-22 17:23:29 +04:00 |
|
Ruben Ayrapetyan
|
739d19be5b
|
Implementing 'multiplication' opcode handler and unit test for the opcode.
|
2014-07-21 21:59:15 +04:00 |
|
Ruben Ayrapetyan
|
9b2b248728
|
Partially implementing ToNumber operation.
|
2014-07-21 20:36:08 +04:00 |
|
Ruben Ayrapetyan
|
7a0612d441
|
Adding is_strict flag to interpreter context.
|
2014-07-21 20:24:48 +04:00 |
|
Ruben Ayrapetyan
|
7e87a1fde0
|
Implementing CheckObjectCoercible operation and partial stubs for ToPrimitive and ToObject operations.
|
2014-07-21 19:58:04 +04:00 |
|
Ruben Ayrapetyan
|
2590b032e1
|
Fixing get_number_by_idx.
|
2014-07-21 19:41:12 +04:00 |
|
Ruben Ayrapetyan
|
ff4d3e4af3
|
Implementing assignment of number literal values in 'assignment' opcode handler.
|
2014-07-21 19:22:25 +04:00 |
|
Ruben Ayrapetyan
|
84131d9a28
|
Introducing get_number_by_idx interface for retrieving literal number value by it's identifier. Change ecma_Number_t type from double to float.
|
2014-07-21 19:16:08 +04:00 |
|
Ruben Ayrapetyan
|
5df6233e0b
|
Fix description comment for ecma_op_put_value.
|
2014-07-21 18:11:05 +04:00 |
|
Ruben Ayrapetyan
|
30c383556d
|
Unit test for 'assignment' opcode.
|
2014-07-21 18:09:05 +04:00 |
|
Ruben Ayrapetyan
|
6abc3ae3a2
|
Merge branch 'master' of git-server.vd:jerry
|
2014-07-21 18:06:54 +04:00 |
|
Ruben Ayrapetyan
|
d62f145ff2
|
Implementing 'assignment' opcode handler.
|
2014-07-21 18:03:12 +04:00 |
|
Ruben Ayrapetyan
|
5e503ced32
|
Fixing ecma_op_get_value, ecma_op_put_value: correctly distinguishing whether the base is object or lexical environment.
|
2014-07-21 17:51:11 +04:00 |
|
Ruben Ayrapetyan
|
57629912e4
|
Rename: ecma_OpGetValue -> ecma_op_get_value; ecma_OpSetValue -> ecma_op_put_value.
|
2014-07-21 17:47:39 +04:00 |
|
Ruben Ayrapetyan
|
1175526d52
|
Fixing value copying/value leakage issues.
|
2014-07-21 17:39:39 +04:00 |
|
Ruben Ayrapetyan
|
0ff6d7ae9e
|
Fixing ecma_CopyValue: adding missing breaks in switch.
|
2014-07-21 16:55:39 +04:00 |
|
Ruben Ayrapetyan
|
98a0c0f933
|
Introducing type argument in 'assignment' opcode handler.
|
2014-07-21 15:57:15 +04:00 |
|
Ruben Ayrapetyan
|
0af0c86532
|
Unit test: single var_decl, followed by exitval.
|
2014-07-18 15:27:38 +04:00 |
|
Ruben Ayrapetyan
|
aa6bed0c4c
|
Implementing ecma_CompareZtStringToEcmaString - zero-terminated- and ecma- strings compare routine.
|
2014-07-18 14:07:07 +04:00 |
|
Ruben Ayrapetyan
|
ef51126aab
|
Adding boolean return value, indicating whether script execution finished with success or failure, to run_int. Moving opcode loop from run_int to run_int_from_pos.
|
2014-07-18 12:27:17 +04:00 |
|
Ruben Ayrapetyan
|
dd7029e15d
|
Fixing ecma_OpHasBinding, ecma_OpCreateMutableBinding and ecma_OpSetMutableBinding (inserting missing breaks in switches).
|
2014-07-17 22:06:51 +04:00 |
|