• Home
  • Raw
  • Download

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

9 | ------------------------------- | ---------------------------------------------------------- |
22 1. The platform should scale from microcontrollers to high-end mobile phones:
43 1. Bytecode is register-based: all arguments and variables are mapped to virtual registers,
47 1. Bytecode's instruction set architecture is machine-readable with a dedicated API for
52 For the rationale on the bytecode type, please see [here](rationale-for-bytecode.md).
54 Rationale on the machine-readable instruction set architecture is following. Since bytecode
56 the platform outside the interpreter. Having this crucial information copy-pasted or delivered as
57 a bunch of C/C++ headers is very fragile and error-prone. At the same time,
58 with the machine-readable ISA we now already can re-use this information in many places, e.g.:
60 * In Panda Assembler's back-end, we automatically generate emission of bytecode in the binary form.
64 Besides, the machine-readable form naturally sets up the framework for self-testing (e.g.
89 in the offset. Additionally, 4-byte alignment is enforced for the most of data structures for
105 to high-end mobile phones.
126 1. An ideal target would be 5x-10x slowdown factor (compared to native execution)
127 for statically typed languages that run on the platform natively, and 15x-20x for L2 languages.
128 1. Panda should scale onto a wide range of devices, including IoT devices. Although more and
133 1. According to our experiments, a stackless interpreter for a stack-based bytecode (which is by
134 nature slower) can even beat sometimes a non-stackless interpreter for a register-based
146 objects and non-garbage collectable primitives to simplify automatic memory management.
149 to the objects on 32-bit and 64-bit architectures.
159 and can be reduced for memory-constrained targets and to 64 bits (using NaN-tagging technique).
167 1. Although tagged virtual registers occupy more memory (especially on 64-bit architectures),
169 trying to distiguish between objects from non-objects on an "imprecise" stack.
171 or `sizeof(double)` or `sizeof(void *)` on a 64-bit architecture (i.e. theoretical maximum
189 1. Interpreter should allow testing without involving front-ends of concrete languages.
195 1. A light-weight Panda Assembly language is developed, along with the Panda Assembler tool.
197 are small chunks of hand-written Panda Assembly covering corner cases, while the majority of