| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 #ifdef DEBUG | 141 #ifdef DEBUG |
| 142 // Calculate the result using a full stack frame iterator and check | 142 // Calculate the result using a full stack frame iterator and check |
| 143 // that the state of the stack is as we assume it to be in the | 143 // that the state of the stack is as we assume it to be in the |
| 144 // code below. | 144 // code below. |
| 145 StackFrameIterator it; | 145 StackFrameIterator it; |
| 146 ASSERT(it.frame()->is_exit()); | 146 ASSERT(it.frame()->is_exit()); |
| 147 it.Advance(); | 147 it.Advance(); |
| 148 StackFrame* frame = it.frame(); | 148 StackFrame* frame = it.frame(); |
| 149 bool reference_result = frame->is_construct(); | 149 bool reference_result = frame->is_construct(); |
| 150 #endif | 150 #endif |
| 151 Address fp = Top::c_entry_fp(Top::GetCurrentThread()); | 151 Address fp = Top::c_entry_fp(Isolate::Current()->thread_local_top()); |
| 152 // Because we know fp points to an exit frame we can use the relevant | 152 // Because we know fp points to an exit frame we can use the relevant |
| 153 // part of ExitFrame::ComputeCallerState directly. | 153 // part of ExitFrame::ComputeCallerState directly. |
| 154 const int kCallerOffset = ExitFrameConstants::kCallerFPOffset; | 154 const int kCallerOffset = ExitFrameConstants::kCallerFPOffset; |
| 155 Address caller_fp = Memory::Address_at(fp + kCallerOffset); | 155 Address caller_fp = Memory::Address_at(fp + kCallerOffset); |
| 156 // This inlines the part of StackFrame::ComputeType that grabs the | 156 // This inlines the part of StackFrame::ComputeType that grabs the |
| 157 // type of the current frame. Note that StackFrame::ComputeType | 157 // type of the current frame. Note that StackFrame::ComputeType |
| 158 // has been specialized for each architecture so if any one of them | 158 // has been specialized for each architecture so if any one of them |
| 159 // changes this code has to be changed as well. | 159 // changes this code has to be changed as well. |
| 160 const int kMarkerOffset = StandardFrameConstants::kMarkerOffset; | 160 const int kMarkerOffset = StandardFrameConstants::kMarkerOffset; |
| 161 const Smi* kConstructMarker = Smi::FromInt(StackFrame::CONSTRUCT); | 161 const Smi* kConstructMarker = Smi::FromInt(StackFrame::CONSTRUCT); |
| (...skipping 1352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1514 if (entry->contains(pc)) { | 1514 if (entry->contains(pc)) { |
| 1515 return names_[i]; | 1515 return names_[i]; |
| 1516 } | 1516 } |
| 1517 } | 1517 } |
| 1518 } | 1518 } |
| 1519 return NULL; | 1519 return NULL; |
| 1520 } | 1520 } |
| 1521 | 1521 |
| 1522 | 1522 |
| 1523 } } // namespace v8::internal | 1523 } } // namespace v8::internal |
| OLD | NEW |