Mark TranscendentalCacheSSE2Stub as allowing internal stub calls. Mark pextrd instruction as requiring SSE 4.1.
Review URL: http://codereview.chromium.org/5901001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
06a684d353
commit
564d65958f
@ -47,6 +47,7 @@ namespace internal {
|
||||
V(Compare) \
|
||||
V(CompareIC) \
|
||||
V(MathPow) \
|
||||
V(TranscendentalCacheSSE2) \
|
||||
V(RecordWrite) \
|
||||
V(ConvertToDouble) \
|
||||
V(WriteInt32ToHeapNumber) \
|
||||
@ -56,7 +57,6 @@ namespace internal {
|
||||
V(FastNewContext) \
|
||||
V(FastCloneShallowArray) \
|
||||
V(TranscendentalCache) \
|
||||
V(TranscendentalCacheSSE2) \
|
||||
V(GenericUnaryOp) \
|
||||
V(RevertToNumber) \
|
||||
V(ToBoolean) \
|
||||
|
@ -2502,7 +2502,7 @@ void Assembler::pshufd(XMMRegister dst, XMMRegister src, int8_t shuffle) {
|
||||
|
||||
|
||||
void Assembler::pextrd(const Operand& dst, XMMRegister src, int8_t offset) {
|
||||
ASSERT(CpuFeatures::IsEnabled(SSE2));
|
||||
ASSERT(CpuFeatures::IsEnabled(SSE4_1));
|
||||
EnsureSpace ensure_space(this);
|
||||
last_pc_ = pc_;
|
||||
EMIT(0x66);
|
||||
|
@ -2790,9 +2790,11 @@ void TranscendentalCacheSSE2Stub::Generate(MacroAssembler* masm) {
|
||||
|
||||
__ bind(&call_runtime);
|
||||
__ AllocateHeapNumber(eax, edi, no_reg, &skip_cache);
|
||||
__ push(eax);
|
||||
__ movdbl(FieldOperand(eax, HeapNumber::kValueOffset), xmm1);
|
||||
__ EnterInternalFrame();
|
||||
__ push(eax);
|
||||
__ CallRuntime(RuntimeFunction(), 1);
|
||||
__ LeaveInternalFrame();
|
||||
__ movdbl(xmm1, FieldOperand(eax, HeapNumber::kValueOffset));
|
||||
__ Ret();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user