Changeset 278424 in webkit
- Timestamp:
- Jun 3, 2021 3:27:32 PM (3 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r278413 r278424 1 2021-06-03 Filip Pizlo <fpizlo@apple.com> 2 3 DFG should eliminate obvious store barriers 4 https://bugs.webkit.org/show_bug.cgi?id=226604 5 6 Reviewed by Mark Lam. 7 8 This has a couple changes: 9 10 - PutByOffset doesn't GC! So let's not say that it does. 11 12 - The store barrier clustering phase is no longer called the store barrier fencing phase in 13 dumps. 14 15 Small Speedometer2 speed-up. Definite speed-up for Elm. 16 17 * dfg/DFGDoesGC.cpp: 18 (JSC::DFG::doesGC): 19 * dfg/DFGStoreBarrierClusteringPhase.cpp: 20 1 21 2021-06-03 Patrick Angle <pangle@apple.com> 2 22 -
trunk/Source/JavaScriptCore/dfg/DFGDoesGC.cpp
r277926 r278424 1 1 /* 2 * Copyright (C) 2014-202 0Apple Inc. All rights reserved.2 * Copyright (C) 2014-2021 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 259 259 case DataViewGetFloat: 260 260 case DataViewSet: 261 case PutByOffset: 261 262 return false; 262 263 … … 321 322 case PutByIdFlush: 322 323 case PutByIdWithThis: 323 case PutByOffset:324 324 case PutByValWithThis: 325 325 case PutDynamicVar: -
trunk/Source/JavaScriptCore/dfg/DFGStoreBarrierClusteringPhase.cpp
r261895 r278424 1 1 /* 2 * Copyright (C) 2016 Apple Inc. All rights reserved.2 * Copyright (C) 2016-2021 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 41 41 namespace { 42 42 43 constexpr bool verbose = false; 44 43 45 class StoreBarrierClusteringPhase : public Phase { 44 46 public: 45 47 StoreBarrierClusteringPhase(Graph& graph) 46 : Phase(graph, "store barrier fencing")48 : Phase(graph, "store barrier clustering") 47 49 , m_insertionSet(graph) 48 50 { … … 99 101 // don't have evidence that it would be worth it. 100 102 if (doesGC(m_graph, node) || mayExit(m_graph, node) != DoesNotExit) { 103 if (verbose) { 104 dataLog("Possible GC point at ", node, "\n"); 105 dataLog(" doesGC = ", doesGC(m_graph, node), "\n"); 106 dataLog(" mayExit = ", mayExit(m_graph, node), "\n"); 107 } 101 108 futureGC = true; 102 109 continue;
Note: See TracChangeset
for help on using the changeset viewer.