Copying all of a Function body into another function rather than just calling it. This may have several benefits (such as avoiding the FunctionCall/return overhead, and constant evaluation of the inlined function).

Disadvantages of having some code inlined in many places (instead of as a single function) can include a larger binary, and cache misses during execution.

Inlining is one of the easiest global optimisations in procedural languages such as C/C++ and Java.