diff options
Diffstat (limited to 'chromium/v8/src/compiler/js-inlining.cc')
-rw-r--r-- | chromium/v8/src/compiler/js-inlining.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/chromium/v8/src/compiler/js-inlining.cc b/chromium/v8/src/compiler/js-inlining.cc index 206cd639fca..c87be6c2362 100644 --- a/chromium/v8/src/compiler/js-inlining.cc +++ b/chromium/v8/src/compiler/js-inlining.cc @@ -309,8 +309,12 @@ bool NeedsConvertReceiver(Node* receiver, Node* effect) { return false; } default: { + // We don't really care about the exact maps here, just the instance + // types, which don't change across potential side-effecting operations. ZoneHandleSet<Map> maps; - if (NodeProperties::InferReceiverMaps(receiver, effect, &maps)) { + NodeProperties::InferReceiverMapsResult result = + NodeProperties::InferReceiverMaps(receiver, effect, &maps); + if (result != NodeProperties::kNoReceiverMaps) { // Check if all {maps} are actually JSReceiver maps. for (size_t i = 0; i < maps.size(); ++i) { if (!maps[i]->IsJSReceiverMap()) return true; |