(self, function, frame_pointer, bc)
return {
            'offset': bc[0].len,
            'access_type': 'load',
            'frame_offset': bc[1].imm.offset,
            'element_size': self.get_load_size(bc[1])
        }
find patterns like::

            code:0245 20 06                   get_local           $local6
            code:0247 28 02 14                i32.load            0x14, align:2

        and extract metadata like:
          - frame offset
          - load size

        args:
          function (Dict[str, any]): function instance.
          frame_pointer (int): local variable index of the frame pointer.
          bc (List[wasm.Instruction]): sequence of at least three instructions.

        returns:
          Dict[Str, any]: frame store metadata, including:
            - frame_offset (int): offset into frame of load.
            - element_size (str): size of element being read.
            - access_type (str): the string "load".
            - offset (int): offset into the bitcode of the reference instruction.

        raises:
          ValueError: if the given bc does not contain a frame store.
find patterns like::
find patterns like ::
def get_frame_load(self, function, frame_pointer, bc):
        '''
        find patterns like::

            code:0245 20 06                   get_local           $local6
            code:0247 28 02 14                i32.load            0x14, align:2

        and extract metadata like:
          - frame offset
          - load size

        args:
          function (Dict[str, any]): function instance.
          frame_pointer (int): local variable index of the frame pointer.
          bc (List[wasm.Instruction]): sequence of at least three instructions.

        returns:
          Dict[Str, any]: frame store metadata, including:
            - frame_offset (int): offset into frame of load.
            - element_size (str): size of element being read.
            - access_type (str): the string "load".
            - offset (int): offset into the bitcode of the reference instruction.

        raises:
          ValueError: if the given bc does not contain a frame store.
        '''
        if bc[0].op.id != wasm.opcodes.OP_GET_LOCAL:
            raise ValueError('not a load')

        if not self.is_load(bc[1].op):
            raise ValueError('not a load')

        if bc[0].imm.local_index != frame_pointer:
            raise ValueError('not a load')

        return {
            'offset': bc[0].len,
            'access_type': 'load',
            'frame_offset': bc[1].imm.offset,
            'element_size': self.get_load_size(bc[1])
        }
def get_frame_load ( self , function , frame_pointer , bc ) : if bc [ 0 ] . op . id != wasm . opcodes . OP_GET_LOCAL : raise ValueError ( 'not a load' ) if not self . is_load ( bc [ 1 ] . op ) : raise ValueError ( 'not a load' ) if bc [ 0 ] . imm . local_index != frame_pointer : raise ValueError ( 'not a load' ) return { 'offset' : bc [ 0 ] . len , 'access_type' : 'load' , 'frame_offset' : bc [ 1 ] . imm . offset , 'element_size' : self . get_load_size ( bc [ 1 ] ) }