• Home
  • Raw
  • Download

Lines Matching +full:non +full:- +full:range

10 | ------------------------------- | ---------------------------------------------------------- |
23 1. The platform should scale from microcontrollers to hi-end mobile phones:
40 1. Bytecode is register-based: all arguments and variables are mapped to virtual registers,
44 1. Bytecode's instruction set architecture is machine-readable with a dedicated API for
49 For the rationale on the bytecode type, please see [here](rationale-for-bytecode.md).
51 Rationale on the machine-readable instruction set architecture is following. Since bytecode
53 the platform outside the interpreter. Having this crucial information copy-pasted or delivered as
54 a bunch of C/C++ headers is very fragile and error-prone. At the same time,
55 with the machine-readable ISA we can re-use this information in many places already now, e.g.:
57 * In Panda Assembler's back-end, we automatically generate emission of bytecode in the binary form.
61 Besides, the machine-readable form naturally sets up the framework for self-testing (e.g.
86 in the offset. Additionally, 4-byte alignment is enforced for the most of data structures for
105 `zstd-19` algorithm. According to our research, it decreases file size by 21% and
118 to hi-end mobile phones.
139 1. An ideal target would be 5x-10x slowdown factor (compared to native execution)
140 for statically typed languages that run on the platform natively, and 15x-20x for L2 languages.
141 1. Panda should scale onto a wide range of devices, including IoT devices. Although more and
146 1. According to our experiments, a stackless interpreter for a stack-based bytecode (which is by
147 nature slower) can even beat sometimes a non-stackless interpreter for a register-based
159 objects and non-garbage collectable primitives to simplify automatic memory management.
162 to the objects on 32-bit and 64-bit architectures.
172 and can be reduced for memory-constrained targets and to 64 bits (using NaN-tagging technique).
180 1. Although tagged virtual registers occupy more memory (especially on 64-bit architectures),
182 trying to distinguish between objects from non-objects on an "imprecise" stack.
184 or `sizeof(double)` or `sizeof(void *)` on a 64-bit architecture (i.e. theoretical maximum
202 1. Interpreter should allow testing without involving front-ends of concrete languages.
208 1. A light-weight Panda Assembly language is developed, along with the Panda Assembler tool.
210 are small chunks of hand-written Panda Assembly covering corner cases, while the majority of
216 A general overview of managed assembly languages can be found [here](overview-of-managed-assemblers…
218 Lots of things are being created in parallel, and currently there is no stable front-end for Panda
219 for any high-level language. However, once they appear, front-end engineer will obviously want a