Commit 1d33c772 authored by palfia@homejinni.com's avatar palfia@homejinni.com

MIPS: Add separate flag for --trace-stub-failures

Port r13598 (79a374cf)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/12211088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent aa8f47d9
...@@ -593,7 +593,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -593,7 +593,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
intptr_t fp_value = top_address + output_offset; intptr_t fp_value = top_address + output_offset;
output_frame->SetFp(fp_value); output_frame->SetFp(fp_value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; caller's fp\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; caller's fp\n",
fp_value, output_offset, value); fp_value, output_offset, value);
} }
...@@ -602,7 +602,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -602,7 +602,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = output_[frame_index - 1]->GetContext(); value = output_[frame_index - 1]->GetContext();
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; context\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; context\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -611,7 +611,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -611,7 +611,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = reinterpret_cast<intptr_t>(Smi::FromInt(StackFrame::CONSTRUCT)); value = reinterpret_cast<intptr_t>(Smi::FromInt(StackFrame::CONSTRUCT));
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; function (construct sentinel)\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; function (construct sentinel)\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -620,7 +620,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -620,7 +620,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = reinterpret_cast<intptr_t>(construct_stub); value = reinterpret_cast<intptr_t>(construct_stub);
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; code object\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; code object\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -629,7 +629,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -629,7 +629,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = reinterpret_cast<uint32_t>(Smi::FromInt(height - 1)); value = reinterpret_cast<uint32_t>(Smi::FromInt(height - 1));
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; argc (%d)\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; argc (%d)\n",
top_address + output_offset, output_offset, value, height - 1); top_address + output_offset, output_offset, value, height - 1);
} }
...@@ -638,7 +638,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -638,7 +638,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = reinterpret_cast<intptr_t>(function); value = reinterpret_cast<intptr_t>(function);
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; constructor function\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; constructor function\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -648,7 +648,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, ...@@ -648,7 +648,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = output_frame->GetFrameSlot(output_frame_size - kPointerSize); value = output_frame->GetFrameSlot(output_frame_size - kPointerSize);
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; allocated receiver\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; allocated receiver\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -672,7 +672,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator, ...@@ -672,7 +672,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
unsigned height = 0; unsigned height = 0;
unsigned height_in_bytes = height * kPointerSize; unsigned height_in_bytes = height * kPointerSize;
const char* kind = is_setter_stub_frame ? "setter" : "getter"; const char* kind = is_setter_stub_frame ? "setter" : "getter";
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" translating %s stub => height=%u\n", kind, height_in_bytes); PrintF(" translating %s stub => height=%u\n", kind, height_in_bytes);
} }
...@@ -705,7 +705,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator, ...@@ -705,7 +705,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
intptr_t value = output_[frame_index - 1]->GetPc(); intptr_t value = output_[frame_index - 1]->GetPc();
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR
" ; caller's pc\n", " ; caller's pc\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
...@@ -717,7 +717,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator, ...@@ -717,7 +717,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
intptr_t fp_value = top_address + output_offset; intptr_t fp_value = top_address + output_offset;
output_frame->SetFp(fp_value); output_frame->SetFp(fp_value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR
" ; caller's fp\n", " ; caller's fp\n",
fp_value, output_offset, value); fp_value, output_offset, value);
...@@ -727,7 +727,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator, ...@@ -727,7 +727,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = output_[frame_index - 1]->GetContext(); value = output_[frame_index - 1]->GetContext();
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR
" ; context\n", " ; context\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
...@@ -737,7 +737,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator, ...@@ -737,7 +737,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
output_offset -= kPointerSize; output_offset -= kPointerSize;
value = reinterpret_cast<intptr_t>(Smi::FromInt(StackFrame::INTERNAL)); value = reinterpret_cast<intptr_t>(Smi::FromInt(StackFrame::INTERNAL));
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR
" ; function (%s sentinel)\n", " ; function (%s sentinel)\n",
top_address + output_offset, output_offset, value, kind); top_address + output_offset, output_offset, value, kind);
...@@ -751,7 +751,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator, ...@@ -751,7 +751,7 @@ void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
Code* accessor_stub = isolate_->builtins()->builtin(name); Code* accessor_stub = isolate_->builtins()->builtin(name);
value = reinterpret_cast<intptr_t>(accessor_stub); value = reinterpret_cast<intptr_t>(accessor_stub);
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR PrintF(" 0x%08" V8PRIxPTR ": [top + %u] <- 0x%08" V8PRIxPTR
" ; code object\n", " ; code object\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
...@@ -797,7 +797,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, ...@@ -797,7 +797,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
} }
unsigned height = iterator->Next(); unsigned height = iterator->Next();
unsigned height_in_bytes = height * kPointerSize; unsigned height_in_bytes = height * kPointerSize;
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" translating "); PrintF(" translating ");
function->PrintName(); function->PrintName();
PrintF(" => node=%d, height=%d\n", node_id.ToInt(), height_in_bytes); PrintF(" => node=%d, height=%d\n", node_id.ToInt(), height_in_bytes);
...@@ -861,7 +861,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, ...@@ -861,7 +861,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
value = output_[frame_index - 1]->GetPc(); value = output_[frame_index - 1]->GetPc();
} }
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; caller's pc\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; caller's pc\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -884,7 +884,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, ...@@ -884,7 +884,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
if (is_topmost) { if (is_topmost) {
output_frame->SetRegister(fp.code(), fp_value); output_frame->SetRegister(fp.code(), fp_value);
} }
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; caller's fp\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; caller's fp\n",
fp_value, output_offset, value); fp_value, output_offset, value);
} }
...@@ -902,7 +902,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, ...@@ -902,7 +902,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
output_frame->SetContext(value); output_frame->SetContext(value);
if (is_topmost) output_frame->SetRegister(cp.code(), value); if (is_topmost) output_frame->SetRegister(cp.code(), value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; context\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; context\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
...@@ -915,7 +915,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, ...@@ -915,7 +915,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
// input frame. // input frame.
ASSERT(!is_bottommost || input_->GetFrameSlot(input_offset) == value); ASSERT(!is_bottommost || input_->GetFrameSlot(input_offset) == value);
output_frame->SetFrameSlot(output_offset, value); output_frame->SetFrameSlot(output_offset, value);
if (FLAG_trace_deopt) { if (trace_) {
PrintF(" 0x%08x: [top + %d] <- 0x%08x ; function\n", PrintF(" 0x%08x: [top + %d] <- 0x%08x ; function\n",
top_address + output_offset, output_offset, value); top_address + output_offset, output_offset, value);
} }
......
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