| Index: src/hydrogen.cc | 
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc | 
| index ffd3d1e570c737dde7d96f3c98469b6441c45f96..8de3506ec50e4b21502a93e1909a4ff8837a1798 100644 | 
| --- a/src/hydrogen.cc | 
| +++ b/src/hydrogen.cc | 
| @@ -7118,6 +7118,18 @@ void HGraphBuilder::GenerateValueOf(CallRuntime* call) { | 
| } | 
|  | 
|  | 
| +void HGraphBuilder::GenerateDateField(CallRuntime* call) { | 
| +  ASSERT(call->arguments()->length() == 2); | 
| +  ASSERT_NE(NULL, call->arguments()->at(1)->AsLiteral()); | 
| +  int index = | 
| +      Smi::cast(*(call->arguments()->at(1)->AsLiteral()->handle()))->value(); | 
| +  CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); | 
| +  HValue* date = Pop(); | 
| +  HDateField* result = new(zone()) HDateField(date, index); | 
| +  return ast_context()->ReturnInstruction(result, call->id()); | 
| +} | 
| + | 
| + | 
| void HGraphBuilder::GenerateSetValueOf(CallRuntime* call) { | 
| ASSERT(call->arguments()->length() == 2); | 
| CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); | 
| @@ -7160,6 +7172,22 @@ void HGraphBuilder::GenerateSetValueOf(CallRuntime* call) { | 
| } | 
|  | 
|  | 
| +void HGraphBuilder::GenerateSetDateField(CallRuntime* call) { | 
| +  ASSERT(call->arguments()->length() == 3); | 
| +  ASSERT_NE(NULL, call->arguments()->at(1)->AsLiteral()); | 
| +  int index = | 
| +      Smi::cast(*(call->arguments()->at(1)->AsLiteral()->handle()))->value(); | 
| +  CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); | 
| +  CHECK_ALIVE(VisitForValue(call->arguments()->at(2))); | 
| +  HValue* value = Pop(); | 
| +  HValue* date = Pop(); | 
| +  HValue* context = environment()->LookupContext(); | 
| +  HSetDateField* result = | 
| +      new(zone()) HSetDateField(context, date, value, index); | 
| +  return ast_context()->ReturnInstruction(result, call->id()); | 
| +} | 
| + | 
| + | 
| // Fast support for charCodeAt(n). | 
| void HGraphBuilder::GenerateStringCharCodeAt(CallRuntime* call) { | 
| ASSERT(call->arguments()->length() == 2); | 
|  |