Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/src/compiler/frame.h b/src/compiler/frame.h
index d413d3e..de2ae1a 100644
--- a/src/compiler/frame.h
+++ b/src/compiler/frame.h
@@ -78,14 +78,10 @@
//
class Frame : public ZoneObject {
public:
- explicit Frame(int fixed_frame_size_in_slots,
- const CallDescriptor* descriptor);
+ explicit Frame(int fixed_frame_size_in_slots);
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) {
@@ -102,23 +98,20 @@
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;
}
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);
@@ -128,7 +121,6 @@
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);
@@ -152,7 +144,6 @@
private:
int frame_slot_count_;
- int callee_saved_slot_count_;
int spill_slot_count_;
BitVector* allocated_registers_;
BitVector* allocated_double_registers_;
@@ -191,13 +182,13 @@
// 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_; }
@@ -229,7 +220,7 @@
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_;