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

Side by Side Diff: runtime/vm/intermediate_language_ia32.cc

Issue 10828318: Disable using CompileType for class check elimination. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/intermediate_language_x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_IA32.
6 #if defined(TARGET_ARCH_IA32) 6 #if defined(TARGET_ARCH_IA32)
7 7
8 #include "vm/intermediate_language.h" 8 #include "vm/intermediate_language.h"
9 9
10 #include "lib/error.h" 10 #include "lib/error.h"
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 __ pushl(left); 493 __ pushl(left);
494 __ pushl(right); 494 __ pushl(right);
495 EmitEqualityAsPolymorphicCall(compiler, ic_data, locs, branch, kind, 495 EmitEqualityAsPolymorphicCall(compiler, ic_data, locs, branch, kind,
496 deopt_id, token_pos, try_index, 496 deopt_id, token_pos, try_index,
497 locs.stack_bitmap()); 497 locs.stack_bitmap());
498 __ Bind(&done); 498 __ Bind(&done);
499 } 499 }
500 500
501 501
502 static intptr_t GetCid(const Value& v) { 502 static intptr_t GetCid(const Value& v) {
503 const AbstractType& type = AbstractType::Handle(v.CompileType()); 503 // TODO(srdjan): CompileType does not give us correct type for optimizations.
504 return Class::Handle(type.type_class()).id(); 504 // const AbstractType& type = AbstractType::Handle(v.CompileType());
505 // return Class::Handle(type.type_class()).id();
506 return kIllegalCid;
505 } 507 }
506 508
507 509
508 static void EmitSmiComparisonOp(FlowGraphCompiler* compiler, 510 static void EmitSmiComparisonOp(FlowGraphCompiler* compiler,
509 const LocationSummary& locs, 511 const LocationSummary& locs,
510 Token::Kind kind, 512 Token::Kind kind,
511 BranchInstr* branch, 513 BranchInstr* branch,
512 intptr_t deopt_id, 514 intptr_t deopt_id,
513 intptr_t token_pos, 515 intptr_t token_pos,
514 intptr_t try_index) { 516 intptr_t try_index) {
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
2223 locs()->stack_bitmap()); 2225 locs()->stack_bitmap());
2224 __ CompareObject(EAX, compiler->bool_true()); 2226 __ CompareObject(EAX, compiler->bool_true());
2225 EmitBranchOnCondition(compiler, branch_condition); 2227 EmitBranchOnCondition(compiler, branch_condition);
2226 } 2228 }
2227 2229
2228 } // namespace dart 2230 } // namespace dart
2229 2231
2230 #undef __ 2232 #undef __
2231 2233
2232 #endif // defined TARGET_ARCH_X64 2234 #endif // defined TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | runtime/vm/intermediate_language_x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698