Commit 844e410d authored by mythria's avatar mythria Committed by Commit bot

[Interpreter] Adds translation of optimized frame to bytecode offset in FrameSummary

Adds the translation from optimized frame to bytecode offset
in FrameSummary. For interpreter, the bailout id represents the bytecode
array offset. So we can directly use the bailout id as the code offset
in the FrameSummary. Also updates mjsunit.status with more information
about failing tests.

BUG=v8:4280, v8:4689
LOG=N

Review URL: https://codereview.chromium.org/1740753002

Cr-Commit-Position: refs/heads/master@{#34393}
parent 86a9ef31
......@@ -955,7 +955,7 @@ void OptimizedFrame::Summarize(List<FrameSummary>* frames) {
if (frame_opcode == Translation::JS_FRAME ||
frame_opcode == Translation::INTERPRETED_FRAME) {
jsframe_count--;
BailoutId const ast_id = BailoutId(it.Next());
BailoutId const bailout_id = BailoutId(it.Next());
SharedFunctionInfo* const shared_info =
SharedFunctionInfo::cast(literal_array->get(it.Next()));
it.Next(); // Skip height.
......@@ -1002,14 +1002,12 @@ void OptimizedFrame::Summarize(List<FrameSummary>* frames) {
DeoptimizationOutputData* const output_data =
DeoptimizationOutputData::cast(code->deoptimization_data());
unsigned const entry =
Deoptimizer::GetOutputInfo(output_data, ast_id, shared_info);
Deoptimizer::GetOutputInfo(output_data, bailout_id, shared_info);
code_offset = FullCodeGenerator::PcField::decode(entry);
abstract_code = AbstractCode::cast(code);
} else {
// TODO(rmcilroy): Modify FrameSummary to enable us to summarize
// based on the BytecodeArray and bytecode offset.
DCHECK_EQ(frame_opcode, Translation::INTERPRETED_FRAME);
code_offset = 0;
code_offset = bailout_id.ToInt();
abstract_code = AbstractCode::cast(shared_info->bytecode_array());
}
FrameSummary summary(receiver, function, abstract_code, code_offset,
......
......@@ -561,6 +561,9 @@
'test-heap/CellsInOptimizedCodeAreWeak': [FAIL],
'test-run-inlining/InlineTwice': [FAIL],
'test-serialize/SerializeInternalReference': [FAIL, ['arch == arm or arch == arm64', PASS]],
# TODO(mythria,4680): This is flaky for ia32. Sometimes crashes. Skipping for now.
'test-cpu-profiler/SampleWhenFrameIsNotSetup': [SKIP],
}], # ignition == True
]
......@@ -844,25 +844,20 @@
'strong/function-arity': [FAIL],
'strong/undefined': [FAIL],
# TODO(rmcilroy,4680): Pass on debug, fail on release. Fails in both modes.
# the line numbers in the stack trace are incorrect. In debug mode somehow
# does not get flagged as a failure.
'compiler/regress-stacktrace-methods': [PASS, ['mode == release', FAIL]],
# TODO(mythria, 4780): Related to type feedback for calls in interpreter.
'array-literal-feedback': [FAIL],
'regress/regress-4121': [FAIL],
# TODO(mythria, 4764): lack of osr support.
'regress/regress-2618': [FAIL],
# TODO(rmcilroy,4680): Test assert failures.
'array-literal-feedback': [FAIL],
'debug-liveedit-2': [FAIL],
'es6/mirror-collections': [FAIL],
'es6/regress/regress-468661': [FAIL],
'regress/regress-2618': [FAIL],
'regress/regress-4121': [FAIL],
'regress/regress-4266': [FAIL],
'regress/regress-crbug-109362': [FAIL],
'regress/regress-crbug-568477-2': [FAIL],
# TODO(rmcilroy, 4680): new ES6 instanceof support
'harmony/instanceof-es6': [SKIP],
# TODO(rmcilroy,4680): Test timeouts.
'array-literal-transitions': [SKIP],
'regress/regress-crbug-517592': [SKIP],
......
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