Lines Matching refs:key
20 GateRef HashStubBuilder::GetHash(GateRef key)
29 BRANCH(TaggedIsInt(key), &intKey, &symbolCheck);
31 res = TaggedGetInt(key);
37 BRANCH(TaggedIsSymbol(key), &symbolKey, &stringCheck);
40 res = Load(VariableType::INT32(), key, IntPtr(JSSymbol::HASHFIELD_OFFSET));
45 BRANCH(TaggedIsString(key), &stringKey, &objectCheck);
47 res = GetHashcodeFromString(glue_, key);
53 BRANCH(TaggedIsHeapObject(key), &heapObjectKey, &numberCheck);
57 BRANCH(TaggedObjectIsEcmaObject(key), &ecmaObjectKey, &slowGetHash);
59 CalcHashcodeForObject(glue_, key, &res, &exit);
63 BRANCH(TaggedIsNumber(key), &numberKey, &slowGetHash);
66 CalcHashcodeForNumber(key, &res, &exit);
69 res = GetInt32OfTInt(CallRuntime(glue_, RTSTUB_ID(GetLinkedHash), { key }));
78 void HashStubBuilder::CalcHashcodeForNumber(GateRef key, Variable *res, Label *exit)
83 BRANCH(TaggedIsDouble(key), &doubleKey, &intKey);
86 CalcHashcodeForDouble(key, res, exit);
90 *res = CalcHashcodeForInt(key);