Blender Git Loki
Git Commits -> Revision e6bf664
December 12, 2015, 11:40 (GMT) |
New data type for constant (!) strings. The const-ness is very important: strings are only stored as const char* on the stack, which point to memory inside the instructions list. The instructions contain the actual char array, with a null terminator. This does not allow allocating new strings during eval, but it makes it possible to use static strings as identifiers and keys for global data. Eventually we could allow string operations through an allocation system similar to DerivedMesh handling, with init/release nodes to manage alloc/free. |
Commit Details:
Full Hash: e6bf664d789028511e1254ef873226b24b090023
Parent Commit: 465327f
Lines Changed: +99, -8
10 Modified Paths:
/source/blender/blenvm/bvm/bvm_eval.cc (+11, -0) (Diff)
/source/blender/blenvm/bvm/bvm_eval_common.h (+10, -0) (Diff)
/source/blender/blenvm/bvm/bvm_function.h (+13, -0) (Diff)
/source/blender/blenvm/bvm/bvm_opcode.h (+2, -0) (Diff)
/source/blender/blenvm/BVM_types.h (+1, -0) (Diff)
/source/blender/blenvm/compile/bvm_codegen.cc (+27, -2) (Diff)
/source/blender/blenvm/compile/bvm_codegen.h (+1, -0) (Diff)
/source/blender/blenvm/compile/bvm_nodegraph.cc (+17, -2) (Diff)
/source/blender/blenvm/util/bvm_util_typedesc.h (+16, -4) (Diff)
/source/blender/makesrna/intern/rna_blenvm.c (+1, -0) (Diff)
/source/blender/blenvm/bvm/bvm_eval_common.h (+10, -0) (Diff)
/source/blender/blenvm/bvm/bvm_function.h (+13, -0) (Diff)
/source/blender/blenvm/bvm/bvm_opcode.h (+2, -0) (Diff)
/source/blender/blenvm/BVM_types.h (+1, -0) (Diff)
/source/blender/blenvm/compile/bvm_codegen.cc (+27, -2) (Diff)
/source/blender/blenvm/compile/bvm_codegen.h (+1, -0) (Diff)
/source/blender/blenvm/compile/bvm_nodegraph.cc (+17, -2) (Diff)
/source/blender/blenvm/util/bvm_util_typedesc.h (+16, -4) (Diff)
/source/blender/makesrna/intern/rna_blenvm.c (+1, -0) (Diff)