Reviewers: jochen, ulan,
Message:
Committed patchset #1 manually as r19473 (presubmit successful).
Description:
A64: Remove early_exit unused mechanism in CompareMap.
[email protected], [email protected]
Committed: https://code.google.com/p/v8/source/detail?r=19473
Please review this at https://codereview.chromium.org/169733003/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+11, -22 lines):
M src/a64/lithium-codegen-a64.cc
M src/a64/macro-assembler-a64.h
M src/a64/macro-assembler-a64.cc
Index: src/a64/lithium-codegen-a64.cc
diff --git a/src/a64/lithium-codegen-a64.cc b/src/a64/lithium-codegen-a64.cc
index
40ef5c6f124501e42e5c4c05735718a84eaa2627..ecd747e3e09098ddf790dd49d6e25629ed13f2f1
100644
--- a/src/a64/lithium-codegen-a64.cc
+++ b/src/a64/lithium-codegen-a64.cc
@@ -2108,7 +2108,7 @@ void LCodeGen::DoCheckMaps(LCheckMaps* instr) {
Label success;
for (int i = 0; i < map_set.size(); i++) {
Handle<Map> map = map_set.at(i).handle();
- __ CompareMap(map_reg, map, &success);
+ __ CompareMap(map_reg, map);
__ B(eq, &success);
}
Index: src/a64/macro-assembler-a64.cc
diff --git a/src/a64/macro-assembler-a64.cc b/src/a64/macro-assembler-a64.cc
index
1e8da54314a5fa2434071cb051a8281126f38301..55bf848844764b67806ce04af24f07781de08722
100644
--- a/src/a64/macro-assembler-a64.cc
+++ b/src/a64/macro-assembler-a64.cc
@@ -3380,18 +3380,14 @@ void MacroAssembler::CompareInstanceType(Register
map,
void MacroAssembler::CompareMap(Register obj,
Register scratch,
- Handle<Map> map,
- Label* early_success) {
- // TODO(jbramley): The early_success label isn't used. Remove it.
+ Handle<Map> map) {
Ldr(scratch, FieldMemOperand(obj, HeapObject::kMapOffset));
- CompareMap(scratch, map, early_success);
+ CompareMap(scratch, map);
}
void MacroAssembler::CompareMap(Register obj_map,
- Handle<Map> map,
- Label* early_success) {
- // TODO(jbramley): The early_success label isn't used. Remove it.
+ Handle<Map> map) {
Cmp(obj_map, Operand(map));
}
@@ -3405,10 +3401,8 @@ void MacroAssembler::CheckMap(Register obj,
JumpIfSmi(obj, fail);
}
- Label success;
- CompareMap(obj, scratch, map, &success);
+ CompareMap(obj, scratch, map);
B(ne, fail);
- Bind(&success);
}
@@ -3432,10 +3426,9 @@ void MacroAssembler::CheckMap(Register obj_map,
if (smi_check_type == DO_SMI_CHECK) {
JumpIfSmi(obj_map, fail);
}
- Label success;
- CompareMap(obj_map, map, &success);
+
+ CompareMap(obj_map, map);
B(ne, fail);
- Bind(&success);
}
Index: src/a64/macro-assembler-a64.h
diff --git a/src/a64/macro-assembler-a64.h b/src/a64/macro-assembler-a64.h
index
b711bd1560e52dbc7aa8eda0cdeda6ae9f0cefa5..e8abe42fc8c7173a3c707b7927bb60fb5d477f13
100644
--- a/src/a64/macro-assembler-a64.h
+++ b/src/a64/macro-assembler-a64.h
@@ -1338,20 +1338,16 @@ class MacroAssembler : public Assembler {
Register type_reg,
InstanceType type);
- // Compare an object's map with the specified map and its transitioned
- // elements maps if mode is ALLOW_ELEMENT_TRANSITION_MAPS. Condition
flags are
- // set with result of map compare. If multiple map compares are
required, the
- // compare sequences branches to early_success.
+ // Compare an object's map with the specified map. Condition flags are
set
+ // with result of map compare.
void CompareMap(Register obj,
Register scratch,
- Handle<Map> map,
- Label* early_success = NULL);
+ Handle<Map> map);
// As above, but the map of the object is already loaded into the
register
// which is preserved by the code generated.
void CompareMap(Register obj_map,
- Handle<Map> map,
- Label* early_success = NULL);
+ Handle<Map> 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
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.