| 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 <iomanip> | 5 #include <iomanip> | 
| 6 #include <sstream> | 6 #include <sstream> | 
| 7 | 7 | 
| 8 #include "src/v8.h" | 8 #include "src/v8.h" | 
| 9 | 9 | 
| 10 #include "src/accessors.h" | 10 #include "src/accessors.h" | 
| (...skipping 12487 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 12498 | 12498 | 
| 12499   // Mark all the code that needs to be deoptimized. | 12499   // Mark all the code that needs to be deoptimized. | 
| 12500   bool marked = false; | 12500   bool marked = false; | 
| 12501   bool invalidate_embedded_objects = group == kWeakCodeGroup; | 12501   bool invalidate_embedded_objects = group == kWeakCodeGroup; | 
| 12502   for (int i = start; i < end; i++) { | 12502   for (int i = start; i < end; i++) { | 
| 12503     Object* obj = object_at(i); | 12503     Object* obj = object_at(i); | 
| 12504     if (obj->IsWeakCell()) { | 12504     if (obj->IsWeakCell()) { | 
| 12505       WeakCell* cell = WeakCell::cast(obj); | 12505       WeakCell* cell = WeakCell::cast(obj); | 
| 12506       if (cell->cleared()) continue; | 12506       if (cell->cleared()) continue; | 
| 12507       Code* code = Code::cast(cell->value()); | 12507       Code* code = Code::cast(cell->value()); | 
| 12508       if (!code->marked_for_deoptimization() && | 12508       if (!code->marked_for_deoptimization()) { | 
| 12509           (!code->is_turbofanned() || FLAG_turbo_deoptimization)) { |  | 
| 12510         SetMarkedForDeoptimization(code, group); | 12509         SetMarkedForDeoptimization(code, group); | 
| 12511         if (invalidate_embedded_objects) { | 12510         if (invalidate_embedded_objects) { | 
| 12512           code->InvalidateEmbeddedObjects(); | 12511           code->InvalidateEmbeddedObjects(); | 
| 12513         } | 12512         } | 
| 12514         marked = true; | 12513         marked = true; | 
| 12515       } | 12514       } | 
| 12516     } else { | 12515     } else { | 
| 12517       DCHECK(obj->IsForeign()); | 12516       DCHECK(obj->IsForeign()); | 
| 12518       CompilationDependencies* info = | 12517       CompilationDependencies* info = | 
| 12519           reinterpret_cast<CompilationDependencies*>( | 12518           reinterpret_cast<CompilationDependencies*>( | 
| (...skipping 4776 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 17296 void PropertyCell::SetValueWithInvalidation(Handle<PropertyCell> cell, | 17295 void PropertyCell::SetValueWithInvalidation(Handle<PropertyCell> cell, | 
| 17297                                             Handle<Object> new_value) { | 17296                                             Handle<Object> new_value) { | 
| 17298   if (cell->value() != *new_value) { | 17297   if (cell->value() != *new_value) { | 
| 17299     cell->set_value(*new_value); | 17298     cell->set_value(*new_value); | 
| 17300     Isolate* isolate = cell->GetIsolate(); | 17299     Isolate* isolate = cell->GetIsolate(); | 
| 17301     cell->dependent_code()->DeoptimizeDependentCodeGroup( | 17300     cell->dependent_code()->DeoptimizeDependentCodeGroup( | 
| 17302         isolate, DependentCode::kPropertyCellChangedGroup); | 17301         isolate, DependentCode::kPropertyCellChangedGroup); | 
| 17303   } | 17302   } | 
| 17304 } | 17303 } | 
| 17305 } }  // namespace v8::internal | 17304 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|