Bytecode
Type | Description |
u1 | dadd opcode = 0x63 (99) |
Stack ..., value1.word1, value1.word2, value2.word1, value2.word2 => ..., result.word1, result.word2
Description
Both value1 and value2 must be of type double
.
The values are popped from the operand stack. The double
result is value1
+ value2. The result is pushed onto the operand stack.
The result of a dadd instruction is governed by the rules of IEEE arithmetic:
double
, we say the operation
overflows; the result is then an infinity of appropriate sign. If the magnitude is too
small to represent as a double
, we say the operation underflows; the result
is then a zero of appropriate sign.The Java Virtual Machine requires support of gradual underflow as defined by IEEE 754. Despite the fact that overflow, underflow, or loss of precision may occur, execution of a dadd instruction never throws a runtime exception.