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

Unified Diff: runtime/vm/opt_code_generator_ia32.cc

Issue 10114010: Fix potential problem with mismatch between ICData inloine cache miss handler in optimizing compile… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 8 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/opt_code_generator_ia32.cc
===================================================================
--- runtime/vm/opt_code_generator_ia32.cc (revision 6659)
+++ runtime/vm/opt_code_generator_ia32.cc (working copy)
@@ -2684,9 +2684,21 @@
const Array& optional_arguments_names) {
__ LoadObject(ECX, ic_data);
__ LoadObject(EDX, ArgumentsDescriptor(num_args, optional_arguments_names));
- ExternalLabel target_label(
- "InlineCache", StubCode::OneArgCheckInlineCacheEntryPoint());
+ uword label_address = 0;
+ switch (ic_data.num_args_tested()) {
+ case 1:
+ label_address = StubCode::OneArgCheckInlineCacheEntryPoint();
+ break;
+ case 2:
+ label_address = StubCode::TwoArgsCheckInlineCacheEntryPoint();
+ break;
+ default:
+ UNIMPLEMENTED();
+ }
+
+ ExternalLabel target_label("InlineCache", label_address);
+
__ call(&target_label);
AddCurrentDescriptor(PcDescriptors::kIcCall,
node_id,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698