1 |
/* |
/* |
2 |
* Copyright (c) 2014 - 2016 Christian Schoenebeck |
* Copyright (c) 2014 - 2017 Christian Schoenebeck |
3 |
* |
* |
4 |
* http://www.linuxsampler.org |
* http://www.linuxsampler.org |
5 |
* |
* |
60 |
|
|
61 |
namespace LinuxSampler { |
namespace LinuxSampler { |
62 |
|
|
63 |
|
#if DEBUG_SCRIPTVM_CORE |
64 |
static void _printIndents(int n) { |
static void _printIndents(int n) { |
65 |
for (int i = 0; i < n; ++i) printf(" "); |
for (int i = 0; i < n; ++i) printf(" "); |
66 |
fflush(stdout); |
fflush(stdout); |
67 |
} |
} |
68 |
|
#endif |
69 |
|
|
70 |
static int _requiredMaxStackSizeFor(Statement* statement, int depth = 0) { |
static int _requiredMaxStackSizeFor(Statement* statement, int depth = 0) { |
71 |
if (!statement) return 1; |
if (!statement) return 1; |
140 |
m_fnNumElements = new CoreVMFunction_num_elements; |
m_fnNumElements = new CoreVMFunction_num_elements; |
141 |
m_fnInc = new CoreVMFunction_inc; |
m_fnInc = new CoreVMFunction_inc; |
142 |
m_fnDec = new CoreVMFunction_dec; |
m_fnDec = new CoreVMFunction_dec; |
143 |
|
m_fnInRange = new CoreVMFunction_in_range; |
144 |
m_varRealTimer = new CoreVMDynVar_NKSP_REAL_TIMER; |
m_varRealTimer = new CoreVMDynVar_NKSP_REAL_TIMER; |
145 |
m_varPerfTimer = new CoreVMDynVar_NKSP_PERF_TIMER; |
m_varPerfTimer = new CoreVMDynVar_NKSP_PERF_TIMER; |
146 |
m_fnShLeft = new CoreVMFunction_sh_left; |
m_fnShLeft = new CoreVMFunction_sh_left; |
158 |
delete m_fnNumElements; |
delete m_fnNumElements; |
159 |
delete m_fnInc; |
delete m_fnInc; |
160 |
delete m_fnDec; |
delete m_fnDec; |
161 |
|
delete m_fnInRange; |
162 |
delete m_fnShLeft; |
delete m_fnShLeft; |
163 |
delete m_fnShRight; |
delete m_fnShRight; |
164 |
delete m_fnMin; |
delete m_fnMin; |
264 |
else if (name == "num_elements") return m_fnNumElements; |
else if (name == "num_elements") return m_fnNumElements; |
265 |
else if (name == "inc") return m_fnInc; |
else if (name == "inc") return m_fnInc; |
266 |
else if (name == "dec") return m_fnDec; |
else if (name == "dec") return m_fnDec; |
267 |
|
else if (name == "in_range") return m_fnInRange; |
268 |
else if (name == "sh_left") return m_fnShLeft; |
else if (name == "sh_left") return m_fnShLeft; |
269 |
else if (name == "sh_right") return m_fnShRight; |
else if (name == "sh_right") return m_fnShRight; |
270 |
else if (name == "min") return m_fnMin; |
else if (name == "min") return m_fnMin; |