Inline wrenObjectToValue().

Seems to give a slight speed bump. Inlining the wrenIs___
functions doesn't seem to help (may make it a bit worse.)
This commit is contained in:
Bob Nystrom
2013-12-14 11:34:49 -08:00
parent 088b1be98c
commit 3fd7fa56fb
3 changed files with 15 additions and 14 deletions

View File

@ -323,14 +323,4 @@ int wrenIsString(Value value)
return IS_OBJ(value) && AS_OBJ(value)->type == OBJ_STRING;
}
Value wrenObjectToValue(Obj* obj)
{
#if WREN_NAN_TAGGING
return (Value)(SIGN_BIT | QNAN | (uint64_t)(obj));
#else
Value value;
value.type = VAL_OBJ;
value.obj = obj;
return value;
#endif
}
extern Value wrenObjectToValue(Obj* obj);

View File

@ -446,6 +446,17 @@ int wrenIsClosure(Value value);
int wrenIsFn(Value value);
int wrenIsInstance(Value value);
int wrenIsString(Value value);
Value wrenObjectToValue(Obj* obj);
inline Value wrenObjectToValue(Obj* obj)
{
#if WREN_NAN_TAGGING
return (Value)(SIGN_BIT | QNAN | (uint64_t)(obj));
#else
Value value;
value.type = VAL_OBJ;
value.obj = obj;
return value;
#endif
}
#endif

View File

@ -240,7 +240,7 @@
29AB1F101816E3AD004B501E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_C_LANGUAGE_STANDARD = c89;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_PEDANTIC = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
};
@ -249,7 +249,7 @@
29AB1F111816E3AD004B501E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_C_LANGUAGE_STANDARD = c89;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_PEDANTIC = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
};