Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(460)

Side by Side Diff: src/compiler.cc

Issue 1863793004: [compiler] Deprecate CompilationInfo::has_context predicate. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler.h ('k') | src/compiler/code-generator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/compiler.h" 5 #include "src/compiler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "src/ast/ast-numbering.h" 9 #include "src/ast/ast-numbering.h"
10 #include "src/ast/prettyprinter.h" 10 #include "src/ast/prettyprinter.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 53
54 PARSE_INFO_GETTER(Handle<Script>, script) 54 PARSE_INFO_GETTER(Handle<Script>, script)
55 PARSE_INFO_GETTER(bool, is_eval) 55 PARSE_INFO_GETTER(bool, is_eval)
56 PARSE_INFO_GETTER(bool, is_native) 56 PARSE_INFO_GETTER(bool, is_native)
57 PARSE_INFO_GETTER(bool, is_module) 57 PARSE_INFO_GETTER(bool, is_module)
58 PARSE_INFO_GETTER(FunctionLiteral*, literal) 58 PARSE_INFO_GETTER(FunctionLiteral*, literal)
59 PARSE_INFO_GETTER_WITH_DEFAULT(LanguageMode, language_mode, STRICT) 59 PARSE_INFO_GETTER_WITH_DEFAULT(LanguageMode, language_mode, STRICT)
60 PARSE_INFO_GETTER_WITH_DEFAULT(Handle<JSFunction>, closure, 60 PARSE_INFO_GETTER_WITH_DEFAULT(Handle<JSFunction>, closure,
61 Handle<JSFunction>::null()) 61 Handle<JSFunction>::null())
62 PARSE_INFO_GETTER_WITH_DEFAULT(Scope*, scope, nullptr) 62 PARSE_INFO_GETTER_WITH_DEFAULT(Scope*, scope, nullptr)
63 PARSE_INFO_GETTER(Handle<Context>, context) 63 PARSE_INFO_GETTER_WITH_DEFAULT(Handle<Context>, context,
64 Handle<Context>::null())
64 PARSE_INFO_GETTER(Handle<SharedFunctionInfo>, shared_info) 65 PARSE_INFO_GETTER(Handle<SharedFunctionInfo>, shared_info)
65 66
66 #undef PARSE_INFO_GETTER 67 #undef PARSE_INFO_GETTER
67 #undef PARSE_INFO_GETTER_WITH_DEFAULT 68 #undef PARSE_INFO_GETTER_WITH_DEFAULT
68 69
69 // A wrapper around a CompilationInfo that detaches the Handles from 70 // A wrapper around a CompilationInfo that detaches the Handles from
70 // the underlying DeferredHandleScope and stores them in info_ on 71 // the underlying DeferredHandleScope and stores them in info_ on
71 // destruction. 72 // destruction.
72 class CompilationHandleScope BASE_EMBEDDED { 73 class CompilationHandleScope BASE_EMBEDDED {
73 public: 74 public:
(...skipping 29 matching lines...) Expand all
103 }; 104 };
104 105
105 // ---------------------------------------------------------------------------- 106 // ----------------------------------------------------------------------------
106 // Implementation of CompilationInfo 107 // Implementation of CompilationInfo
107 108
108 bool CompilationInfo::has_shared_info() const { 109 bool CompilationInfo::has_shared_info() const {
109 return parse_info_ && !parse_info_->shared_info().is_null(); 110 return parse_info_ && !parse_info_->shared_info().is_null();
110 } 111 }
111 112
112 113
113 bool CompilationInfo::has_context() const {
114 return parse_info_ && !parse_info_->context().is_null();
115 }
116
117
118 CompilationInfo::CompilationInfo(ParseInfo* parse_info) 114 CompilationInfo::CompilationInfo(ParseInfo* parse_info)
119 : CompilationInfo(parse_info, nullptr, Code::ComputeFlags(Code::FUNCTION), 115 : CompilationInfo(parse_info, nullptr, Code::ComputeFlags(Code::FUNCTION),
120 BASE, parse_info->isolate(), parse_info->zone()) { 116 BASE, parse_info->isolate(), parse_info->zone()) {
121 // Compiling for the snapshot typically results in different code than 117 // Compiling for the snapshot typically results in different code than
122 // compiling later on. This means that code recompiled with deoptimization 118 // compiling later on. This means that code recompiled with deoptimization
123 // support won't be "equivalent" (as defined by SharedFunctionInfo:: 119 // support won't be "equivalent" (as defined by SharedFunctionInfo::
124 // EnableDeoptimizationSupport), so it will replace the old code and all 120 // EnableDeoptimizationSupport), so it will replace the old code and all
125 // its type feedback. To avoid this, always compile functions in the snapshot 121 // its type feedback. To avoid this, always compile functions in the snapshot
126 // with deoptimization support. 122 // with deoptimization support.
127 if (isolate_->serializer_enabled()) EnableDeoptimizationSupport(); 123 if (isolate_->serializer_enabled()) EnableDeoptimizationSupport();
(...skipping 1770 matching lines...) Expand 10 before | Expand all | Expand 10 after
1898 MaybeHandle<Code> code; 1894 MaybeHandle<Code> code;
1899 if (cached.code != nullptr) code = handle(cached.code); 1895 if (cached.code != nullptr) code = handle(cached.code);
1900 Handle<Context> native_context(function->context()->native_context()); 1896 Handle<Context> native_context(function->context()->native_context());
1901 SharedFunctionInfo::AddToOptimizedCodeMap(shared, native_context, code, 1897 SharedFunctionInfo::AddToOptimizedCodeMap(shared, native_context, code,
1902 literals, BailoutId::None()); 1898 literals, BailoutId::None());
1903 } 1899 }
1904 } 1900 }
1905 1901
1906 } // namespace internal 1902 } // namespace internal
1907 } // namespace v8 1903 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler.h ('k') | src/compiler/code-generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698