From 053cbc769f460d2344e9a78ce52b9e57cc6f7d72 Mon Sep 17 00:00:00 2001 From: Ilmir Usmanov Date: Tue, 14 Oct 2014 14:26:52 +0400 Subject: [PATCH] Fix alignment: part 2 --- src/libintstructs/hash-table.h | 1 - src/libintstructs/linked-list.c | 12 +++++++----- src/libintstructs/linked-list.h | 2 -- src/libintstructs/lp-string.h | 1 - src/libintstructs/stack.h | 1 - src/libintstructs/tree.h | 2 -- src/libjsparser/lexer.h | 1 - src/libjsparser/parser.c | 2 +- src/libjsparser/scopes-tree.h | 3 +-- src/liboptimizer/bytecode-data.h | 1 - 10 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/libintstructs/hash-table.h b/src/libintstructs/hash-table.h index 3c93a4e29..ded59dba8 100644 --- a/src/libintstructs/hash-table.h +++ b/src/libintstructs/hash-table.h @@ -45,7 +45,6 @@ typedef struct \ uint8_t size; \ uint8_t max_lens; \ } \ -__packed \ NAME##_hash_table; #define HASH_INIT(NAME, SIZE) \ diff --git a/src/libintstructs/linked-list.c b/src/libintstructs/linked-list.c index a05e8dbf3..3519bcd08 100644 --- a/src/libintstructs/linked-list.c +++ b/src/libintstructs/linked-list.c @@ -31,7 +31,7 @@ linked_list_init (size_t element_size) { size_t size = mem_heap_recommend_allocation_size (element_size); linked_list list = mem_heap_alloc_block (size, MEM_HEAP_ALLOC_SHORT_TERM); - if (list == NULL) + if (list == null_list) { __printf ("Out of memory"); JERRY_UNREACHABLE (); @@ -39,7 +39,7 @@ linked_list_init (size_t element_size) __memset (list, 0, size); linked_list_header* header = (linked_list_header *) list; header->magic = LINKED_LIST_MAGIC; - header->prev = header->next = NULL; + header->prev = header->next = null_list; header->block_size = (uint8_t) (size - sizeof (linked_list_header)); return list; } @@ -62,7 +62,7 @@ linked_list_element (linked_list list, size_t element_size, size_t element_num) ASSERT_LIST (list); linked_list_header *header = (linked_list_header *) list; linked_list raw = list + sizeof (linked_list_header); - if (header->block_size <= element_size * (element_num + 1)) + if (header->block_size < element_size * (element_num + 1)) { if (header->next) { @@ -84,9 +84,9 @@ linked_list_set_element (linked_list list, size_t element_size, size_t element_n ASSERT_LIST (list); linked_list_header *header = (linked_list_header *) list; linked_list raw = list + sizeof (linked_list_header); - if (header->block_size <= element_size * (element_num + 1)) + if (header->block_size < element_size * (element_num + 1)) { - if (header->next == NULL) + if (header->next == null_list) { header->next = (linked_list_header *) linked_list_init (element_size); header->next->prev = header; @@ -122,11 +122,13 @@ linked_list_set_element (linked_list list, size_t element_size, size_t element_n ((uint64_t *) raw)[element_num] = *((uint64_t *) element); break; } +#ifdef __TARGET_HOST_x64 case sizeof (lp_string): { ((lp_string *) raw)[element_num] = *((lp_string *) element); break; } +#endif default: { __printf ("Element_size %d is not supported\n", element_size); diff --git a/src/libintstructs/linked-list.h b/src/libintstructs/linked-list.h index 393c02679..fcc3beffc 100644 --- a/src/libintstructs/linked-list.h +++ b/src/libintstructs/linked-list.h @@ -26,9 +26,7 @@ typedef struct linked_list_header struct linked_list_header *prev; uint8_t magic; uint8_t block_size; - uint8_t used_size; } -__packed linked_list_header; typedef uint8_t* linked_list; diff --git a/src/libintstructs/lp-string.h b/src/libintstructs/lp-string.h index 2073e4813..cef4596bd 100644 --- a/src/libintstructs/lp-string.h +++ b/src/libintstructs/lp-string.h @@ -24,7 +24,6 @@ typedef struct ecma_char_t *str; ecma_length_t length; } -__packed lp_string; bool lp_string_equal (lp_string, lp_string); diff --git a/src/libintstructs/stack.h b/src/libintstructs/stack.h index cc9990329..fe091467a 100644 --- a/src/libintstructs/stack.h +++ b/src/libintstructs/stack.h @@ -78,7 +78,6 @@ typedef struct \ DATA_TYPE current; \ DATA_TYPE block_len; \ } \ -__packed \ NAME##_stack; #define STACK_INIT(NAME) \ diff --git a/src/libintstructs/tree.h b/src/libintstructs/tree.h index 4c3a10c21..bb5c2bad0 100644 --- a/src/libintstructs/tree.h +++ b/src/libintstructs/tree.h @@ -26,9 +26,7 @@ typedef struct tree_header linked_list children; uint8_t magic; uint8_t children_num; - uint16_t reserved; } -__packed tree_header; #endif /* TREE_H */ diff --git a/src/libjsparser/lexer.h b/src/libjsparser/lexer.h index 63bb62a8b..972463c9a 100644 --- a/src/libjsparser/lexer.h +++ b/src/libjsparser/lexer.h @@ -143,7 +143,6 @@ typedef struct token_type type; uint8_t uid; } -__packed token; void lexer_init (const char *, size_t, bool); diff --git a/src/libjsparser/parser.c b/src/libjsparser/parser.c index 5aa770aa4..ca12d9d3b 100644 --- a/src/libjsparser/parser.c +++ b/src/libjsparser/parser.c @@ -40,12 +40,12 @@ rewritable_opcode_type; typedef struct { - uint8_t args_count; union { void (*fun1) (idx_t); } funs; + uint8_t args_count; } intrinsic_dumper; diff --git a/src/libjsparser/scopes-tree.h b/src/libjsparser/scopes-tree.h index 5faa8646a..abf4d0470 100644 --- a/src/libjsparser/scopes-tree.h +++ b/src/libjsparser/scopes-tree.h @@ -22,12 +22,11 @@ typedef struct { - linked_list opcodes; tree_header t; + linked_list opcodes; opcode_counter_t opcodes_num; unsigned strict_mode:1; } -__packed scopes_tree_int; typedef scopes_tree_int * scopes_tree; diff --git a/src/liboptimizer/bytecode-data.h b/src/liboptimizer/bytecode-data.h index 37a490590..fb9f38a7e 100644 --- a/src/liboptimizer/bytecode-data.h +++ b/src/liboptimizer/bytecode-data.h @@ -42,7 +42,6 @@ struct uint8_t nums_count; opcode_counter_t opcodes_count; } -__packed bytecode_data; scopes_tree current_scope;