Changeset 237469 in webkit for trunk/Source/JavaScriptCore/tools/JSDollarVM.cpp
- Timestamp:
- Oct 26, 2018, 11:30:13 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/tools/JSDollarVM.cpp
r237080 r237469 1652 1652 } 1653 1653 1654 // Make the globalObject have a bad time. Does nothing if the object is not a JSGlobalObject. 1655 // Usage: $vm.haveABadTime(globalObject) 1656 static EncodedJSValue JSC_HOST_CALL functionHaveABadTime(ExecState* exec) 1657 { 1658 VM& vm = exec->vm(); 1659 JSLockHolder lock(vm); 1660 JSValue objValue = exec->argument(0); 1661 if (!objValue.isObject()) 1662 return JSValue::encode(jsBoolean(false)); 1663 1664 JSObject* obj = asObject(objValue.asCell()); 1665 JSGlobalObject* globalObject = jsDynamicCast<JSGlobalObject*>(vm, obj); 1666 if (!globalObject) 1667 JSValue::encode(jsBoolean(false)); 1668 1669 globalObject->haveABadTime(vm); 1670 return JSValue::encode(jsBoolean(true)); 1671 } 1672 1673 // Checks if the object (or its global if the object is not a global) is having a bad time. 1674 // Usage: $vm.isHavingABadTime(obj) 1675 static EncodedJSValue JSC_HOST_CALL functionIsHavingABadTime(ExecState* exec) 1676 { 1677 VM& vm = exec->vm(); 1678 JSLockHolder lock(vm); 1679 JSValue objValue = exec->argument(0); 1680 if (!objValue.isObject()) 1681 return JSValue::encode(jsUndefined()); 1682 1683 JSObject* obj = asObject(objValue.asCell()); 1684 JSGlobalObject* globalObject = jsDynamicCast<JSGlobalObject*>(vm, obj); 1685 if (globalObject) 1686 JSValue::encode(jsBoolean(globalObject->isHavingABadTime())); 1687 1688 globalObject = obj->globalObject(); 1689 if (!globalObject) 1690 return JSValue::encode(jsUndefined()); 1691 1692 return JSValue::encode(jsBoolean(globalObject->isHavingABadTime())); 1693 } 1694 1695 // Creates a new global object. 1696 // Usage: $vm.createGlobalObject() 1697 static EncodedJSValue JSC_HOST_CALL functionCreateGlobalObject(ExecState* exec) 1698 { 1699 VM& vm = exec->vm(); 1700 JSLockHolder lock(vm); 1701 JSGlobalObject* globalObject = JSGlobalObject::create(vm, JSGlobalObject::createStructure(vm, jsNull())); 1702 return JSValue::encode(globalObject); 1703 } 1704 1654 1705 static EncodedJSValue JSC_HOST_CALL functionCreateProxy(ExecState* exec) 1655 1706 { … … 2145 2196 addFunction(vm, "getpid", functionGetPID, 0); 2146 2197 2198 addFunction(vm, "haveABadTime", functionHaveABadTime, 1); 2199 addFunction(vm, "isHavingABadTime", functionIsHavingABadTime, 1); 2200 2201 addFunction(vm, "createGlobalObject", functionCreateGlobalObject, 0); 2147 2202 addFunction(vm, "createProxy", functionCreateProxy, 1); 2148 2203 addFunction(vm, "createRuntimeArray", functionCreateRuntimeArray, 0);
Note:
See TracChangeset
for help on using the changeset viewer.