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 13785 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13796 // code as non-optimizable. The marker on the shared function info | 13796 // code as non-optimizable. The marker on the shared function info |
13797 // is there because we flush non-optimized code thereby loosing the | 13797 // is there because we flush non-optimized code thereby loosing the |
13798 // non-optimizable information for the code. When the code is | 13798 // non-optimizable information for the code. When the code is |
13799 // regenerated and set on the shared function info it is marked as | 13799 // regenerated and set on the shared function info it is marked as |
13800 // non-optimizable if optimization is disabled for the shared | 13800 // non-optimizable if optimization is disabled for the shared |
13801 // function info. | 13801 // function info. |
13802 DCHECK(reason != kNoReason); | 13802 DCHECK(reason != kNoReason); |
13803 set_optimization_disabled(true); | 13803 set_optimization_disabled(true); |
13804 set_disable_optimization_reason(reason); | 13804 set_disable_optimization_reason(reason); |
13805 // Code should be the lazy compilation stub or else unoptimized. | 13805 // Code should be the lazy compilation stub or else unoptimized. |
13806 DCHECK(code()->kind() == Code::FUNCTION || code()->kind() == Code::BUILTIN); | 13806 DCHECK(abstract_code()->kind() == AbstractCode::FUNCTION || |
13807 PROFILE(GetIsolate(), CodeDisableOptEvent(code(), this)); | 13807 abstract_code()->kind() == AbstractCode::INTERPRETED_FUNCTION || |
| 13808 abstract_code()->kind() == AbstractCode::BUILTIN); |
| 13809 PROFILE(GetIsolate(), CodeDisableOptEvent(abstract_code(), this)); |
13808 if (FLAG_trace_opt) { | 13810 if (FLAG_trace_opt) { |
13809 PrintF("[disabled optimization for "); | 13811 PrintF("[disabled optimization for "); |
13810 ShortPrint(); | 13812 ShortPrint(); |
13811 PrintF(", reason: %s]\n", GetBailoutReason(reason)); | 13813 PrintF(", reason: %s]\n", GetBailoutReason(reason)); |
13812 } | 13814 } |
13813 } | 13815 } |
13814 | 13816 |
13815 | 13817 |
13816 void SharedFunctionInfo::InitFromFunctionLiteral( | 13818 void SharedFunctionInfo::InitFromFunctionLiteral( |
13817 Handle<SharedFunctionInfo> shared_info, FunctionLiteral* lit) { | 13819 Handle<SharedFunctionInfo> shared_info, FunctionLiteral* lit) { |
(...skipping 6047 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
19865 if (cell->value() != *new_value) { | 19867 if (cell->value() != *new_value) { |
19866 cell->set_value(*new_value); | 19868 cell->set_value(*new_value); |
19867 Isolate* isolate = cell->GetIsolate(); | 19869 Isolate* isolate = cell->GetIsolate(); |
19868 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 19870 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
19869 isolate, DependentCode::kPropertyCellChangedGroup); | 19871 isolate, DependentCode::kPropertyCellChangedGroup); |
19870 } | 19872 } |
19871 } | 19873 } |
19872 | 19874 |
19873 } // namespace internal | 19875 } // namespace internal |
19874 } // namespace v8 | 19876 } // namespace v8 |
OLD | NEW |