Inline methods



      append_char      is_white_space      monitor_enter      monitor_exit
      string_concat_2      string_concat_3      string_concat_4      string_eq
      string_get_char      string_ne      type_from_handle 


 append_char 
  ·  OperationAppend a character to a string builder
  ·  Format
prefix
append_char
method
  ·  Direct Format
{append_char}
method
  ·  Forms append_char = 255, 87 (0xFF, 0x57)
  ·  Stack..., builder, ch => ..., builder
   · Description The builder and ch are popped from the stack as the types ptr and int32 respectively. The character ch is appended to the end of the string builder indicated by builder. The builder is then pushed back onto the stack.
   · Notes This instruction is used to inline calls to the StringBuilder.Append(char) method. The method argument must be a pointer to this method, because the interpreter will "bail out" to the C# class library if the append is too difficult to perform (e.g. the string must be reallocated).
   · Exceptions System.NullReferenceException -- Raised if builder is null.


 is_white_space 
  ·  OperationDetermine if a character is white space
  ·  Format
prefix
is_white_space
  ·  Direct Format
{is_white_space}
  ·  Forms is_white_space = 255, 88 (0xFF, 0x58)
  ·  Stack..., ch => ..., result
   · Description The ch is popped from the stack as the type int32. If it is a white space character, then the int32 result 1 is pushed onto the stack; otherwise 0 is pushed.
   · Notes This instruction is used to inline calls to the Char.IsWhiteSpace(char) method, which is used heavily in text processing code.


 monitor_enter 
  ·  OperationEnter a monitor on an object
  ·  Format
prefix
monitor_enter
  ·  Direct Format
{monitor_enter}
  ·  Forms monitor_enter = 255, 85 (0xFF, 0x55)
  ·  Stack..., object => ...
   · Description The object is popped from the stack as the type ptr. The current thread is made to enter the synchronisation monitor on object. Execution continues once the monitor has been acquired.
   · Notes This instruction is used to inline calls to the Monitor.Enter(Object) method.


 monitor_exit 
  ·  OperationExit a monitor on an object
  ·  Format
prefix
monitor_exit
  ·  Direct Format
{monitor_exit}
  ·  Forms monitor_exit = 255, 86 (0xFF, 0x56)
  ·  Stack..., object => ...
   · Description The object is popped from the stack as the type ptr. The current thread is made to exit the synchronisation monitor on object. Execution continues once the monitor has been released.
   · Notes This instruction is used to inline calls to the Monitor.Exit(Object) method.


 string_concat_2 
  ·  OperationConcatenate two strings
  ·  Format
prefix
string_concat_2
  ·  Direct Format
{string_concat_2}
  ·  Forms string_concat_2 = 255, 78 (0xFF, 0x4E)
  ·  Stack..., value1, value2 => ..., result
   · Description Both value1 and value2 are popped from the stack as type string. The result is the string that results from concatenating value1 and value2. The result is pushed onto the stack.
   · Notes This instruction is used to inline calls to the String.Concat(String, String) method.


 string_concat_3 
  ·  OperationConcatenate three strings
  ·  Format
prefix
string_concat_3
  ·  Direct Format
{string_concat_3}
  ·  Forms string_concat_3 = 255, 79 (0xFF, 0x4F)
  ·  Stack..., value1, value2, value3 => ..., result
   · Description The values value1, value2, and value3 are popped from the stack as type string. The result is the string that results from concatenating value1, value2, and value3. The result is pushed onto the stack.
   · Notes This instruction is used to inline calls to the String.Concat(String, String, String) method.


 string_concat_4 
  ·  OperationConcatenate four strings
  ·  Format
prefix
string_concat_4
  ·  Direct Format
{string_concat_4}
  ·  Forms string_concat_4 = 255, 80 (0xFF, 0x50)
  ·  Stack..., value1, value2, value3, value4 => ..., result
   · Description The values value1, value2, value3, and value4 are popped from the stack as type string. The result is the string that results from concatenating value1, value2, value3, and value4. The result is pushed onto the stack.
   · Notes This instruction is used to inline calls to the String.Concat(String, String, String, String) method.


 string_eq 
  ·  OperationTest two strings for equality
  ·  Format
prefix
string_eq
  ·  Direct Format
{string_eq}
  ·  Forms string_eq = 255, 81 (0xFF, 0x51)
  ·  Stack..., value1, value2 => ..., result
   · Description Both value1 and value2 are popped from the stack as type string. The result is the int32 that results from comparing value1 and value2: 1 if they are equal, and 0 if they are not equal. The result is pushed onto the stack.
   · Notes This instruction is used to inline calls to the String.op_Equality(String, String) method.


 string_get_char 
  ·  OperationGet a particular character from a string
  ·  Format
prefix
string_get_char
  ·  Direct Format
{string_get_char}
  ·  Forms string_get_char = 255, 83 (0xFF, 0x53)
  ·  Stack..., value1, value2 => ..., result
   · Description Both value1 and value2 are popped from the stack as the types string and int32 respectively. The result is the int32 that results from fetching the character at position value2 within the string value1. System.IndexOutOfRangeException will be thrown if value2 is an invalid index.
   · Notes This instruction is used to inline calls to the String.get_Chars(int) method.
   · Exceptions System.NullReferenceException -- Raised if value1 is null.
System.IndexOutOfRangeException -- Raised if value2 is not a valid character index for the string value1.


 string_ne 
  ·  OperationTest two strings for inequality
  ·  Format
prefix
string_ne
  ·  Direct Format
{string_ne}
  ·  Forms string_ne = 255, 82 (0xFF, 0x52)
  ·  Stack..., value1, value2 => ..., result
   · Description Both value1 and value2 are popped from the stack as type string. The result is the int32 that results from comparing value1 and value2: 1 if they are not equal, and 0 if they are equal. The result is pushed onto the stack.
   · Notes This instruction is used to inline calls to the String.op_Inequality(String, String) method.


 type_from_handle 
  ·  OperationGet a type object from its runtime handle
  ·  Format
prefix
type_from_handle
  ·  Direct Format
{type_from_handle}
  ·  Forms type_from_handle = 255, 84 (0xFF, 0x54)
  ·  Stack..., handle => ..., object
   · Description The handle is popped from the stack as the type ptr. It is interpreted as an instance of the value type System.RuntimeTypeHandle. The handle is converted into an object instance of the reference type System.Type. The object is pushed onto the stack.
   · Notes This instruction is used to inline calls to the Type.GetTypeFromHandle(RuntimeTypeHandle) method.


Copyright © Southern Storm Software Pty Ltd 2002
Licensed under GNU FDL