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

Unified Diff: src/code-stubs.h

Issue 2325013004: [stubs] Port LoadScriptContextFieldStub and StoreScriptContextFieldStub to TurboFan. (Closed)
Patch Set: Rebasing Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/code-stubs.h
diff --git a/src/code-stubs.h b/src/code-stubs.h
index c2561cc97b2a26d016189219a7e63e8d4efb6195..9046e709fd9d3432377c82c2573072c62c00b852 100644
--- a/src/code-stubs.h
+++ b/src/code-stubs.h
@@ -86,9 +86,7 @@ class ObjectLiteral;
V(LoadDictionaryElement) \
V(LoadFastElement) \
V(LoadField) \
- V(LoadScriptContextField) \
V(StoreFastElement) \
- V(StoreScriptContextField) \
V(StoreTransition) \
/* These should never be ported to TF */ \
/* because they are either used only by */ \
@@ -150,6 +148,8 @@ class ObjectLiteral;
V(NotEqual) \
V(KeyedLoadSloppyArguments) \
V(KeyedStoreSloppyArguments) \
+ V(LoadScriptContextField) \
+ V(StoreScriptContextField) \
V(StrictEqual) \
V(StrictNotEqual) \
V(StringEqual) \
@@ -2682,23 +2682,21 @@ class DoubleToIStub : public PlatformCodeStub {
DEFINE_PLATFORM_CODE_STUB(DoubleToI, PlatformCodeStub);
};
-
-class ScriptContextFieldStub : public HandlerStub {
+class ScriptContextFieldStub : public TurboFanCodeStub {
public:
ScriptContextFieldStub(Isolate* isolate,
const ScriptContextTable::LookupResult* lookup_result)
- : HandlerStub(isolate) {
+ : TurboFanCodeStub(isolate) {
DCHECK(Accepted(lookup_result));
- STATIC_ASSERT(kContextIndexBits + kSlotIndexBits <= kSubMinorKeyBits);
- set_sub_minor_key(ContextIndexBits::encode(lookup_result->context_index) |
- SlotIndexBits::encode(lookup_result->slot_index));
+ minor_key_ = ContextIndexBits::encode(lookup_result->context_index) |
+ SlotIndexBits::encode(lookup_result->slot_index);
}
- int context_index() const {
- return ContextIndexBits::decode(sub_minor_key());
- }
+ Code::Kind GetCodeKind() const override { return Code::HANDLER; }
- int slot_index() const { return SlotIndexBits::decode(sub_minor_key()); }
+ int context_index() const { return ContextIndexBits::decode(minor_key_); }
+
+ int slot_index() const { return SlotIndexBits::decode(minor_key_); }
static bool Accepted(const ScriptContextTable::LookupResult* lookup_result) {
return ContextIndexBits::is_valid(lookup_result->context_index) &&
@@ -2712,7 +2710,7 @@ class ScriptContextFieldStub : public HandlerStub {
class SlotIndexBits
: public BitField<int, kContextIndexBits, kSlotIndexBits> {};
- DEFINE_CODE_STUB_BASE(ScriptContextFieldStub, HandlerStub);
+ DEFINE_CODE_STUB_BASE(ScriptContextFieldStub, TurboFanCodeStub);
};
@@ -2722,11 +2720,11 @@ class LoadScriptContextFieldStub : public ScriptContextFieldStub {
Isolate* isolate, const ScriptContextTable::LookupResult* lookup_result)
: ScriptContextFieldStub(isolate, lookup_result) {}
- private:
- Code::Kind kind() const override { return Code::LOAD_IC; }
+ ExtraICState GetExtraICState() const override { return Code::LOAD_IC; }
+ private:
DEFINE_CALL_INTERFACE_DESCRIPTOR(LoadWithVector);
- DEFINE_HANDLER_CODE_STUB(LoadScriptContextField, ScriptContextFieldStub);
+ DEFINE_TURBOFAN_CODE_STUB(LoadScriptContextField, ScriptContextFieldStub);
};
@@ -2736,11 +2734,11 @@ class StoreScriptContextFieldStub : public ScriptContextFieldStub {
Isolate* isolate, const ScriptContextTable::LookupResult* lookup_result)
: ScriptContextFieldStub(isolate, lookup_result) {}
- private:
- Code::Kind kind() const override { return Code::STORE_IC; }
+ ExtraICState GetExtraICState() const override { return Code::STORE_IC; }
+ private:
DEFINE_CALL_INTERFACE_DESCRIPTOR(StoreWithVector);
- DEFINE_HANDLER_CODE_STUB(StoreScriptContextField, ScriptContextFieldStub);
+ DEFINE_TURBOFAN_CODE_STUB(StoreScriptContextField, ScriptContextFieldStub);
};
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698