Index: src/ic.cc |
=================================================================== |
--- src/ic.cc (revision 2327) |
+++ src/ic.cc (working copy) |
@@ -460,11 +460,10 @@ |
if (lookup->holder() != *global) return; |
JSGlobalPropertyCell* cell = |
JSGlobalPropertyCell::cast(global->GetPropertyCell(lookup)); |
- if (cell->value()->IsJSFunction()) { |
- JSFunction* function = JSFunction::cast(cell->value()); |
- code = StubCache::ComputeCallGlobal(argc, in_loop, *name, *global, |
- cell, function); |
- } |
+ if (!cell->value()->IsJSFunction()) return; |
+ JSFunction* function = JSFunction::cast(cell->value()); |
+ code = StubCache::ComputeCallGlobal(argc, in_loop, *name, *global, |
+ cell, function); |
} else { |
// There is only one shared stub for calling normalized |
// properties. It does not traverse the prototype chain, so the |
@@ -489,7 +488,7 @@ |
// If we're unable to compute the stub (not enough memory left), we |
// simply avoid updating the caches. |
- if (code->IsFailure()) return; |
+ if (code == NULL || code->IsFailure()) return; |
// Patch the call site depending on the state of the cache. |
if (state == UNINITIALIZED || |
@@ -700,7 +699,7 @@ |
// If we're unable to compute the stub (not enough memory left), we |
// simply avoid updating the caches. |
- if (code->IsFailure()) return; |
+ if (code == NULL || code->IsFailure()) return; |
// Patch the call site depending on the state of the cache. |
if (state == UNINITIALIZED || state == PREMONOMORPHIC || |
@@ -890,7 +889,7 @@ |
// If we're unable to compute the stub (not enough memory left), we |
// simply avoid updating the caches. |
- if (code->IsFailure()) return; |
+ if (code == NULL || code->IsFailure()) return; |
// Patch the call site depending on the state of the cache. Make |
// sure to always rewrite from monomorphic to megamorphic. |
@@ -1042,7 +1041,7 @@ |
// If we're unable to compute the stub (not enough memory left), we |
// simply avoid updating the caches. |
- if (code->IsFailure()) return; |
+ if (code == NULL || code->IsFailure()) return; |
// Patch the call site depending on the state of the cache. |
if (state == UNINITIALIZED || state == MONOMORPHIC_PROTOTYPE_FAILURE) { |
@@ -1164,7 +1163,7 @@ |
// If we're unable to compute the stub (not enough memory left), we |
// simply avoid updating the caches. |
- if (code->IsFailure()) return; |
+ if (code == NULL || code->IsFailure()) return; |
// Patch the call site depending on the state of the cache. Make |
// sure to always rewrite from monomorphic to megamorphic. |