Changeset 188311 in webkit for trunk/Source/JavaScriptCore/dfg/DFGOSREntry.cpp
- Timestamp:
- Aug 11, 2015, 4:50:02 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGOSREntry.cpp
r186691 r188311 91 91 } 92 92 93 SUPPRESS_ASAN 93 94 void* prepareOSREntry(ExecState* exec, CodeBlock* codeBlock, unsigned bytecodeIndex) 94 95 { … … 203 204 int localOffset = virtualRegisterForLocal(local).offset(); 204 205 if (entry->m_localsForcedDouble.get(local)) { 205 if (!exec->registers()[localOffset]. jsValue().isNumber()) {206 if (!exec->registers()[localOffset].asanUnsafeJSValue().isNumber()) { 206 207 if (Options::verboseOSR()) { 207 208 dataLog( 208 209 " OSR failed because variable ", localOffset, " is ", 209 exec->registers()[localOffset]. jsValue(), ", expected number.\n");210 exec->registers()[localOffset].asanUnsafeJSValue(), ", expected number.\n"); 210 211 } 211 212 return 0; … … 214 215 } 215 216 if (entry->m_localsForcedMachineInt.get(local)) { 216 if (!exec->registers()[localOffset]. jsValue().isMachineInt()) {217 if (!exec->registers()[localOffset].asanUnsafeJSValue().isMachineInt()) { 217 218 if (Options::verboseOSR()) { 218 219 dataLog( 219 220 " OSR failed because variable ", localOffset, " is ", 220 exec->registers()[localOffset]. jsValue(), ", expected ",221 exec->registers()[localOffset].asanUnsafeJSValue(), ", expected ", 221 222 "machine int.\n"); 222 223 } … … 225 226 continue; 226 227 } 227 if (!entry->m_expectedValues.local(local).validate(exec->registers()[localOffset]. jsValue())) {228 if (!entry->m_expectedValues.local(local).validate(exec->registers()[localOffset].asanUnsafeJSValue())) { 228 229 if (Options::verboseOSR()) { 229 230 dataLog( 230 231 " OSR failed because variable ", localOffset, " is ", 231 exec->registers()[localOffset]. jsValue(), ", expected ",232 exec->registers()[localOffset].asanUnsafeJSValue(), ", expected ", 232 233 entry->m_expectedValues.local(local), ".\n"); 233 234 } … … 281 282 if (reg.isLocal()) { 282 283 if (entry->m_localsForcedDouble.get(reg.toLocal())) { 283 *bitwise_cast<double*>(pivot + index) = exec->registers()[reg.offset()]. jsValue().asNumber();284 *bitwise_cast<double*>(pivot + index) = exec->registers()[reg.offset()].asanUnsafeJSValue().asNumber(); 284 285 continue; 285 286 } 286 287 287 288 if (entry->m_localsForcedMachineInt.get(reg.toLocal())) { 288 *bitwise_cast<int64_t*>(pivot + index) = exec->registers()[reg.offset()]. jsValue().asMachineInt() << JSValue::int52ShiftAmount;289 *bitwise_cast<int64_t*>(pivot + index) = exec->registers()[reg.offset()].asanUnsafeJSValue().asMachineInt() << JSValue::int52ShiftAmount; 289 290 continue; 290 291 } 291 292 } 292 293 293 pivot[index] = exec->registers()[reg.offset()]. jsValue();294 pivot[index] = exec->registers()[reg.offset()].asanUnsafeJSValue(); 294 295 } 295 296 … … 297 298 Vector<JSValue> temporaryLocals(entry->m_reshufflings.size()); 298 299 for (unsigned i = entry->m_reshufflings.size(); i--;) 299 temporaryLocals[i] = pivot[VirtualRegister(entry->m_reshufflings[i].fromOffset).toLocal()]. jsValue();300 temporaryLocals[i] = pivot[VirtualRegister(entry->m_reshufflings[i].fromOffset).toLocal()].asanUnsafeJSValue(); 300 301 for (unsigned i = entry->m_reshufflings.size(); i--;) 301 302 pivot[VirtualRegister(entry->m_reshufflings[i].toOffset).toLocal()] = temporaryLocals[i];
Note:
See TracChangeset
for help on using the changeset viewer.