| Index: src/runtime.cc
|
| ===================================================================
|
| --- src/runtime.cc (revision 3521)
|
| +++ src/runtime.cc (working copy)
|
| @@ -2724,7 +2724,6 @@
|
| }
|
|
|
|
|
| -
|
| // KeyedStringGetProperty is called from KeyedLoadIC::GenerateGeneric.
|
| static Object* Runtime_KeyedGetProperty(Arguments args) {
|
| NoHandleAllocation ha;
|
| @@ -2776,6 +2775,13 @@
|
| // If value is the hole do the general lookup.
|
| }
|
| }
|
| + } else if (args[0]->IsString() && args[1]->IsSmi()) {
|
| + // Fast case for string indexing using [] with a smi index.
|
| + HandleScope scope;
|
| + Handle<String> str = args.at<String>(0);
|
| + int index = Smi::cast(args[1])->value();
|
| + Handle<Object> result = GetCharAt(str, index);
|
| + return *result;
|
| }
|
|
|
| // Fall back to GetObjectProperty.
|
|
|