Changeset 248872 in webkit
- Timestamp:
- Aug 19, 2019 3:16:15 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r248857 r248872 1 2019-08-19 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [JSC] DFG DataView get/set optimization should take care of the case little-endian flag is JSEmpty 4 https://bugs.webkit.org/show_bug.cgi?id=200899 5 <rdar://problem/54073341> 6 7 Reviewed by Mark Lam. 8 9 * stress/data-view-get-dfg-should-handle-empty-constant.js: Added. 10 (i.new.Promise): 11 * stress/data-view-set-dfg-should-handle-empty-constant.js: Added. 12 (i.new.Promise): 13 1 14 2019-08-19 Michael Saboff <msaboff@apple.com> 2 15 -
trunk/Source/JavaScriptCore/ChangeLog
r248866 r248872 1 2019-08-19 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [JSC] DFG DataView get/set optimization should take care of the case little-endian flag is JSEmpty 4 https://bugs.webkit.org/show_bug.cgi?id=200899 5 <rdar://problem/54073341> 6 7 Reviewed by Mark Lam. 8 9 DFGByteCodeParser attempt to get constant flag for isLittleEndian for DataView get/set. 10 When getting a constant in DFG, we first need to check whether it is JSEmpty. But we are missing 11 this check for DataView get/set optimization. 12 13 * dfg/DFGByteCodeParser.cpp: 14 (JSC::DFG::ByteCodeParser::handleIntrinsicCall): 15 1 16 2019-08-19 Tadeu Zagallo <tzagallo@apple.com> 2 17 -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r248546 r248872 3245 3245 if (littleEndianChild->hasConstant()) { 3246 3246 JSValue constant = littleEndianChild->constant()->value(); 3247 isLittleEndian = constant.pureToBoolean(); 3248 if (isLittleEndian != MixedTriState) 3249 littleEndianChild = nullptr; 3247 if (constant) { 3248 isLittleEndian = constant.pureToBoolean(); 3249 if (isLittleEndian != MixedTriState) 3250 littleEndianChild = nullptr; 3251 } 3250 3252 } else 3251 3253 isLittleEndian = MixedTriState; … … 3328 3330 if (littleEndianChild->hasConstant()) { 3329 3331 JSValue constant = littleEndianChild->constant()->value(); 3330 isLittleEndian = constant.pureToBoolean(); 3331 if (isLittleEndian != MixedTriState) 3332 littleEndianChild = nullptr; 3332 if (constant) { 3333 isLittleEndian = constant.pureToBoolean(); 3334 if (isLittleEndian != MixedTriState) 3335 littleEndianChild = nullptr; 3336 } 3333 3337 } else 3334 3338 isLittleEndian = MixedTriState;
Note: See TracChangeset
for help on using the changeset viewer.