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

Side by Side Diff: src/compiler.cc

Issue 2281543002: [compiler] Remove inclusion of inline header file. (Closed)
Patch Set: Created 4 years, 3 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/basic-block-instrumentor.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 #include <memory> 8 #include <memory>
9 9
10 #include "src/asmjs/asm-js.h" 10 #include "src/asmjs/asm-js.h"
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 // profiler, so they trigger their own optimization when they're called 170 // profiler, so they trigger their own optimization when they're called
171 // for the SharedFunctionInfo::kCallsUntilPrimitiveOptimization-th time. 171 // for the SharedFunctionInfo::kCallsUntilPrimitiveOptimization-th time.
172 bool CompilationInfo::ShouldSelfOptimize() { 172 bool CompilationInfo::ShouldSelfOptimize() {
173 return FLAG_crankshaft && 173 return FLAG_crankshaft &&
174 !(literal()->flags() & AstProperties::kDontSelfOptimize) && 174 !(literal()->flags() & AstProperties::kDontSelfOptimize) &&
175 !literal()->dont_optimize() && 175 !literal()->dont_optimize() &&
176 literal()->scope()->AllowsLazyCompilation() && 176 literal()->scope()->AllowsLazyCompilation() &&
177 !shared_info()->optimization_disabled(); 177 !shared_info()->optimization_disabled();
178 } 178 }
179 179
180 void CompilationInfo::ReopenHandlesInNewHandleScope() {
181 closure_ = Handle<JSFunction>(*closure_);
182 }
180 183
181 bool CompilationInfo::has_simple_parameters() { 184 bool CompilationInfo::has_simple_parameters() {
182 return scope()->has_simple_parameters(); 185 return scope()->has_simple_parameters();
183 } 186 }
184 187
185 std::unique_ptr<char[]> CompilationInfo::GetDebugName() const { 188 std::unique_ptr<char[]> CompilationInfo::GetDebugName() const {
186 if (parse_info() && parse_info()->literal()) { 189 if (parse_info() && parse_info()->literal()) {
187 AllowHandleDereference allow_deref; 190 AllowHandleDereference allow_deref;
188 return parse_info()->literal()->debug_name()->ToCString(); 191 return parse_info()->literal()->debug_name()->ToCString();
189 } 192 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 CompilationInfo::SourcePositionRecordingMode() const { 234 CompilationInfo::SourcePositionRecordingMode() const {
232 return parse_info() && parse_info()->is_native() 235 return parse_info() && parse_info()->is_native()
233 ? SourcePositionTableBuilder::OMIT_SOURCE_POSITIONS 236 ? SourcePositionTableBuilder::OMIT_SOURCE_POSITIONS
234 : SourcePositionTableBuilder::RECORD_SOURCE_POSITIONS; 237 : SourcePositionTableBuilder::RECORD_SOURCE_POSITIONS;
235 } 238 }
236 239
237 bool CompilationInfo::ExpectsJSReceiverAsReceiver() { 240 bool CompilationInfo::ExpectsJSReceiverAsReceiver() {
238 return is_sloppy(parse_info()->language_mode()) && !parse_info()->is_native(); 241 return is_sloppy(parse_info()->language_mode()) && !parse_info()->is_native();
239 } 242 }
240 243
244 bool CompilationInfo::has_native_context() const {
245 return !closure().is_null() && (closure()->native_context() != nullptr);
246 }
247
248 Context* CompilationInfo::native_context() const {
249 return has_native_context() ? closure()->native_context() : nullptr;
250 }
251
252 bool CompilationInfo::has_global_object() const { return has_native_context(); }
253
254 JSGlobalObject* CompilationInfo::global_object() const {
255 return has_global_object() ? native_context()->global_object() : nullptr;
256 }
257
258 void CompilationInfo::AddInlinedFunction(
259 Handle<SharedFunctionInfo> inlined_function) {
260 inlined_functions_.push_back(InlinedFunctionHolder(
261 inlined_function, handle(inlined_function->code())));
262 }
263
264 Code::Kind CompilationInfo::output_code_kind() const {
265 return Code::ExtractKindFromFlags(code_flags_);
266 }
267
241 // ---------------------------------------------------------------------------- 268 // ----------------------------------------------------------------------------
242 // Implementation of CompilationJob 269 // Implementation of CompilationJob
243 270
244 CompilationJob::Status CompilationJob::PrepareJob() { 271 CompilationJob::Status CompilationJob::PrepareJob() {
245 DCHECK(ThreadId::Current().Equals(info()->isolate()->thread_id())); 272 DCHECK(ThreadId::Current().Equals(info()->isolate()->thread_id()));
246 DisallowJavascriptExecution no_js(isolate()); 273 DisallowJavascriptExecution no_js(isolate());
247 274
248 if (FLAG_trace_opt && info()->IsOptimizing()) { 275 if (FLAG_trace_opt && info()->IsOptimizing()) {
249 OFStream os(stdout); 276 OFStream os(stdout);
250 os << "[compiling method " << Brief(*info()->closure()) << " using " 277 os << "[compiling method " << Brief(*info()->closure()) << " using "
(...skipping 1797 matching lines...) Expand 10 before | Expand all | Expand 10 after
2048 DCHECK(shared->is_compiled()); 2075 DCHECK(shared->is_compiled());
2049 function->set_literals(cached.literals); 2076 function->set_literals(cached.literals);
2050 } else if (shared->is_compiled()) { 2077 } else if (shared->is_compiled()) {
2051 // TODO(mvstanton): pass pretenure flag to EnsureLiterals. 2078 // TODO(mvstanton): pass pretenure flag to EnsureLiterals.
2052 JSFunction::EnsureLiterals(function); 2079 JSFunction::EnsureLiterals(function);
2053 } 2080 }
2054 } 2081 }
2055 2082
2056 } // namespace internal 2083 } // namespace internal
2057 } // namespace v8 2084 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler.h ('k') | src/compiler/basic-block-instrumentor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698