Home | History | Annotate | Download | only in src

Lines Matching refs:deoptimizer

32 #include "deoptimizer.h"
44 return allocator->AllocateChunk(Deoptimizer::GetMaxDeoptTableSize(),
64 for (int i = 0; i < Deoptimizer::kBailoutTypesWithCodeEntry; ++i) {
72 for (int i = 0; i < Deoptimizer::kBailoutTypesWithCodeEntry; ++i) {
128 Deoptimizer* Deoptimizer::New(JSFunction* function,
134 Deoptimizer* deoptimizer = new Deoptimizer(isolate,
142 isolate->deoptimizer_data()->current_ = deoptimizer;
143 return deoptimizer;
151 size_t Deoptimizer::GetMaxDeoptTableSize() {
153 Deoptimizer::kMaxNumberOfEntries * Deoptimizer::table_entry_size_;
161 Deoptimizer* Deoptimizer::Grab(Isolate* isolate) {
162 Deoptimizer* result = isolate->deoptimizer_data()->current_;
170 int Deoptimizer::ConvertJSFrameIndexToFrameIndex(int jsframe_index) {
187 DeoptimizedFrameInfo* Deoptimizer::DebuggerInspectableFrame(
209 Deoptimizer* deoptimizer = new Deoptimizer(isolate,
211 Deoptimizer::DEBUGGER,
217 deoptimizer->FillInputFrame(tos, frame);
220 Deoptimizer::ComputeOutputFrames(deoptimizer);
224 ASSERT_LT(jsframe_index, deoptimizer->jsframe_count());
227 int frame_index = deoptimizer->ConvertJSFrameIndexToFrameIndex(jsframe_index);
231 deoptimizer->output_[frame_index - 1]->GetFrameType() ==
237 deoptimizer->output_[frame_index - construct_offset]->GetFrameType() ==
240 DeoptimizedFrameInfo* info = new DeoptimizedFrameInfo(deoptimizer,
248 deoptimizer->output_[
258 deoptimizer->output_[frame_index]->GetTop());
261 deoptimizer->DeleteFrameDescriptions();
264 deoptimizer->MaterializeHeapNumbersForDebuggerInspectableFrame(
267 // Finished using the deoptimizer instance.
268 delete deoptimizer;
274 void Deoptimizer::DeleteDebuggerInspectableFrame(DeoptimizedFrameInfo* info,
282 void Deoptimizer::GenerateDeoptimizationEntries(MacroAssembler* masm,
290 void Deoptimizer::VisitAllOptimizedFunctionsForContext(
319 void Deoptimizer::VisitAllOptimizedFunctions(
417 void Deoptimizer::DeoptimizeAll(Isolate* isolate) {
429 void Deoptimizer::DeoptimizeGlobalObject(JSObject* object) {
444 void Deoptimizer::DeoptimizeFunction(JSFunction* function) {
453 void Deoptimizer::DeoptimizeAllFunctionsForContext(
467 void Deoptimizer::DeoptimizeAllFunctionsWith(Isolate* isolate,
480 void Deoptimizer::DeoptimizeCodeList(Isolate* isolate, ZoneList<Code*>* codes) {
509 void Deoptimizer::DeoptimizeCode(Isolate* isolate, Code* code) {
529 void Deoptimizer::HandleWeakDeoptimizedCode(v8::Isolate* isolate,
547 void Deoptimizer::ComputeOutputFrames(Deoptimizer* deoptimizer) {
548 deoptimizer->DoComputeOutputFrames();
552 bool Deoptimizer::TraceEnabledFor(BailoutType deopt_type,
570 const char* Deoptimizer::MessageFor(BailoutType type) {
583 Deoptimizer::Deoptimizer(Isolate* isolate,
620 if (bailout_type_ == Deoptimizer::SOFT) {
644 Code* Deoptimizer::FindOptimizedCode(JSFunction* function,
647 case Deoptimizer::SOFT:
648 case Deoptimizer::EAGER:
649 case Deoptimizer::LAZY: {
656 case Deoptimizer::OSR: {
665 case Deoptimizer::DEBUGGER:
674 void Deoptimizer::PrintFunctionName() {
683 Deoptimizer::~Deoptimizer() {
689 void Deoptimizer::DeleteFrameDescriptions() {
706 Address Deoptimizer::GetDeoptimizationEntry(Isolate* isolate,
724 int Deoptimizer::GetDeoptimizationId(Isolate* isolate,
741 int Deoptimizer::GetOutputInfo(DeoptimizationOutputData* data,
766 int Deoptimizer::GetDeoptimizedCodeCount(Isolate* isolate) {
780 void Deoptimizer::DoComputeOutputFrames() {
894 void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
1081 void Deoptimizer::DoComputeArgumentsAdaptorFrame(TranslationIterator* iterator,
1182 void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
1323 void Deoptimizer::DoComputeAccessorStubFrame(TranslationIterator* iterator,
1444 void Deoptimizer::DoComputeCompiledStubFrame(TranslationIterator* iterator,
1650 Handle<Object> Deoptimizer::MaterializeNextHeapObject() {
1716 Handle<Object> Deoptimizer::MaterializeNextValue() {
1726 void Deoptimizer::MaterializeHeapObjects(JavaScriptFrameIterator* it) {
1812 void Deoptimizer::MaterializeHeapNumbersForDebuggerInspectableFrame(
1876 void Deoptimizer::DoTranslateObject(TranslationIterator* iterator,
2110 void Deoptimizer::DoTranslateCommand(TranslationIterator* iterator,
2394 bool Deoptimizer::DoOsrTranslateCommand(TranslationIterator* iterator,
2580 void Deoptimizer::PatchInterruptCode(Code* unoptimized_code,
2600 Deoptimizer::VerifyInterruptCode(
2606 void Deoptimizer::RevertInterruptCode(Code* unoptimized_code,
2628 Deoptimizer::VerifyInterruptCode(
2635 void Deoptimizer::VerifyInterruptCode(Code* unoptimized_code,
2656 unsigned Deoptimizer::ComputeInputFrameSize() const {
2677 unsigned Deoptimizer::ComputeFixedSize(JSFunction* function) const {
2685 unsigned Deoptimizer::ComputeIncomingArgumentSize(JSFunction* function) const {
2697 unsigned Deoptimizer::ComputeOutgoingArgumentSize() const {
2705 Object* Deoptimizer::ComputeLiteral(int index) const {
2713 void Deoptimizer::AddObjectStart(intptr_t slot, int length, bool is_args) {
2720 void Deoptimizer::AddObjectDuplication(intptr_t slot, int object_index) {
2727 void Deoptimizer::AddObjectTaggedValue(intptr_t value) {
2733 void Deoptimizer::AddObjectDoubleValue(double value) {
2739 void Deoptimizer::AddDoubleValue(intptr_t slot_address, double value) {
2746 void Deoptimizer::EnsureCodeForDeoptimizationEntry(Isolate* isolate,
2751 // references. This is fine because the deoptimizer's code section
2757 entry_count = Max(entry_count, Deoptimizer::kMinNumberOfEntries);
2759 ASSERT(entry_count <= Deoptimizer::kMaxNumberOfEntries);
2769 ASSERT(static_cast<int>(Deoptimizer::GetMaxDeoptTableSize()) >=
3112 Deoptimizer::HandleWeakDeoptimizedCode);
3273 DeoptimizedFrameInfo::DeoptimizedFrameInfo(Deoptimizer* deoptimizer,
3277 FrameDescription* output_frame = deoptimizer->output_[frame_index];
3284 Code* code = Code::cast(deoptimizer->isolate()->FindCodeObject(pc));
3292 output_frame = deoptimizer->output_[frame_index - 1];