Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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
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
Ruben Ayrapetyan b1f9275048 Merge branch 'master' of git-server.vd:jerry 2014-07-15 21:44:21 +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
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 f88fe5fae3 Moving jerry defines from CFLAGS_COMMON to DEFINES_JERRY and fixing cppcheck arguments. 2014-07-15 19:17:21 +04:00
Ruben Ayrapetyan 2615f28700 Adding JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(...) macros that allow referencing variables that are unused due to partial implementation. 2014-07-15 18:56:09 +04:00
Ruben Ayrapetyan 4ffbb5dc0c Emptying LDFLAGS_OPTIMIZE and LDFLAGS_NO_OPTIMIZE, because their current values are duplicating flags in $(CFLAGS_COMMON). 2014-07-15 15:43:16 +04:00
Ruben Ayrapetyan b4cafc2ae8 Removing *.linux.flash targets. Adding dependency from check, flash to target of an action, fix path used in flash action. Temporarily changing --error-exitcode parameter of cppcheck to 0. 2014-07-14 21:00:40 +04:00
Ruben Ayrapetyan 18a5852914 Fix src/main.c for target MCU. 2014-07-14 20:53:06 +04:00
Ruben Ayrapetyan 7a2397f235 Introducing new make targets scheme: {dev,debug,release,debug_release}.{linux,stm32f{4}}[.{check,flash}]. 2014-07-14 20:10:46 +04:00
Ruben Ayrapetyan d4b84f47a8 Fixing type conversion warnings in src/main.c and disabling warnings for third-party headers, included from that module. 2014-07-14 20:03:43 +04:00
Ruben Ayrapetyan dfb9441e8c Removed typedefs for basic int types and bool, definition of NULL from globals.h. Included <stdint.h>, <stdbool.h>, <stddef.h> in that header. 2014-07-14 19:59:29 +04:00
Ruben Ayrapetyan 63547e9f2c Change bit fields' type from uint32_t to unsigned int (because uint32_t is defined as something other than unsigned int in arm-none-eabi stdint.h; using that type for bit-fields is GCC extension). 2014-07-14 19:56:17 +04:00
Ruben Ayrapetyan c9e98171fd Remove inline attributes from src/libjsparser/lexer.c. 2014-07-14 19:53:41 +04:00
Ruben Ayrapetyan 4ca4c71c8b Fix warning about unused parameter 'opdata' in opfunc_call_1. 2014-07-14 19:51:11 +04:00
Ruben Ayrapetyan 0dd13021ae Remove usage of 'double' type. 2014-07-14 19:44:54 +04:00
Ruben Ayrapetyan 30b1a43e1e Adding memcpy, memset (for compiler usage). 2014-07-14 19:43:07 +04:00
Ruben Ayrapetyan bc83f77abe Fixing warnings and removing call to vprintf in src/libruntime/target/stm32f4/*. 2014-07-14 19:39:22 +04:00
Ruben Ayrapetyan 97a2776996 Deleting tests/jerry/*.exp. 2014-07-14 19:36:05 +04:00
Ruben Ayrapetyan 25ad63c9be Adding forgotten jerry-libc.c for linux and stm32f4 targets. 2014-07-10 22:20:31 +04:00
Ruben Ayrapetyan 5b48cb1a37 Move src/libruntime/{linux,stm32f4} to src/libruntime/target. 2014-07-10 22:17:33 +04:00
Ruben Ayrapetyan 6a27068dbd Move fatal from lexer.c to parser.c, rename it to parser_fatal, replace calls from main.c to parser_fatal with calls to jerry_Exit. 2014-07-10 22:06:09 +04:00
Ruben Ayrapetyan e6b3be5dfc jerry_Exit - exit function that under !JERRY_NDEBUG, in case status code is non-zero, prints exit status as string and calls handler of failed assertion. 2014-07-10 21:52:15 +04:00
Ruben Ayrapetyan f9ee8960c7 Move fatal from parser.c to lexer.c. 2014-07-10 21:12:26 +04:00
Ruben Ayrapetyan 224c509ff3 Merge with master. 2014-07-10 21:02:48 +04:00
Ruben Ayrapetyan c531c78b10 Setting non-zero error exit code to cppcheck and jerry_test.sh. 2014-07-10 19:46:24 +04:00
Ruben Ayrapetyan b71daa172c Enable -flto. 2014-07-10 19:46:24 +04:00
Ruben Ayrapetyan 4cb5fb646e memmove, fprintf. 2014-07-10 19:46:24 +04:00