| Index: src/ia32/macro-assembler-ia32.h | 
| =================================================================== | 
| --- src/ia32/macro-assembler-ia32.h	(revision 10404) | 
| +++ src/ia32/macro-assembler-ia32.h	(working copy) | 
| @@ -1,4 +1,4 @@ | 
| -// Copyright 2011 the V8 project authors. All rights reserved. | 
| +// Copyright 2012 the V8 project authors. All rights reserved. | 
| // Redistribution and use in source and binary forms, with or without | 
| // modification, are permitted provided that the following conditions are | 
| // met: | 
| @@ -251,7 +251,7 @@ | 
| // --------------------------------------------------------------------------- | 
| // JavaScript invokes | 
|  | 
| -  // Setup call kind marking in ecx. The method takes ecx as an | 
| +  // Set up call kind marking in ecx. The method takes ecx as an | 
| // explicit first parameter to make the code more readable at the | 
| // call sites. | 
| void SetCallKind(Register dst, CallKind kind); | 
| @@ -356,13 +356,24 @@ | 
| Label* fail, | 
| bool specialize_for_processor); | 
|  | 
| +  // Compare an object's map with the specified map and its transitioned | 
| +  // elements maps if mode is ALLOW_ELEMENT_TRANSITION_MAPS. FLAGS are set with | 
| +  // result of map compare. If multiple map compares are required, the compare | 
| +  // sequences branches to early_success. | 
| +  void CompareMap(Register obj, | 
| +                  Handle<Map> map, | 
| +                  Label* early_success, | 
| +                  CompareMapMode mode = REQUIRE_EXACT_MAP); | 
| + | 
| // Check if the map of an object is equal to a specified map and branch to | 
| // label if not. Skip the smi check if not required (object is known to be a | 
| -  // heap object) | 
| +  // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match | 
| +  // against maps that are ElementsKind transition maps of the specificed map. | 
| void CheckMap(Register obj, | 
| Handle<Map> map, | 
| Label* fail, | 
| -                SmiCheckType smi_check_type); | 
| +                SmiCheckType smi_check_type, | 
| +                CompareMapMode mode = REQUIRE_EXACT_MAP); | 
|  | 
| // Check if the map of an object is equal to a specified map and branch to a | 
| // specified target if equal. Skip the smi check if not required (object is | 
| @@ -486,6 +497,7 @@ | 
| Register scratch, | 
| Label* miss); | 
|  | 
| +  void GetNumberHash(Register r0, Register scratch); | 
|  | 
| void LoadFromNumberDictionary(Label* miss, | 
| Register elements, | 
|  |