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

Unified Diff: runtime/vm/intermediate_language_ia32.cc

Issue 51653006: Track live instance and allocation counts for classes (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 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: runtime/vm/intermediate_language_ia32.cc
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc
index 56338e16c9662d9dcb138974545910bdd011a37f..cb027430b8c82cb86716df712101c9a94ccee224 100644
--- a/runtime/vm/intermediate_language_ia32.cc
+++ b/runtime/vm/intermediate_language_ia32.cc
@@ -1677,7 +1677,8 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
__ TryAllocate(compiler->double_class(),
slow_path->entry_label(),
Assembler::kFarJump,
- temp);
+ temp,
+ temp2);
__ Bind(slow_path->exit_label());
__ movl(temp2, temp);
__ StoreIntoObject(instance_reg,
@@ -1726,7 +1727,8 @@ void StoreInstanceFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
__ TryAllocate(compiler->double_class(),
slow_path->entry_label(),
Assembler::kFarJump,
- temp);
+ temp,
+ temp2);
__ Bind(slow_path->exit_label());
__ movl(temp2, temp);
__ StoreIntoObject(instance_reg,
@@ -1974,7 +1976,8 @@ void LoadFieldInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
__ TryAllocate(compiler->double_class(),
slow_path->entry_label(),
Assembler::kFarJump,
- result);
+ result,
+ temp);
__ Bind(slow_path->exit_label());
__ movl(temp, FieldAddress(instance_reg, offset_in_bytes()));
__ movsd(value, FieldAddress(temp, Double::value_offset()));
@@ -2857,7 +2860,8 @@ void BoxDoubleInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
__ TryAllocate(compiler->double_class(),
slow_path->entry_label(),
Assembler::kFarJump,
- out_reg);
+ out_reg,
+ kNoRegister);
__ Bind(slow_path->exit_label());
__ movsd(FieldAddress(out_reg, Double::value_offset()), value);
}
@@ -2964,7 +2968,8 @@ void BoxFloat32x4Instr::EmitNativeCode(FlowGraphCompiler* compiler) {
__ TryAllocate(compiler->float32x4_class(),
slow_path->entry_label(),
Assembler::kFarJump,
- out_reg);
+ out_reg,
+ kNoRegister);
__ Bind(slow_path->exit_label());
__ movups(FieldAddress(out_reg, Float32x4::value_offset()), value);
}
@@ -3058,7 +3063,8 @@ void BoxInt32x4Instr::EmitNativeCode(FlowGraphCompiler* compiler) {
__ TryAllocate(compiler->int32x4_class(),
slow_path->entry_label(),
Assembler::kFarJump,
- out_reg);
+ out_reg,
+ kNoRegister);
__ Bind(slow_path->exit_label());
__ movups(FieldAddress(out_reg, Int32x4::value_offset()), value);
}
@@ -4682,7 +4688,8 @@ void BoxIntegerInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
Class::ZoneHandle(Isolate::Current()->object_store()->mint_class()),
slow_path->entry_label(),
Assembler::kFarJump,
- out_reg);
+ out_reg,
+ kNoRegister);
__ Bind(slow_path->exit_label());
__ movsd(FieldAddress(out_reg, Mint::value_offset()), value);
__ Bind(&done);

Powered by Google App Engine
This is Rietveld 408576698