| Index: src/ast.cc
|
| diff --git a/src/ast.cc b/src/ast.cc
|
| index d08ad1c3ed60ceab57af972dc841f7cd170e8078..db7966adbadd11e3fca789c1638bd8076788a11c 100644
|
| --- a/src/ast.cc
|
| +++ b/src/ast.cc
|
| @@ -590,18 +590,16 @@ Call::CallType Call::GetCallType(Isolate* isolate) const {
|
|
|
|
|
| bool Call::ComputeGlobalTarget(Handle<GlobalObject> global,
|
| - LookupResult* lookup) {
|
| + LookupIterator* it) {
|
| target_ = Handle<JSFunction>::null();
|
| cell_ = Handle<Cell>::null();
|
| - DCHECK(lookup->IsFound() &&
|
| - lookup->type() == NORMAL &&
|
| - lookup->holder() == *global);
|
| - cell_ = Handle<Cell>(global->GetPropertyCell(lookup));
|
| + DCHECK(it->IsFound() && it->GetHolder<JSObject>().is_identical_to(global));
|
| + cell_ = it->GetPropertyCell();
|
| if (cell_->value()->IsJSFunction()) {
|
| Handle<JSFunction> candidate(JSFunction::cast(cell_->value()));
|
| // If the function is in new space we assume it's more likely to
|
| // change and thus prefer the general IC code.
|
| - if (!lookup->isolate()->heap()->InNewSpace(*candidate)) {
|
| + if (!it->isolate()->heap()->InNewSpace(*candidate)) {
|
| target_ = candidate;
|
| return true;
|
| }
|
|
|