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

Unified Diff: src/code-stubs.cc

Issue 1722193002: [compiler] Drop the CompareNilIC. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE Created 4 years, 10 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-stubs.h ('k') | src/code-stubs-hydrogen.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index 4142a53e92e3e6e74b4d02ec37864aa472969345..346ef7517239f5650e30ed06e79a44f3d5f96641 100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -452,28 +452,6 @@ void CompareICStub::Generate(MacroAssembler* masm) {
}
-void CompareNilICStub::UpdateStatus(Handle<Object> object) {
- State state = this->state();
- DCHECK(!state.Contains(GENERIC));
- State old_state = state;
- if (object->IsNull()) {
- state.Add(NULL_TYPE);
- } else if (object->IsUndefined()) {
- state.Add(UNDEFINED);
- } else if (object->IsUndetectableObject() || object->IsSmi()) {
- state.RemoveAll();
- state.Add(GENERIC);
- } else if (IsMonomorphic()) {
- state.RemoveAll();
- state.Add(GENERIC);
- } else {
- state.Add(MONOMORPHIC_MAP);
- }
- TraceTransition(old_state, state);
- set_sub_minor_key(TypesBits::update(sub_minor_key(), state.ToIntegral()));
-}
-
-
Handle<Code> TurboFanCodeStub::GenerateCode() {
const char* name = CodeStub::MajorName(MajorKey());
Zone zone;
@@ -509,17 +487,6 @@ void HydrogenCodeStub::TraceTransition(StateType from, StateType to) {
}
-void CompareNilICStub::PrintBaseName(std::ostream& os) const { // NOLINT
- CodeStub::PrintBaseName(os);
- os << ((nil_value() == kNullValue) ? "(NullValue)" : "(UndefinedValue)");
-}
-
-
-void CompareNilICStub::PrintState(std::ostream& os) const { // NOLINT
- os << state();
-}
-
-
// TODO(svenpanne) Make this a real infix_ostream_iterator.
class SimpleListPrinter {
public:
@@ -540,45 +507,6 @@ class SimpleListPrinter {
};
-std::ostream& operator<<(std::ostream& os, const CompareNilICStub::State& s) {
- os << "(";
- SimpleListPrinter p(os);
- if (s.IsEmpty()) p.Add("None");
- if (s.Contains(CompareNilICStub::UNDEFINED)) p.Add("Undefined");
- if (s.Contains(CompareNilICStub::NULL_TYPE)) p.Add("Null");
- if (s.Contains(CompareNilICStub::MONOMORPHIC_MAP)) p.Add("MonomorphicMap");
- if (s.Contains(CompareNilICStub::GENERIC)) p.Add("Generic");
- return os << ")";
-}
-
-
-Type* CompareNilICStub::GetType(Zone* zone, Handle<Map> map) {
- State state = this->state();
- if (state.Contains(CompareNilICStub::GENERIC)) return Type::Any();
-
- Type* result = Type::None();
- if (state.Contains(CompareNilICStub::UNDEFINED)) {
- result = Type::Union(result, Type::Undefined(), zone);
- }
- if (state.Contains(CompareNilICStub::NULL_TYPE)) {
- result = Type::Union(result, Type::Null(), zone);
- }
- if (state.Contains(CompareNilICStub::MONOMORPHIC_MAP)) {
- Type* type = map.is_null() ? Type::Detectable() : Type::Class(map, zone);
- result = Type::Union(result, type, zone);
- }
-
- return result;
-}
-
-
-Type* CompareNilICStub::GetInputType(Zone* zone, Handle<Map> map) {
- Type* output_type = GetType(zone, map);
- Type* nil_type = nil_value() == kNullValue ? Type::Null() : Type::Undefined();
- return Type::Union(output_type, nil_type, zone);
-}
-
-
void CallICStub::PrintState(std::ostream& os) const { // NOLINT
os << state();
}
@@ -740,13 +668,6 @@ void AllocateInNewSpaceStub::InitializeDescriptor(
}
-void CompareNilICStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
- descriptor->Initialize(FUNCTION_ADDR(Runtime_CompareNilIC_Miss));
- descriptor->SetMissHandler(ExternalReference(
- Runtime::FunctionForId(Runtime::kCompareNilIC_Miss), isolate()));
-}
-
-
void ToBooleanStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
descriptor->Initialize(FUNCTION_ADDR(Runtime_ToBooleanIC_Miss));
descriptor->SetMissHandler(ExternalReference(
« no previous file with comments | « src/code-stubs.h ('k') | src/code-stubs-hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698