@@ -1422,11 +1422,8 @@ CHAKRA_API JsPreventExtension(_In_ JsValueRef object)
14221422}
14231423
14241424CHAKRA_API JsHasOwnPropertyCommon (Js::ScriptContext * scriptContext, _In_ JsValueRef object,
1425- _In_ const Js::PropertyRecord * propertyRecord, _Out_ bool *hasOwnProperty,
1426- TTDRecorder& _actionEntryPopper)
1425+ _In_ const Js::PropertyRecord * propertyRecord, _Out_ bool *hasOwnProperty)
14271426{
1428- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTHasOwnProperty, propertyRecord, object);
1429-
14301427 *hasOwnProperty = Js::JavascriptOperators::OP_HasOwnProperty (object,
14311428 propertyRecord->GetPropertyId (), scriptContext) != 0 ;
14321429
@@ -1438,14 +1435,15 @@ CHAKRA_API JsHasOwnProperty(_In_ JsValueRef object, _In_ JsPropertyIdRef propert
14381435{
14391436 return ContextAPIWrapper<true >([&] (Js::ScriptContext *scriptContext,
14401437 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1438+ PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTHasOwnProperty, (const Js::PropertyRecord *)propertyId, object);
14411439
14421440 VALIDATE_INCOMING_OBJECT (object, scriptContext);
14431441 VALIDATE_INCOMING_PROPERTYID (propertyId);
14441442 PARAM_NOT_NULL (hasOwnProperty);
14451443 *hasOwnProperty = false ;
14461444
14471445 return JsHasOwnPropertyCommon (scriptContext, object,
1448- (const Js::PropertyRecord *)propertyId, hasOwnProperty, _actionEntryPopper );
1446+ (const Js::PropertyRecord *)propertyId, hasOwnProperty);
14491447 });
14501448}
14511449
@@ -1476,6 +1474,7 @@ CHAKRA_API JsObjectHasOwnProperty(_In_ JsValueRef object, _In_ JsValueRef proper
14761474{
14771475 return ContextAPIWrapper<true >([&] (Js::ScriptContext *scriptContext,
14781476 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1477+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
14791478
14801479 VALIDATE_INCOMING_OBJECT (object, scriptContext);
14811480 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
@@ -1491,40 +1490,41 @@ CHAKRA_API JsObjectHasOwnProperty(_In_ JsValueRef object, _In_ JsValueRef proper
14911490 return errorValue;
14921491 }
14931492
1494- return JsHasOwnPropertyCommon (scriptContext, object, propertyRecord, hasOwnProperty, _actionEntryPopper );
1493+ return JsHasOwnPropertyCommon (scriptContext, object, propertyRecord, hasOwnProperty);
14951494 });
14961495}
14971496#endif
14981497
14991498static JsErrorCode JsGetPropertyCommon (Js::ScriptContext * scriptContext,
15001499 _In_ Js::RecyclableObject * object,
1501- _In_ const Js::PropertyRecord * propertyRecord, _Out_ JsValueRef *value,
1502- TTDRecorder& _actionEntryPopper)
1500+ _In_ const Js::PropertyRecord * propertyRecord, _Out_ JsValueRef *value)
15031501{
15041502 AssertMsg (scriptContext->GetThreadContext ()->IsScriptActive (), " Caller is expected to be under ContextAPIWrapper!" );
1505- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTGetProperty, propertyRecord, object);
15061503
15071504 *value = Js::JavascriptOperators::GetPropertyNoCache (object, propertyRecord->GetPropertyId (), scriptContext);
15081505 Assert (*value == nullptr || !Js::CrossSite::NeedMarshalVar (*value, scriptContext));
15091506
1510- PERFORM_JSRT_TTD_RECORD_ACTION_RESULT (scriptContext, value);
1511-
15121507 return JsNoError;
15131508}
15141509
15151510CHAKRA_API JsGetProperty (_In_ JsValueRef object, _In_ JsPropertyIdRef propertyId, _Out_ JsValueRef *value)
15161511{
15171512 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
15181513 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1514+ PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTGetProperty, (const Js::PropertyRecord *)propertyId, object);
15191515
15201516 VALIDATE_INCOMING_OBJECT (object, scriptContext);
15211517 VALIDATE_INCOMING_PROPERTYID (propertyId);
15221518 PARAM_NOT_NULL (value);
15231519 *value = nullptr ;
15241520
15251521 Js::RecyclableObject * instance = Js::RecyclableObject::FromVar (object);
1526- return JsGetPropertyCommon (scriptContext, instance, (const Js::PropertyRecord *)propertyId,
1527- value, _actionEntryPopper);
1522+ JsErrorCode err = JsGetPropertyCommon (scriptContext, instance, (const Js::PropertyRecord *)propertyId,
1523+ value);
1524+
1525+ PERFORM_JSRT_TTD_RECORD_ACTION_RESULT (scriptContext, value);
1526+
1527+ return err;
15281528 });
15291529}
15301530
@@ -1533,6 +1533,7 @@ CHAKRA_API JsObjectGetProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
15331533{
15341534 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
15351535 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1536+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
15361537
15371538 VALIDATE_INCOMING_OBJECT (object, scriptContext);
15381539 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
@@ -1551,17 +1552,15 @@ CHAKRA_API JsObjectGetProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
15511552 Assert (propertyRecord != nullptr );
15521553
15531554 Js::RecyclableObject * instance = Js::RecyclableObject::FromVar (object);
1554- return JsGetPropertyCommon (scriptContext, instance, propertyRecord, value, _actionEntryPopper );
1555+ return JsGetPropertyCommon (scriptContext, instance, propertyRecord, value);
15551556 });
15561557}
15571558#endif
15581559
15591560static JsErrorCode JsGetOwnPropertyDescriptorCommon (Js::ScriptContext * scriptContext,
1560- _In_ JsValueRef object, _In_ const Js::PropertyRecord * propertyRecord, _Out_ JsValueRef *propertyDescriptor,
1561- TTDRecorder& _actionEntryPopper)
1561+ _In_ JsValueRef object, _In_ const Js::PropertyRecord * propertyRecord, _Out_ JsValueRef *propertyDescriptor)
15621562{
15631563 AssertMsg (scriptContext->GetThreadContext ()->IsScriptActive (), " Caller is expected to be under ContextAPIWrapper!" );
1564- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTGetOwnPropertyInfo, propertyRecord, object);
15651564
15661565 Js::PropertyDescriptor propertyDescriptorValue;
15671566 if (Js::JavascriptOperators::GetOwnPropertyDescriptor (Js::RecyclableObject::FromVar (object),
@@ -1575,21 +1574,25 @@ static JsErrorCode JsGetOwnPropertyDescriptorCommon(Js::ScriptContext * scriptCo
15751574 }
15761575 Assert (*propertyDescriptor == nullptr || !Js::CrossSite::NeedMarshalVar (*propertyDescriptor, scriptContext));
15771576
1578- PERFORM_JSRT_TTD_RECORD_ACTION_RESULT (scriptContext, propertyDescriptor);
1579-
15801577 return JsNoError;
15811578}
15821579
15831580CHAKRA_API JsGetOwnPropertyDescriptor (_In_ JsValueRef object, _In_ JsPropertyIdRef propertyId, _Out_ JsValueRef *propertyDescriptor)
15841581{
15851582 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext, TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1583+ PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTGetOwnPropertyInfo, (const Js::PropertyRecord *)propertyId, object);
1584+
15861585 VALIDATE_INCOMING_OBJECT (object, scriptContext);
15871586 VALIDATE_INCOMING_PROPERTYID (propertyId);
15881587 PARAM_NOT_NULL (propertyDescriptor);
15891588 *propertyDescriptor = nullptr ;
15901589
1591- return JsGetOwnPropertyDescriptorCommon (scriptContext, object, (const Js::PropertyRecord *)propertyId,
1592- propertyDescriptor, _actionEntryPopper);
1590+ JsErrorCode err = JsGetOwnPropertyDescriptorCommon (scriptContext, object, (const Js::PropertyRecord *)propertyId,
1591+ propertyDescriptor);
1592+
1593+ PERFORM_JSRT_TTD_RECORD_ACTION_RESULT (scriptContext, propertyDescriptor);
1594+
1595+ return err;
15931596 });
15941597}
15951598
@@ -1598,6 +1601,7 @@ CHAKRA_API JsObjectGetOwnPropertyDescriptor(_In_ JsValueRef object, _In_ JsValue
15981601{
15991602 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
16001603 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1604+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
16011605
16021606 VALIDATE_INCOMING_OBJECT (object, scriptContext);
16031607 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
@@ -1615,18 +1619,15 @@ CHAKRA_API JsObjectGetOwnPropertyDescriptor(_In_ JsValueRef object, _In_ JsValue
16151619
16161620 Assert (propertyRecord != nullptr );
16171621
1618- return JsGetOwnPropertyDescriptorCommon (scriptContext, object, propertyRecord, propertyDescriptor, _actionEntryPopper );
1622+ return JsGetOwnPropertyDescriptorCommon (scriptContext, object, propertyRecord, propertyDescriptor);
16191623 });
16201624}
16211625#endif
16221626
16231627static JsErrorCode JsSetPropertyCommon (Js::ScriptContext * scriptContext, _In_ JsValueRef object,
1624- _In_ const Js::PropertyRecord * propertyRecord, _In_ JsValueRef value, _In_ bool useStrictRules,
1625- TTDRecorder& _actionEntryPopper)
1628+ _In_ const Js::PropertyRecord * propertyRecord, _In_ JsValueRef value, _In_ bool useStrictRules)
16261629{
16271630 AssertMsg (scriptContext->GetThreadContext ()->IsScriptActive (), " Caller is expected to be under ContextAPIWrapper!" );
1628- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTSetProperty, object,
1629- propertyRecord, value, useStrictRules);
16301631
16311632 Js::JavascriptOperators::OP_SetProperty (object, propertyRecord->GetPropertyId (),
16321633 value, scriptContext, nullptr , useStrictRules ? Js::PropertyOperation_StrictMode : Js::PropertyOperation_None);
@@ -1638,13 +1639,14 @@ CHAKRA_API JsSetProperty(_In_ JsValueRef object, _In_ JsPropertyIdRef propertyId
16381639{
16391640 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
16401641 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1642+ PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTSetProperty, object, (const Js::PropertyRecord *)propertyId, value, useStrictRules);
16411643
16421644 VALIDATE_INCOMING_OBJECT (object, scriptContext);
16431645 VALIDATE_INCOMING_PROPERTYID (propertyId);
16441646 VALIDATE_INCOMING_REFERENCE (value, scriptContext);
16451647
16461648 return JsSetPropertyCommon (scriptContext, object, (const Js::PropertyRecord *)propertyId,
1647- value, useStrictRules, _actionEntryPopper );
1649+ value, useStrictRules);
16481650 });
16491651}
16501652
@@ -1653,6 +1655,7 @@ CHAKRA_API JsObjectSetProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
16531655{
16541656 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
16551657 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1658+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
16561659
16571660 VALIDATE_INCOMING_OBJECT (object, scriptContext);
16581661 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
@@ -1669,7 +1672,7 @@ CHAKRA_API JsObjectSetProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
16691672
16701673 Assert (propertyRecord != nullptr );
16711674
1672- return JsSetPropertyCommon (scriptContext, object, propertyRecord, value, useStrictRules, _actionEntryPopper );
1675+ return JsSetPropertyCommon (scriptContext, object, propertyRecord, value, useStrictRules);
16731676 });
16741677}
16751678#endif
@@ -1718,6 +1721,7 @@ CHAKRA_API JsObjectHasProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
17181721 if (!Js::JavascriptOperators::IsObject (object)) return JsErrorArgumentNotObject;
17191722
17201723 auto internalHasProperty = [&] (Js::ScriptContext *scriptContext, TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1724+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
17211725 VALIDATE_INCOMING_OBJECT (object, scriptContext);
17221726 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
17231727 PARAM_NOT_NULL (hasProperty);
@@ -1732,8 +1736,6 @@ CHAKRA_API JsObjectHasProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
17321736 return errorValue;
17331737 }
17341738
1735- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTHasProperty, propertyRecord, object);
1736-
17371739 Js::RecyclableObject * instance = Js::RecyclableObject::FromVar (object);
17381740 *hasProperty = Js::JavascriptOperators::HasProperty (instance, propertyRecord->GetPropertyId ()) != 0 ;
17391741
@@ -1760,21 +1762,16 @@ CHAKRA_API JsObjectHasProperty(_In_ JsValueRef object, _In_ JsValueRef propertyI
17601762#endif
17611763
17621764static JsErrorCode JsDeletePropertyCommon (Js::ScriptContext * scriptContext, _In_ JsValueRef object,
1763- _In_ const Js::PropertyRecord * propertyRecord, _In_ bool useStrictRules, _Out_ JsValueRef *result,
1764- TTDRecorder& _actionEntryPopper)
1765+ _In_ const Js::PropertyRecord * propertyRecord, _In_ bool useStrictRules, _Out_ JsValueRef *result)
17651766{
17661767 AssertMsg (scriptContext->GetThreadContext ()->IsScriptActive (), " Caller is expected to be under ContextAPIWrapper!" );
1767- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTDeleteProperty, object,
1768- propertyRecord, useStrictRules);
17691768
17701769 *result = Js::JavascriptOperators::OP_DeleteProperty ((Js::Var)object,
17711770 propertyRecord->GetPropertyId (),
17721771 scriptContext, useStrictRules ? Js::PropertyOperation_StrictMode : Js::PropertyOperation_None);
17731772
17741773 Assert (*result == nullptr || !Js::CrossSite::NeedMarshalVar (*result, scriptContext));
17751774
1776- PERFORM_JSRT_TTD_RECORD_ACTION_RESULT (scriptContext, result);
1777-
17781775 return JsNoError;
17791776}
17801777
@@ -1783,14 +1780,19 @@ CHAKRA_API JsDeleteProperty(_In_ JsValueRef object, _In_ JsPropertyIdRef propert
17831780{
17841781 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
17851782 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1783+ PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTDeleteProperty, object, (const Js::PropertyRecord *)propertyId, useStrictRules);
17861784
17871785 VALIDATE_INCOMING_OBJECT (object, scriptContext);
17881786 VALIDATE_INCOMING_PROPERTYID (propertyId);
17891787 PARAM_NOT_NULL (result);
17901788 *result = nullptr ;
17911789
1792- return JsDeletePropertyCommon (scriptContext, object, (const Js::PropertyRecord *)propertyId,
1793- useStrictRules, result, _actionEntryPopper);
1790+ JsErrorCode err = JsDeletePropertyCommon (scriptContext, object, (const Js::PropertyRecord *)propertyId,
1791+ useStrictRules, result);
1792+
1793+ PERFORM_JSRT_TTD_RECORD_ACTION_RESULT (scriptContext, result);
1794+
1795+ return err;
17941796 });
17951797}
17961798
@@ -1800,6 +1802,7 @@ CHAKRA_API JsObjectDeleteProperty(_In_ JsValueRef object, _In_ JsValueRef proper
18001802{
18011803 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
18021804 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1805+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
18031806
18041807 VALIDATE_INCOMING_OBJECT (object, scriptContext);
18051808 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
@@ -1818,18 +1821,16 @@ CHAKRA_API JsObjectDeleteProperty(_In_ JsValueRef object, _In_ JsValueRef proper
18181821 Assert (propertyRecord != nullptr );
18191822
18201823 return JsDeletePropertyCommon (scriptContext, object, propertyRecord,
1821- useStrictRules, result, _actionEntryPopper );
1824+ useStrictRules, result);
18221825 });
18231826}
18241827#endif
18251828
18261829static JsErrorCode JsDefinePropertyCommon (Js::ScriptContext * scriptContext, _In_ JsValueRef object,
18271830 _In_ const Js::PropertyRecord *propertyRecord, _In_ JsValueRef propertyDescriptor,
1828- _Out_ bool *result, TTDRecorder& _actionEntryPopper )
1831+ _Out_ bool *result)
18291832{
18301833 AssertMsg (scriptContext->GetThreadContext ()->IsScriptActive (), " Caller is expected to be under ContextAPIWrapper!" );
1831- PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTDefineProperty, object,
1832- propertyRecord, propertyDescriptor);
18331834
18341835 Js::PropertyDescriptor propertyDescriptorValue;
18351836 if (!Js::JavascriptOperators::ToPropertyDescriptor (propertyDescriptor, &propertyDescriptorValue, scriptContext))
@@ -1849,6 +1850,7 @@ CHAKRA_API JsDefineProperty(_In_ JsValueRef object, _In_ JsPropertyIdRef propert
18491850{
18501851 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
18511852 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1853+ PERFORM_JSRT_TTD_RECORD_ACTION (scriptContext, RecordJsRTDefineProperty, object, (const Js::PropertyRecord *)propertyId, propertyDescriptor);
18521854
18531855 VALIDATE_INCOMING_OBJECT (object, scriptContext);
18541856 VALIDATE_INCOMING_PROPERTYID (propertyId);
@@ -1857,7 +1859,7 @@ CHAKRA_API JsDefineProperty(_In_ JsValueRef object, _In_ JsPropertyIdRef propert
18571859 *result = false ;
18581860
18591861 return JsDefinePropertyCommon (scriptContext, object, (const Js::PropertyRecord *)propertyId,
1860- propertyDescriptor, result, _actionEntryPopper );
1862+ propertyDescriptor, result);
18611863 });
18621864}
18631865
@@ -1867,6 +1869,7 @@ CHAKRA_API JsObjectDefineProperty(_In_ JsValueRef object, _In_ JsValueRef proper
18671869{
18681870 return ContextAPIWrapper<JSRT_MAYBE_TRUE>([&] (Js::ScriptContext *scriptContext,
18691871 TTDRecorder& _actionEntryPopper) -> JsErrorCode {
1872+ PERFORM_JSRT_TTD_RECORD_ACTION_NOT_IMPLEMENTED (scriptContext);
18701873
18711874 VALIDATE_INCOMING_OBJECT (object, scriptContext);
18721875 VALIDATE_INCOMING_RECYCLABLE (propertyId, scriptContext);
@@ -1883,7 +1886,7 @@ CHAKRA_API JsObjectDefineProperty(_In_ JsValueRef object, _In_ JsValueRef proper
18831886 return errorValue;
18841887 }
18851888
1886- return JsDefinePropertyCommon (scriptContext, object, propertyRecord, propertyDescriptor, result, _actionEntryPopper );
1889+ return JsDefinePropertyCommon (scriptContext, object, propertyRecord, propertyDescriptor, result);
18871890 });
18881891}
18891892#endif
0 commit comments