| Index: src/ast.cc
 | 
| ===================================================================
 | 
| --- src/ast.cc	(revision 7211)
 | 
| +++ src/ast.cc	(working copy)
 | 
| @@ -621,24 +621,21 @@
 | 
|  
 | 
|  
 | 
|  bool Call::ComputeGlobalTarget(Handle<GlobalObject> global,
 | 
| -                               Handle<String> name) {
 | 
| +                               LookupResult* lookup) {
 | 
|    target_ = Handle<JSFunction>::null();
 | 
|    cell_ = Handle<JSGlobalPropertyCell>::null();
 | 
| -  LookupResult lookup;
 | 
| -  global->Lookup(*name, &lookup);
 | 
| -  if (lookup.IsProperty() &&
 | 
| -      lookup.type() == NORMAL &&
 | 
| -      lookup.holder() == *global) {
 | 
| -    cell_ = Handle<JSGlobalPropertyCell>(global->GetPropertyCell(&lookup));
 | 
| -    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 (!Heap::InNewSpace(*candidate) &&
 | 
| -          CanCallWithoutIC(candidate, arguments()->length())) {
 | 
| -        target_ = candidate;
 | 
| -        return true;
 | 
| -      }
 | 
| +  ASSERT(lookup->IsProperty() &&
 | 
| +         lookup->type() == NORMAL &&
 | 
| +         lookup->holder() == *global);
 | 
| +  cell_ = Handle<JSGlobalPropertyCell>(global->GetPropertyCell(lookup));
 | 
| +  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 (!Heap::InNewSpace(*candidate) &&
 | 
| +        CanCallWithoutIC(candidate, arguments()->length())) {
 | 
| +      target_ = candidate;
 | 
| +      return true;
 | 
|      }
 | 
|    }
 | 
|    return false;
 | 
| 
 |