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 |
2218 DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, | 2226 DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, |
2219 BigintCompare, | 2227 BigintCompare, |
2220 2, | 2228 2, |
2221 RawBigint* left, | 2229 RawBigint* left, |
2222 RawBigint* right) { | 2230 RawBigint* right) { |
2223 Thread* thread = Thread::Current(); | 2231 Thread* thread = Thread::Current(); |
2224 StackZone zone(thread); | 2232 StackZone zone(thread); |
2225 HANDLESCOPE(thread); | 2233 HANDLESCOPE(thread); |
2226 const Bigint& big_left = Bigint::Handle(left); | 2234 const Bigint& big_left = Bigint::Handle(left); |
2227 const Bigint& big_right = Bigint::Handle(right); | 2235 const Bigint& big_right = Bigint::Handle(right); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2282 const intptr_t elm_size = old_data.ElementSizeInBytes(); | 2290 const intptr_t elm_size = old_data.ElementSizeInBytes(); |
2283 const TypedData& new_data = | 2291 const TypedData& new_data = |
2284 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); | 2292 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); |
2285 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); | 2293 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); |
2286 typed_data_cell.SetAt(0, new_data); | 2294 typed_data_cell.SetAt(0, new_data); |
2287 arguments.SetReturn(new_data); | 2295 arguments.SetReturn(new_data); |
2288 } | 2296 } |
2289 | 2297 |
2290 | 2298 |
2291 } // namespace dart | 2299 } // namespace dart |
OLD | NEW |