From cd0246bedcd9320682140193e0bde428c8bbdb65 Mon Sep 17 00:00:00 2001 From: Ruben Ayrapetyan Date: Fri, 8 Aug 2014 18:23:02 +0400 Subject: [PATCH] Changing size of ecma-array's chunk to fixed 8 bytes. --- src/libecmaobjects/ecma-alloc.c | 4 ++-- src/libecmaobjects/ecma-globals.h | 9 ++------- src/liboptimizer/deserializer.h | 2 +- src/liboptimizer/optimizer-passes.h | 2 +- src/liboptimizer/pretty-printer.h | 2 +- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/libecmaobjects/ecma-alloc.c b/src/libecmaobjects/ecma-alloc.c index f443ff5fa..fa29f93e5 100644 --- a/src/libecmaobjects/ecma-alloc.c +++ b/src/libecmaobjects/ecma-alloc.c @@ -45,8 +45,8 @@ FIXME( Pack ecma_object_t ) JERRY_STATIC_ASSERT( sizeof (ecma_object_t) <= 2 * sizeof (uint64_t) ); JERRY_STATIC_ASSERT( sizeof (ecma_array_header_t) <= sizeof (uint32_t) ); -JERRY_STATIC_ASSERT( sizeof (ecma_array_first_chunk_t) == ECMA_ARRAY_CHUNK_SIZE_IN_BYTES ); -JERRY_STATIC_ASSERT( sizeof (ecma_array_non_first_chunk_t) == ECMA_ARRAY_CHUNK_SIZE_IN_BYTES ); +JERRY_STATIC_ASSERT( sizeof (ecma_array_first_chunk_t) == sizeof(uint64_t) ); +JERRY_STATIC_ASSERT( sizeof (ecma_array_non_first_chunk_t) == sizeof(uint64_t) ); JERRY_STATIC_ASSERT( sizeof (ecma_completion_value_t) == sizeof(uint32_t) ); /** diff --git a/src/libecmaobjects/ecma-globals.h b/src/libecmaobjects/ecma-globals.h index 6683af084..00ae255de 100644 --- a/src/libecmaobjects/ecma-globals.h +++ b/src/libecmaobjects/ecma-globals.h @@ -459,11 +459,6 @@ typedef struct { ecma_length_t unit_number; } ecma_array_header_t; -/** - * Size of a chunk, containing a String's part, in bytes - */ -#define ECMA_ARRAY_CHUNK_SIZE_IN_BYTES 8 - /** * Description of first chunk in a chain of chunks that contains an Array. */ @@ -472,7 +467,7 @@ typedef struct { ecma_array_header_t header; /** Elements */ - uint8_t data[ ECMA_ARRAY_CHUNK_SIZE_IN_BYTES - sizeof (ecma_array_header_t) ]; + uint8_t data[ sizeof(uint64_t) - sizeof (ecma_array_header_t) ]; } ecma_array_first_chunk_t; /** @@ -483,7 +478,7 @@ typedef struct { uint16_t next_chunk_p; /** Characters */ - uint8_t data[ ECMA_ARRAY_CHUNK_SIZE_IN_BYTES - sizeof (uint16_t) ]; + uint8_t data[ sizeof(uint64_t) - sizeof (uint16_t) ]; } ecma_array_non_first_chunk_t; /** diff --git a/src/liboptimizer/deserializer.h b/src/liboptimizer/deserializer.h index d3253f43c..984da5436 100644 --- a/src/liboptimizer/deserializer.h +++ b/src/liboptimizer/deserializer.h @@ -24,4 +24,4 @@ int deserialize_num_by_id (uint8_t); const void *deserialize_bytecode (void); uint8_t deserialize_min_temp (void); -#endif //DESERIALIZER_H +#endif //DESERIALIZER_H \ No newline at end of file diff --git a/src/liboptimizer/optimizer-passes.h b/src/liboptimizer/optimizer-passes.h index b1c869735..fc839dc86 100644 --- a/src/liboptimizer/optimizer-passes.h +++ b/src/liboptimizer/optimizer-passes.h @@ -24,4 +24,4 @@ void optimizer_adjust_jumps (OPCODE *, OPCODE *, int16_t); void optimizer_reorder_scope (uint16_t, uint16_t); void optimizer_run_passes (OPCODE *); -#endif // OPTIMIZER_PASSES_H +#endif // OPTIMIZER_PASSES_H \ No newline at end of file diff --git a/src/liboptimizer/pretty-printer.h b/src/liboptimizer/pretty-printer.h index 608b482d5..89782224d 100644 --- a/src/liboptimizer/pretty-printer.h +++ b/src/liboptimizer/pretty-printer.h @@ -22,4 +22,4 @@ void pp_opcode (opcode_counter_t, OPCODE, bool); void pp_strings (const char **, uint8_t); void pp_nums (const int32_t *, uint8_t, uint8_t); -#endif // PRETTY_PRINTER +#endif // PRETTY_PRINTER \ No newline at end of file