Commit Graph

24 Commits

Author SHA1 Message Date
Ruben Ayrapetyan 2d4ed154ee Removing m_ prefix from identifiers (m_ValueType -> ValueType, ...). 2014-07-23 11:41:58 +04:00
Ruben Ayrapetyan 8e08d5f6d6 Partially implementing ECMA 'Absract equality comparison' (11.9.3). 2014-07-22 22:13:51 +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 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 7e87a1fde0 Implementing CheckObjectCoercible operation and partial stubs for ToPrimitive and ToObject operations. 2014-07-21 19:58:04 +04:00
Ruben Ayrapetyan 5df6233e0b Fix description comment for ecma_op_put_value. 2014-07-21 18:11:05 +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 dd7029e15d Fixing ecma_OpHasBinding, ecma_OpCreateMutableBinding and ecma_OpSetMutableBinding (inserting missing breaks in switches). 2014-07-17 22:06:51 +04:00
Ruben Ayrapetyan f7abe7190d Implementing var_decl opcode. 2014-07-17 22:02:07 +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 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 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
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 cdde0900e3 Introducing native ecma error types and ecma_NewStandardError interface. 2014-07-15 21:41:47 +04:00
Ruben Ayrapetyan 4395da05d3 Renaming ecma_Object_t::u_Attributes to u.
Renaming ecma_CompletionValue_t:: completion_type to type, completion_value to value.
Introducing ECMA_TARGET_ID_RESERVED value of ecma_CompletionValue_t::target when it is unused.
Adding ecma_Reference_t type for ECMA-reference.
Introducing some constructors and helpers for ecma-values.
Introducing ecma_FindNamedProperty helper.
Removing ecma_SyntacticReference_t type.
Implementing ecma operation GetIdentifierReference.
Stubs and partial implementation for GetValue, SetValue, lexical environment operations (HasBinding, etc.).
2014-07-15 19:27:15 +04:00
Ruben Ayrapetyan fa63065412 Adding libecmaoperations module that implements ECMA-262 defined operations. 2014-07-10 14:28:01 +04:00