X87: Teach TurboFan to call vector-based ICs.
port r24519. original commit message: Teach TurboFan to call vector-based ICs. Additional static information needs to be passed to Load and KeyedLoad calls if --vector-ics is turned on BUG= R=weiliang.lin@intel.com Review URL: https://codereview.chromium.org/645273002 Patch from Chunyang Dai <chunyang.dai@intel.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
8e092181ae
commit
ed5f2f814c
@ -3147,7 +3147,7 @@ void LCodeGen::DoLoadGlobalGeneric(LLoadGlobalGeneric* instr) {
|
|||||||
EmitVectorLoadICRegisters<LLoadGlobalGeneric>(instr);
|
EmitVectorLoadICRegisters<LLoadGlobalGeneric>(instr);
|
||||||
}
|
}
|
||||||
ContextualMode mode = instr->for_typeof() ? NOT_CONTEXTUAL : CONTEXTUAL;
|
ContextualMode mode = instr->for_typeof() ? NOT_CONTEXTUAL : CONTEXTUAL;
|
||||||
Handle<Code> ic = CodeFactory::LoadIC(isolate(), mode).code();
|
Handle<Code> ic = CodeFactory::LoadICInOptimizedCode(isolate(), mode).code();
|
||||||
CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3277,7 +3277,8 @@ void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) {
|
|||||||
if (FLAG_vector_ics) {
|
if (FLAG_vector_ics) {
|
||||||
EmitVectorLoadICRegisters<LLoadNamedGeneric>(instr);
|
EmitVectorLoadICRegisters<LLoadNamedGeneric>(instr);
|
||||||
}
|
}
|
||||||
Handle<Code> ic = CodeFactory::LoadIC(isolate(), NOT_CONTEXTUAL).code();
|
Handle<Code> ic =
|
||||||
|
CodeFactory::LoadICInOptimizedCode(isolate(), NOT_CONTEXTUAL).code();
|
||||||
CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3500,7 +3501,7 @@ void LCodeGen::DoLoadKeyedGeneric(LLoadKeyedGeneric* instr) {
|
|||||||
EmitVectorLoadICRegisters<LLoadKeyedGeneric>(instr);
|
EmitVectorLoadICRegisters<LLoadKeyedGeneric>(instr);
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle<Code> ic = CodeFactory::KeyedLoadIC(isolate()).code();
|
Handle<Code> ic = CodeFactory::KeyedLoadICInOptimizedCode(isolate()).code();
|
||||||
CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user