Commit 6441d234 authored by Leszek Swirski's avatar Leszek Swirski Committed by Commit Bot

[flags] Remove interrupt budget flag

Since ignition bakes the interrupt budget into the snapshot (the
bytecode handlers reset the current function's interrupt budget to a
constant value), we should remove the interrupt budget flag, which won't
actually change anything if used.

Change-Id: I9672b73fea7abb6c9b575d3963f107e2397f8e49
Reviewed-on: https://chromium-review.googlesource.com/649148Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47805}
parent 7abdadca
......@@ -538,9 +538,6 @@ DEFINE_NEG_IMPLICATION(wasm_interpret_all, wasm_lazy_compilation)
// Profiler flags.
DEFINE_INT(frame_count, 1, "number of stack frames inspected by the profiler")
// 0x1800 fits in the immediate field of an ARM instruction.
DEFINE_INT(interrupt_budget, 0x1800,
"execution budget before interrupt is triggered")
DEFINE_INT(type_info_threshold, 25,
"percentage of ICs that must have type info to allow optimization")
DEFINE_INT(generic_ic_threshold, 30,
......
......@@ -3381,7 +3381,7 @@ AllocationResult Heap::AllocateBytecodeArray(int length,
instance->set_parameter_count(parameter_count);
instance->set_incoming_new_target_or_generator_register(
interpreter::Register::invalid_value());
instance->set_interrupt_budget(interpreter::Interpreter::InterruptBudget());
instance->set_interrupt_budget(interpreter::Interpreter::kInterruptBudget);
instance->set_osr_loop_nesting_level(0);
instance->set_bytecode_age(BytecodeArray::kNoAgeBytecodeAge);
instance->set_constant_pool(constant_pool);
......
......@@ -1055,7 +1055,7 @@ void InterpreterAssembler::UpdateInterruptBudget(Node* weight, bool backward) {
BIND(&interrupt_check);
{
CallRuntime(Runtime::kInterrupt, GetContext());
new_budget.Bind(Int32Constant(Interpreter::InterruptBudget()));
new_budget.Bind(Int32Constant(Interpreter::kInterruptBudget));
Goto(&ok);
}
......
......@@ -117,11 +117,6 @@ void Interpreter::IterateDispatchTable(RootVisitor* v) {
}
}
// static
int Interpreter::InterruptBudget() {
return FLAG_interrupt_budget * kCodeSizeMultiplier;
}
namespace {
bool ShouldPrintBytecode(Handle<SharedFunctionInfo> shared) {
......
......@@ -37,9 +37,6 @@ class Interpreter {
explicit Interpreter(Isolate* isolate);
virtual ~Interpreter() {}
// Returns the interrupt budget which should be used for the profiler counter.
static int InterruptBudget();
// Creates a compilation job which will generate bytecode for |literal|.
static CompilationJob* NewCompilationJob(ParseInfo* parse_info,
FunctionLiteral* literal,
......@@ -67,6 +64,10 @@ class Interpreter {
// TODO(ignition): Tune code size multiplier.
static const int kCodeSizeMultiplier = 24;
// The interrupt budget which should be used for the profiler counter.
// TODO(ignition): Tune interrupt budget.
static const int kInterruptBudget = kCodeSizeMultiplier * 0x1800;
private:
friend class SetupInterpreter;
friend class v8::internal::SetupIsolateDelegate;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment