| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_CODE_STUBS_H_ | 5 #ifndef V8_CODE_STUBS_H_ |
| 6 #define V8_CODE_STUBS_H_ | 6 #define V8_CODE_STUBS_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
| 10 #include "src/code-stub-assembler.h" | 10 #include "src/code-stub-assembler.h" |
| (...skipping 1478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1489 private: | 1489 private: |
| 1490 class ConstantIndexBits : public BitField<int, 0, kSubMinorKeyBits> {}; | 1490 class ConstantIndexBits : public BitField<int, 0, kSubMinorKeyBits> {}; |
| 1491 | 1491 |
| 1492 DEFINE_HANDLER_CODE_STUB(LoadConstant, HandlerStub); | 1492 DEFINE_HANDLER_CODE_STUB(LoadConstant, HandlerStub); |
| 1493 }; | 1493 }; |
| 1494 | 1494 |
| 1495 class LoadApiGetterStub : public TurboFanCodeStub { | 1495 class LoadApiGetterStub : public TurboFanCodeStub { |
| 1496 public: | 1496 public: |
| 1497 LoadApiGetterStub(Isolate* isolate, bool receiver_is_holder, int index) | 1497 LoadApiGetterStub(Isolate* isolate, bool receiver_is_holder, int index) |
| 1498 : TurboFanCodeStub(isolate) { | 1498 : TurboFanCodeStub(isolate) { |
| 1499 // If that's not true, we need to ensure that the receiver is actually a |
| 1500 // JSReceiver. http://crbug.com/609134 |
| 1501 DCHECK(receiver_is_holder); |
| 1499 minor_key_ = IndexBits::encode(index) | | 1502 minor_key_ = IndexBits::encode(index) | |
| 1500 ReceiverIsHolderBits::encode(receiver_is_holder); | 1503 ReceiverIsHolderBits::encode(receiver_is_holder); |
| 1501 } | 1504 } |
| 1502 | 1505 |
| 1503 Code::Kind GetCodeKind() const override { return Code::HANDLER; } | 1506 Code::Kind GetCodeKind() const override { return Code::HANDLER; } |
| 1504 ExtraICState GetExtraICState() const override { return Code::LOAD_IC; } | 1507 ExtraICState GetExtraICState() const override { return Code::LOAD_IC; } |
| 1505 InlineCacheState GetICState() const override { return MONOMORPHIC; } | 1508 InlineCacheState GetICState() const override { return MONOMORPHIC; } |
| 1506 | 1509 |
| 1507 int index() const { return IndexBits::decode(minor_key_); } | 1510 int index() const { return IndexBits::decode(minor_key_); } |
| 1508 bool receiver_is_holder() const { | 1511 bool receiver_is_holder() const { |
| (...skipping 1723 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3232 #undef DEFINE_HYDROGEN_CODE_STUB | 3235 #undef DEFINE_HYDROGEN_CODE_STUB |
| 3233 #undef DEFINE_CODE_STUB | 3236 #undef DEFINE_CODE_STUB |
| 3234 #undef DEFINE_CODE_STUB_BASE | 3237 #undef DEFINE_CODE_STUB_BASE |
| 3235 | 3238 |
| 3236 extern Representation RepresentationFromType(Type* type); | 3239 extern Representation RepresentationFromType(Type* type); |
| 3237 | 3240 |
| 3238 } // namespace internal | 3241 } // namespace internal |
| 3239 } // namespace v8 | 3242 } // namespace v8 |
| 3240 | 3243 |
| 3241 #endif // V8_CODE_STUBS_H_ | 3244 #endif // V8_CODE_STUBS_H_ |
| OLD | NEW |