MIPS: Implement IC support for Constant Function transitions.
Port r15124 (6b02a945) BUG= Review URL: https://codereview.chromium.org/16984002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
91eda65014
commit
ddffbb7249
@ -503,7 +503,12 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
|
||||
Register storage_reg = name_reg;
|
||||
|
||||
if (FLAG_track_fields && representation.IsSmi()) {
|
||||
if (details.type() == CONSTANT_FUNCTION) {
|
||||
Handle<HeapObject> constant(
|
||||
HeapObject::cast(descriptors->GetValue(descriptor)));
|
||||
__ LoadHeapObject(scratch1, constant);
|
||||
__ Branch(miss_restore_name, ne, value_reg, Operand(scratch1));
|
||||
} else if (FLAG_track_fields && representation.IsSmi()) {
|
||||
__ JumpIfNotSmi(value_reg, miss_restore_name);
|
||||
} else if (FLAG_track_heap_object_fields && representation.IsHeapObject()) {
|
||||
__ JumpIfSmi(value_reg, miss_restore_name);
|
||||
@ -560,6 +565,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
OMIT_REMEMBERED_SET,
|
||||
OMIT_SMI_CHECK);
|
||||
|
||||
if (details.type() == CONSTANT_FUNCTION) return;
|
||||
|
||||
int index = transition->instance_descriptors()->GetFieldIndex(
|
||||
transition->LastAdded());
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user