Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Bytecode
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Form of instruction set designed to be run by a software interpreter}} {{redirect2|Portable code|P-code|other uses|software portability|and|P-Code (disambiguation)}} {{More citations needed|date=January 2009}} {{Use dmy dates|date=May 2019|cs1-dates=y}} {{Program execution}} '''Bytecode''' (also called '''portable code''' or '''p-code''') is a form of [[instruction set]] designed for efficient execution by a software [[interpreter (computing)|interpreter]]. Unlike [[Human-readable code|human-readable]]<ref name="Dynamic_Machine_Code"/> [[source code]], bytecodes are compact numeric codes, constants, and references (normally numeric addresses) that encode the result of [[compiler]] parsing and performing [[Semantic analysis (compilers)|semantic analysis]] of things like type, scope, and nesting depths of program objects. The name ''bytecode'' stems from instruction sets that have one-[[byte]] [[opcode]]s followed by optional parameters. [[Intermediate representation]]s such as bytecode may be output by [[programming language]] implementations to ease [[interpreter (computing)|interpretation]], or it may be used to reduce hardware and [[operating system]] dependence by allowing the same code to run [[cross-platform]], on different devices. Bytecode may often be either directly executed on a [[virtual machine]] (a [[p-code 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 machine]]s are the most common, but virtual [[register machine]]s have been built also.<ref name="Jucs_Lua"/><ref name="Dalvik"/> Different parts may often be stored in separate files, similar to [[object file|object modules]], but dynamically loaded during execution.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)