Merge branch 'master' of github.com:ReadyTalk/avian

This commit is contained in:
Joshua Warner 2012-07-23 17:28:48 -06:00
commit e018851fd8

View File

@ -5527,12 +5527,12 @@ compile(MyThread* t, Frame* initialFrame, unsigned ip,
uint32_t defaultIp = base + codeReadInt32(t, code, ip); uint32_t defaultIp = base + codeReadInt32(t, code, ip);
assert(t, defaultIp < codeLength(t, code)); assert(t, defaultIp < codeLength(t, code));
Compiler::Operand* default_ = frame->addressOperand
(frame->addressPromise(c->machineIp(defaultIp)));
int32_t pairCount = codeReadInt32(t, code, ip); int32_t pairCount = codeReadInt32(t, code, ip);
if (pairCount) { if (pairCount) {
Compiler::Operand* default_ = frame->addressOperand
(frame->addressPromise(c->machineIp(defaultIp)));
Promise* start = 0; Promise* start = 0;
THREAD_RUNTIME_ARRAY(t, uint32_t, ipTable, pairCount); THREAD_RUNTIME_ARRAY(t, uint32_t, ipTable, pairCount);
for (int32_t i = 0; i < pairCount; ++i) { for (int32_t i = 0; i < pairCount; ++i) {
@ -5574,7 +5574,7 @@ compile(MyThread* t, Frame* initialFrame, unsigned ip,
} }
} else { } else {
// a switch statement with no cases, apparently // a switch statement with no cases, apparently
c->jmp(default_); c->jmp(frame->machineIp(defaultIp));
} }
ip = defaultIp; ip = defaultIp;