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

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 7 years 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 6f76fbc90a7da359ed0a8c9cf47075621cadc1bb..f44cbd9fb12226f5df4b4200fa4697724386123b 100644
--- a/runtime/vm/intermediate_language_ia32.cc
+++ b/runtime/vm/intermediate_language_ia32.cc
@@ -1687,7 +1687,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,
@@ -1736,7 +1737,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,
@@ -1984,7 +1986,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()));
@@ -2867,7 +2870,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);
}
@@ -2974,7 +2978,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);
}
@@ -3068,7 +3073,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);
}
@@ -4675,7 +4681,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