Bytecode

Bytecode, also known as p-code (portable code), is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normally numeric addresses) which encode the result of parsing and semantic analysis of things like type, scope, and nesting depths of program objects. They therefore allow much better performance than direct interpretation of source code.

The name bytecode stems from instruction sets which have one-byte opcodes followed by optional parameters. Intermediate representations such as bytecode may be output by programming language implementations to ease interpretation, or it may be used to reduce hardware and operating system dependence by allowing the same code to run on different platforms. Bytecode may often be either directly executed on a virtual machine (i.e. interpreter), or it may be further compiled into machine code for better performance.

Since bytecode instructions are processed by software, they may be arbitrarily complex, but are nonetheless often akin to traditional hardware instructions; virtual stack machines are the most common, but virtual register machines have also been built. Different parts may often be stored in separate files, similar to object modules, but dynamically loaded during execution.

Read more about BytecodeExecution, Examples

Other articles related to "bytecode":

List Of Compilers - Scheme Compilers and Interpreters
... Larceny ? native Yes Yes Yes ? No Gambit Marc Feeley C Yes Yes Yes LGPL No GNU Guile GNU Project bytecode ? Yes ? LGPL No Ikarus Scheme ? ? ? ? ? ? No ... bytecode + JIT Yes Yes Yes LGPL DrRacket RScheme ? ? ? ? ? ? No #S ? CLI ? ? ? ? No Scheme 48 Richard Kelsey, Jonathan Rees bytecode Yes Yes ? BSD No SCM ? ? ? ? ? ? No Stalin ? ? ? ? ? ? No Interpreter ...
Bytecode - Examples
... code is typically transformed into bytecode format by a compiler ... Adobe Flash objects BANCStar, originally bytecode for an interface-building tool but used as a language in its own right ... Library C to Java Virtual Machine compilers CLISP implementation of Common Lisp compiles only to bytecode CMUCL and Scieneer Common Lisp implementations of ...
Java Card Vs Java - Bytecode
... Java Card bytecode run by the Java Card Virtual Machine is a functional subset of Java bytecode run by a Java Virtual Machine, but uses a different encoding optimized for ... A Java Card applet thus typically uses less bytecode than the hypothetical Java applet obtained by compiling the same Java source code ...
Byte Code Engineering Library
... bytecode) ... BCEL is Java-centric at present, and does not currently have a backend that exposes other bytecode implementations (such as.NET bytecode, Python ...
Javassist
... providing a means to manipulate the Java bytecode of an application ... Bytecode manipulation is performed at load-time through a provided class loader ... Javassist (Java Programming Assistant) makes Java bytecode manipulation simple ...