Changeset 266223 in webkit for trunk/Source/JavaScriptCore/runtime/Operations.h
- Timestamp:
- Aug 26, 2020, 10:27:16 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/Operations.h
r266107 r266223 33 33 NEVER_INLINE JSValue jsAddSlowCase(JSGlobalObject*, JSValue, JSValue); 34 34 JSString* jsTypeStringForValueWithConcurrency(VM&, JSGlobalObject*, JSValue, Concurrency); 35 bool jsTypeofIsObject(JSGlobalObject*, JSValue);36 35 size_t normalizePrototypeChain(JSGlobalObject*, JSCell*, bool& sawPolyProto); 36 37 template<Concurrency concurrency> 38 ALWAYS_INLINE TriState jsTypeofIsObjectWithConcurrency(JSGlobalObject* globalObject, JSValue value) 39 { 40 VM& vm = globalObject->vm(); 41 if (!value.isObject()) 42 return triState(value.isNull()); 43 JSObject* object = asObject(value); 44 if (object->structure(vm)->masqueradesAsUndefined(globalObject)) 45 return TriState::False; 46 return invert(object->isCallableWithConcurrency<concurrency>(vm)); 47 } 37 48 38 49 template<Concurrency concurrency> … … 51 62 { 52 63 return jsTypeStringForValueWithConcurrency(getVM(globalObject), globalObject, value, Concurrency::MainThread); 64 } 65 66 ALWAYS_INLINE bool jsTypeofIsObject(JSGlobalObject* globalObject, JSValue value) 67 { 68 auto result = jsTypeofIsObjectWithConcurrency<Concurrency::MainThread>(globalObject, value); 69 ASSERT(result != TriState::Indeterminate); 70 return result == TriState::True; 53 71 } 54 72
Note:
See TracChangeset
for help on using the changeset viewer.