Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 0e46253af98e2ed67ffe80cee1548873d88fb701..d7d5af3bd33e704bc2c07291c33edef6d8b0fa70 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -45,6 +45,7 @@ enum AllocationFlags { |
RESULT_CONTAINS_TOP = 1 << 1 |
}; |
+ |
// Default scratch register used by MacroAssembler (and other code that needs |
// a spare register). The register isn't callee save, and not used by the |
// function calling convention. |
@@ -752,6 +753,14 @@ class MacroAssembler: public Assembler { |
Label* fail, |
SmiCheckType smi_check_type); |
+ // 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 |
+ // known to be a heap object) |
+ void DispatchMap(Register obj, |
+ Handle<Map> map, |
+ Handle<Code> success, |
+ SmiCheckType smi_check_type); |
+ |
// Check if the object in register heap_object is a string. Afterwards the |
// register map contains the object map and the register instance_type |
// contains the instance_type. The registers map and instance_type can be the |