OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 25 matching lines...) Expand all Loading... | |
36 #include "safepoint-table.h" | 36 #include "safepoint-table.h" |
37 #include "scopeinfo.h" | 37 #include "scopeinfo.h" |
38 #include "string-stream.h" | 38 #include "string-stream.h" |
39 | 39 |
40 #include "allocation-inl.h" | 40 #include "allocation-inl.h" |
41 | 41 |
42 namespace v8 { | 42 namespace v8 { |
43 namespace internal { | 43 namespace internal { |
44 | 44 |
45 | 45 |
46 static ReturnAddressLocationResolver return_address_location_resolver = NULL; | 46 ReturnAddressLocationResolver return_address_location_resolver = NULL; |
danno
2013/06/13 15:33:44
Shouldn't this also be isolate based now?
Sigurður Ásgeirsson
2013/06/19 20:51:51
Sadly no. The instrumentation and profiler are per
| |
47 | 47 |
48 | 48 |
49 // Resolves pc_address through the resolution address function if one is set. | 49 // Resolves pc_address through the resolution address function if one is set. |
50 static inline Address* ResolveReturnAddressLocation(Address* pc_address) { | 50 static inline Address* ResolveReturnAddressLocation(Address* pc_address) { |
51 if (return_address_location_resolver == NULL) { | 51 if (return_address_location_resolver == NULL) { |
52 return pc_address; | 52 return pc_address; |
53 } else { | 53 } else { |
54 return reinterpret_cast<Address*>( | 54 return reinterpret_cast<Address*>( |
55 return_address_location_resolver( | 55 return_address_location_resolver( |
56 reinterpret_cast<uintptr_t>(pc_address))); | 56 reinterpret_cast<uintptr_t>(pc_address))); |
(...skipping 1557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1614 ZoneList<StackFrame*> list(10, zone); | 1614 ZoneList<StackFrame*> list(10, zone); |
1615 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { | 1615 for (StackFrameIterator it(isolate); !it.done(); it.Advance()) { |
1616 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); | 1616 StackFrame* frame = AllocateFrameCopy(it.frame(), zone); |
1617 list.Add(frame, zone); | 1617 list.Add(frame, zone); |
1618 } | 1618 } |
1619 return list.ToVector(); | 1619 return list.ToVector(); |
1620 } | 1620 } |
1621 | 1621 |
1622 | 1622 |
1623 } } // namespace v8::internal | 1623 } } // namespace v8::internal |
OLD | NEW |