Commit Graph

  • b3b1d485ab Merge Ilmir Usmanov 2014-07-23 17:37:49 +04:00
  • f264d24b5a Rewrite serializer and lexer: adjust nums' ids, dump strings, nums and rewrites Ilmir Usmanov 2014-07-23 17:36:11 +04:00
  • dafae023e3 Merge branch 'master' of git-server.vd:jerry Ruben Ayrapetyan 2014-07-23 15:50:07 +04:00
  • cbba89c7f8 Extending each *.check target by unit tests' run. Ruben Ayrapetyan 2014-07-23 15:48:58 +04:00
  • 7fdbc84e3e Merge branch 'geppetto' Ilmir Usmanov 2014-07-23 15:39:21 +04:00
  • 1b2a52da51 Parse blinky Ilmir Usmanov 2014-07-23 15:39:01 +04:00
  • d17e28b7bf Fixing *.stm32f4 builds. Ruben Ayrapetyan 2014-07-23 14:57:37 +04:00
  • 0eea67ceb2 Renaming camelCase-named identifiers in unit tests' code. Ruben Ayrapetyan 2014-07-23 14:14:45 +04:00
  • 1796b9d903 Renaming rest camelCase-named identifiers according to underscore_named_value-naming. Ruben Ayrapetyan 2014-07-23 14:07:45 +04:00
  • 79f3d97434 Renaming jerry_* identifiers from 'camelCase' to 'underscore_naming'. Ruben Ayrapetyan 2014-07-23 13:03:30 +04:00
  • c0df259726 Renaming ecma_GC_info_t -> ecma_gc_info_t (missed this renaming in previous commit). Ruben Ayrapetyan 2014-07-23 12:56:34 +04:00
  • bc0c7824c2 Renaming ecma_* identifiers from 'camelCase' to 'underscore_naming'. Ruben Ayrapetyan 2014-07-23 12:54:56 +04:00
  • b3b4c74cbe Renaming mem_* identifiers from 'camelCase' to 'underscore_naming'. Ruben Ayrapetyan 2014-07-23 12:21:07 +04:00
  • 2d4ed154ee Removing m_ prefix from identifiers (m_ValueType -> ValueType, ...). Ruben Ayrapetyan 2014-07-23 11:41:58 +04:00
  • 3ef9ee9eb4 Merge branch 'master' of git-server.vd:jerry Ruben Ayrapetyan 2014-07-22 22:15:03 +04:00
  • 8e08d5f6d6 Partially implementing ECMA 'Absract equality comparison' (11.9.3). Ruben Ayrapetyan 2014-07-22 22:13:51 +04:00
  • 844382be19 Moved scopes of several variables closer to usage; e.gavrin 2014-07-22 21:53:18 +04:00
  • 19c15b03b0 Reverting changes in jerry_Exit and adding comment about jerry_AssertFail call. Ruben Ayrapetyan 2014-07-22 21:47:33 +04:00
  • 931815c915 Merge branch 'master' of git-server:jerry Ilmir Usmanov 2014-07-22 21:19:48 +04:00
  • 18fcf4bd77 Merge with 'geppetto': Generate bytecode while parsing Ilmir Usmanov 2014-07-22 21:18:19 +04:00
  • efb7009cfb Generate bytecode while parsing Ilmir Usmanov 2014-07-22 20:49:51 +04:00
  • cc513e9f35 Adding assertion that interpreter doesn't receive non-empty normal ecma completion value. Ruben Ayrapetyan 2014-07-22 19:01:11 +04:00
  • 488ed41c2b Implementing 'substraction' opcode handler and, partially (except string operands), 'addition' opcode handler; adding unit tests for them. Ruben Ayrapetyan 2014-07-22 18:55:13 +04:00
  • cbbd71588a Implementing 'division' and 'remainder' opcode handlers, adding unit tests for the opcodes. Ruben Ayrapetyan 2014-07-22 18:26:06 +04:00
  • f71e8c521a Adding stubs with partial implementation for ecma numbers' addition, substraction, division, remainder calculation and negation. Ruben Ayrapetyan 2014-07-22 17:38:39 +04:00
  • f0abfbb31b Refinement of exception handling code in 'multiplication' and 'assignment' opcode handlers. Ruben Ayrapetyan 2014-07-22 17:23:29 +04:00
  • 739d19be5b Implementing 'multiplication' opcode handler and unit test for the opcode. Ruben Ayrapetyan 2014-07-21 21:59:15 +04:00
  • 9b2b248728 Partially implementing ToNumber operation. Ruben Ayrapetyan 2014-07-21 20:35:44 +04:00
  • 7a0612d441 Adding is_strict flag to interpreter context. Ruben Ayrapetyan 2014-07-21 20:24:48 +04:00
  • 7e87a1fde0 Implementing CheckObjectCoercible operation and partial stubs for ToPrimitive and ToObject operations. Ruben Ayrapetyan 2014-07-21 19:58:04 +04:00
  • 2590b032e1 Fixing get_number_by_idx. Ruben Ayrapetyan 2014-07-21 19:41:12 +04:00
  • ff4d3e4af3 Implementing assignment of number literal values in 'assignment' opcode handler. Ruben Ayrapetyan 2014-07-21 19:22:25 +04:00
  • 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. Ruben Ayrapetyan 2014-07-21 19:16:08 +04:00
  • 5df6233e0b Fix description comment for ecma_op_put_value. Ruben Ayrapetyan 2014-07-21 18:11:05 +04:00
  • 30c383556d Unit test for 'assignment' opcode. Ruben Ayrapetyan 2014-07-21 18:09:05 +04:00
  • 6abc3ae3a2 Merge branch 'master' of git-server.vd:jerry Ruben Ayrapetyan 2014-07-21 18:06:54 +04:00
  • d62f145ff2 Implementing 'assignment' opcode handler. Ruben Ayrapetyan 2014-07-21 18:03:12 +04:00
  • cfcdc72dc9 Merge branch 'master' of git-server:jerry e.gavrin 2014-07-21 17:56:35 +04:00
  • 90a8e86bbe fixes e.gavrin 2014-07-21 17:56:23 +04:00
  • 5e503ced32 Fixing ecma_op_get_value, ecma_op_put_value: correctly distinguishing whether the base is object or lexical environment. Ruben Ayrapetyan 2014-07-21 17:51:11 +04:00
  • 57629912e4 Rename: ecma_OpGetValue -> ecma_op_get_value; ecma_OpSetValue -> ecma_op_put_value. Ruben Ayrapetyan 2014-07-21 17:47:39 +04:00
  • 1175526d52 Fixing value copying/value leakage issues. Ruben Ayrapetyan 2014-07-21 17:39:39 +04:00
  • 0ff6d7ae9e Fixing ecma_CopyValue: adding missing breaks in switch. Ruben Ayrapetyan 2014-07-21 16:55:39 +04:00
  • 98a0c0f933 Introducing type argument in 'assignment' opcode handler. Ruben Ayrapetyan 2014-07-21 15:57:15 +04:00
  • 123df0f185 added benchmarks.js e.gavrin 2014-07-21 15:01:55 +04:00
  • 0af0c86532 Unit test: single var_decl, followed by exitval. Ruben Ayrapetyan 2014-07-18 15:27:38 +04:00
  • aa6bed0c4c Implementing ecma_CompareZtStringToEcmaString - zero-terminated- and ecma- strings compare routine. Ruben Ayrapetyan 2014-07-18 14:07:07 +04:00
  • 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. Ruben Ayrapetyan 2014-07-18 12:27:17 +04:00
  • dd7029e15d Fixing ecma_OpHasBinding, ecma_OpCreateMutableBinding and ecma_OpSetMutableBinding (inserting missing breaks in switches). Ruben Ayrapetyan 2014-07-17 22:05:56 +04:00
  • f1d33b9236 Inverting properties' attributes' values in corresponding enums - now not_{writable,configurable,enumerable} correspond to 0 and {writable,configurable,enumerable} to 1. Ruben Ayrapetyan 2014-07-17 22:02:57 +04:00
  • f7abe7190d Implementing var_decl opcode. Ruben Ayrapetyan 2014-07-17 22:02:07 +04:00
  • 383853c116 Introducing string_literal_copy type descripting string literal copy for using in opcode handlers implementation. Ruben Ayrapetyan 2014-07-17 21:53:26 +04:00
  • 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). Ruben Ayrapetyan 2014-07-17 21:32:29 +04:00
  • 819b947445 Introducing try_get_string_by_idx interface for retrieving literal string value by it's identifier. Ruben Ayrapetyan 2014-07-17 21:07:25 +04:00
  • 0a87643eb6 Changing size of ecma_Char_t to 1 byte. Ruben Ayrapetyan 2014-07-17 20:56:20 +04:00
  • dd5c9dfb39 Changing return type of opcode handlers to ecma_CompletionValue_t. Ruben Ayrapetyan 2014-07-17 20:53:48 +04:00
  • a20aa29354 Templating definition of unimplemented opcodes. Ruben Ayrapetyan 2014-07-17 20:46:47 +04:00
  • d7a1566c23 During compilation of unit tests print compilation command line if it has been failed. Ruben Ayrapetyan 2014-07-17 20:43:30 +04:00
  • dd3f85b594 Making cppcheck to suppress warnings about missing system includes and unused functions. Setting --error-exitcode to 0 until all other warnings are fixed. Ruben Ayrapetyan 2014-07-17 18:55:25 +04:00
  • ffe6ab14bb Adding ctags and ID database to .gitignore list. Ruben Ayrapetyan 2014-07-17 18:55:10 +04:00
  • 0c9f81dbf9 add var_decl e.gavrin 2014-07-17 15:19:55 +04:00
  • 124673b5b4 Merge branch 'master' of git-server.vd:jerry Ruben Ayrapetyan 2014-07-17 14:48:41 +04:00
  • c0232c45f3 Redirecting all build's and tests' output to out/$(TARGET)/{.,obj,check}. Make clean now is rm -rf ./out. Ruben Ayrapetyan 2014-07-17 14:46:50 +04:00
  • 9a0b54313d remove opcodes e.gavrin 2014-07-17 13:08:43 +04:00
  • 080fb4aa5a aaa lickser.c e.gavrin 2014-07-17 11:54:31 +04:00
  • a61d31e9bf fix style error: Variable xxx hides enumerator with same name e.gavrin 2014-07-16 23:20:27 +04:00
  • 73bf0f9be1 remove unused gen_bytecode and save_op_data e.gavrin 2014-07-16 23:03:58 +04:00
  • c53eccbdd6 Merge branch 'master' into geppetto Ilmir Usmanov 2014-07-16 22:24:42 +04:00
  • 270ee301b4 Start dumping assignment expressions to bytecode; revise bytecode instructions Ilmir Usmanov 2014-07-16 22:23:55 +04:00
  • 6891039184 Fixing assertion on HasBinding result in ecma_OpGetIdentifierReference. Ruben Ayrapetyan 2014-07-16 22:21:15 +04:00
  • b300316403 Fixing assertion in ecma_OpGetIdentifierReference. Ruben Ayrapetyan 2014-07-16 22:16:14 +04:00
  • 6cdb927d14 Implementing ECMA-262 v5 10.2.1.1 operations (declarative environment record's CreateMutableBinding, SetMutableBinding, etc.). Ruben Ayrapetyan 2014-07-16 21:44:10 +04:00
  • 2598d01105 Renaming ecma_IsUndefinedValue -> ecma_IsValueUndefined and the like; introducing ecma_IsCompletionValueNormal{True,False} helpers. Ruben Ayrapetyan 2014-07-16 21:42:49 +04:00
  • 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. Ruben Ayrapetyan 2014-07-16 21:36:59 +04:00
  • 8d07e2b239 Introducing ecma_Property{Writable,Enumerable,Configurable}Value_t enum value types for properties' attributes. Ruben Ayrapetyan 2014-07-16 21:19:44 +04:00
  • 6918db2f59 Replacing 'ecma_Free' prefix in ecma_Free{Object,Property,Number,ArrayFirstChunk,ArrayNonFirstChunk} to 'ecma_Dealloc'. Ruben Ayrapetyan 2014-07-16 21:13:23 +04:00
  • b72185696a Introducing ecma_MakeReference and ecma_FreeReference, moving ecma_OpGetIdentifierReference to libecmaoperations/ecma-reference.c. Ruben Ayrapetyan 2014-07-16 17:20:40 +04:00
  • 60063683aa Rename ecma_GCValue to ecma_FreeValue and move it to ecma-helpers-value.c. Introduce ecma_CopyValue. Ruben Ayrapetyan 2014-07-16 17:12:45 +04:00
  • ca420ea0e9 Implementing PutValue for cases: - base is lexical environment; - base is undefined (unresolvable reference); Ruben Ayrapetyan 2014-07-16 14:41:17 +04:00
  • 0c64b78430 Merge branch 'geppetto' Ilmir Usmanov 2014-07-16 13:04:54 +04:00
  • 438318d788 Generate getop_* functions Ilmir Usmanov 2014-07-16 13:04:30 +04:00
  • 3721569d6c minor formatting fix e.gavrin 2014-07-16 12:47:27 +04:00
  • b1f9275048 Merge branch 'master' of git-server.vd:jerry Ruben Ayrapetyan 2014-07-15 21:44:21 +04:00
  • 32b4b7c869 Merge branch 'geppetto' Ilmir Usmanov 2014-07-15 21:42:33 +04:00
  • 87072c6088 Merge with master Ilmir Usmanov 2014-07-15 21:42:05 +04:00
  • c5cfff3d92 Adding comment to ecma_NewStandardError. Ruben Ayrapetyan 2014-07-15 21:39:24 +04:00
  • 16be2ee3ab Implementing GetValue for cases: - base is lexical environment; - base is undefined (unresolvable reference); Ruben Ayrapetyan 2014-07-15 21:34:45 +04:00
  • 56f731a3f2 Introducing ecma_MakeThrowValue constructor for throw completion values. Ruben Ayrapetyan 2014-07-15 21:27:25 +04:00
  • cdde0900e3 Introducing native ecma error types and ecma_NewStandardError interface. Ruben Ayrapetyan 2014-07-15 21:13:58 +04:00
  • 0647cdd4f1 Add bytecode generator Ilmir Usmanov 2014-07-15 19:32:26 +04:00
  • 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.). Ruben Ayrapetyan 2014-07-15 19:26:42 +04:00
  • f88fe5fae3 Moving jerry defines from CFLAGS_COMMON to DEFINES_JERRY and fixing cppcheck arguments. Ruben Ayrapetyan 2014-07-15 19:16:54 +04:00
  • 2615f28700 Adding JERRY_UNIMPLEMENTED_REF_UNUSED_VARS(...) macros that allow referencing variables that are unused due to partial implementation. Ruben Ayrapetyan 2014-07-15 18:56:09 +04:00
  • 4ffbb5dc0c Emptying LDFLAGS_OPTIMIZE and LDFLAGS_NO_OPTIMIZE, because their current values are duplicating flags in $(CFLAGS_COMMON). Ruben Ayrapetyan 2014-07-15 15:43:16 +04:00
  • 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. Ruben Ayrapetyan 2014-07-14 21:00:40 +04:00
  • 18a5852914 Fix src/main.c for target MCU. Ruben Ayrapetyan 2014-07-14 20:53:06 +04:00
  • 7a2397f235 Introducing new make targets scheme: {dev,debug,release,debug_release}.{linux,stm32f{4}}[.{check,flash}]. Ruben Ayrapetyan 2014-07-14 20:10:46 +04:00
  • d4b84f47a8 Fixing type conversion warnings in src/main.c and disabling warnings for third-party headers, included from that module. Ruben Ayrapetyan 2014-07-14 20:03:43 +04:00
  • 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. Ruben Ayrapetyan 2014-07-14 19:59:29 +04:00
  • 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). Ruben Ayrapetyan 2014-07-14 19:56:17 +04:00