~ Office Supplies ~~ Buy Posters ~~ A-Z Products ~~ Website Advertising


Byte-code - Wikipedia

<<Up     Contents

Byte-code

Byte-code is a sort of intermediate code[?] that is more abstract than machine code. It is often treated as a binary file containing an executable program much like an object module[?], which is a binary file[?] containing a machine code produced by compilers.

Byte-code is called so because usually each op code is one-byte length but the length of instruction code varies. Each instruction has one byte operation code from 0 to 255 followed by parameters such as registers or memory address. This is a typical case, but the specification of bytecode largely varies in language.

As is in intermediate code, it is a form of output code used by programming language implementors to reduce dependence on specific hardware and ease interpretation.

Less commonly, bytecode is used as an intermediate[?] code of a compiler. Some systems, called dynamic translators, or "just-in-time" (JIT) compilers, translate bytecode into machine language immediately prior to runtime to improve execution speed.

A byte-code program is normally interpreted by a byte-code interpreter (usually called virtual machine since it is like a computer machine). The advantage is portability, that is, the same binary code can be executed across different platforms or architectures. This is the same advantage as that of interpreted languages. However, because bytecode is usually less abstract, more compact, and more computer-centric than program code that is intended for human modification, the performance is usually better than mere interpretation. Because of its performance advantage, today many interpreted languages are actually compiled into bytecode once then executed by bytecode interpreter. Such languages include Perl and Python. Java code is typically transmitted as bytecode to a receiving machine, which then uses a JIT to translate the bytecode to machine code before execution. The current implementation of the Ruby programming language actually does not use bytecode, instead, it relies on tree-like structures, which resembles intermediate representation used in compilers.

Also of interest are p-codes, which are just like byte codes, but may be physically larger than a single byte and may vary in size (much like Opcodes do). They work at very high levels, such as "print this string" and "clear the screen". Both BASIC and some versions of Pascal use p-codes.

Examples

wikipedia.org dumped 2003-03-17 with terodump




 
 
213 carat Blue LAPIS LAZULI gold Pyrite gem stone Cab Cabbing cabochon wirewrap rough gemstone 42 gr
 213 carat Blue LAPIS LAZULI gold Pyrite Cab Cabbing cabochon wirewrap 42 gr 
 
66 carat huge OPTICAL QUARTZ gem jewel Faceted 24 mm round portuguese cut loose collector gemstone
 66 carat huge OPTICAL QUARTZ jewel ed 24 mm round portuguese cut loose collector  
 
173 carats gray AGATE gem Polished slab rectangle block Cabbing cab cabochon rough gemstone 34 grams
 173 carats gray AGATE Polished slab rectangle block Cabbing cab cabochon 34 grams 
 
Red green AMMOLITE gem stone Freeform cabochon cabbing jewelry rough Ammonite opal 10 carats 2 grams
 Red green AMMOLITE Freeform cabochon cabbing jewelry Ammonite opal 10 carats 2 grams 
 
100 ct Fluorescent pink white MANGANOCALCITE gem stone Hand polished jewelry rough gemstones 20 gram
 100 ct Fluorescent pink white MANGANOCALCITE Hand polished jewelry 20 gram