File: bytecode_serialization.rst

package info (click to toggle)
squirrel3 3.1-8.3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,380 kB
  • sloc: cpp: 12,722; ansic: 917; makefile: 316; python: 40
file content (32 lines) | stat: -rw-r--r-- 1,172 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.. _api_ref_bytecode_serialization:

======================
Bytecode serialization
======================

.. _sq_readclosure:

.. c:function:: SQRESULT sq_readclosure(HSQUIRRELVM v, SQREADFUNC readf, SQUserPointer up)

    :param HSQUIRRELVM v: the target VM
    :param SQREADFUNC readf: pointer to a read function that will be invoked by the vm during the serialization.
    :param SQUserPointer up: pointer that will be passed to each call to the read function
    :returns: a SQRESULT

serialize (read) a closure and pushes it on top of the stack, the source is user defined through a read callback.





.. _sq_writeclosure:

.. c:function:: SQRESULT sq_writeclosure(HSQUIRRELVM v, SQWRITEFUNC writef, SQUserPointer up)

    :param HSQUIRRELVM v: the target VM
    :param SQWRITEFUNC writef: pointer to a write function that will be invoked by the vm during the serialization.
    :param SQUserPointer up: pointer that will be passed to each call to the write function
    :returns: a SQRESULT
    :remarks: closures with free variables cannot be serialized

serializes(writes) the closure on top of the stack, the desination is user defined through a write callback.