X87: Don't push eax/rax before calling Runtime_Abort

     Additionally delete the unused Throw(BailoutReason)

Port r21582 (41dd40b)

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/305013012

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 5cb7e512
......@@ -2683,7 +2683,6 @@ void MacroAssembler::Abort(BailoutReason reason) {
}
#endif
push(eax);
push(Immediate(reinterpret_cast<intptr_t>(Smi::FromInt(reason))));
// Disable stub call restrictions to always allow calls to abort.
if (!has_frame_) {
......@@ -2699,40 +2698,6 @@ void MacroAssembler::Abort(BailoutReason reason) {
}
void MacroAssembler::Throw(BailoutReason reason) {
#ifdef DEBUG
const char* msg = GetBailoutReason(reason);
if (msg != NULL) {
RecordComment("Throw message: ");
RecordComment(msg);
}
#endif
push(eax);
push(Immediate(Smi::FromInt(reason)));
// Disable stub call restrictions to always allow calls to throw.
if (!has_frame_) {
// We don't actually want to generate a pile of code for this, so just
// claim there is a stack frame, without generating one.
FrameScope scope(this, StackFrame::NONE);
CallRuntime(Runtime::kHiddenThrowMessage, 1);
} else {
CallRuntime(Runtime::kHiddenThrowMessage, 1);
}
// will not return here
int3();
}
void MacroAssembler::ThrowIf(Condition cc, BailoutReason reason) {
Label L;
j(NegateCondition(cc), &L);
Throw(reason);
// will not return here
bind(&L);
}
void MacroAssembler::LoadInstanceDescriptors(Register map,
Register descriptors) {
mov(descriptors, FieldOperand(map, Map::kDescriptorsOffset));
......
......@@ -532,12 +532,6 @@ class MacroAssembler: public Assembler {
// Throw past all JS frames to the top JS entry frame.
void ThrowUncatchable(Register value);
// Throw a message string as an exception.
void Throw(BailoutReason reason);
// Throw a message string as an exception if a condition is not true.
void ThrowIf(Condition cc, BailoutReason reason);
// ---------------------------------------------------------------------------
// Inline caching support
......
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