if (result == choice->query_.end())
continue;
- // XXX: if (size < class_getInstanceSize(*result))
- if ((class_getInstanceSize(*result) + 15) / 16 * 16 != size)
+ size_t needed(class_getInstanceSize(*result));
+ // XXX: if (size < needed)
+ if (needed <= 496 && (needed + 15) / 16 * 16 != size || needed > 496 && (needed + 511) / 512 * 512 != size)
continue;
CYArrayPush(context, choice->results_, CYCastJSValue(context, reinterpret_cast<id>(data)));
}
definition.className = "BooleanInstance";
BooleanInstance_ = JSClassCreate(&definition);
- definition.className = "FunctionInstance";
- definition.staticValues = FunctionInstance_staticValues;
- definition.callAsFunction = &FunctionInstance_callAsFunction;
- FunctionInstance_ = JSClassCreate(&definition);
-
definition.className = "NumberInstance";
NumberInstance_ = JSClassCreate(&definition);
definition.className = "StringInstance";
StringInstance_ = JSClassCreate(&definition);
+ definition.className = "FunctionInstance";
+ definition.staticValues = FunctionInstance_staticValues;
+ definition.callAsFunction = &FunctionInstance_callAsFunction;
+ FunctionInstance_ = JSClassCreate(&definition);
+
definition = kJSClassDefinitionEmpty;
definition.className = "Class";
definition.staticFunctions = Class_staticFunctions;