harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Jitrino OPT/opcodes" by Mikhail Fursov
Date Wed, 04 Jun 2008 07:01:22 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by Mikhail Fursov:
http://wiki.apache.org/harmony/Jitrino_OPT/opcodes

------------------------------------------------------------------------------
   * [:Jitrino_OPT/opcodes/TauDiv: Op_TauDiv] - Divides ''src1'' by ''src2'' and stores the
results to ''dst''. Uses ''tau'' operand to ensure that that 0/overflow cases were checked
before. Modifiers: SignedModifier
   * [:Jitrino_OPT/opcodes/TauRem: Op_TauRem] - Computes residue of division of ''src1'' by
''src2'' and stores the results to ''dst''. Uses ''tau'' operand to ensure that that 0/overflow
cases were checked before. Modifiers: SignedModifier
   * [:Jitrino_OPT/opcodes/Neg: Op_Neg] - Negates the ''src1'' operands and stores the result
to ''dst''. Modifiers: SignedModifier
-  * [:Jitrino_OPT/opcodes/MulHi: Op_MulHi] - Gets high part of multiply. TODO: remove as
unused
+  * [:Jitrino_OPT/opcodes/MulHi: Op_MulHi] - Gets high part of multiply. 
   * [:Jitrino_OPT/opcodes/Min: Op_Min] - Compares ''src1'' and ''src2'' and stores minimal
value to ''dst''. Modifiers: none
   * [:Jitrino_OPT/opcodes/Max: Op_Max] - Compares ''src1'' and ''src2'' and stores maximal
value to ''dst''. Modifiers: none
   * [:Jitrino_OPT/opcodes/Abs: Op_Abs] - Stores absolute value of ''src1'' to ''dst''. Modifiers:
none
@@ -19, +19 @@

   * [:Jitrino_OPT/opcodes/Xor: Op_Xor] - A bitwise XOR takes ''src1'' and ''src2'' operands
of equal size and performs the logical XOR operation on each pair of corresponding bits storing
the result to ''dst''. In each pair, the result is 1 if the two bits are different, and 0
if they are the same. Modifiers: none
   * [:Jitrino_OPT/opcodes/Not: Op_Not] - A bitwise NOT takes ''src1'' and performs the logical
NOT operation storing the result to ''dst''. For each bit that was 0 the result is 1. For
each bit that was 1 the results is 0. Modifiers: none
  ==== Selection: ====
-  * [:Jitrino_OPT/opcodes/Select: Op_Select] -  Selects a value: (''src1'' ? ''src2'' : ''src3'').
TODO: remove as unused
+  * [:Jitrino_OPT/opcodes/Select: Op_Select] -  Selects a value: (''src1'' ? ''src2'' : ''src3'').

  ==== Conversion: ====
   * [:Jitrino_OPT/opcodes/Conv: Op_Conv] - Converts ''src1'' to ''dst'' using ''type'' information
provided as a parameter. Must not be used for conversion of managed pointers to Unmanaged
Pointers and via versa. Modifiers: OverflowModifier, ExceptionModifier
   * [:Jitrino_OPT/opcodes/ConvZE: Op_ConvZE] -  Converts ''src1'' to ''dst'' using ''type''
information provided as a parameter. If the size of ''dst'' of greater that the size of ''src1''
all extra bits are filled with 0. Must not be used for conversion of managed pointers to Unmanaged
Pointers and via versa. Modifiers: OverflowModifier, ExceptionModifier
@@ -50, +50 @@

   * [:Jitrino_OPT/opcodes/PseudoThrow: Op_PseudoThrow] - A pseudo instruction to break infinte
loops. Modifiers: ExceptionModifier
   * [:Jitrino_OPT/opcodes/ThrowSystemException: Op_ThrowSystemException] -  A throw with
a predefined object thrown. Takes a CompilationInterface::SystemExceptionId parameter. Modifiers:
ThrowModifier
   * [:Jitrino_OPT/opcodes/ThrowLinkingException: Op_ThrowLinkingException] -  A throw with
a predefined object thrown. Generate a call to Helper_Throw_LinkingException. Modifiers: ThrowModifier
-  * [:Jitrino_OPT/opcodes/Leave: Op_Leave] - unused op. TODO: remove it
-  * [:Jitrino_OPT/opcodes/EndFinally: Op_EndFinally] - unused op. TODO: remove it
  
-  * [:Jitrino_OPT/opcodes/EndFilter: Op_EndFilter] - unused op. TODO: remove it
-  * [:Jitrino_OPT/opcodes/EndCatch: Op_EndCatch] - unused op. TODO: remove it
   * [:Jitrino_OPT/opcodes/JSR: Op_JSR] - An unconditional branch to a subroutine. Modifiers:
none.
   * [:Jitrino_OPT/opcodes/Ret: Op_Ret] - A return from a subroutine called with Op_JSR instruction.
Modifiers: none.
   * [:Jitrino_OPT/opcodes/SaveRet: Op_SaveRet] - Prepares an operand for saving result of
subroutine. Modifiers: none.
@@ -137, +133 @@

   * [:Jitrino_OPT/opcodes/Label: Op_Label] -  A special label instructions for branch labels,
finally, catch blocks. Every node in HIR must start with this instruction.
   * [:Jitrino_OPT/opcodes/MethodEntry: Op_MethodEntry] -  Method entry label. Used to mark
inlined methods boundaries.
   * [:Jitrino_OPT/opcodes/MethodEnd: Op_MethodEnd] -  Method end label. Used to mark inlined
methods boundaries.
-  * [:Jitrino_OPT/opcodes/SourceLineNumber: Op_SourceLineNumber] -  Changes to source position.
TODO: unused, remove this opcode.
              
- === Memory instructions: ===
-  * [:Jitrino_OPT/opcodes/InitBlock: Op_InitBlock] -  Memset. TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/CopyBlock: Op_CopyBlock] -  Memcopy. TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/Alloca: Op_Alloca] -  Allocates memory from the stack, not verifiable.
TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/ArgList: Op_ArgList] -  Can be used for implementing varargs; use
is private to CLI System.ArgIterator. TODO: remove as unused.
- 
  === Profile instrumentation instructions: ===
   * [:Jitrino_OPT/opcodes/IncCounter: Op_IncCounter] -  Increment edge profile profile counter
by 1. The counter's ''key'' provided as an argument is used to derive the address of a counter.
If the ''key'' == 0, entry counter address is used.
   * [:Jitrino_OPT/opcodes/Prefetch: Op_Prefetch] - Prefetches a given memory location.
@@ -154, +143 @@

   * [:Jitrino_OPT/opcodes/CompressRef: Op_CompressRef] -  Performs compress operation, which
is reverse operation for Op_UncompressRef.
  
   * [:Jitrino_OPT/opcodes/LdFieldOffset: Op_LdFieldOffset] -  Loads field offset from the
start of the object.
-  * [:Jitrino_OPT/opcodes/LdFieldOffsetPlusHeapbase: Op_LdFieldOffsetPlusHeapbase] -  Loads
field offset and adds heapbase to it. TODO: remove as unused.
+  * [:Jitrino_OPT/opcodes/LdFieldOffsetPlusHeapbase: Op_LdFieldOffsetPlusHeapbase] -  Loads
field offset and adds heapbase to it. 
-  * [:Jitrino_OPT/opcodes/LdArrayBaseOffset: Op_LdArrayBaseOffset] -  Loads the offset of
array base. TODO: remove as unused.
+  * [:Jitrino_OPT/opcodes/LdArrayBaseOffset: Op_LdArrayBaseOffset] -  Loads the offset of
array base. 
-  * [:Jitrino_OPT/opcodes/LdArrayBaseOffsetPlusHeapbase: Op_LdArrayBaseOffsetPlusHeapbase]
-  Offset of array base plus heap base. TODO: remove as unused.
+  * [:Jitrino_OPT/opcodes/LdArrayBaseOffsetPlusHeapbase: Op_LdArrayBaseOffsetPlusHeapbase]
-  Offset of array base plus heap base. 
-  * [:Jitrino_OPT/opcodes/LdArrayLenOffset: Op_LdArrayLenOffset] -  Returns offset of array
length field. TODO: remove as unused.
+  * [:Jitrino_OPT/opcodes/LdArrayLenOffset: Op_LdArrayLenOffset] -  Returns offset of array
length field. 
-  * [:Jitrino_OPT/opcodes/LdArrayLenOffsetPlusHeapbase: Op_LdArrayLenOffsetPlusHeapbase]
-  Returns offset of array length field plus heap base. TODO: remove as unused.
+  * [:Jitrino_OPT/opcodes/LdArrayLenOffsetPlusHeapbase: Op_LdArrayLenOffsetPlusHeapbase]
-  Returns offset of array length field plus heap base. 
  
   * [:Jitrino_OPT/opcodes/AddOffset: Op_AddOffset] -  Adds offset to uncompressed reference.
   * [:Jitrino_OPT/opcodes/AddOffsetPlusHeapbase: Op_AddOffsetPlusHeapbase] -  Uncompresses
compressed reference and adds field offsets to result.
@@ -167, +156 @@

   * [:Jitrino_OPT/opcodes/Phi: Op_Phi] -  A merge point for variables.
   * [:Jitrino_OPT/opcodes/TauPi: Op_TauPi] -  Leverage split based on condition.
  
- 
- === Instructions for manipulating value objects in CLI: ===
- 
-  * [:Jitrino_OPT/opcodes/LdObj: Op_LdObj] -  Loads a value type to the stack. TODO: remove
as unused.
-  * [:Jitrino_OPT/opcodes/StObj: Op_StObj] -  Stores a value type from the stack. TODO: remove
as unused.
-  * [:Jitrino_OPT/opcodes/CopyObj: Op_CopyObj] - Copies a value type. TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/InitObj: Op_InitObj] -  Initialize a value type. TODO: remove as
unused.
-  * [:Jitrino_OPT/opcodes/Sizeof: Op_Sizeof] -  Pushes the size of a value type as a U4.
TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/Box: Op_Box] - TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/Unbox: Op_Unbox] - TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/LdToken: Op_LdToken]  - Pushes a RuntimeMethodHandle, RuntimeTypeHandle,
or RuntimeFieldHandle for 
-  passing to the Reflection methods in the system class library. TODO: remove as unused.
- 
- 
- === Instruction for manipulating typed references: ===
- 
-  * [:Jitrino_OPT/opcodes/MkRefAny: Op_MkRefAny] - Transforms a pointer to a typed reference.
TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/RefAnyVal: Op_RefAnyVal] - TODO: remove as unused.
-  * [:Jitrino_OPT/opcodes/RefAnyType: Op_RefAnyType] - TODO: remove as unused.
- 

Mime
View raw message