| 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 <sstream> | 5 #include <sstream> |
| 6 | 6 |
| 7 #include "src/v8.h" | 7 #include "src/v8.h" |
| 8 | 8 |
| 9 #include "src/accessors.h" | 9 #include "src/accessors.h" |
| 10 #include "src/allocation-site-scopes.h" | 10 #include "src/allocation-site-scopes.h" |
| (...skipping 9571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9582 #endif | 9582 #endif |
| 9583 shared->set_optimized_code_map(*new_code_map); | 9583 shared->set_optimized_code_map(*new_code_map); |
| 9584 } | 9584 } |
| 9585 | 9585 |
| 9586 | 9586 |
| 9587 FixedArray* SharedFunctionInfo::GetLiteralsFromOptimizedCodeMap(int index) { | 9587 FixedArray* SharedFunctionInfo::GetLiteralsFromOptimizedCodeMap(int index) { |
| 9588 DCHECK(index > kEntriesStart); | 9588 DCHECK(index > kEntriesStart); |
| 9589 FixedArray* code_map = FixedArray::cast(optimized_code_map()); | 9589 FixedArray* code_map = FixedArray::cast(optimized_code_map()); |
| 9590 if (!bound()) { | 9590 if (!bound()) { |
| 9591 FixedArray* cached_literals = FixedArray::cast(code_map->get(index + 1)); | 9591 FixedArray* cached_literals = FixedArray::cast(code_map->get(index + 1)); |
| 9592 DCHECK_NE(NULL, cached_literals); | 9592 DCHECK_NOT_NULL(cached_literals); |
| 9593 return cached_literals; | 9593 return cached_literals; |
| 9594 } | 9594 } |
| 9595 return NULL; | 9595 return NULL; |
| 9596 } | 9596 } |
| 9597 | 9597 |
| 9598 | 9598 |
| 9599 Code* SharedFunctionInfo::GetCodeFromOptimizedCodeMap(int index) { | 9599 Code* SharedFunctionInfo::GetCodeFromOptimizedCodeMap(int index) { |
| 9600 DCHECK(index > kEntriesStart); | 9600 DCHECK(index > kEntriesStart); |
| 9601 FixedArray* code_map = FixedArray::cast(optimized_code_map()); | 9601 FixedArray* code_map = FixedArray::cast(optimized_code_map()); |
| 9602 Code* code = Code::cast(code_map->get(index)); | 9602 Code* code = Code::cast(code_map->get(index)); |
| 9603 DCHECK_NE(NULL, code); | 9603 DCHECK_NOT_NULL(code); |
| 9604 return code; | 9604 return code; |
| 9605 } | 9605 } |
| 9606 | 9606 |
| 9607 | 9607 |
| 9608 void SharedFunctionInfo::ClearOptimizedCodeMap() { | 9608 void SharedFunctionInfo::ClearOptimizedCodeMap() { |
| 9609 FixedArray* code_map = FixedArray::cast(optimized_code_map()); | 9609 FixedArray* code_map = FixedArray::cast(optimized_code_map()); |
| 9610 | 9610 |
| 9611 // If the next map link slot is already used then the function was | 9611 // If the next map link slot is already used then the function was |
| 9612 // enqueued with code flushing and we remove it now. | 9612 // enqueued with code flushing and we remove it now. |
| 9613 if (!code_map->get(kNextMapIndex)->IsUndefined()) { | 9613 if (!code_map->get(kNextMapIndex)->IsUndefined()) { |
| (...skipping 7264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 16878 Handle<DependentCode> codes = | 16878 Handle<DependentCode> codes = |
| 16879 DependentCode::Insert(handle(cell->dependent_code(), info->isolate()), | 16879 DependentCode::Insert(handle(cell->dependent_code(), info->isolate()), |
| 16880 DependentCode::kPropertyCellChangedGroup, | 16880 DependentCode::kPropertyCellChangedGroup, |
| 16881 info->object_wrapper()); | 16881 info->object_wrapper()); |
| 16882 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); | 16882 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); |
| 16883 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( | 16883 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( |
| 16884 cell, info->zone()); | 16884 cell, info->zone()); |
| 16885 } | 16885 } |
| 16886 | 16886 |
| 16887 } } // namespace v8::internal | 16887 } } // namespace v8::internal |
| OLD | NEW |