OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #include "accessors.h" | 7 #include "accessors.h" |
8 #include "codegen.h" | 8 #include "codegen.h" |
9 #include "deoptimizer.h" | 9 #include "deoptimizer.h" |
10 #include "disasm.h" | 10 #include "disasm.h" |
(...skipping 1746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1757 trampoline->instruction_start())); | 1757 trampoline->instruction_start())); |
1758 if (FLAG_enable_ool_constant_pool) { | 1758 if (FLAG_enable_ool_constant_pool) { |
1759 Register constant_pool_reg = | 1759 Register constant_pool_reg = |
1760 StubFailureTrampolineFrame::constant_pool_pointer_register(); | 1760 StubFailureTrampolineFrame::constant_pool_pointer_register(); |
1761 intptr_t constant_pool_value = | 1761 intptr_t constant_pool_value = |
1762 reinterpret_cast<intptr_t>(trampoline->constant_pool()); | 1762 reinterpret_cast<intptr_t>(trampoline->constant_pool()); |
1763 output_frame->SetConstantPool(constant_pool_value); | 1763 output_frame->SetConstantPool(constant_pool_value); |
1764 output_frame->SetRegister(constant_pool_reg.code(), constant_pool_value); | 1764 output_frame->SetRegister(constant_pool_reg.code(), constant_pool_value); |
1765 } | 1765 } |
1766 output_frame->SetState(Smi::FromInt(FullCodeGenerator::NO_REGISTERS)); | 1766 output_frame->SetState(Smi::FromInt(FullCodeGenerator::NO_REGISTERS)); |
1767 Code* notify_failure = NotifyStubFailureBuiltin(); | 1767 Code* notify_failure = |
| 1768 isolate_->builtins()->builtin(Builtins::kNotifyStubFailureSaveDoubles); |
1768 output_frame->SetContinuation( | 1769 output_frame->SetContinuation( |
1769 reinterpret_cast<intptr_t>(notify_failure->entry())); | 1770 reinterpret_cast<intptr_t>(notify_failure->entry())); |
1770 } | 1771 } |
1771 | 1772 |
1772 | 1773 |
1773 Handle<Object> Deoptimizer::MaterializeNextHeapObject() { | 1774 Handle<Object> Deoptimizer::MaterializeNextHeapObject() { |
1774 int object_index = materialization_object_index_++; | 1775 int object_index = materialization_object_index_++; |
1775 ObjectMaterializationDescriptor desc = deferred_objects_[object_index]; | 1776 ObjectMaterializationDescriptor desc = deferred_objects_[object_index]; |
1776 const int length = desc.object_length(); | 1777 const int length = desc.object_length(); |
1777 | 1778 |
(...skipping 1802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3580 } | 3581 } |
3581 | 3582 |
3582 | 3583 |
3583 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { | 3584 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { |
3584 v->VisitPointer(BitCast<Object**>(&function_)); | 3585 v->VisitPointer(BitCast<Object**>(&function_)); |
3585 v->VisitPointers(parameters_, parameters_ + parameters_count_); | 3586 v->VisitPointers(parameters_, parameters_ + parameters_count_); |
3586 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); | 3587 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); |
3587 } | 3588 } |
3588 | 3589 |
3589 } } // namespace v8::internal | 3590 } } // namespace v8::internal |
OLD | NEW |