Index: src/ia32/code-stubs-ia32.h |
diff --git a/src/ia32/code-stubs-ia32.h b/src/ia32/code-stubs-ia32.h |
index 803a711de9694efeacc907db44d1f7342980d006..29c16e1304ba17f5520dfcbe67dcd23de197a38f 100644 |
--- a/src/ia32/code-stubs-ia32.h |
+++ b/src/ia32/code-stubs-ia32.h |
@@ -154,96 +154,6 @@ class UnaryOpStub: public CodeStub { |
}; |
-class BinaryOpStub: public CodeStub { |
- public: |
- BinaryOpStub(Token::Value op, OverwriteMode mode) |
- : op_(op), |
- mode_(mode), |
- operands_type_(BinaryOpIC::UNINITIALIZED), |
- result_type_(BinaryOpIC::UNINITIALIZED) { |
- use_sse3_ = CpuFeatures::IsSupported(SSE3); |
- ASSERT(OpBits::is_valid(Token::NUM_TOKENS)); |
- } |
- |
- BinaryOpStub( |
- int key, |
- BinaryOpIC::TypeInfo operands_type, |
- BinaryOpIC::TypeInfo result_type = BinaryOpIC::UNINITIALIZED) |
- : op_(OpBits::decode(key)), |
- mode_(ModeBits::decode(key)), |
- use_sse3_(SSE3Bits::decode(key)), |
- operands_type_(operands_type), |
- result_type_(result_type) { } |
- |
- private: |
- enum SmiCodeGenerateHeapNumberResults { |
- ALLOW_HEAPNUMBER_RESULTS, |
- NO_HEAPNUMBER_RESULTS |
- }; |
- |
- Token::Value op_; |
- OverwriteMode mode_; |
- bool use_sse3_; |
- |
- // Operand type information determined at runtime. |
- BinaryOpIC::TypeInfo operands_type_; |
- BinaryOpIC::TypeInfo result_type_; |
- |
- virtual void PrintName(StringStream* stream); |
- |
- // Minor key encoding in 16 bits RRRTTTSOOOOOOOMM. |
- class ModeBits: public BitField<OverwriteMode, 0, 2> {}; |
- class OpBits: public BitField<Token::Value, 2, 7> {}; |
- class SSE3Bits: public BitField<bool, 9, 1> {}; |
- class OperandTypeInfoBits: public BitField<BinaryOpIC::TypeInfo, 10, 3> {}; |
- class ResultTypeInfoBits: public BitField<BinaryOpIC::TypeInfo, 13, 3> {}; |
- |
- Major MajorKey() { return BinaryOp; } |
- int MinorKey() { |
- return OpBits::encode(op_) |
- | ModeBits::encode(mode_) |
- | SSE3Bits::encode(use_sse3_) |
- | OperandTypeInfoBits::encode(operands_type_) |
- | ResultTypeInfoBits::encode(result_type_); |
- } |
- |
- void Generate(MacroAssembler* masm); |
- void GenerateGeneric(MacroAssembler* masm); |
- void GenerateSmiCode(MacroAssembler* masm, |
- Label* slow, |
- SmiCodeGenerateHeapNumberResults heapnumber_results); |
- void GenerateLoadArguments(MacroAssembler* masm); |
- void GenerateReturn(MacroAssembler* masm); |
- void GenerateUninitializedStub(MacroAssembler* masm); |
- void GenerateSmiStub(MacroAssembler* masm); |
- void GenerateInt32Stub(MacroAssembler* masm); |
- void GenerateHeapNumberStub(MacroAssembler* masm); |
- void GenerateOddballStub(MacroAssembler* masm); |
- void GenerateStringStub(MacroAssembler* masm); |
- void GenerateBothStringStub(MacroAssembler* masm); |
- void GenerateGenericStub(MacroAssembler* masm); |
- void GenerateAddStrings(MacroAssembler* masm); |
- |
- void GenerateHeapResultAllocation(MacroAssembler* masm, Label* alloc_failure); |
- void GenerateRegisterArgsPush(MacroAssembler* masm); |
- void GenerateTypeTransition(MacroAssembler* masm); |
- void GenerateTypeTransitionWithSavedArgs(MacroAssembler* masm); |
- |
- virtual int GetCodeKind() { return Code::BINARY_OP_IC; } |
- |
- virtual InlineCacheState GetICState() { |
- return BinaryOpIC::ToState(operands_type_); |
- } |
- |
- virtual void FinishCode(Handle<Code> code) { |
- code->set_binary_op_type(operands_type_); |
- code->set_binary_op_result_type(result_type_); |
- } |
- |
- friend class CodeGenerator; |
-}; |
- |
- |
class StringHelper : public AllStatic { |
public: |
// Generate code for copying characters using a simple loop. This should only |