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

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: address review and add test coverage for external array number truncation 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..73d736dd2a6dc4566417b9cff0403da241bcc7d2 100644
--- a/src/ia32/macro-assembler-ia32.h
+++ b/src/ia32/macro-assembler-ia32.h
@@ -469,6 +469,23 @@ 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::Distance dst = Label::kFar);
+
+ void TaggedToI(Register input_reg, Register result_reg, XMMRegister temp,
+ bool bailout_on_minus_zero, Label* bailout);
+ void TaggedToI(Register input_reg, Register result_reg,
danno 2013/08/13 13:04:20 I think it's better to not have this second versio
+ bool bailout_on_minus_zero, Label* bailout) {
+ TaggedToI(input_reg, result_reg, no_xmm_reg,
+ bailout_on_minus_zero, bailout);
+ }
// Smi tagging support.
void SmiTag(Register reg) {

Powered by Google App Engine
This is Rietveld 408576698