Commit Graph
17 Commits
Author SHA1 Message Date
Zoltan Herczeg 12a58e6fc6 Byte code related symbolic constants and macros in vm.h get better names
and comments. Space consumed by opcode triplets are reduced to 16 bits
down from 32 bits. This reduces the opcode triplet tables by 220 bytes.
New symbolic constants and defines were also added to describe common
operations.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-05-18 05:00:33 -07:00
Zoltan Herczeg 7b9e6a873f Integer acceleration for basic arithmetic and comparison.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-05-18 04:51:58 -07:00
Zoltan Herczeg 00f759e275 Introduce integer ecma-value representation to reduce the double allocations.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-05-17 00:11:19 -07:00
Zoltan Herczeg 7cf8b79429 Argument literal names were not stored in the snapshot, because the
names were replaced by empty strings before that. The snapshot form
of tests/jerry/arguments.js fails because of this issue.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-05-16 23:49:41 -07:00
Zoltan Herczeg a3b1db3638 Add property name hashing support.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-04-20 03:38:43 -07:00
Zoltan Herczeg e92ecd44e7 Refactor ecma value to store pointers directly in ecma values rather than compressing them.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-04-15 11:35:51 -07:00
Zoltan Herczeg c7dcce4fc7 Refactor object property chain to use property pairs. The patch
itself seems a step back, but the primary aim is opening future
optimization opportunities. The list of changes follows:

 - Property is changed to be an abstract type, which has type, flags,
   and a value. It does not have a name anymore and property pointers
   cannot be compressed.
 - Full (32 bit) ecma values can be property values. This allows
   using non-compressed pointers for ecma values in the future.
 - The property chain is not restricted to the same item anymore,
   it can contain hash maps, arrays in the future.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-04-13 23:25:16 -07:00
Zoltan Herczeg d674b92f26 Refactor object properties to become real fields.
The positive side effect is that the maximum Jerry memory is increased to 512K.
Furthermore a slight (1.3%) performance improvement was measured on RPi2 with
SunSpider.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-04-06 03:36:44 -07:00
Zoltan Herczeg cc23c225ea Fix snapshot saving issue.
Snapshot save algorithm should not resolve uninitialized literals.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-03-24 02:57:31 -07:00
Zoltan Herczeg af246943f2 Optimize string character access for ascii strings and refactor type store
to allow two byte hashes in the future.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-03-21 02:24:35 -07:00
Zoltan Herczeg d190ca44ae Storing byte code size in the byte code header. This reduces the
memory consumption, because the new allocator uses less memory if
the size as available when a block is freed. Snapshot generation
is also simplified.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-03-16 02:58:10 -07:00
Zoltan Herczeg 73dcf689d2 Fix warning when returning from vm_loop.
Related issue: #930

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-03-04 03:15:10 -08:00
Zoltan Herczeg b8b587f76c Rearrange fields of ecma_property_t to be naturally aligned. Packed attribute and __extension__ keywords are removed. The standard approach reduced the binary size by 2K.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-03-03 05:18:28 -08:00
Zoltan Herczeg 1200be42b4 Non-recursive vm_loop to reduce stack usage.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-03-02 01:52:55 -08:00
Zoltan Herczeg b2426a7a94 Remove 'ecma_completion_value_t'
Remove ecma_completion_value_t, and add an extra bit to
ecma_value_t to represent errors. From the long list of
completion types only normal and error remained.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-02-17 13:52:51 +00:00
Zoltan Herczeg cadc81d583 ECMAScript Parameters cannot be passed in collections anymore, only as arrays.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-02-10 16:01:52 +01:00
Zoltan Herczeg 4d2dd22ced Compact Byte Code parser and executor for Jerry.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
JerryScript-DCO-1.0-Signed-off-by: Tamas Gergely [email protected]
JerryScript-DCO-1.0-Signed-off-by: Zsolt Borbély [email protected]
JerryScript-DCO-1.0-Signed-off-by: Roland Takacs [email protected]
JerryScript-DCO-1.0-Signed-off-by: István Kádár [email protected]
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2016-02-05 01:15:49 -08:00