Commit Graph

108 Commits

Author SHA1 Message Date
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 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 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
e.gavrin 0c9f81dbf9 add var_decl 2014-07-17 15:19:55 +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
e.gavrin 3721569d6c minor formatting fix 2014-07-16 12:47:27 +04:00
Ruben Ayrapetyan b1f9275048 Merge branch 'master' of git-server.vd:jerry 2014-07-15 21:44:21 +04:00
Ilmir Usmanov 87072c6088 Merge with master 2014-07-15 21:42:05 +04:00
Ruben Ayrapetyan c5cfff3d92 Adding comment to ecma_NewStandardError. 2014-07-15 21:41:47 +04:00
Ruben Ayrapetyan 16be2ee3ab Implementing GetValue for cases:
- base is lexical environment;
  - base is undefined (unresolvable reference);

Descripting implementation of other GetValue's cases in comments.
2014-07-15 21:41:47 +04:00
Ruben Ayrapetyan 56f731a3f2 Introducing ecma_MakeThrowValue constructor for throw completion values. 2014-07-15 21:41:47 +04:00
Ruben Ayrapetyan cdde0900e3 Introducing native ecma error types and ecma_NewStandardError interface. 2014-07-15 21:41:47 +04:00
Ilmir Usmanov 0647cdd4f1 Add bytecode generator 2014-07-15 19:32:26 +04:00