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 994 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1005 class RepresentationBits: public BitField<Representation::Kind, 1, 8> {}; | 1005 class RepresentationBits: public BitField<Representation::Kind, 1, 8> {}; |
1006 | 1006 |
1007 int bit_field_; | 1007 int bit_field_; |
1008 | 1008 |
1009 DISALLOW_COPY_AND_ASSIGN(StoreGlobalStub); | 1009 DISALLOW_COPY_AND_ASSIGN(StoreGlobalStub); |
1010 }; | 1010 }; |
1011 | 1011 |
1012 | 1012 |
1013 class CallApiFunctionStub : public PlatformCodeStub { | 1013 class CallApiFunctionStub : public PlatformCodeStub { |
1014 public: | 1014 public: |
1015 CallApiFunctionStub(bool restore_context, | 1015 CallApiFunctionStub(bool is_store, |
1016 bool call_data_undefined, | 1016 bool call_data_undefined, |
1017 int argc) { | 1017 int argc) { |
1018 bit_field_ = | 1018 bit_field_ = |
1019 RestoreContextBits::encode(restore_context) | | 1019 IsStoreBits::encode(is_store) | |
1020 CallDataUndefinedBits::encode(call_data_undefined) | | 1020 CallDataUndefinedBits::encode(call_data_undefined) | |
1021 ArgumentBits::encode(argc); | 1021 ArgumentBits::encode(argc); |
| 1022 ASSERT(!is_store || argc == 1); |
1022 } | 1023 } |
1023 | 1024 |
1024 private: | 1025 private: |
1025 virtual void Generate(MacroAssembler* masm) V8_OVERRIDE; | 1026 virtual void Generate(MacroAssembler* masm) V8_OVERRIDE; |
1026 virtual Major MajorKey() V8_OVERRIDE { return CallApiFunction; } | 1027 virtual Major MajorKey() V8_OVERRIDE { return CallApiFunction; } |
1027 virtual int MinorKey() V8_OVERRIDE { return bit_field_; } | 1028 virtual int MinorKey() V8_OVERRIDE { return bit_field_; } |
1028 | 1029 |
1029 class RestoreContextBits: public BitField<bool, 0, 1> {}; | 1030 class IsStoreBits: public BitField<bool, 0, 1> {}; |
1030 class CallDataUndefinedBits: public BitField<bool, 1, 1> {}; | 1031 class CallDataUndefinedBits: public BitField<bool, 1, 1> {}; |
1031 class ArgumentBits: public BitField<int, 2, Code::kArgumentsBits> {}; | 1032 class ArgumentBits: public BitField<int, 2, Code::kArgumentsBits> {}; |
1032 | 1033 |
1033 int bit_field_; | 1034 int bit_field_; |
1034 | 1035 |
1035 DISALLOW_COPY_AND_ASSIGN(CallApiFunctionStub); | 1036 DISALLOW_COPY_AND_ASSIGN(CallApiFunctionStub); |
1036 }; | 1037 }; |
1037 | 1038 |
1038 | 1039 |
1039 class CallApiGetterStub : public PlatformCodeStub { | 1040 class CallApiGetterStub : public PlatformCodeStub { |
(...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2476 | 2477 |
2477 | 2478 |
2478 class CallDescriptors { | 2479 class CallDescriptors { |
2479 public: | 2480 public: |
2480 static void InitializeForIsolate(Isolate* isolate); | 2481 static void InitializeForIsolate(Isolate* isolate); |
2481 }; | 2482 }; |
2482 | 2483 |
2483 } } // namespace v8::internal | 2484 } } // namespace v8::internal |
2484 | 2485 |
2485 #endif // V8_CODE_STUBS_H_ | 2486 #endif // V8_CODE_STUBS_H_ |
OLD | NEW |