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

Unified Diff: src/compiler/frame.h

Issue 1843143002: [turbofan] CodeGenerator: Frame setup refactoring (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/compiler/code-generator-impl.h ('k') | src/compiler/frame.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/compiler/frame.h
diff --git a/src/compiler/frame.h b/src/compiler/frame.h
index da371c3067d41ce79abb8f72c0ea7ddc8283c393..de2ae1a3c23f57c32c3430a7e274ab0187f2f01a 100644
--- a/src/compiler/frame.h
+++ b/src/compiler/frame.h
@@ -82,9 +82,6 @@ class Frame : public ZoneObject {
inline int GetTotalFrameSlotCount() const { return frame_slot_count_; }
- inline int GetSavedCalleeRegisterSlotCount() const {
- return callee_saved_slot_count_;
- }
inline int GetSpillSlotCount() const { return spill_slot_count_; }
void SetAllocatedRegisters(BitVector* regs) {
@@ -101,23 +98,20 @@ class Frame : public ZoneObject {
return !allocated_double_registers_->IsEmpty();
}
- int AlignSavedCalleeRegisterSlots(int alignment = kDoubleSize) {
- DCHECK_EQ(0, callee_saved_slot_count_);
+ void AlignSavedCalleeRegisterSlots(int alignment = kDoubleSize) {
int alignment_slots = alignment / kPointerSize;
int delta = alignment_slots - (frame_slot_count_ & (alignment_slots - 1));
if (delta != alignment_slots) {
frame_slot_count_ += delta;
}
- return delta;
+ spill_slot_count_ += delta;
Mircea Trofin 2016/04/16 04:25:10 Note to reviewers: I am not very happy with this.
Mircea Trofin 2016/04/16 15:25:43 FWIW, I see we do the same in AlignFrame. Still, i
}
void AllocateSavedCalleeRegisterSlots(int count) {
frame_slot_count_ += count;
- callee_saved_slot_count_ += count;
}
int AllocateSpillSlot(int width) {
- DCHECK_EQ(0, callee_saved_slot_count_);
int frame_slot_count_before = frame_slot_count_;
int slot = AllocateAlignedFrameSlot(width);
spill_slot_count_ += (frame_slot_count_ - frame_slot_count_before);
@@ -127,7 +121,6 @@ class Frame : public ZoneObject {
int AlignFrame(int alignment = kDoubleSize);
int ReserveSpillSlots(size_t slot_count) {
- DCHECK_EQ(0, callee_saved_slot_count_);
DCHECK_EQ(0, spill_slot_count_);
spill_slot_count_ += static_cast<int>(slot_count);
frame_slot_count_ += static_cast<int>(slot_count);
@@ -151,7 +144,6 @@ class Frame : public ZoneObject {
private:
int frame_slot_count_;
- int callee_saved_slot_count_;
int spill_slot_count_;
BitVector* allocated_registers_;
BitVector* allocated_double_registers_;
@@ -190,13 +182,13 @@ class FrameOffset {
// current function's frame.
class FrameAccessState : public ZoneObject {
public:
- explicit FrameAccessState(Frame* const frame)
+ explicit FrameAccessState(const Frame* const frame)
: frame_(frame),
access_frame_with_fp_(false),
sp_delta_(0),
has_frame_(false) {}
- Frame* frame() const { return frame_; }
+ const Frame* frame() const { return frame_; }
void MarkHasFrame(bool state);
int sp_delta() const { return sp_delta_; }
@@ -228,7 +220,7 @@ class FrameAccessState : public ZoneObject {
FrameOffset GetFrameOffset(int spill_slot) const;
private:
- Frame* const frame_;
+ const Frame* const frame_;
bool access_frame_with_fp_;
int sp_delta_;
bool has_frame_;
« no previous file with comments | « src/compiler/code-generator-impl.h ('k') | src/compiler/frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698