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

Unified Diff: src/ia32/macro-assembler-ia32.h

Issue 22290005: Move ToI conversions to the MacroAssembler (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 4 months 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/ia32/macro-assembler-ia32.h
diff --git a/src/ia32/macro-assembler-ia32.h b/src/ia32/macro-assembler-ia32.h
index 165c9ce6d20c95403483dee45d18a0881a6515fc..dfccb4dc66b08ab80e05c890d524cc0bb0850421 100644
--- a/src/ia32/macro-assembler-ia32.h
+++ b/src/ia32/macro-assembler-ia32.h
@@ -469,6 +469,30 @@ class MacroAssembler: public Assembler {
XMMRegister scratch_reg,
Register result_reg);
+ void SlowTruncateToI(Register input_reg, Register result_reg,
+ int index = HeapNumber::kValueOffset - kHeapObjectTag);
+
+ void TruncateHeapNumberToI(Register input_reg, Register result_reg);
+ void TruncateDoubleToI(XMMRegister input_reg, Register result_reg);
+
+ void DoubleToI(XMMRegister input_reg, Register result_reg,
+ XMMRegister scratch, bool bailout_on_minus_zero,
+ Label* conversion_failed, Label* done, Label::Distance dst = Label::kFar);
+
+ void TaggedToI(Register input_reg, Register result_reg,
+ Maybe<XMMRegister> temp, bool bailout_on_minus_zero,
+ Label* bailout, Label* done);
+ void TaggedToI(Register input_reg, Register result_reg,
+ XMMRegister temp, bool bailout_on_minus_zero,
+ Label* bailout, Label* done) {
+ TaggedToI(input_reg, result_reg, Maybe<XMMRegister>(true, temp),
+ bailout_on_minus_zero, bailout, done);
+ }
+ void TaggedToI(Register input_reg, Register result_reg,
+ bool bailout_on_minus_zero, Label* bailout, Label* done) {
+ TaggedToI(input_reg, result_reg, Maybe<XMMRegister>(),
+ bailout_on_minus_zero, bailout, done);
+ }
// Smi tagging support.
void SmiTag(Register reg) {

Powered by Google App Engine
This is Rietveld 408576698