Lines Matching full:bytecode
1 # Rationale for Bytecode
5 This document sets up some context about bytecode design principles and provides rationales for
6 bytecode design in Panda Runtime.
8 ## Bytecode basics
10 Before discussing bytecode, let's take a look at a simplified picture of how a program is running o…
25 Here comes the bytecode. Simply said, it is an attempt to build an abstract CPU on top of real
28 commands (or bytecode) and execute them. Of course, this implies additional performance overhead
34 Although bytecode represents some abstraction, it mirrors all the mentioned concepts from the
40 building bytecode. Following sections explain advantages and disadvantages of various approaches.
75 bytecode instruction, execute it and move to the next one, running more instructions result in
76 more _dispatch overhead_. This means that the stack-based bytecode is slower by nature.
78 According to our experiment, uncompressed register-based Dalvik bytecode can be reduced by ~26%
83 is very important since bytecode interpretation is a required program execution mode for Panda.
90 According to our research, these tweaks will allow to reduce the size of uncompressed bytecode by
91 ~20% compared to Dalvik bytecode.
95 Panda bytecode has a dedicated register called _accumulator_, which is addressed implicitly
121 To minimize the risk of generating inefficient bytecode with redundant moves from and to
196 on the same platform with the same bytecode, we would have to handle both JavaScript-style addition
198 unmaintainable bytecode.
201 **Panda uses statically-typed bytecode**.
207 There may be another concern: Does a statically-typed bytecode imply statically-typed registers?
214 bytecode verifiers take the responsibility to control this invariant.