| Index: src/debug.cc
|
| diff --git a/src/debug.cc b/src/debug.cc
|
| index dbf9df9fda3d8e759f97703f4e6695df740104b8..c13c8c98785b634dc2c300295ef61f0844b0b9d9 100644
|
| --- a/src/debug.cc
|
| +++ b/src/debug.cc
|
| @@ -582,6 +582,35 @@ int Debug::ArchiveSpacePerThread() {
|
| }
|
|
|
|
|
| +// Frame structure (conforms InternalFrame structure):
|
| +// -- code
|
| +// -- SMI maker
|
| +// -- function (slot is called "context")
|
| +// -- frame base
|
| +Object** Debug::SetUpFrameDropperFrame(StackFrame* bottom_js_frame,
|
| + Handle<Code> code) {
|
| + ASSERT(bottom_js_frame->is_java_script());
|
| +
|
| + Address fp = bottom_js_frame->fp();
|
| +
|
| + // Move function pointer into "context" slot.
|
| + Memory::Object_at(fp + StandardFrameConstants::kContextOffset) =
|
| + Memory::Object_at(fp + JavaScriptFrameConstants::kFunctionOffset);
|
| +
|
| + Memory::Object_at(fp + InternalFrameConstants::kCodeOffset) = *code;
|
| + Memory::Object_at(fp + StandardFrameConstants::kMarkerOffset) =
|
| + Smi::FromInt(StackFrame::INTERNAL);
|
| +
|
| + return reinterpret_cast<Object**>(&Memory::Object_at(
|
| + fp + StandardFrameConstants::kContextOffset));
|
| +}
|
| +
|
| +const int Debug::kFrameDropperFrameSize = 4;
|
| +
|
| +
|
| +
|
| +
|
| +
|
| // Default break enabled.
|
| bool Debug::disable_break_ = false;
|
|
|
|
|