Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 60f06497688b62099839680119172099e16e62ae..c4b29e4e3119c22596868b2d9ae84be1d652c8e9 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -3356,7 +3356,7 @@ HOptimizedGraphBuilder::HOptimizedGraphBuilder(CompilationInfo* info) |
// This is not initialized in the initializer list because the |
// constructor for the initial state relies on function_state_ == NULL |
// to know it's the initial state. |
- function_state_= &initial_function_state_; |
+ function_state_ = &initial_function_state_; |
InitializeAstVisitor(info->zone()); |
if (FLAG_hydrogen_track_positions) { |
SetSourcePosition(info->shared_info()->start_position()); |
@@ -5633,9 +5633,12 @@ void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) { |
for (int i = 0; i < expr->properties()->length(); i++) { |
ObjectLiteral::Property* property = expr->properties()->at(i); |
+ if (property->is_computed_name()) { |
+ return Bailout(kObjectLiteralWithComplexProperty); |
+ } |
if (property->IsCompileTimeValue()) continue; |
- Literal* key = property->key(); |
+ Literal* key = property->key()->AsLiteral(); |
Expression* value = property->value(); |
switch (property->kind()) { |
@@ -5661,7 +5664,7 @@ void HOptimizedGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) { |
} |
Handle<Map> map = property->GetReceiverType(); |
- Handle<String> name = property->key()->AsPropertyName(); |
+ Handle<String> name = key->AsPropertyName(); |
HInstruction* store; |
if (map.is_null()) { |
// If we don't know the monomorphic type, do a generic store. |
@@ -10345,7 +10348,7 @@ bool HGraphBuilder::MatchRotateRight(HValue* left, |
!ShiftAmountsAllowReplaceByRotate(shr->right(), shl->right())) { |
return false; |
} |
- *operand= shr->left(); |
+ *operand = shr->left(); |
*shift_amount = shr->right(); |
return true; |
} |