Title: [229234] releases/WebKitGTK/webkit-2.20/Source/_javascript_Core
- Revision
- 229234
- Author
- [email protected]
- Date
- 2018-03-05 02:49:41 -0800 (Mon, 05 Mar 2018)
Log Message
Merge r228952 - ArgumentsEliminationPhase has a branch on GetByOffset that should be an assert
https://bugs.webkit.org/show_bug.cgi?id=182982
Reviewed by Yusuke Suzuki.
I don't know why this check was not always an assert. When we see
a GetByOffset on an eliminated allocation, that allocation *must*
be a PhantomClonedArguments. If it weren't, the GetByOffset would
have escaped it. Because this transformation happens by visiting
blocks in pre-order, and by visiting nodes in a block starting from
index zero to index block->size() - 1, we're guaranteed that eliminated
allocations get transformed before users of it, since we visit nodes
in dominator order.
* dfg/DFGArgumentsEliminationPhase.cpp:
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.20/Source/_javascript_Core/ChangeLog (229233 => 229234)
--- releases/WebKitGTK/webkit-2.20/Source/_javascript_Core/ChangeLog 2018-03-05 10:49:26 UTC (rev 229233)
+++ releases/WebKitGTK/webkit-2.20/Source/_javascript_Core/ChangeLog 2018-03-05 10:49:41 UTC (rev 229234)
@@ -1,3 +1,21 @@
+2018-02-23 Saam Barati <[email protected]>
+
+ ArgumentsEliminationPhase has a branch on GetByOffset that should be an assert
+ https://bugs.webkit.org/show_bug.cgi?id=182982
+
+ Reviewed by Yusuke Suzuki.
+
+ I don't know why this check was not always an assert. When we see
+ a GetByOffset on an eliminated allocation, that allocation *must*
+ be a PhantomClonedArguments. If it weren't, the GetByOffset would
+ have escaped it. Because this transformation happens by visiting
+ blocks in pre-order, and by visiting nodes in a block starting from
+ index zero to index block->size() - 1, we're guaranteed that eliminated
+ allocations get transformed before users of it, since we visit nodes
+ in dominator order.
+
+ * dfg/DFGArgumentsEliminationPhase.cpp:
+
2018-02-23 Yusuke Suzuki <[email protected]>
[JSC] Implement $vm.ftlTrue function for FTL testing
Modified: releases/WebKitGTK/webkit-2.20/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp (229233 => 229234)
--- releases/WebKitGTK/webkit-2.20/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp 2018-03-05 10:49:26 UTC (rev 229233)
+++ releases/WebKitGTK/webkit-2.20/Source/_javascript_Core/dfg/DFGArgumentsEliminationPhase.cpp 2018-03-05 10:49:41 UTC (rev 229234)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2015-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2015-2018 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -708,11 +708,7 @@
if (!isEliminatedAllocation(candidate))
break;
- // FIXME: This should be an assert:
- // https://bugs.webkit.org/show_bug.cgi?id=182982
- if (node->child2()->op() != PhantomClonedArguments)
- break;
-
+ ASSERT(candidate->op() == PhantomClonedArguments);
ASSERT(node->storageAccessData().offset == clonedArgumentsLengthPropertyOffset);
// Meh, this is kind of hackish - we use an Identity so that we can reuse the
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes