Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save bdunderscore/6a219ba829592e582ca572b3d834d494 to your computer and use it in GitHub Desktop.
Save bdunderscore/6a219ba829592e582ca572b3d834d494 to your computer and use it in GitHub Desktop.
.data_start
__refl_const_intnl_udonTypeID: %SystemInt64, null
__refl_const_intnl_udonTypeName: %SystemString, null
a: %SystemInt32, null
b: %SystemInt32, null
c: %SystemInt32, null
text: %SystemString, null
__0_const_intnl_SystemInt32: %SystemInt32, null
__1_const_intnl_SystemInt32: %SystemInt32, null
__2_const_intnl_SystemInt32: %SystemInt32, null
__0_const_intnl_SystemString: %SystemString, null
__0_const_intnl_SystemUInt32: %SystemUInt32, null
__0_intnl_SystemBoolean: %SystemBoolean, null
__0_intnl_SystemChar: %SystemChar, null
__1_intnl_SystemChar: %SystemChar, null
__0_intnl_SystemInt32: %SystemInt32, null
__0_intnl_SystemString: %SystemString, null
__0_intnl_returnTarget_UInt32: %SystemUInt32, null
.data_end
# using UdonSharp;
# using UnityEngine;
# using VRC.SDKBase;
# using VRC.Udon;
# public class GameObject1 : UdonSharpBehaviour
.code_start
# int a, b, c;
# string text;
# void Start()
.export _start
_start:
PUSH, __0_const_intnl_SystemUInt32
# {
# a = 1;
PUSH, __0_const_intnl_SystemInt32
PUSH, a
COPY
# b = 2;
PUSH, __1_const_intnl_SystemInt32
PUSH, b
COPY
# c = 3;
PUSH, __2_const_intnl_SystemInt32
PUSH, c
COPY
# a = b > c ? b + 1 : c + 2;
PUSH, b
PUSH, c
PUSH, __0_intnl_SystemBoolean
EXTERN, "SystemInt32.__op_GreaterThan__SystemInt32_SystemInt32__SystemBoolean"
PUSH, __0_intnl_SystemBoolean
JUMP_IF_FALSE, 0x0000009C
PUSH, b
PUSH, __0_const_intnl_SystemInt32
PUSH, a
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
JUMP, 0x000000BC
PUSH, c
PUSH, __1_const_intnl_SystemInt32
PUSH, a
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
# Debug.Log(string.Format("A={0} B={1} C={2}", a, b, c));
PUSH, __0_const_intnl_SystemString
PUSH, a
PUSH, b
PUSH, c
PUSH, __0_intnl_SystemString
EXTERN, "SystemString.__Format__SystemString_SystemObject_SystemObject_SystemObject__SystemString"
PUSH, __0_intnl_SystemString
EXTERN, "UnityEngineDebug.__Log__SystemObject__SystemVoid"
# text = new string((char)a, b);
PUSH, a
PUSH, __1_intnl_SystemChar
EXTERN, "SystemConvert.__ToChar__SystemInt32__SystemChar"
PUSH, __1_intnl_SystemChar
PUSH, __0_intnl_SystemChar
COPY
PUSH, __0_intnl_SystemChar
PUSH, b
PUSH, text
EXTERN, "SystemString.__ctor__SystemChar_SystemInt32__SystemString"
# text = text.Trim();
PUSH, text
PUSH, text
EXTERN, "SystemString.__Trim__SystemString"
# a = b + b;
PUSH, b
PUSH, b
PUSH, a
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
# a = b + (b = 1);
PUSH, b
PUSH, __0_intnl_SystemInt32
COPY #Copy-on-write symbol value dirtied
PUSH, __0_const_intnl_SystemInt32
PUSH, b
COPY
PUSH, __0_intnl_SystemInt32
PUSH, b
PUSH, a
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_intnl_returnTarget_UInt32 #Function epilogue
COPY
JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
.code_end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment