MIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize
Port r13412 (36df819b) BUG= TEST= Review URL: https://codereview.chromium.org/12022005 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
8a6221b1ed
commit
9cf627b3a8
@ -5620,6 +5620,11 @@ void LCodeGen::DoDeoptimize(LDeoptimize* instr) {
|
||||
}
|
||||
|
||||
|
||||
void LCodeGen::DoDummyUse(LDummyUse* instr) {
|
||||
// Nothing to see here, move on!
|
||||
}
|
||||
|
||||
|
||||
void LCodeGen::DoDeleteProperty(LDeleteProperty* instr) {
|
||||
Register object = ToRegister(instr->object());
|
||||
Register key = ToRegister(instr->key());
|
||||
|
@ -682,6 +682,11 @@ LInstruction* LChunkBuilder::DoBlockEntry(HBlockEntry* instr) {
|
||||
}
|
||||
|
||||
|
||||
LInstruction* LChunkBuilder::DoDummyUse(HDummyUse* instr) {
|
||||
return DefineAsRegister(new(zone()) LDummyUse(UseAny(instr->value())));
|
||||
}
|
||||
|
||||
|
||||
LInstruction* LChunkBuilder::DoSoftDeoptimize(HSoftDeoptimize* instr) {
|
||||
return AssignEnvironment(new(zone()) LDeoptimize);
|
||||
}
|
||||
|
@ -93,6 +93,7 @@ class LCodeGen;
|
||||
V(Deoptimize) \
|
||||
V(DivI) \
|
||||
V(DoubleToI) \
|
||||
V(DummyUse) \
|
||||
V(ElementsKind) \
|
||||
V(FastLiteral) \
|
||||
V(FixedArrayBaseLength) \
|
||||
@ -401,6 +402,15 @@ class LLazyBailout: public LTemplateInstruction<0, 0, 0> {
|
||||
};
|
||||
|
||||
|
||||
class LDummyUse: public LTemplateInstruction<1, 1, 0> {
|
||||
public:
|
||||
explicit LDummyUse(LOperand* value) {
|
||||
inputs_[0] = value;
|
||||
}
|
||||
DECLARE_CONCRETE_INSTRUCTION(DummyUse, "dummy-use")
|
||||
};
|
||||
|
||||
|
||||
class LDeoptimize: public LTemplateInstruction<0, 0, 0> {
|
||||
public:
|
||||
DECLARE_CONCRETE_INSTRUCTION(Deoptimize, "deoptimize")
|
||||
|
Loading…
Reference in New Issue
Block a user