| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/objects.h" | 5 #include "src/objects.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <iomanip> | 8 #include <iomanip> |
| 9 #include <sstream> | 9 #include <sstream> |
| 10 | 10 |
| (...skipping 13631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13642 } | 13642 } |
| 13643 | 13643 |
| 13644 | 13644 |
| 13645 void Code::ClearInlineCaches(Code::Kind kind) { | 13645 void Code::ClearInlineCaches(Code::Kind kind) { |
| 13646 ClearInlineCaches(&kind); | 13646 ClearInlineCaches(&kind); |
| 13647 } | 13647 } |
| 13648 | 13648 |
| 13649 | 13649 |
| 13650 void Code::ClearInlineCaches(Code::Kind* kind) { | 13650 void Code::ClearInlineCaches(Code::Kind* kind) { |
| 13651 int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET) | | 13651 int mask = RelocInfo::ModeMask(RelocInfo::CODE_TARGET) | |
| 13652 RelocInfo::ModeMask(RelocInfo::CONSTRUCT_CALL) | | |
| 13653 RelocInfo::ModeMask(RelocInfo::CODE_TARGET_WITH_ID); | 13652 RelocInfo::ModeMask(RelocInfo::CODE_TARGET_WITH_ID); |
| 13654 for (RelocIterator it(this, mask); !it.done(); it.next()) { | 13653 for (RelocIterator it(this, mask); !it.done(); it.next()) { |
| 13655 RelocInfo* info = it.rinfo(); | 13654 RelocInfo* info = it.rinfo(); |
| 13656 Code* target(Code::GetCodeFromTargetAddress(info->target_address())); | 13655 Code* target(Code::GetCodeFromTargetAddress(info->target_address())); |
| 13657 if (target->is_inline_cache_stub()) { | 13656 if (target->is_inline_cache_stub()) { |
| 13658 if (kind == NULL || *kind == target->kind()) { | 13657 if (kind == NULL || *kind == target->kind()) { |
| 13659 IC::Clear(this->GetIsolate(), info->pc(), | 13658 IC::Clear(this->GetIsolate(), info->pc(), |
| 13660 info->host()->constant_pool()); | 13659 info->host()->constant_pool()); |
| 13661 } | 13660 } |
| 13662 } | 13661 } |
| (...skipping 5326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 18989 if (cell->value() != *new_value) { | 18988 if (cell->value() != *new_value) { |
| 18990 cell->set_value(*new_value); | 18989 cell->set_value(*new_value); |
| 18991 Isolate* isolate = cell->GetIsolate(); | 18990 Isolate* isolate = cell->GetIsolate(); |
| 18992 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 18991 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
| 18993 isolate, DependentCode::kPropertyCellChangedGroup); | 18992 isolate, DependentCode::kPropertyCellChangedGroup); |
| 18994 } | 18993 } |
| 18995 } | 18994 } |
| 18996 | 18995 |
| 18997 } // namespace internal | 18996 } // namespace internal |
| 18998 } // namespace v8 | 18997 } // namespace v8 |
| OLD | NEW |