| Index: src/compiler/js-operator.cc
|
| diff --git a/src/compiler/js-operator.cc b/src/compiler/js-operator.cc
|
| index 36a3c436962c3292ac140f443637b5c50235a727..31d21f86cdd6f957d29680b985e51c70f0ba2d3a 100644
|
| --- a/src/compiler/js-operator.cc
|
| +++ b/src/compiler/js-operator.cc
|
| @@ -146,87 +146,35 @@ ContextAccess const& ContextAccessOf(Operator const* op) {
|
| }
|
|
|
|
|
| -DynamicGlobalAccess::DynamicGlobalAccess(const Handle<String>& name,
|
| - uint32_t check_bitset,
|
| - const VectorSlotPair& feedback,
|
| - TypeofMode typeof_mode)
|
| - : name_(name),
|
| - check_bitset_(check_bitset),
|
| - feedback_(feedback),
|
| - typeof_mode_(typeof_mode) {
|
| - DCHECK(check_bitset == kFullCheckRequired || check_bitset < 0x80000000U);
|
| -}
|
| -
|
| -
|
| -bool operator==(DynamicGlobalAccess const& lhs,
|
| - DynamicGlobalAccess const& rhs) {
|
| - UNIMPLEMENTED();
|
| - return true;
|
| -}
|
| -
|
| -
|
| -bool operator!=(DynamicGlobalAccess const& lhs,
|
| - DynamicGlobalAccess const& rhs) {
|
| - return !(lhs == rhs);
|
| -}
|
| -
|
| -
|
| -size_t hash_value(DynamicGlobalAccess const& access) {
|
| - UNIMPLEMENTED();
|
| - return 0;
|
| -}
|
| -
|
| -
|
| -std::ostream& operator<<(std::ostream& os, DynamicGlobalAccess const& access) {
|
| - return os << Brief(*access.name()) << ", " << access.check_bitset() << ", "
|
| - << access.typeof_mode();
|
| -}
|
| -
|
| -
|
| -DynamicGlobalAccess const& DynamicGlobalAccessOf(Operator const* op) {
|
| - DCHECK_EQ(IrOpcode::kJSLoadDynamicGlobal, op->opcode());
|
| - return OpParameter<DynamicGlobalAccess>(op);
|
| -}
|
| +DynamicAccess::DynamicAccess(const Handle<String>& name, TypeofMode typeof_mode)
|
| + : name_(name), typeof_mode_(typeof_mode) {}
|
|
|
|
|
| -DynamicContextAccess::DynamicContextAccess(const Handle<String>& name,
|
| - uint32_t check_bitset,
|
| - const ContextAccess& context_access)
|
| - : name_(name),
|
| - check_bitset_(check_bitset),
|
| - context_access_(context_access) {
|
| - DCHECK(check_bitset == kFullCheckRequired || check_bitset < 0x80000000U);
|
| -}
|
| -
|
| -
|
| -bool operator==(DynamicContextAccess const& lhs,
|
| - DynamicContextAccess const& rhs) {
|
| +bool operator==(DynamicAccess const& lhs, DynamicAccess const& rhs) {
|
| UNIMPLEMENTED();
|
| return true;
|
| }
|
|
|
|
|
| -bool operator!=(DynamicContextAccess const& lhs,
|
| - DynamicContextAccess const& rhs) {
|
| +bool operator!=(DynamicAccess const& lhs, DynamicAccess const& rhs) {
|
| return !(lhs == rhs);
|
| }
|
|
|
|
|
| -size_t hash_value(DynamicContextAccess const& access) {
|
| +size_t hash_value(DynamicAccess const& access) {
|
| UNIMPLEMENTED();
|
| return 0;
|
| }
|
|
|
|
|
| -std::ostream& operator<<(std::ostream& os, DynamicContextAccess const& access) {
|
| - return os << Brief(*access.name()) << ", " << access.check_bitset() << ", "
|
| - << access.context_access();
|
| +std::ostream& operator<<(std::ostream& os, DynamicAccess const& access) {
|
| + return os << Brief(*access.name()) << ", " << access.typeof_mode();
|
| }
|
|
|
|
|
| -DynamicContextAccess const& DynamicContextAccessOf(Operator const* op) {
|
| - DCHECK_EQ(IrOpcode::kJSLoadDynamicContext, op->opcode());
|
| - return OpParameter<DynamicContextAccess>(op);
|
| +DynamicAccess const& DynamicAccessOf(Operator const* op) {
|
| + DCHECK_EQ(IrOpcode::kJSLoadDynamic, op->opcode());
|
| + return OpParameter<DynamicAccess>(op);
|
| }
|
|
|
|
|
| @@ -669,28 +617,14 @@ const Operator* JSOperatorBuilder::StoreContext(size_t depth, size_t index) {
|
| }
|
|
|
|
|
| -const Operator* JSOperatorBuilder::LoadDynamicGlobal(
|
| - const Handle<String>& name, uint32_t check_bitset,
|
| - const VectorSlotPair& feedback, TypeofMode typeof_mode) {
|
| - DynamicGlobalAccess access(name, check_bitset, feedback, typeof_mode);
|
| - return new (zone()) Operator1<DynamicGlobalAccess>( // --
|
| - IrOpcode::kJSLoadDynamicGlobal, Operator::kNoProperties, // opcode
|
| - "JSLoadDynamicGlobal", // name
|
| - 2, 1, 1, 1, 1, 2, // counts
|
| - access); // parameter
|
| -}
|
| -
|
| -
|
| -const Operator* JSOperatorBuilder::LoadDynamicContext(
|
| - const Handle<String>& name, uint32_t check_bitset, size_t depth,
|
| - size_t index) {
|
| - ContextAccess context_access(depth, index, false);
|
| - DynamicContextAccess access(name, check_bitset, context_access);
|
| - return new (zone()) Operator1<DynamicContextAccess>( // --
|
| - IrOpcode::kJSLoadDynamicContext, Operator::kNoProperties, // opcode
|
| - "JSLoadDynamicContext", // name
|
| - 1, 1, 1, 1, 1, 2, // counts
|
| - access); // parameter
|
| +const Operator* JSOperatorBuilder::LoadDynamic(const Handle<String>& name,
|
| + TypeofMode typeof_mode) {
|
| + DynamicAccess access(name, typeof_mode);
|
| + return new (zone()) Operator1<DynamicAccess>( // --
|
| + IrOpcode::kJSLoadDynamic, Operator::kNoProperties, // opcode
|
| + "JSLoadDynamic", // name
|
| + 2, 1, 1, 1, 1, 2, // counts
|
| + access); // parameter
|
| }
|
|
|
|
|
|
|