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 |