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/code_generator.h" | 5 #include "vm/code_generator.h" |
6 | 6 |
7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" |
8 #include "vm/ast.h" | 8 #include "vm/ast.h" |
9 #include "vm/code_patcher.h" | 9 #include "vm/code_patcher.h" |
10 #include "vm/compiler.h" | 10 #include "vm/compiler.h" |
(...skipping 2197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2208 | 2208 |
2209 // Return value tells deoptimization stub to remove the given number of bytes | 2209 // Return value tells deoptimization stub to remove the given number of bytes |
2210 // from the stack. | 2210 // from the stack. |
2211 arguments.SetReturn(Smi::Handle(Smi::New(deopt_arg_count * kWordSize))); | 2211 arguments.SetReturn(Smi::Handle(Smi::New(deopt_arg_count * kWordSize))); |
2212 #else | 2212 #else |
2213 UNREACHABLE(); | 2213 UNREACHABLE(); |
2214 #endif // !DART_PRECOMPILED_RUNTIME | 2214 #endif // !DART_PRECOMPILED_RUNTIME |
2215 } | 2215 } |
2216 | 2216 |
2217 | 2217 |
2218 DEFINE_RUNTIME_ENTRY(RewindPostDeopt, 0) { | |
2219 #if !defined(DART_PRECOMPILED_RUNTIME) | |
2220 isolate->debugger()->RewindPostDeopt(); | |
2221 #else | |
2222 UNREACHABLE(); | |
2223 #endif // !DART_PRECOMPILED_RUNTIME | |
2224 } | |
2225 | |
2226 DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, | 2218 DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, |
2227 BigintCompare, | 2219 BigintCompare, |
2228 2, | 2220 2, |
2229 RawBigint* left, | 2221 RawBigint* left, |
2230 RawBigint* right) { | 2222 RawBigint* right) { |
2231 Thread* thread = Thread::Current(); | 2223 Thread* thread = Thread::Current(); |
2232 StackZone zone(thread); | 2224 StackZone zone(thread); |
2233 HANDLESCOPE(thread); | 2225 HANDLESCOPE(thread); |
2234 const Bigint& big_left = Bigint::Handle(left); | 2226 const Bigint& big_left = Bigint::Handle(left); |
2235 const Bigint& big_right = Bigint::Handle(right); | 2227 const Bigint& big_right = Bigint::Handle(right); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2290 const intptr_t elm_size = old_data.ElementSizeInBytes(); | 2282 const intptr_t elm_size = old_data.ElementSizeInBytes(); |
2291 const TypedData& new_data = | 2283 const TypedData& new_data = |
2292 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); | 2284 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); |
2293 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); | 2285 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); |
2294 typed_data_cell.SetAt(0, new_data); | 2286 typed_data_cell.SetAt(0, new_data); |
2295 arguments.SetReturn(new_data); | 2287 arguments.SetReturn(new_data); |
2296 } | 2288 } |
2297 | 2289 |
2298 | 2290 |
2299 } // namespace dart | 2291 } // namespace dart |
OLD | NEW |