| Index: src/x64/macro-assembler-x64.h
|
| diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h
|
| index 97a98017c5897e6bedb38d6d54ac751acf04bd89..82f8f6df77677c5735bf614e64cd27473e9fd9bd 100644
|
| --- a/src/x64/macro-assembler-x64.h
|
| +++ b/src/x64/macro-assembler-x64.h
|
| @@ -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:
|
| @@ -889,13 +889,24 @@ class MacroAssembler: public Assembler {
|
| XMMRegister xmm_scratch,
|
| Label* fail);
|
|
|
| - // 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)
|
| + // 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). 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
|
|
|