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

Side by Side Diff: src/compiler.cc

Issue 2372373002: Remove getters that duplicate FunctionKind in SharedFunctionInfo and ParseInfo (Closed)
Patch Set: Remove SharedFunctionInfo::is_resumable and FunctionState stuff Created 4 years, 2 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/api.cc ('k') | src/debug/debug.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 898 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 // We do not switch to baseline code when the debugger might have created a 909 // We do not switch to baseline code when the debugger might have created a
910 // copy of the bytecode with break slots to be able to set break points. 910 // copy of the bytecode with break slots to be able to set break points.
911 if (function->shared()->HasDebugInfo()) { 911 if (function->shared()->HasDebugInfo()) {
912 return MaybeHandle<Code>(); 912 return MaybeHandle<Code>();
913 } 913 }
914 914
915 // TODO(4280): For now we do not switch generators or async functions to 915 // TODO(4280): For now we do not switch generators or async functions to
916 // baseline code because there might be suspended activations stored in 916 // baseline code because there might be suspended activations stored in
917 // generator objects on the heap. We could eventually go directly to 917 // generator objects on the heap. We could eventually go directly to
918 // TurboFan in this case. 918 // TurboFan in this case.
919 if (function->shared()->is_resumable()) { 919 if (IsResumableFunction(function->shared()->kind())) {
920 return MaybeHandle<Code>(); 920 return MaybeHandle<Code>();
921 } 921 }
922 922
923 // TODO(4280): For now we disable switching to baseline code in the presence 923 // TODO(4280): For now we disable switching to baseline code in the presence
924 // of interpreter activations of the given function. The reasons is that the 924 // of interpreter activations of the given function. The reasons is that the
925 // underlying bytecode is cleared below. Note that this only applies in case 925 // underlying bytecode is cleared below. Note that this only applies in case
926 // the --ignition-preserve-bytecode flag is not passed. 926 // the --ignition-preserve-bytecode flag is not passed.
927 if (!FLAG_ignition_preserve_bytecode) { 927 if (!FLAG_ignition_preserve_bytecode) {
928 InterpreterActivationsFinder activations_finder(function->shared()); 928 InterpreterActivationsFinder activations_finder(function->shared());
929 if (HasInterpreterActivations(isolate, &activations_finder)) { 929 if (HasInterpreterActivations(isolate, &activations_finder)) {
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
1378 Handle<SharedFunctionInfo> shared = info->shared_info(); 1378 Handle<SharedFunctionInfo> shared = info->shared_info();
1379 if (!shared->has_deoptimization_support()) { 1379 if (!shared->has_deoptimization_support()) {
1380 Zone zone(info->isolate()->allocator()); 1380 Zone zone(info->isolate()->allocator());
1381 CompilationInfo unoptimized(info->parse_info(), info->closure()); 1381 CompilationInfo unoptimized(info->parse_info(), info->closure());
1382 unoptimized.EnableDeoptimizationSupport(); 1382 unoptimized.EnableDeoptimizationSupport();
1383 1383
1384 // TODO(4280): For now we do not switch generators or async functions to 1384 // TODO(4280): For now we do not switch generators or async functions to
1385 // baseline code because there might be suspended activations stored in 1385 // baseline code because there might be suspended activations stored in
1386 // generator objects on the heap. We could eventually go directly to 1386 // generator objects on the heap. We could eventually go directly to
1387 // TurboFan in this case. 1387 // TurboFan in this case.
1388 if (shared->is_resumable()) return false; 1388 if (IsResumableFunction(shared->kind())) return false;
1389 1389
1390 // TODO(4280): For now we disable switching to baseline code in the presence 1390 // TODO(4280): For now we disable switching to baseline code in the presence
1391 // of interpreter activations of the given function. The reasons is that the 1391 // of interpreter activations of the given function. The reasons is that the
1392 // underlying bytecode is cleared below. The expensive check for activations 1392 // underlying bytecode is cleared below. The expensive check for activations
1393 // only needs to be done when the given function has bytecode, otherwise we 1393 // only needs to be done when the given function has bytecode, otherwise we
1394 // can be sure there are no activations. Note that this only applies in case 1394 // can be sure there are no activations. Note that this only applies in case
1395 // the --ignition-preserve-bytecode flag is not passed. 1395 // the --ignition-preserve-bytecode flag is not passed.
1396 if (!FLAG_ignition_preserve_bytecode && shared->HasBytecodeArray()) { 1396 if (!FLAG_ignition_preserve_bytecode && shared->HasBytecodeArray()) {
1397 InterpreterActivationsFinder activations_finder(*shared); 1397 InterpreterActivationsFinder activations_finder(*shared);
1398 if (HasInterpreterActivations(info->isolate(), &activations_finder)) { 1398 if (HasInterpreterActivations(info->isolate(), &activations_finder)) {
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 DCHECK(shared->is_compiled()); 1913 DCHECK(shared->is_compiled());
1914 function->set_literals(cached.literals); 1914 function->set_literals(cached.literals);
1915 } else if (shared->is_compiled()) { 1915 } else if (shared->is_compiled()) {
1916 // TODO(mvstanton): pass pretenure flag to EnsureLiterals. 1916 // TODO(mvstanton): pass pretenure flag to EnsureLiterals.
1917 JSFunction::EnsureLiterals(function); 1917 JSFunction::EnsureLiterals(function);
1918 } 1918 }
1919 } 1919 }
1920 1920
1921 } // namespace internal 1921 } // namespace internal
1922 } // namespace v8 1922 } // namespace v8
OLDNEW
« no previous file with comments | « src/api.cc ('k') | src/debug/debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698