| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_X64. | 5 #include "vm/globals.h"  // Needed here to get TARGET_ARCH_X64. | 
| 6 #if defined(TARGET_ARCH_X64) | 6 #if defined(TARGET_ARCH_X64) | 
| 7 | 7 | 
| 8 #include "vm/intermediate_language.h" | 8 #include "vm/intermediate_language.h" | 
| 9 | 9 | 
| 10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" | 
| (...skipping 5890 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 5901 | 5901 | 
| 5902   virtual void EmitNativeCode(FlowGraphCompiler* compiler) { | 5902   virtual void EmitNativeCode(FlowGraphCompiler* compiler) { | 
| 5903     if (Assembler::EmittingComments()) { | 5903     if (Assembler::EmittingComments()) { | 
| 5904       __ Comment("slow path check bound operation"); | 5904       __ Comment("slow path check bound operation"); | 
| 5905     } | 5905     } | 
| 5906     __ Bind(entry_label()); | 5906     __ Bind(entry_label()); | 
| 5907     LocationSummary* locs = instruction_->locs(); | 5907     LocationSummary* locs = instruction_->locs(); | 
| 5908     __ pushq(locs->in(0).reg()); | 5908     __ pushq(locs->in(0).reg()); | 
| 5909     __ pushq(locs->in(1).reg()); | 5909     __ pushq(locs->in(1).reg()); | 
| 5910     __ CallRuntime(kRangeErrorRuntimeEntry, 2); | 5910     __ CallRuntime(kRangeErrorRuntimeEntry, 2); | 
| 5911     compiler->pc_descriptors_list()->AddDescriptor( | 5911     compiler->AddDescriptor( | 
| 5912         RawPcDescriptors::kOther, compiler->assembler()->CodeSize(), | 5912         RawPcDescriptors::kOther, compiler->assembler()->CodeSize(), | 
| 5913         instruction_->deopt_id(), instruction_->token_pos(), try_index_); | 5913         instruction_->deopt_id(), instruction_->token_pos(), try_index_); | 
| 5914     compiler->RecordSafepoint(locs, 2); | 5914     compiler->RecordSafepoint(locs, 2); | 
| 5915     __ int3(); | 5915     __ int3(); | 
| 5916   } | 5916   } | 
| 5917 | 5917 | 
| 5918  private: | 5918  private: | 
| 5919   GenericCheckBoundInstr* instruction_; | 5919   GenericCheckBoundInstr* instruction_; | 
| 5920   intptr_t try_index_; | 5920   intptr_t try_index_; | 
| 5921 }; | 5921 }; | 
| (...skipping 826 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6748   __ Drop(1); | 6748   __ Drop(1); | 
| 6749   __ popq(result); | 6749   __ popq(result); | 
| 6750 } | 6750 } | 
| 6751 | 6751 | 
| 6752 | 6752 | 
| 6753 }  // namespace dart | 6753 }  // namespace dart | 
| 6754 | 6754 | 
| 6755 #undef __ | 6755 #undef __ | 
| 6756 | 6756 | 
| 6757 #endif  // defined TARGET_ARCH_X64 | 6757 #endif  // defined TARGET_ARCH_X64 | 
| OLD | NEW | 
|---|