Skip to content

Commit 2a89eec

Browse files
rerobikadbatyai
authored andcommitted
Reduce code duplication in js-parser-expr.c (#3159)
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
1 parent f5e3fae commit 2a89eec

File tree

7 files changed

+336
-425
lines changed

7 files changed

+336
-425
lines changed

jerry-core/include/jerryscript-snapshot.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ extern "C"
3030
/**
3131
* Jerry snapshot format version.
3232
*/
33-
#define JERRY_SNAPSHOT_VERSION (23u)
33+
#define JERRY_SNAPSHOT_VERSION (24u)
3434

3535
/**
3636
* Flags for jerry_generate_snapshot and jerry_generate_function_snapshot.

jerry-core/parser/js/byte-code.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,11 +245,13 @@
245245
CBC_FORWARD_BRANCH (CBC_BRANCH_IF_STRICT_EQUAL, -1, \
246246
VM_OC_BRANCH_IF_STRICT_EQUAL) \
247247
\
248-
/* Basic opcodes. */ \
248+
/* Basic opcodes. Note: These 4 opcodes must me in this order */ \
249249
CBC_OPCODE (CBC_PUSH_LITERAL, CBC_HAS_LITERAL_ARG, 1, \
250250
VM_OC_PUSH | VM_OC_GET_LITERAL) \
251251
CBC_OPCODE (CBC_PUSH_TWO_LITERALS, CBC_HAS_LITERAL_ARG | CBC_HAS_LITERAL_ARG2, 2, \
252252
VM_OC_PUSH_TWO | VM_OC_GET_LITERAL_LITERAL) \
253+
CBC_OPCODE (CBC_PUSH_THIS_LITERAL, CBC_HAS_LITERAL_ARG, 2, \
254+
VM_OC_PUSH_TWO | VM_OC_GET_THIS_LITERAL) \
253255
CBC_OPCODE (CBC_PUSH_THREE_LITERALS, CBC_HAS_LITERAL_ARG2, 3, \
254256
VM_OC_PUSH_THREE | VM_OC_GET_LITERAL_LITERAL) \
255257
CBC_OPCODE (CBC_PUSH_UNDEFINED, CBC_NO_FLAG, 1, \
@@ -262,14 +264,13 @@
262264
VM_OC_PUSH_NULL | VM_OC_PUT_STACK) \
263265
CBC_OPCODE (CBC_PUSH_THIS, CBC_NO_FLAG, 1, \
264266
VM_OC_PUSH_THIS | VM_OC_PUT_STACK) \
265-
CBC_OPCODE (CBC_PUSH_THIS_LITERAL, CBC_HAS_LITERAL_ARG, 2, \
266-
VM_OC_PUSH_TWO | VM_OC_GET_THIS_LITERAL) \
267267
CBC_OPCODE (CBC_PUSH_NUMBER_0, CBC_NO_FLAG, 1, \
268268
VM_OC_PUSH_0 | VM_OC_PUT_STACK) \
269269
CBC_OPCODE (CBC_PUSH_NUMBER_POS_BYTE, CBC_HAS_BYTE_ARG, 1, \
270270
VM_OC_PUSH_POS_BYTE | VM_OC_PUT_STACK) \
271271
CBC_OPCODE (CBC_PUSH_NUMBER_NEG_BYTE, CBC_HAS_BYTE_ARG, 1, \
272272
VM_OC_PUSH_NEG_BYTE | VM_OC_PUT_STACK) \
273+
/* Note: These 4 opcodes must me in this order */ \
273274
CBC_OPCODE (CBC_PUSH_PROP, CBC_NO_FLAG, -1, \
274275
VM_OC_PROP_GET | VM_OC_GET_STACK_STACK | VM_OC_PUT_STACK) \
275276
CBC_OPCODE (CBC_PUSH_PROP_LITERAL, CBC_HAS_LITERAL_ARG, 0, \
@@ -280,6 +281,7 @@
280281
VM_OC_PROP_GET | VM_OC_GET_THIS_LITERAL | VM_OC_PUT_STACK) \
281282
CBC_OPCODE (CBC_PUSH_IDENT_REFERENCE, CBC_HAS_LITERAL_ARG, 3, \
282283
VM_OC_IDENT_REFERENCE | VM_OC_PUT_STACK) \
284+
/* Note: These 4 opcodes must me in this order */ \
283285
CBC_OPCODE (CBC_PUSH_PROP_REFERENCE, CBC_NO_FLAG, 1, \
284286
VM_OC_PROP_REFERENCE | VM_OC_PUT_STACK) \
285287
CBC_OPCODE (CBC_PUSH_PROP_LITERAL_REFERENCE, CBC_HAS_LITERAL_ARG, 2, \

0 commit comments

Comments
 (0)