Commit 03fd5602 authored by lrn@chromium.org's avatar lrn@chromium.org

Remove unused last_pc_ in AssemblerX64.

Remove unneeded checks for SSE2 in X64 code.
Remove an unneeded check for SSE3 where the X64 code doesn't use SSE3 features.

Review URL: http://codereview.chromium.org/6793040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent cc989aa2
This diff is collapsed.
...@@ -1589,8 +1589,6 @@ class Assembler : public AssemblerBase { ...@@ -1589,8 +1589,6 @@ class Assembler : public AssemblerBase {
RelocInfoWriter reloc_info_writer; RelocInfoWriter reloc_info_writer;
List< Handle<Code> > code_targets_; List< Handle<Code> > code_targets_;
// push-pop elimination
byte* last_pc_;
PositionsRecorder positions_recorder_; PositionsRecorder positions_recorder_;
......
...@@ -2961,8 +2961,6 @@ void NumberToStringStub::GenerateLookupNumberStringCache(MacroAssembler* masm, ...@@ -2961,8 +2961,6 @@ void NumberToStringStub::GenerateLookupNumberStringCache(MacroAssembler* masm,
times_1, times_1,
FixedArray::kHeaderSize)); FixedArray::kHeaderSize));
__ JumpIfSmi(probe, not_found); __ JumpIfSmi(probe, not_found);
ASSERT(CpuFeatures::IsSupported(SSE2));
CpuFeatures::Scope fscope(SSE2);
__ movsd(xmm0, FieldOperand(object, HeapNumber::kValueOffset)); __ movsd(xmm0, FieldOperand(object, HeapNumber::kValueOffset));
__ movsd(xmm1, FieldOperand(probe, HeapNumber::kValueOffset)); __ movsd(xmm1, FieldOperand(probe, HeapNumber::kValueOffset));
__ ucomisd(xmm0, xmm1); __ ucomisd(xmm0, xmm1);
......
...@@ -600,7 +600,6 @@ void Deoptimizer::DoComputeFrame(TranslationIterator* iterator, ...@@ -600,7 +600,6 @@ void Deoptimizer::DoComputeFrame(TranslationIterator* iterator,
void Deoptimizer::EntryGenerator::Generate() { void Deoptimizer::EntryGenerator::Generate() {
GeneratePrologue(); GeneratePrologue();
CpuFeatures::Scope scope(SSE2);
// Save all general purpose registers before messing with them. // Save all general purpose registers before messing with them.
const int kNumberOfRegisters = Register::kNumRegisters; const int kNumberOfRegisters = Register::kNumRegisters;
......
...@@ -1613,10 +1613,8 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) { ...@@ -1613,10 +1613,8 @@ LInstruction* LChunkBuilder::DoChange(HChange* instr) {
LOperand* value = UseRegister(instr->value()); LOperand* value = UseRegister(instr->value());
bool needs_check = !instr->value()->type().IsSmi(); bool needs_check = !instr->value()->type().IsSmi();
if (needs_check) { if (needs_check) {
LOperand* xmm_temp = LOperand* xmm_temp = instr->CanTruncateToInt32() ? NULL
(instr->CanTruncateToInt32() && CpuFeatures::IsSupported(SSE3)) : FixedTemp(xmm1);
? NULL
: FixedTemp(xmm1);
LTaggedToI* res = new LTaggedToI(value, xmm_temp); LTaggedToI* res = new LTaggedToI(value, xmm_temp);
return AssignEnvironment(DefineSameAsFirst(res)); return AssignEnvironment(DefineSameAsFirst(res));
} else { } else {
......
...@@ -2202,7 +2202,6 @@ void MacroAssembler::EnterExitFrameEpilogue(int arg_stack_space, ...@@ -2202,7 +2202,6 @@ void MacroAssembler::EnterExitFrameEpilogue(int arg_stack_space,
#endif #endif
// Optionally save all XMM registers. // Optionally save all XMM registers.
if (save_doubles) { if (save_doubles) {
CpuFeatures::Scope scope(SSE2);
int space = XMMRegister::kNumRegisters * kDoubleSize + int space = XMMRegister::kNumRegisters * kDoubleSize +
arg_stack_space * kPointerSize; arg_stack_space * kPointerSize;
subq(rsp, Immediate(space)); subq(rsp, Immediate(space));
......
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