| Index: src/ia32/full-codegen-ia32.cc
|
| diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc
|
| index 88dad86da8379d1b09526661876cf8286bc33a31..7f12a5e7ca4ef0f40ccc247f990483135066afef 100644
|
| --- a/src/ia32/full-codegen-ia32.cc
|
| +++ b/src/ia32/full-codegen-ia32.cc
|
| @@ -2214,7 +2214,7 @@ void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
|
|
|
| void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
|
| SetSourcePosition(prop->position());
|
| - Literal* key = prop->key()->AsLiteral();
|
| + Literal* key = prop->key()->AsStringLiteral();
|
| ASSERT(!key->value()->IsSmi());
|
| __ mov(ecx, Immediate(key->value()));
|
| CallLoadIC(NOT_CONTEXTUAL, prop->PropertyFeedbackId());
|
| @@ -2361,7 +2361,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr) {
|
| VisitForAccumulatorValue(prop->obj());
|
| __ mov(edx, eax);
|
| __ pop(eax); // Restore value.
|
| - __ mov(ecx, prop->key()->AsLiteral()->value());
|
| + __ mov(ecx, prop->key()->AsStringLiteral()->value());
|
| CallStoreIC();
|
| break;
|
| }
|
| @@ -2476,11 +2476,11 @@ void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
|
|
|
| Property* prop = expr->target()->AsProperty();
|
| ASSERT(prop != NULL);
|
| - ASSERT(prop->key()->AsLiteral() != NULL);
|
| + ASSERT(prop->key()->AsStringLiteral() != NULL);
|
|
|
| // Record source code position before IC call.
|
| SetSourcePosition(expr->position());
|
| - __ mov(ecx, prop->key()->AsLiteral()->value());
|
| + __ mov(ecx, prop->key()->AsStringLiteral()->value());
|
| __ pop(edx);
|
| CallStoreIC(expr->AssignmentFeedbackId());
|
| PrepareForBailoutForId(expr->AssignmentId(), TOS_REG);
|
| @@ -3307,8 +3307,8 @@ void FullCodeGenerator::EmitValueOf(CallRuntime* expr) {
|
| void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
| ZoneList<Expression*>* args = expr->arguments();
|
| ASSERT(args->length() == 2);
|
| - ASSERT_NE(NULL, args->at(1)->AsLiteral());
|
| - Smi* index = Smi::cast(*(args->at(1)->AsLiteral()->value()));
|
| + ASSERT_NE(NULL, args->at(1)->AsNumberLiteral());
|
| + Smi* index = Smi::cast(*(args->at(1)->AsNumberLiteral()->value()));
|
|
|
| VisitForAccumulatorValue(args->at(0)); // Load the object.
|
|
|
| @@ -3663,8 +3663,8 @@ void FullCodeGenerator::EmitGetFromCache(CallRuntime* expr) {
|
| ZoneList<Expression*>* args = expr->arguments();
|
| ASSERT_EQ(2, args->length());
|
|
|
| - ASSERT_NE(NULL, args->at(0)->AsLiteral());
|
| - int cache_id = Smi::cast(*(args->at(0)->AsLiteral()->value()))->value();
|
| + ASSERT_NE(NULL, args->at(0)->AsNumberLiteral());
|
| + int cache_id = Smi::cast(*(args->at(0)->AsNumberLiteral()->value()))->value();
|
|
|
| Handle<FixedArray> jsfunction_result_caches(
|
| isolate()->native_context()->jsfunction_result_caches());
|
| @@ -4333,7 +4333,7 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
|
| }
|
| break;
|
| case NAMED_PROPERTY: {
|
| - __ mov(ecx, prop->key()->AsLiteral()->value());
|
| + __ mov(ecx, prop->key()->AsStringLiteral()->value());
|
| __ pop(edx);
|
| CallStoreIC(expr->CountStoreFeedbackId());
|
| PrepareForBailoutForId(expr->AssignmentId(), TOS_REG);
|
|
|