Commit ecadc63b authored by bmeurer@chromium.org's avatar bmeurer@chromium.org

Partial revert of "Next bunch of fixes for check elimination".

This reverts the part of r21154 that introduced the CHECK()s to verify
state of objects with stable maps during code generation. The CHECK()s
seem to trigger a non-critical hidden bug in the map stability
mechanism. We will re-add these CHECK()s once the bug is found and
fixed.

BUG=372173
LOG=y
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/287363002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 7ac5dfbd
......@@ -1884,13 +1884,6 @@ void LCodeGen::DoConstantE(LConstantE* instr) {
void LCodeGen::DoConstantT(LConstantT* instr) {
Handle<Object> object = instr->value(isolate());
AllowDeferredHandleDereference smi_check;
if (instr->hydrogen()->HasObjectMap()) {
Handle<Map> object_map = instr->hydrogen()->ObjectMap().handle();
ASSERT(object->IsHeapObject());
ASSERT(!object_map->is_stable() ||
*object_map == Handle<HeapObject>::cast(object)->map());
USE(object_map);
}
__ Move(ToRegister(instr->result()), object);
}
......
......@@ -2561,13 +2561,6 @@ void LCodeGen::DoConstantS(LConstantS* instr) {
void LCodeGen::DoConstantT(LConstantT* instr) {
Handle<Object> object = instr->value(isolate());
AllowDeferredHandleDereference smi_check;
if (instr->hydrogen()->HasObjectMap()) {
Handle<Map> object_map = instr->hydrogen()->ObjectMap().handle();
ASSERT(object->IsHeapObject());
ASSERT(!object_map->is_stable() ||
*object_map == Handle<HeapObject>::cast(object)->map());
USE(object_map);
}
__ LoadObject(ToRegister(instr->result()), object);
}
......
......@@ -1749,13 +1749,6 @@ void LCodeGen::DoConstantT(LConstantT* instr) {
Register reg = ToRegister(instr->result());
Handle<Object> object = instr->value(isolate());
AllowDeferredHandleDereference smi_check;
if (instr->hydrogen()->HasObjectMap()) {
Handle<Map> object_map = instr->hydrogen()->ObjectMap().handle();
ASSERT(object->IsHeapObject());
ASSERT(!object_map->is_stable() ||
*object_map == Handle<HeapObject>::cast(object)->map());
USE(object_map);
}
__ LoadObject(reg, object);
}
......
......@@ -1739,13 +1739,6 @@ void LCodeGen::DoConstantE(LConstantE* instr) {
void LCodeGen::DoConstantT(LConstantT* instr) {
Handle<Object> object = instr->value(isolate());
AllowDeferredHandleDereference smi_check;
if (instr->hydrogen()->HasObjectMap()) {
Handle<Map> object_map = instr->hydrogen()->ObjectMap().handle();
ASSERT(object->IsHeapObject());
ASSERT(!object_map->is_stable() ||
*object_map == Handle<HeapObject>::cast(object)->map());
USE(object_map);
}
__ li(ToRegister(instr->result()), object);
}
......
......@@ -1697,13 +1697,6 @@ void LCodeGen::DoConstantE(LConstantE* instr) {
void LCodeGen::DoConstantT(LConstantT* instr) {
Handle<Object> object = instr->value(isolate());
AllowDeferredHandleDereference smi_check;
if (instr->hydrogen()->HasObjectMap()) {
Handle<Map> object_map = instr->hydrogen()->ObjectMap().handle();
ASSERT(object->IsHeapObject());
ASSERT(!object_map->is_stable() ||
*object_map == Handle<HeapObject>::cast(object)->map());
USE(object_map);
}
__ Move(ToRegister(instr->result()), object);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment