Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(342)

Side by Side Diff: runtime/vm/deopt_instructions.h

Issue 2039913006: DBC: Eager deoptimization and CheckSmi instruction. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address comments Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/constants_dbc.h ('k') | runtime/vm/deopt_instructions.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_DEOPT_INSTRUCTIONS_H_ 5 #ifndef VM_DEOPT_INSTRUCTIONS_H_
6 #define VM_DEOPT_INSTRUCTIONS_H_ 6 #define VM_DEOPT_INSTRUCTIONS_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/code_generator.h" 10 #include "vm/code_generator.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 // deoptimization will fill in. 108 // deoptimization will fill in.
109 intptr_t* FrameBase(const StackFrame* frame) { 109 intptr_t* FrameBase(const StackFrame* frame) {
110 #if !defined(TARGET_ARCH_DBC) 110 #if !defined(TARGET_ARCH_DBC)
111 // SP of the deoptimization frame is the lowest slot because 111 // SP of the deoptimization frame is the lowest slot because
112 // stack is growing downwards. 112 // stack is growing downwards.
113 return reinterpret_cast<intptr_t*>( 113 return reinterpret_cast<intptr_t*>(
114 frame->sp() - (kDartFrameFixedSize * kWordSize)); 114 frame->sp() - (kDartFrameFixedSize * kWordSize));
115 #else 115 #else
116 // First argument is the lowest slot because stack is growing upwards. 116 // First argument is the lowest slot because stack is growing upwards.
117 return reinterpret_cast<intptr_t*>( 117 return reinterpret_cast<intptr_t*>(
118 frame->fp() - (kDartFrameFixedSize + num_args_) * kWordSize); 118 frame->fp() - (kDartFrameFixedSize + num_args_) * kWordSize);
119 #endif // !defined(TARGET_ARCH_DBC) 119 #endif // !defined(TARGET_ARCH_DBC)
120 } 120 }
121 121
122 void set_dest_frame(const StackFrame* frame) { 122 void set_dest_frame(const StackFrame* frame) {
123 ASSERT(frame != NULL && dest_frame_ == NULL); 123 ASSERT(frame != NULL && dest_frame_ == NULL);
124 dest_frame_ = FrameBase(frame); 124 dest_frame_ = FrameBase(frame);
125 } 125 }
126 126
127 Thread* thread() const { return thread_; } 127 Thread* thread() const { return thread_; }
128 Zone* zone() const { return thread_->zone(); } 128 Zone* zone() const { return thread_->zone(); }
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 public BitField<intptr_t, ICData::DeoptReasonId, 0, 8> { }; 593 public BitField<intptr_t, ICData::DeoptReasonId, 0, 8> { };
594 class FlagsField : public BitField<intptr_t, uint32_t, 8, 8> { }; 594 class FlagsField : public BitField<intptr_t, uint32_t, 8, 8> { };
595 595
596 private: 596 private:
597 static const intptr_t kEntrySize = 3; 597 static const intptr_t kEntrySize = 3;
598 }; 598 };
599 599
600 } // namespace dart 600 } // namespace dart
601 601
602 #endif // VM_DEOPT_INSTRUCTIONS_H_ 602 #endif // VM_DEOPT_INSTRUCTIONS_H_
OLDNEW
« no previous file with comments | « runtime/vm/constants_dbc.h ('k') | runtime/vm/deopt_instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698