X87: [turbofan] Pass Runtime::FunctionId to TrapIf and TrapUnless isel methods.

port b29d6d4968ffc2ef602df1977c65c6b7fd8f1975(r41790)

  original commit message:
  This also fixes UBSAN failures due to improper OpParameter<> calls.

BUG=

Review-Url: https://codereview.chromium.org/2681763002
Cr-Commit-Position: refs/heads/master@{#43022}
This commit is contained in:
zhengxing.li 2017-02-07 17:49:29 -08:00 committed by Commit bot
parent 56bf7dbdaf
commit 167053b032

View File

@ -1590,16 +1590,16 @@ void InstructionSelector::VisitDeoptimizeUnless(Node* node) {
VisitWordCompareZero(this, node, node->InputAt(0), &cont); VisitWordCompareZero(this, node, node->InputAt(0), &cont);
} }
void InstructionSelector::VisitTrapIf(Node* node) { void InstructionSelector::VisitTrapIf(Node* node, Runtime::FunctionId func_id) {
FlagsContinuation cont = FlagsContinuation::ForTrap( FlagsContinuation cont =
kNotEqual, OpParameter<Runtime::FunctionId>(node->op()), FlagsContinuation::ForTrap(kNotEqual, func_id, node->InputAt(1));
node->InputAt(1));
VisitWordCompareZero(this, node, node->InputAt(0), &cont); VisitWordCompareZero(this, node, node->InputAt(0), &cont);
} }
void InstructionSelector::VisitTrapUnless(Node* node) { void InstructionSelector::VisitTrapUnless(Node* node,
FlagsContinuation cont = FlagsContinuation::ForTrap( Runtime::FunctionId func_id) {
kEqual, OpParameter<Runtime::FunctionId>(node->op()), node->InputAt(1)); FlagsContinuation cont =
FlagsContinuation::ForTrap(kEqual, func_id, node->InputAt(1));
VisitWordCompareZero(this, node, node->InputAt(0), &cont); VisitWordCompareZero(this, node, node->InputAt(0), &cont);
} }