Skip to content

Instantly share code, notes, and snippets.

@bdonlan
Created April 27, 2020 20:37
Show Gist options
  • Save bdonlan/6204fbd9e9a5eea855f089dba2a0e70c to your computer and use it in GitHub Desktop.
Save bdonlan/6204fbd9e9a5eea855f089dba2a0e70c to your computer and use it in GitHub Desktop.
.data_start
__refl_const_intnl_udonTypeID: %SystemInt64, null
__refl_const_intnl_udonTypeName: %SystemString, null
__0_a_Int32: %SystemInt32, null
__0_b_Int32: %SystemInt32, null
__0_c_Int32: %SystemInt32, null
__0_d_Int32: %SystemInt32, null
__1_c_Int32: %SystemInt32, null
__1_d_Int32: %SystemInt32, null
__2_c_Int32: %SystemInt32, null
__0_d_Int64: %SystemInt64, null
__0_const_intnl_SystemInt32: %SystemInt32, null
__1_const_intnl_SystemInt32: %SystemInt32, null
__2_const_intnl_SystemInt32: %SystemInt32, null
__0_const_intnl_exitJumpLoc_UInt32: %SystemUInt32, null
__0_const_intnl_SystemUInt32: %SystemUInt32, null
__1_const_intnl_exitJumpLoc_UInt32: %SystemUInt32, null
__2_const_intnl_exitJumpLoc_UInt32: %SystemUInt32, null
__3_const_intnl_exitJumpLoc_UInt32: %SystemUInt32, null
__4_const_intnl_exitJumpLoc_UInt32: %SystemUInt32, null
__0_intnl_returnValSymbol_Int32: %SystemInt32, null
__0_intnl_SystemInt32: %SystemInt32, null
__1_intnl_SystemInt32: %SystemInt32, null
__2_intnl_SystemInt32: %SystemInt32, null
__3_intnl_SystemInt32: %SystemInt32, null
__0_intnl_returnValSymbol_Int64: %SystemInt64, null
__0_intnl_SystemInt64: %SystemInt64, null
__1_intnl_SystemInt64: %SystemInt64, null
__2_intnl_SystemInt64: %SystemInt64, null
__0_intnl_returnTarget_UInt32: %SystemUInt32, null
.data_end
# using System.Collections.Generic;
# using UdonSharp;
# using UnityEngine;
# using VRC.SDKBase;
# using VRC.Udon;
# public class GameObject1 : UdonSharpBehaviour
.code_start
# int f(int c, int d)
f:
PUSH, __0_const_intnl_SystemUInt32
# {
# return c + d;
PUSH, __0_c_Int32
PUSH, __0_d_Int32
PUSH, __0_intnl_returnValSymbol_Int32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_intnl_returnTarget_UInt32 #Explicit return sequence
COPY
JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
PUSH, __0_intnl_returnTarget_UInt32 #Function epilogue
COPY
JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
# long f2(int c, int d)
f2:
PUSH, __0_const_intnl_SystemUInt32
# {
# return c + d;
PUSH, __1_c_Int32
PUSH, __1_d_Int32
PUSH, __0_intnl_SystemInt32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_intnl_SystemInt32
PUSH, __0_intnl_SystemInt64
EXTERN, "SystemConvert.__ToInt64__SystemInt32__SystemInt64"
PUSH, __0_intnl_SystemInt64
PUSH, __0_intnl_returnValSymbol_Int64
COPY
PUSH, __0_intnl_returnTarget_UInt32 #Explicit return sequence
COPY
JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
PUSH, __0_intnl_returnTarget_UInt32 #Function epilogue
COPY
JUMP_INDIRECT, __0_intnl_returnTarget_UInt32
# void Start()
.export _start
_start:
PUSH, __0_const_intnl_SystemUInt32
# {
# int a = 1;
PUSH, __0_const_intnl_SystemInt32
PUSH, __0_a_Int32
COPY
# int b = 2;
PUSH, __1_const_intnl_SystemInt32
PUSH, __0_b_Int32
COPY
# int c = f(a + b, a * b) + f(0,0);
PUSH, __0_a_Int32
PUSH, __0_b_Int32
PUSH, __0_c_Int32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_a_Int32
PUSH, __0_b_Int32
PUSH, __0_d_Int32
EXTERN, "SystemInt32.__op_Multiplication__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_const_intnl_exitJumpLoc_UInt32
JUMP, 0x00000008
PUSH, __2_const_intnl_SystemInt32
PUSH, __0_c_Int32
COPY
PUSH, __2_const_intnl_SystemInt32
PUSH, __0_d_Int32
COPY
PUSH, __0_intnl_returnValSymbol_Int32
PUSH, __1_intnl_SystemInt32
COPY # Copy-on-write symbol value dirtied
PUSH, __1_const_intnl_exitJumpLoc_UInt32
JUMP, 0x00000008
PUSH, __1_intnl_SystemInt32
PUSH, __0_intnl_returnValSymbol_Int32
PUSH, __2_c_Int32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
# long d = f(a + b, a * b) + f2(0, 0);
PUSH, __0_a_Int32
PUSH, __0_b_Int32
PUSH, __0_c_Int32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_a_Int32
PUSH, __0_b_Int32
PUSH, __0_d_Int32
EXTERN, "SystemInt32.__op_Multiplication__SystemInt32_SystemInt32__SystemInt32"
PUSH, __2_const_intnl_exitJumpLoc_UInt32
JUMP, 0x00000008
PUSH, __2_const_intnl_SystemInt32
PUSH, __1_c_Int32
COPY
PUSH, __2_const_intnl_SystemInt32
PUSH, __1_d_Int32
COPY
PUSH, __0_intnl_returnValSymbol_Int32
PUSH, __2_intnl_SystemInt32
COPY # Copy-on-write symbol value dirtied
PUSH, __3_const_intnl_exitJumpLoc_UInt32
JUMP, 0x00000058
PUSH, __2_intnl_SystemInt32
PUSH, __1_intnl_SystemInt64
EXTERN, "SystemConvert.__ToInt64__SystemInt32__SystemInt64"
PUSH, __1_intnl_SystemInt64
PUSH, __0_intnl_returnValSymbol_Int64
PUSH, __0_d_Int64
EXTERN, "SystemInt64.__op_Addition__SystemInt64_SystemInt64__SystemInt64"
# d = f(a + b, a * b) + 2;
PUSH, __0_a_Int32
PUSH, __0_b_Int32
PUSH, __0_c_Int32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __0_a_Int32
PUSH, __0_b_Int32
PUSH, __0_d_Int32
EXTERN, "SystemInt32.__op_Multiplication__SystemInt32_SystemInt32__SystemInt32"
PUSH, __4_const_intnl_exitJumpLoc_UInt32
JUMP, 0x00000008
PUSH, __0_intnl_returnValSymbol_Int32
PUSH, __1_const_intnl_SystemInt32
PUSH, __3_intnl_SystemInt32
EXTERN, "SystemInt32.__op_Addition__SystemInt32_SystemInt32__SystemInt32"
PUSH, __3_intnl_SystemInt32
PUSH, __2_intnl_SystemInt64
EXTERN, "SystemConvert.__ToInt64__SystemInt32__SystemInt64"
PUSH, __2_intnl_SystemInt64
PUSH, __0_d_Int64
COPY
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