Commit 078d2853 authored by antonm@chromium.org's avatar antonm@chromium.org

Push AccessorInfo data directly if they reside in old space.

Review URL: http://codereview.chromium.org/2840004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 3cafa654
......@@ -816,8 +816,13 @@ bool StubCompiler::GenerateLoadCallback(JSObject* object,
__ push(other);
__ push(receiver); // receiver
__ push(reg); // holder
__ mov(other, Immediate(callback_handle));
__ push(FieldOperand(other, AccessorInfo::kDataOffset)); // data
// Push data from AccessorInfo.
if (Heap::InNewSpace(callback_handle->data())) {
__ mov(other, Immediate(callback_handle));
__ push(FieldOperand(other, AccessorInfo::kDataOffset));
} else {
__ push(Immediate(Handle<Object>(callback_handle->data())));
}
__ push(name_reg); // name
// Save a pointer to where we pushed the arguments pointer.
// This will be passed as the const AccessorInfo& to the C++ callback.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment