152 Commits

Author SHA1 Message Date
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
e.gavrin
cfcdc72dc9 Merge branch 'master' of git-server:jerry 2014-07-21 17:56:35 +04:00
e.gavrin
90a8e86bbe fixes 2014-07-21 17:56:23 +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
e.gavrin
123df0f185 added benchmarks.js 2014-07-21 15:01:55 +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
Ruben Ayrapetyan
f1d33b9236 Inverting properties' attributes' values in corresponding enums - now not_{writable,configurable,enumerable} correspond to 0 and {writable,configurable,enumerable} to 1. 2014-07-17 22:02:57 +04:00
Ruben Ayrapetyan
f7abe7190d Implementing var_decl opcode. 2014-07-17 22:02:07 +04:00
Ruben Ayrapetyan
383853c116 Introducing string_literal_copy type descripting string literal copy for using in opcode handlers implementation. 2014-07-17 21:53:26 +04:00
Ruben Ayrapetyan
0209acad65 Introducing exitval opcode for end of script and assertions in unit tests. The opcode finishes interpretation with status code 0 (success) or 1 (failure). 2014-07-17 21:32:29 +04:00
Ruben Ayrapetyan
819b947445 Introducing try_get_string_by_idx interface for retrieving literal string value by it's identifier. 2014-07-17 21:07:25 +04:00
Ruben Ayrapetyan
0a87643eb6 Changing size of ecma_Char_t to 1 byte. 2014-07-17 20:56:20 +04:00
Ruben Ayrapetyan
dd5c9dfb39 Changing return type of opcode handlers to ecma_CompletionValue_t. 2014-07-17 20:53:48 +04:00
Ruben Ayrapetyan
a20aa29354 Templating definition of unimplemented opcodes. 2014-07-17 20:46:47 +04:00
Ruben Ayrapetyan
d7a1566c23 During compilation of unit tests print compilation command line if it has been failed. 2014-07-17 20:43:30 +04:00
Ruben Ayrapetyan
dd3f85b594 Making cppcheck to suppress warnings about missing system includes and unused functions. Setting --error-exitcode to 0 until all other warnings are fixed. 2014-07-17 18:55:25 +04:00
Ruben Ayrapetyan
ffe6ab14bb Adding ctags and ID database to .gitignore list. 2014-07-17 18:55:10 +04:00
e.gavrin
0c9f81dbf9 add var_decl 2014-07-17 15:19:55 +04:00
Ruben Ayrapetyan
124673b5b4 Merge branch 'master' of git-server.vd:jerry 2014-07-17 14:48:41 +04:00
Ruben Ayrapetyan
c0232c45f3 Redirecting all build's and tests' output to out/$(TARGET)/{.,obj,check}. Make clean now is rm -rf ./out. 2014-07-17 14:46:50 +04:00
e.gavrin
9a0b54313d remove opcodes 2014-07-17 13:08:43 +04:00
e.gavrin
080fb4aa5a aaa lickser.c 2014-07-17 11:54:31 +04:00
e.gavrin
a61d31e9bf fix style error: Variable xxx hides enumerator with same name 2014-07-16 23:20:27 +04:00
e.gavrin
73bf0f9be1 remove unused gen_bytecode and save_op_data 2014-07-16 23:03:58 +04:00
Ilmir Usmanov
c53eccbdd6 Merge branch 'master' into geppetto 2014-07-16 22:24:42 +04:00
Ilmir Usmanov
270ee301b4 Start dumping assignment expressions to bytecode; revise bytecode instructions 2014-07-16 22:23:55 +04:00
Ruben Ayrapetyan
6891039184 Fixing assertion on HasBinding result in ecma_OpGetIdentifierReference. 2014-07-16 22:21:15 +04:00
Ruben Ayrapetyan
b300316403 Fixing assertion in ecma_OpGetIdentifierReference. 2014-07-16 22:16:14 +04:00
Ruben Ayrapetyan
6cdb927d14 Implementing ECMA-262 v5 10.2.1.1 operations (declarative environment record's CreateMutableBinding, SetMutableBinding, etc.). 2014-07-16 21:44:10 +04:00
Ruben Ayrapetyan
2598d01105 Renaming ecma_IsUndefinedValue -> ecma_IsValueUndefined and the like; introducing ecma_IsCompletionValueNormal{True,False} helpers. 2014-07-16 21:42:49 +04:00
Ruben Ayrapetyan
c8605bb4d1 Renaming ecma_GC*Property to ecma_Free*Property and moving them to ecma-helpers.c; introducing ecma_CreateNamedProperty, ecma_GetNamedProperty, ecma_GetNamedDataProperty, ecma_FreeProperty (extracted from ecma_GCRun), ecma_DeleteProperty; removing length argument of ecma_NewEcmaString helper. 2014-07-16 21:37:24 +04:00
Ruben Ayrapetyan
8d07e2b239 Introducing ecma_Property{Writable,Enumerable,Configurable}Value_t enum value types for properties' attributes. 2014-07-16 21:19:44 +04:00
Ruben Ayrapetyan
6918db2f59 Replacing 'ecma_Free' prefix in ecma_Free{Object,Property,Number,ArrayFirstChunk,ArrayNonFirstChunk} to 'ecma_Dealloc'. 2014-07-16 21:17:43 +04:00
Ruben Ayrapetyan
b72185696a Introducing ecma_MakeReference and ecma_FreeReference, moving ecma_OpGetIdentifierReference to libecmaoperations/ecma-reference.c. 2014-07-16 17:20:40 +04:00
Ruben Ayrapetyan
60063683aa Rename ecma_GCValue to ecma_FreeValue and move it to ecma-helpers-value.c. Introduce ecma_CopyValue. 2014-07-16 17:12:45 +04:00
Ruben Ayrapetyan
ca420ea0e9 Implementing PutValue for cases:
- base is lexical environment;
      - base is undefined (unresolvable reference);

    Descripting implementation of other PutValue's cases in comments.
2014-07-16 14:41:17 +04:00
Ilmir Usmanov
0c64b78430 Merge branch 'geppetto' 2014-07-16 13:04:54 +04:00
Ilmir Usmanov
438318d788 Generate getop_* functions 2014-07-16 13:04:30 +04:00