Commit 202df2e7 authored by verwaest@chromium.org's avatar verwaest@chromium.org

Fix constant function transition. Insert return instruction before returning.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17250003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 5fe01da5
......@@ -577,7 +577,11 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
OMIT_REMEMBERED_SET,
OMIT_SMI_CHECK);
if (details.type() == CONSTANT_FUNCTION) return;
if (details.type() == CONSTANT_FUNCTION) {
ASSERT(value_reg.is(r0));
__ Ret();
return;
}
int index = transition->instance_descriptors()->GetFieldIndex(
transition->LastAdded());
......
......@@ -931,7 +931,11 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
OMIT_REMEMBERED_SET,
OMIT_SMI_CHECK);
if (details.type() == CONSTANT_FUNCTION) return;
if (details.type() == CONSTANT_FUNCTION) {
ASSERT(value_reg.is(eax));
__ ret(0);
return;
}
int index = transition->instance_descriptors()->GetFieldIndex(
transition->LastAdded());
......
......@@ -889,7 +889,11 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
OMIT_REMEMBERED_SET,
OMIT_SMI_CHECK);
if (details.type() == CONSTANT_FUNCTION) return;
if (details.type() == CONSTANT_FUNCTION) {
ASSERT(value_reg.is(rax));
__ ret(0);
return;
}
int index = transition->instance_descriptors()->GetFieldIndex(
transition->LastAdded());
......
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