OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 11952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11963 FixedArray* const literals = data->LiteralArray(); | 11963 FixedArray* const literals = data->LiteralArray(); |
11964 int const inlined_count = data->InlinedFunctionCount()->value(); | 11964 int const inlined_count = data->InlinedFunctionCount()->value(); |
11965 for (int i = 0; i < inlined_count; ++i) { | 11965 for (int i = 0; i < inlined_count; ++i) { |
11966 if (SharedFunctionInfo::cast(literals->get(i)) == candidate) { | 11966 if (SharedFunctionInfo::cast(literals->get(i)) == candidate) { |
11967 return true; | 11967 return true; |
11968 } | 11968 } |
11969 } | 11969 } |
11970 return false; | 11970 return false; |
11971 } | 11971 } |
11972 | 11972 |
| 11973 void JSFunction::MarkForBaseline() { |
| 11974 Isolate* isolate = GetIsolate(); |
| 11975 set_code_no_write_barrier( |
| 11976 isolate->builtins()->builtin(Builtins::kCompileBaseline)); |
| 11977 // No write barrier required, since the builtin is part of the root set. |
| 11978 } |
11973 | 11979 |
11974 void JSFunction::MarkForOptimization() { | 11980 void JSFunction::MarkForOptimization() { |
11975 Isolate* isolate = GetIsolate(); | 11981 Isolate* isolate = GetIsolate(); |
11976 DCHECK(!IsOptimized()); | 11982 DCHECK(!IsOptimized()); |
11977 DCHECK(shared()->allows_lazy_compilation() || | 11983 DCHECK(shared()->allows_lazy_compilation() || |
11978 !shared()->optimization_disabled()); | 11984 !shared()->optimization_disabled()); |
11979 set_code_no_write_barrier( | 11985 set_code_no_write_barrier( |
11980 isolate->builtins()->builtin(Builtins::kCompileOptimized)); | 11986 isolate->builtins()->builtin(Builtins::kCompileOptimized)); |
11981 // No write barrier required, since the builtin is part of the root set. | 11987 // No write barrier required, since the builtin is part of the root set. |
11982 } | 11988 } |
(...skipping 7452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19435 if (cell->value() != *new_value) { | 19441 if (cell->value() != *new_value) { |
19436 cell->set_value(*new_value); | 19442 cell->set_value(*new_value); |
19437 Isolate* isolate = cell->GetIsolate(); | 19443 Isolate* isolate = cell->GetIsolate(); |
19438 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19444 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
19439 isolate, DependentCode::kPropertyCellChangedGroup); | 19445 isolate, DependentCode::kPropertyCellChangedGroup); |
19440 } | 19446 } |
19441 } | 19447 } |
19442 | 19448 |
19443 } // namespace internal | 19449 } // namespace internal |
19444 } // namespace v8 | 19450 } // namespace v8 |
OLD | NEW |