| 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" |     5 #include "vm/globals.h" | 
|     6 #if defined(TARGET_ARCH_ARM) |     6 #if defined(TARGET_ARCH_ARM) | 
|     7  |     7  | 
|     8 #include "vm/assembler.h" |     8 #include "vm/assembler.h" | 
|     9 #include "vm/code_generator.h" |     9 #include "vm/code_generator.h" | 
|    10 #include "vm/compiler.h" |    10 #include "vm/compiler.h" | 
| (...skipping 1530 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1541 void StubCode::GenerateClosureCallInlineCacheStub(Assembler* assembler) { |  1541 void StubCode::GenerateClosureCallInlineCacheStub(Assembler* assembler) { | 
|  1542   GenerateNArgsCheckInlineCacheStub(assembler, 1); |  1542   GenerateNArgsCheckInlineCacheStub(assembler, 1); | 
|  1543 } |  1543 } | 
|  1544  |  1544  | 
|  1545  |  1545  | 
|  1546 void StubCode::GenerateMegamorphicCallStub(Assembler* assembler) { |  1546 void StubCode::GenerateMegamorphicCallStub(Assembler* assembler) { | 
|  1547   GenerateNArgsCheckInlineCacheStub(assembler, 1); |  1547   GenerateNArgsCheckInlineCacheStub(assembler, 1); | 
|  1548 } |  1548 } | 
|  1549  |  1549  | 
|  1550  |  1550  | 
 |  1551 void StubCode::GenerateBreakpointClosureStub(Assembler* assembler) { | 
 |  1552   // TODO(hausner): implement this stub. | 
 |  1553   __ Branch(&StubCode::CallClosureFunctionLabel()); | 
 |  1554 } | 
 |  1555  | 
 |  1556  | 
|  1551 //  LR: return address (Dart code). |  1557 //  LR: return address (Dart code). | 
|  1552 //  R4: arguments descriptor array. |  1558 //  R4: arguments descriptor array. | 
|  1553 void StubCode::GenerateBreakpointStaticStub(Assembler* assembler) { |  1559 void StubCode::GenerateBreakpointStaticStub(Assembler* assembler) { | 
|  1554   // Create a stub frame as we are pushing some objects on the stack before |  1560   // Create a stub frame as we are pushing some objects on the stack before | 
|  1555   // calling into the runtime. |  1561   // calling into the runtime. | 
|  1556   __ EnterStubFrame(); |  1562   __ EnterStubFrame(); | 
|  1557   __ LoadImmediate(R0, reinterpret_cast<intptr_t>(Object::null())); |  1563   __ LoadImmediate(R0, reinterpret_cast<intptr_t>(Object::null())); | 
|  1558   // Preserve arguments descriptor and make room for result. |  1564   // Preserve arguments descriptor and make room for result. | 
|  1559   __ PushList((1 << R0) | (1 << R4)); |  1565   __ PushList((1 << R0) | (1 << R4)); | 
|  1560   __ CallRuntime(kBreakpointStaticHandlerRuntimeEntry); |  1566   __ CallRuntime(kBreakpointStaticHandlerRuntimeEntry); | 
| (...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1931   __ Bind(&reference_compare); |  1937   __ Bind(&reference_compare); | 
|  1932   __ cmp(left, ShifterOperand(right)); |  1938   __ cmp(left, ShifterOperand(right)); | 
|  1933   __ Bind(&done); |  1939   __ Bind(&done); | 
|  1934   __ PopList((1 << R0) | (1 << R1) | (1 << R2)); |  1940   __ PopList((1 << R0) | (1 << R1) | (1 << R2)); | 
|  1935   __ Ret(); |  1941   __ Ret(); | 
|  1936 } |  1942 } | 
|  1937  |  1943  | 
|  1938 }  // namespace dart |  1944 }  // namespace dart | 
|  1939  |  1945  | 
|  1940 #endif  // defined TARGET_ARCH_ARM |  1946 #endif  // defined TARGET_ARCH_ARM | 
| OLD | NEW |