| Index: src/deoptimizer.h
|
| ===================================================================
|
| --- src/deoptimizer.h (revision 7362)
|
| +++ src/deoptimizer.h (working copy)
|
| @@ -326,7 +326,9 @@
|
| JSFunction* function);
|
|
|
| void* operator new(size_t size, uint32_t frame_size) {
|
| - return malloc(size + frame_size);
|
| + // Subtracts kPointerSize, as the member frame_content_ already supplies
|
| + // the first element of the area to store the frame.
|
| + return malloc(size + frame_size - kPointerSize);
|
| }
|
|
|
| void operator delete(void* description) {
|
| @@ -410,7 +412,7 @@
|
| }
|
|
|
| static int frame_content_offset() {
|
| - return sizeof(FrameDescription);
|
| + return OFFSET_OF(FrameDescription, frame_content_);
|
| }
|
|
|
| private:
|
| @@ -429,6 +431,10 @@
|
| // deoptimizing.
|
| intptr_t continuation_;
|
|
|
| + // This must be at the end of the object as the object is allocated larger
|
| + // than it's definition indicate to extend this array.
|
| + intptr_t frame_content_[1];
|
| +
|
| intptr_t* GetFrameSlotPointer(unsigned offset) {
|
| ASSERT(offset < frame_size_);
|
| return reinterpret_cast<intptr_t*>(
|
|
|