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 16 matching lines...) Expand all Loading... |
27 | 27 |
28 #ifndef V8_RUNTIME_H_ | 28 #ifndef V8_RUNTIME_H_ |
29 #define V8_RUNTIME_H_ | 29 #define V8_RUNTIME_H_ |
30 | 30 |
31 #include "allocation.h" | 31 #include "allocation.h" |
32 #include "zone.h" | 32 #include "zone.h" |
33 | 33 |
34 namespace v8 { | 34 namespace v8 { |
35 namespace internal { | 35 namespace internal { |
36 | 36 |
| 37 // Forward declaration |
| 38 class LookupCache; |
| 39 |
37 // The interface to C++ runtime functions. | 40 // The interface to C++ runtime functions. |
38 | 41 |
39 // ---------------------------------------------------------------------------- | 42 // ---------------------------------------------------------------------------- |
40 // RUNTIME_FUNCTION_LIST_ALWAYS defines runtime calls available in both | 43 // RUNTIME_FUNCTION_LIST_ALWAYS defines runtime calls available in both |
41 // release and debug mode. | 44 // release and debug mode. |
42 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST. | 45 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST. |
43 | 46 |
44 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused | 47 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused |
45 // MSVC Intellisense to crash. It was broken into two macros to work around | 48 // MSVC Intellisense to crash. It was broken into two macros to work around |
46 // this problem. Please avoid large recursive macros whenever possible. | 49 // this problem. Please avoid large recursive macros whenever possible. |
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 Isolate* isolate, | 707 Isolate* isolate, |
705 Handle<Object> object, | 708 Handle<Object> object, |
706 uint32_t index); | 709 uint32_t index); |
707 | 710 |
708 MUST_USE_RESULT static MaybeObject* SetObjectProperty( | 711 MUST_USE_RESULT static MaybeObject* SetObjectProperty( |
709 Isolate* isolate, | 712 Isolate* isolate, |
710 Handle<Object> object, | 713 Handle<Object> object, |
711 Handle<Object> key, | 714 Handle<Object> key, |
712 Handle<Object> value, | 715 Handle<Object> value, |
713 PropertyAttributes attr, | 716 PropertyAttributes attr, |
714 StrictModeFlag strict_mode); | 717 StrictModeFlag strict_mode, |
| 718 LookupCache* cache = NULL); |
715 | 719 |
716 MUST_USE_RESULT static MaybeObject* SetObjectPropertyOrFail( | 720 MUST_USE_RESULT static MaybeObject* SetObjectPropertyOrFail( |
717 Isolate* isolate, | 721 Isolate* isolate, |
718 Handle<Object> object, | 722 Handle<Object> object, |
719 Handle<Object> key, | 723 Handle<Object> key, |
720 Handle<Object> value, | 724 Handle<Object> value, |
721 PropertyAttributes attr, | 725 PropertyAttributes attr, |
722 StrictModeFlag strict_mode); | 726 StrictModeFlag strict_mode); |
723 | 727 |
724 MUST_USE_RESULT static MaybeObject* ForceSetObjectProperty( | 728 MUST_USE_RESULT static MaybeObject* ForceSetObjectProperty( |
(...skipping 10 matching lines...) Expand all Loading... |
735 JSReceiver::DeleteMode mode); | 739 JSReceiver::DeleteMode mode); |
736 | 740 |
737 MUST_USE_RESULT static MaybeObject* HasObjectProperty( | 741 MUST_USE_RESULT static MaybeObject* HasObjectProperty( |
738 Isolate* isolate, | 742 Isolate* isolate, |
739 Handle<JSReceiver> object, | 743 Handle<JSReceiver> object, |
740 Handle<Object> key); | 744 Handle<Object> key); |
741 | 745 |
742 MUST_USE_RESULT static MaybeObject* GetObjectProperty( | 746 MUST_USE_RESULT static MaybeObject* GetObjectProperty( |
743 Isolate* isolate, | 747 Isolate* isolate, |
744 Handle<Object> object, | 748 Handle<Object> object, |
745 Handle<Object> key); | 749 Handle<Object> key, |
| 750 LookupCache* cache = NULL); |
746 | 751 |
747 MUST_USE_RESULT static MaybeObject* GetObjectPropertyOrFail( | 752 MUST_USE_RESULT static MaybeObject* GetObjectPropertyOrFail( |
748 Isolate* isolate, | 753 Isolate* isolate, |
749 Handle<Object> object, | 754 Handle<Object> object, |
750 Handle<Object> key); | 755 Handle<Object> key); |
751 | 756 |
752 static bool SetupArrayBuffer(Isolate* isolate, | 757 static bool SetupArrayBuffer(Isolate* isolate, |
753 Handle<JSArrayBuffer> array_buffer, | 758 Handle<JSArrayBuffer> array_buffer, |
754 void* data, | 759 void* data, |
755 size_t allocated_length); | 760 size_t allocated_length); |
(...skipping 17 matching lines...) Expand all Loading... |
773 //--------------------------------------------------------------------------- | 778 //--------------------------------------------------------------------------- |
774 // Constants used by interface to runtime functions. | 779 // Constants used by interface to runtime functions. |
775 | 780 |
776 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; | 781 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; |
777 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; | 782 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; |
778 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; | 783 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; |
779 | 784 |
780 } } // namespace v8::internal | 785 } } // namespace v8::internal |
781 | 786 |
782 #endif // V8_RUNTIME_H_ | 787 #endif // V8_RUNTIME_H_ |
OLD | NEW |