I made a test run of benchmarks and found another weak point. After
fixing it, benchmarks are able to run for a 100 times in a row
successfully in both builds.
Review URL: http://codereview.chromium.org/53050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1612
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
inline bool JavaScriptFrame::is_at_function() const {
Object* result = function_slot_object();
+ // Verify that frame points at correct JS function object.
+ // We are verifying that function object address and
+ // the underlying map object address are valid, and that
+ // function is really a function.
return Heap::Contains(reinterpret_cast<Address>(result)) &&
+ result->IsHeapObject() &&
+ Heap::Contains(HeapObject::cast(result)->map()) &&
result->IsJSFunction();
}