Changeset 229987 in webkit
- Timestamp:
- Mar 26, 2018 2:01:16 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r229957 r229987 1 2018-03-26 Filip Pizlo <fpizlo@apple.com> 2 3 DFG should know that CreateThis can be effectful 4 https://bugs.webkit.org/show_bug.cgi?id=184013 5 6 Reviewed by Saam Barati. 7 8 * stress/create-this-property-change.js: Added. 9 (Foo): 10 (RealBar): 11 (get if): 12 * stress/create-this-structure-change-without-cse.js: Added. 13 (Foo): 14 (RealBar): 15 (get if): 16 * stress/create-this-structure-change.js: Added. 17 (Foo): 18 (RealBar): 19 (get if): 20 1 21 2018-03-22 Yusuke Suzuki <utatane.tea@gmail.com> 2 22 -
trunk/Source/JavaScriptCore/ChangeLog
r229969 r229987 1 2018-03-26 Filip Pizlo <fpizlo@apple.com> 2 3 DFG should know that CreateThis can be effectful 4 https://bugs.webkit.org/show_bug.cgi?id=184013 5 6 Reviewed by Saam Barati. 7 8 As shown in the tests added in JSTests, CreateThis can be effectful if the constructor this 9 is a proxy. 10 11 * dfg/DFGAbstractInterpreterInlines.h: 12 (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): 13 * dfg/DFGClobberize.h: 14 (JSC::DFG::clobberize): 15 1 16 2018-03-25 Saam Barati <sbarati@apple.com> 2 17 -
trunk/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
r229520 r229987 1 1 /* 2 * Copyright (C) 2013-201 7Apple Inc. All rights reserved.2 * Copyright (C) 2013-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 2275 2275 } 2276 2276 } 2277 clobberWorld(node->origin.semantic, clobberLimit); 2277 2278 forNode(node).setType(m_graph, SpecFinalObject); 2278 2279 break; -
trunk/Source/JavaScriptCore/dfg/DFGClobberize.h
r229514 r229987 1 1 /* 2 * Copyright (C) 2013-201 7Apple Inc. All rights reserved.2 * Copyright (C) 2013-2018 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 273 273 return; 274 274 275 case HasGenericProperty:276 case HasStructureProperty:277 case GetPropertyEnumerator: {278 read(World);279 write(Heap);280 return;281 }282 283 275 case GetEnumerableLength: { 284 276 read(Heap); 285 277 write(SideState); 286 return;287 }288 289 case GetDirectPname: {290 // This reads and writes heap because it can end up calling a generic getByVal291 // if the Structure changed, which could in turn end up calling a getter.292 read(World);293 write(Heap);294 278 return; 295 279 } … … 538 522 return; 539 523 540 case ToObject:541 read(World);542 write(Heap);543 return;544 545 524 case CallObjectConstructor: 546 525 read(HeapObjectCount); … … 549 528 550 529 case ToThis: 551 case CreateThis:552 530 read(MiscFields); 553 531 read(HeapObjectCount); … … 646 624 case ResolveScopeForHoistingFuncDeclInEval: 647 625 case ResolveScope: 626 case ToObject: 627 case HasGenericProperty: 628 case HasStructureProperty: 629 case GetPropertyEnumerator: 630 case GetDirectPname: 631 case InstanceOfCustom: 632 case ToNumber: 633 case NumberToStringWithRadix: 634 case CreateThis: 648 635 read(World); 649 636 write(Heap); … … 1030 1017 read(JSCell_structureID); 1031 1018 def(HeapLocation(InstanceOfLoc, JSCell_structureID, node->child1(), node->child2()), LazyNode(node)); 1032 return;1033 1034 case InstanceOfCustom:1035 read(World);1036 write(Heap);1037 1019 return; 1038 1020 … … 1572 1554 return; 1573 1555 1574 case ToNumber: {1575 read(World);1576 write(Heap);1577 return;1578 }1579 1580 1556 case ToString: 1581 1557 case CallStringConstructor: … … 1718 1694 case ToLowerCase: 1719 1695 def(PureValue(node)); 1720 return;1721 1722 case NumberToStringWithRadix:1723 // If the radix is invalid, NumberToStringWithRadix can throw an error.1724 read(World);1725 write(Heap);1726 1696 return; 1727 1697
Note: See TracChangeset
for help on using the changeset viewer.