Mercurial > hg > truffle
comparison src/share/vm/shark/sharkStack.cpp @ 7212:291ffc492eb6
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 14 Dec 2012 14:35:13 +0100 |
parents | 2cd5e15048e6 |
children |
comparison
equal
deleted
inserted
replaced
7163:2ed8d74e5984 | 7212:291ffc492eb6 |
---|---|
73 | 73 |
74 // Method pointer | 74 // Method pointer |
75 _method_slot_offset = offset++; | 75 _method_slot_offset = offset++; |
76 if (setup_sp_and_method) { | 76 if (setup_sp_and_method) { |
77 builder()->CreateStore( | 77 builder()->CreateStore( |
78 method, slot_addr(method_slot_offset(), SharkType::Method*_type())); | 78 method, slot_addr(method_slot_offset(), SharkType::Method_type())); |
79 } | 79 } |
80 | 80 |
81 // Unextended SP | 81 // Unextended SP |
82 builder()->CreateStore(stack_pointer, slot_addr(offset++)); | 82 builder()->CreateStore(stack_pointer, slot_addr(offset++)); |
83 | 83 |
161 | 161 |
162 return sp; | 162 return sp; |
163 } | 163 } |
164 | 164 |
165 Value* SharkStack::slot_addr(int offset, | 165 Value* SharkStack::slot_addr(int offset, |
166 const Type* type, | 166 Type* type, |
167 const char* name) const { | 167 const char* name) const { |
168 bool needs_cast = type && type != SharkType::intptr_type(); | 168 bool needs_cast = type && type != SharkType::intptr_type(); |
169 | 169 |
170 Value* result = builder()->CreateStructGEP( | 170 Value* result = builder()->CreateStructGEP( |
171 _frame, offset, needs_cast ? "" : name); | 171 _frame, offset, needs_cast ? "" : name); |