Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1317)

Unified Diff: src/arm/lithium-gap-resolver-arm.cc

Issue 10701054: Enable stub generation using Hydrogen/Lithium (again) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Review feedback Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/arm/lithium-gap-resolver-arm.cc
diff --git a/src/arm/lithium-gap-resolver-arm.cc b/src/arm/lithium-gap-resolver-arm.cc
index c100720d89cd6130ad3e3a04a9528c48c045f5f7..e510dc1412dece9aeeffdea66774655daad32c91 100644
--- a/src/arm/lithium-gap-resolver-arm.cc
+++ b/src/arm/lithium-gap-resolver-arm.cc
@@ -171,8 +171,12 @@ void LGapResolver::BreakCycle(int index) {
} else if (source->IsStackSlot()) {
__ ldr(kSavedValueRegister, cgen_->ToMemOperand(source));
} else if (source->IsDoubleRegister()) {
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
__ vmov(kScratchDoubleReg, cgen_->ToDoubleRegister(source));
} else if (source->IsDoubleStackSlot()) {
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
__ vldr(kScratchDoubleReg, cgen_->ToMemOperand(source));
} else {
UNREACHABLE();
@@ -192,8 +196,12 @@ void LGapResolver::RestoreValue() {
} else if (saved_destination_->IsStackSlot()) {
__ str(kSavedValueRegister, cgen_->ToMemOperand(saved_destination_));
} else if (saved_destination_->IsDoubleRegister()) {
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
__ vmov(cgen_->ToDoubleRegister(saved_destination_), kScratchDoubleReg);
} else if (saved_destination_->IsDoubleStackSlot()) {
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
__ vstr(kScratchDoubleReg, cgen_->ToMemOperand(saved_destination_));
} else {
UNREACHABLE();
@@ -229,7 +237,9 @@ void LGapResolver::EmitMove(int index) {
MemOperand destination_operand = cgen_->ToMemOperand(destination);
if (in_cycle_) {
if (!destination_operand.OffsetIsUint12Encodable()) {
- // ip is overwritten while saving the value to the destination.
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
+ // ip is overwritten while saving the value to the destination.
// Therefore we can't use ip. It is OK if the read from the source
// destroys ip, since that happens before the value is read.
__ vldr(kScratchDoubleReg.low(), source_operand);
@@ -267,7 +277,9 @@ void LGapResolver::EmitMove(int index) {
}
} else if (source->IsDoubleRegister()) {
- DoubleRegister source_register = cgen_->ToDoubleRegister(source);
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
+ DwVfpRegister source_register = cgen_->ToDoubleRegister(source);
if (destination->IsDoubleRegister()) {
__ vmov(cgen_->ToDoubleRegister(destination), source_register);
} else {
@@ -276,7 +288,9 @@ void LGapResolver::EmitMove(int index) {
}
} else if (source->IsDoubleStackSlot()) {
- MemOperand source_operand = cgen_->ToMemOperand(source);
+ ASSERT(CpuFeatures::IsSupported(VFP2));
Jakob Kummerow 2012/11/28 16:28:22 nit: not needed
danno 2012/11/30 16:23:24 Done.
+ CpuFeatures::Scope scope(VFP2);
+ MemOperand source_operand = cgen_->ToMemOperand(source);
if (destination->IsDoubleRegister()) {
__ vldr(cgen_->ToDoubleRegister(destination), source_operand);
} else {

Powered by Google App Engine
This is Rietveld 408576698