From 89c1feb0a69a7707b271086e749975b3f7acacf7 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Wed, 17 Dec 2008 18:03:55 -0800 Subject: Code drop from //branches/cupcake/...@124589 --- docs/opcodes/opcode-00-nop.html | 59 ++++++++ docs/opcodes/opcode-01-move.html | 92 ++++++++++++ docs/opcodes/opcode-04-move-wide.html | 106 +++++++++++++ docs/opcodes/opcode-07-move-object.html | 90 +++++++++++ docs/opcodes/opcode-0a-move-result.html | 96 ++++++++++++ docs/opcodes/opcode-0b-move-result-wide.html | 101 +++++++++++++ docs/opcodes/opcode-0c-move-result-object.html | 97 ++++++++++++ docs/opcodes/opcode-0d-move-exception.html | 79 ++++++++++ docs/opcodes/opcode-0e-return-void.html | 84 +++++++++++ docs/opcodes/opcode-0f-return.html | 100 +++++++++++++ docs/opcodes/opcode-10-return-wide.html | 99 ++++++++++++ docs/opcodes/opcode-11-return-object.html | 96 ++++++++++++ docs/opcodes/opcode-12-const.html | 102 +++++++++++++ docs/opcodes/opcode-16-const-wide.html | 110 ++++++++++++++ docs/opcodes/opcode-1a-const-string.html | 85 +++++++++++ docs/opcodes/opcode-1b-const-class.html | 92 ++++++++++++ docs/opcodes/opcode-1d-monitor-enter.html | 93 ++++++++++++ docs/opcodes/opcode-1e-monitor-exit.html | 101 +++++++++++++ docs/opcodes/opcode-1f-check-cast.html | 95 ++++++++++++ docs/opcodes/opcode-20-instance-of.html | 100 +++++++++++++ docs/opcodes/opcode-21-array-length.html | 78 ++++++++++ docs/opcodes/opcode-22-new-instance.html | 95 ++++++++++++ docs/opcodes/opcode-23-new-array.html | 108 ++++++++++++++ docs/opcodes/opcode-24-filled-new-array.html | 144 ++++++++++++++++++ docs/opcodes/opcode-25-filled-new-array-range.html | 125 ++++++++++++++++ docs/opcodes/opcode-26-fill-array-data.html | 96 ++++++++++++ docs/opcodes/opcode-27-throw.html | 80 ++++++++++ docs/opcodes/opcode-28-goto.html | 73 +++++++++ docs/opcodes/opcode-29-goto-16.html | 73 +++++++++ docs/opcodes/opcode-2a-goto-32.html | 66 ++++++++ docs/opcodes/opcode-2b-packed-switch.html | 103 +++++++++++++ docs/opcodes/opcode-2c-sparse-switch.html | 110 ++++++++++++++ docs/opcodes/opcode-2d-cmp-kind.html | 121 +++++++++++++++ docs/opcodes/opcode-32-if-test.html | 101 +++++++++++++ docs/opcodes/opcode-38-if-testz.html | 100 +++++++++++++ docs/opcodes/opcode-44-aget.html | 113 ++++++++++++++ docs/opcodes/opcode-4b-aput.html | 98 ++++++++++++ docs/opcodes/opcode-52-iget.html | 109 ++++++++++++++ docs/opcodes/opcode-59-iput.html | 112 ++++++++++++++ docs/opcodes/opcode-60-sget.html | 106 +++++++++++++ docs/opcodes/opcode-67-sput.html | 108 ++++++++++++++ docs/opcodes/opcode-7b-unop.html | 108 ++++++++++++++ docs/opcodes/opcode-90-binop.html | 120 +++++++++++++++ docs/opcodes/opcode-b0-binop-2addr.html | 120 +++++++++++++++ docs/opcodes/opcode-d0-binop-lit16.html | 94 ++++++++++++ docs/opcodes/opcode-d8-binop-lit8.html | 97 ++++++++++++ docs/opcodes/opcode.css | 166 +++++++++++++++++++++ 47 files changed, 4701 insertions(+) create mode 100644 docs/opcodes/opcode-00-nop.html create mode 100644 docs/opcodes/opcode-01-move.html create mode 100644 docs/opcodes/opcode-04-move-wide.html create mode 100644 docs/opcodes/opcode-07-move-object.html create mode 100644 docs/opcodes/opcode-0a-move-result.html create mode 100644 docs/opcodes/opcode-0b-move-result-wide.html create mode 100644 docs/opcodes/opcode-0c-move-result-object.html create mode 100644 docs/opcodes/opcode-0d-move-exception.html create mode 100644 docs/opcodes/opcode-0e-return-void.html create mode 100644 docs/opcodes/opcode-0f-return.html create mode 100644 docs/opcodes/opcode-10-return-wide.html create mode 100644 docs/opcodes/opcode-11-return-object.html create mode 100644 docs/opcodes/opcode-12-const.html create mode 100644 docs/opcodes/opcode-16-const-wide.html create mode 100644 docs/opcodes/opcode-1a-const-string.html create mode 100644 docs/opcodes/opcode-1b-const-class.html create mode 100644 docs/opcodes/opcode-1d-monitor-enter.html create mode 100644 docs/opcodes/opcode-1e-monitor-exit.html create mode 100644 docs/opcodes/opcode-1f-check-cast.html create mode 100644 docs/opcodes/opcode-20-instance-of.html create mode 100644 docs/opcodes/opcode-21-array-length.html create mode 100644 docs/opcodes/opcode-22-new-instance.html create mode 100644 docs/opcodes/opcode-23-new-array.html create mode 100644 docs/opcodes/opcode-24-filled-new-array.html create mode 100644 docs/opcodes/opcode-25-filled-new-array-range.html create mode 100644 docs/opcodes/opcode-26-fill-array-data.html create mode 100644 docs/opcodes/opcode-27-throw.html create mode 100644 docs/opcodes/opcode-28-goto.html create mode 100644 docs/opcodes/opcode-29-goto-16.html create mode 100644 docs/opcodes/opcode-2a-goto-32.html create mode 100644 docs/opcodes/opcode-2b-packed-switch.html create mode 100644 docs/opcodes/opcode-2c-sparse-switch.html create mode 100644 docs/opcodes/opcode-2d-cmp-kind.html create mode 100644 docs/opcodes/opcode-32-if-test.html create mode 100644 docs/opcodes/opcode-38-if-testz.html create mode 100644 docs/opcodes/opcode-44-aget.html create mode 100644 docs/opcodes/opcode-4b-aput.html create mode 100644 docs/opcodes/opcode-52-iget.html create mode 100644 docs/opcodes/opcode-59-iput.html create mode 100644 docs/opcodes/opcode-60-sget.html create mode 100644 docs/opcodes/opcode-67-sput.html create mode 100644 docs/opcodes/opcode-7b-unop.html create mode 100644 docs/opcodes/opcode-90-binop.html create mode 100644 docs/opcodes/opcode-b0-binop-2addr.html create mode 100644 docs/opcodes/opcode-d0-binop-lit16.html create mode 100644 docs/opcodes/opcode-d8-binop-lit8.html create mode 100644 docs/opcodes/opcode.css (limited to 'docs/opcodes') diff --git a/docs/opcodes/opcode-00-nop.html b/docs/opcodes/opcode-00-nop.html new file mode 100644 index 000000000..726f560ae --- /dev/null +++ b/docs/opcodes/opcode-00-nop.html @@ -0,0 +1,59 @@ + + + + + +nop + + + + + +

nop

+ +

Purpose

+ +

+Waste cycles. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
00 10xnop 
+ +

Constraints

+ +

+None. +

+ +

Behavior

+ +

+No externally observable effects, that is, all registers and object state(s) +stay the same. The program counter silently advances to the next instruction. +

+ +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-01-move.html b/docs/opcodes/opcode-01-move.html new file mode 100644 index 000000000..13c11502e --- /dev/null +++ b/docs/opcodes/opcode-01-move.html @@ -0,0 +1,92 @@ + + + + + +move + + + + + +

move

+ +

Purpose

+ +

+Move the contents of one non-object register to another. +

+ +

Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
01 12xmove vA, vBA: destination register (4 bits)
+ B: source register (4 bits)
02 22xmove/from16 vAA, vBBBBA: destination register (8 bits)
+ B: source register (16 bits)
03 32xmove/16 vAAAA, vBBBBA: destination register (16 bits)
+ B: source register (16 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-04-move-wide.html b/docs/opcodes/opcode-04-move-wide.html new file mode 100644 index 000000000..42202be39 --- /dev/null +++ b/docs/opcodes/opcode-04-move-wide.html @@ -0,0 +1,106 @@ + + + + + +move-wide + + + + + +

move

+ +

Purpose

+ +

+Move the contents of one register-pair to another. +

+

+Note: It is legal to move from vN to either vN-1 or vN+1, so implementations +must arrange for both halves of a register pair to be read before anything is +written. +

+ +

Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
04 12xmove-wide vA, vBA: destination register pair (4 bits)
+ B: source register pair (4 bits)
05 22xmove-wide/from16 vAA, vBBBBA: destination register pair (8 bits)
+ B: source register pair (16 bits)
06 32xmove-wide/16 vAAAA, vBBBBA: destination register pair (16 bits)
+ B: source register pair (16 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-07-move-object.html b/docs/opcodes/opcode-07-move-object.html new file mode 100644 index 000000000..e62750dc7 --- /dev/null +++ b/docs/opcodes/opcode-07-move-object.html @@ -0,0 +1,90 @@ + + + + + +move-object + + + + + +

move-object

+ +

Purpose

+ +

+Move the contents of one object-bearing register to another. +

+ +

Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
07 12xmove-object vA, vBA: destination register (4 bits)
+ B: source register (4 bits)
08 22xmove-object/from16 vAA, vBBBBA: destination register (8 bits)
+ B: source register (16 bits)
09 32xmove-object/16 vAAAA, vBBBBA: destination register (16 bits)
+ B: source register (16 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-0a-move-result.html b/docs/opcodes/opcode-0a-move-result.html new file mode 100644 index 000000000..f043d1373 --- /dev/null +++ b/docs/opcodes/opcode-0a-move-result.html @@ -0,0 +1,96 @@ + + + + + +move-result + + + + + +

move-result

+ +

Purpose

+ +

+Move the single-word non-object result of the most recent invoke-kind into the +indicated register. This must be done as the instruction immediately after an +invoke-kind whose (single-word, non-object) result is not to be ignored; +anywhere else is invalid. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
0a 11xmove-result vAAA: destination register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ +

Notes

+ +

+This instruction can also be thought of as reading the contents of a special +"result" register that is made valid and defined by executing a non-void return +instruction or a filled-new-array instruction. The execution of any other +instruction (including this one) renders this special register invalid. +

+ + + diff --git a/docs/opcodes/opcode-0b-move-result-wide.html b/docs/opcodes/opcode-0b-move-result-wide.html new file mode 100644 index 000000000..c3e57793e --- /dev/null +++ b/docs/opcodes/opcode-0b-move-result-wide.html @@ -0,0 +1,101 @@ + + + + + +move-result-wide + + + + + +

move-result-wide

+ +

Purpose

+ +

+Move the double-word result of the most recent invoke-kind into the indicated +register pair. This must be done as the instruction immediately after an +invoke-kind whose (double-word) result is not to be ignored; anywhere else is +invalid. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
0b 11xmove-result-wide vAAA: destination register pair (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ +

Notes

+ +

+This instruction can also be thought of as reading the contents of a special +"result" register that is made valid and defined by executing a non-void return +instruction or a filled-new-array instruction. The execution of any other +instruction (including this one) renders this special register invalid. +

+ + + diff --git a/docs/opcodes/opcode-0c-move-result-object.html b/docs/opcodes/opcode-0c-move-result-object.html new file mode 100644 index 000000000..f065fed2e --- /dev/null +++ b/docs/opcodes/opcode-0c-move-result-object.html @@ -0,0 +1,97 @@ + + + + + +move-result-object + + + + + +

move-result-object

+ +

Purpose

+ +

+Move the object result of the most recent invoke-kind into the indicated +register. This must be done as the instruction immediately after an invoke-kind +or filled-new-array whose (object) result is not to be ignored; anywhere else +is invalid. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
0c 11xmove-result-object vAAA: destination register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ +

Notes

+ +

+This instruction can also be thought of as reading the contents of a special +"result" register that is made valid and defined by executing a non-void return +instruction or a filled-new-array instruction. The execution of any other +instruction (including this one) renders this special register invalid. +

+ + + diff --git a/docs/opcodes/opcode-0d-move-exception.html b/docs/opcodes/opcode-0d-move-exception.html new file mode 100644 index 000000000..3c3bc83d1 --- /dev/null +++ b/docs/opcodes/opcode-0d-move-exception.html @@ -0,0 +1,79 @@ + + + + + +move-exception + + + + + +

move-exception

+ +

Purpose

+ +

+Save a just-caught exception into the given register. This should be the first +instruction of any exception handler whose caught exception is not to be +ignored, and this instruction may only ever occur as the first instruction of an +exception handler; anywhere else is invalid. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
0d 11xmove-exception vAAA: destination register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-0e-return-void.html b/docs/opcodes/opcode-0e-return-void.html new file mode 100644 index 000000000..7a9431e3e --- /dev/null +++ b/docs/opcodes/opcode-0e-return-void.html @@ -0,0 +1,84 @@ + + + + + +return-void + + + + + +

return-void

+ +

Purpose

+ +

+Return from a void method. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
0e 10xreturn-void 
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-0f-return.html b/docs/opcodes/opcode-0f-return.html new file mode 100644 index 000000000..33e0b7c2e --- /dev/null +++ b/docs/opcodes/opcode-0f-return.html @@ -0,0 +1,100 @@ + + + + + +return + + + + + +

return

+ +

Purpose

+ +

+Return from a single-width (32-bit) non-object value-returning method. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
0f 11xreturn vAAA: return value register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-10-return-wide.html b/docs/opcodes/opcode-10-return-wide.html new file mode 100644 index 000000000..f1a6b83c7 --- /dev/null +++ b/docs/opcodes/opcode-10-return-wide.html @@ -0,0 +1,99 @@ + + + + + +return-wide + + + + + +

return-wide

+ +

Purpose

+ +

+Return from a double-width (64-bit) value-returning method. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
10 11xreturn-wide vAAA: return value register-pair (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-11-return-object.html b/docs/opcodes/opcode-11-return-object.html new file mode 100644 index 000000000..369233ca8 --- /dev/null +++ b/docs/opcodes/opcode-11-return-object.html @@ -0,0 +1,96 @@ + + + + + +return-object + + + + + +

return-object

+ +

Purpose

+ +

+Return from an object-returning method. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
11 11xreturn-object vAAA: return value register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-12-const.html b/docs/opcodes/opcode-12-const.html new file mode 100644 index 000000000..b2d894fe3 --- /dev/null +++ b/docs/opcodes/opcode-12-const.html @@ -0,0 +1,102 @@ + + + + + +const + + + + + +

const

+ +

Purpose

+ +

+Move the given literal value (sign-extended to 32 bits, if necessary) into the +specified register. +

+ +

Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
12 11nconst/4 vA, #+BA: destination register (4 bits)
+ B: signed int (4 bits)
13 21sconst/16 vAA, #+BBBBA: destination register (8 bits)
+ B: signed int (16 bits)
14 31iconst vAA, #+BBBBBBBBA: destination register (8 bits)
+ B: arbitrary 32-bit constant
15 21hconst/high16 vAA, #+BBBB0000A: destination register (8 bits)
+ B: signed int (16 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-16-const-wide.html b/docs/opcodes/opcode-16-const-wide.html new file mode 100644 index 000000000..ac92b04cd --- /dev/null +++ b/docs/opcodes/opcode-16-const-wide.html @@ -0,0 +1,110 @@ + + + + + +const-wide + + + + + +

const-wide

+ +

Purpose

+ +

+Move the given literal value (sign-extended to 64 bits) into the specified +register-pair. +

+ +

Details

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
16 21sconst-wide/16 vAA, #+BBBBA: destination register (8 bits)
+ B: signed int (16 bits)
17 31iconst-wide/32 vAA, #+BBBBBBBBA: destination register (8 bits)
+ B: signed int (32 bits)
18 51lconst-wide vAA, #+BBBBBBBBBBBBBBBBA: destination register (8 bits)
+ B: arbitrary double-width (64-bit) constant
19 21hconst-wide/high16 vAA, #+BBBB000000000000A: destination register (8 bits)
+ B: signed int (16 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-1a-const-string.html b/docs/opcodes/opcode-1a-const-string.html new file mode 100644 index 000000000..bd89b70c6 --- /dev/null +++ b/docs/opcodes/opcode-1a-const-string.html @@ -0,0 +1,85 @@ + + + + + +const-string + + + + + +

const-string

+ +

Purpose

+ +

+Move a reference to the string specified by the given index into the specified +register. +

+ +

Details

+ + + + + + + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
1a 21cconst-string vAA, string@BBBBA: destination register (8 bits)
+ B: string index
1b 31cconst-string/jumbo vAA, string@BBBBBBBBA: destination register (8 bits)
+ B: string index
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ +

+None. +

+ + + diff --git a/docs/opcodes/opcode-1b-const-class.html b/docs/opcodes/opcode-1b-const-class.html new file mode 100644 index 000000000..7a33e771b --- /dev/null +++ b/docs/opcodes/opcode-1b-const-class.html @@ -0,0 +1,92 @@ + + + + + +const-class + + + + + +

const-class

+ +

Purpose

+ +

+Move a reference to the class specified by the given index into the specified +register. In the case where the indicated type is primitive, this will store a +reference to the primitive type's degenerate class. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
1c 21cconst-class vAA, type@BBBBA: destination register (8 bits)
+ B: type index
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ + + + + diff --git a/docs/opcodes/opcode-1d-monitor-enter.html b/docs/opcodes/opcode-1d-monitor-enter.html new file mode 100644 index 000000000..cecc939a1 --- /dev/null +++ b/docs/opcodes/opcode-1d-monitor-enter.html @@ -0,0 +1,93 @@ + + + + + +monitor-enter + + + + + +

monitor-enter

+ +

Purpose

+ +

+Acquire the monitor for the indicated object. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
1d 11xmonitor-enter vAAA: reference-bearing register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ + + + + diff --git a/docs/opcodes/opcode-1e-monitor-exit.html b/docs/opcodes/opcode-1e-monitor-exit.html new file mode 100644 index 000000000..bee711d1d --- /dev/null +++ b/docs/opcodes/opcode-1e-monitor-exit.html @@ -0,0 +1,101 @@ + + + + + +monitor-exit + + + + + +

monitor-exit

+ +

Purpose

+ +

+Release the monitor for the indicated object. +

+

+Note: If this instruction needs to throw an exception, it must do so as if the +pc has already advanced past the instruction. It may be useful to think of this +as the instruction successfully executing (in a sense), and the exception +getting thrown after the instruction but before the next one gets a chance to +run. This definition makes it possible for a method to use a monitor cleanup +catch-all (e.g., finally) block as the monitor cleanup for that block itself, +as a way to handle the arbitrary exceptions that might get thrown due to the +historical implementation of Thread.stop(), while still managing to have proper +monitor hygiene. +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
1e 11xmonitor-exit vAAA: reference-bearing register (8 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ + + + + diff --git a/docs/opcodes/opcode-1f-check-cast.html b/docs/opcodes/opcode-1f-check-cast.html new file mode 100644 index 000000000..6325ca47b --- /dev/null +++ b/docs/opcodes/opcode-1f-check-cast.html @@ -0,0 +1,95 @@ + + + + + +check-cast + + + + + +

check-cast

+ +

Purpose

+ +

+Throw if the reference in the given register cannot be cast to the indicated +type. The type must be a reference type (not a primitive type). +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
1f 21ccheck-cast vAA, type@BBBBA: reference-bearing register (8 bits)
+ B: type index (16 bits)
+ +

Constraints

+ + + +

Behavior

+ + + +

Exceptions

+ + + + + diff --git a/docs/opcodes/opcode-20-instance-of.html b/docs/opcodes/opcode-20-instance-of.html new file mode 100644 index 000000000..5dbfef7c6 --- /dev/null +++ b/docs/opcodes/opcode-20-instance-of.html @@ -0,0 +1,100 @@ + + + + + +instance-of + + + + + +

instance-of

+ +

Purpose

+ +

+Store in the given destination register 1 if the indicated reference is an +instance of the given type, or 0 if not. The type must be a reference type (not +a primitive type). +

+ +

Details

+ + + + + + + + + + + + + + + + +
Op & FormatMnemonic / SyntaxArguments
20 22cinstance-of vA, vB, type@CCCCA: destination register (4 bits)
+ B: reference-bearing register (4 bits)
+ C: type index (16 bits)
+ +

Constraints

+ + + +

Behavior

+ +