Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Side by Side Diff: runtime/vm/object.h

Issue 868103002: VM: Use PC offset instead of absolute PC in exception handler info. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 #ifndef VM_OBJECT_H_ 5 #ifndef VM_OBJECT_H_
6 #define VM_OBJECT_H_ 6 #define VM_OBJECT_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/utils.h" 10 #include "platform/utils.h"
(...skipping 3376 matching lines...) Expand 10 before | Expand all | Expand 10 after
3387 }; 3387 };
3388 3388
3389 3389
3390 class ExceptionHandlers : public Object { 3390 class ExceptionHandlers : public Object {
3391 public: 3391 public:
3392 intptr_t num_entries() const; 3392 intptr_t num_entries() const;
3393 3393
3394 void GetHandlerInfo(intptr_t try_index, 3394 void GetHandlerInfo(intptr_t try_index,
3395 RawExceptionHandlers::HandlerInfo* info) const; 3395 RawExceptionHandlers::HandlerInfo* info) const;
3396 3396
3397 intptr_t HandlerPC(intptr_t try_index) const; 3397 uword HandlerPCOffset(intptr_t try_index) const;
3398 intptr_t OuterTryIndex(intptr_t try_index) const; 3398 intptr_t OuterTryIndex(intptr_t try_index) const;
3399 bool NeedsStacktrace(intptr_t try_index) const; 3399 bool NeedsStacktrace(intptr_t try_index) const;
3400 3400
3401 void SetHandlerInfo(intptr_t try_index, 3401 void SetHandlerInfo(intptr_t try_index,
3402 intptr_t outer_try_index, 3402 intptr_t outer_try_index,
3403 intptr_t handler_pc, 3403 uword handler_pc_offset,
3404 bool needs_stacktrace, 3404 bool needs_stacktrace,
3405 bool has_catch_all) const; 3405 bool has_catch_all) const;
3406 3406
3407 RawArray* GetHandledTypes(intptr_t try_index) const; 3407 RawArray* GetHandledTypes(intptr_t try_index) const;
3408 void SetHandledTypes(intptr_t try_index, const Array& handled_types) const; 3408 void SetHandledTypes(intptr_t try_index, const Array& handled_types) const;
3409 bool HasCatchAll(intptr_t try_index) const; 3409 bool HasCatchAll(intptr_t try_index) const;
3410 3410
3411 static intptr_t InstanceSize() { 3411 static intptr_t InstanceSize() {
3412 ASSERT(sizeof(RawExceptionHandlers) == 3412 ASSERT(sizeof(RawExceptionHandlers) ==
3413 OFFSET_OF_RETURNED_VALUE(RawExceptionHandlers, data)); 3413 OFFSET_OF_RETURNED_VALUE(RawExceptionHandlers, data));
(...skipping 4287 matching lines...) Expand 10 before | Expand all | Expand 10 after
7701 7701
7702 7702
7703 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, 7703 RawObject* MegamorphicCache::GetTargetFunction(const Array& array,
7704 intptr_t index) { 7704 intptr_t index) {
7705 return array.At((index * kEntryLength) + kTargetFunctionIndex); 7705 return array.At((index * kEntryLength) + kTargetFunctionIndex);
7706 } 7706 }
7707 7707
7708 } // namespace dart 7708 } // namespace dart
7709 7709
7710 #endif // VM_OBJECT_H_ 7710 #endif // VM_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_descriptors.h ('k') | runtime/vm/object.cc » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698