Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 67f87518a9e7d5cedb5d1f74781f16b53130cff6..50db3672093f9efccd8f863d5791c3c66f47bc61 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -114,6 +114,7 @@ class LCodeGen; |
// LStoreNamed |
// LStoreNamedField |
// LStoreNamedGeneric |
+// LStringCharCodeAt |
// LBitNotI |
// LCallNew |
// LCheckFunction |
@@ -141,6 +142,7 @@ class LCodeGen; |
// LReturn |
// LSmiTag |
// LStoreGlobal |
+// LStringLength |
// LTaggedToI |
// LThrow |
// LTypeof |
@@ -253,6 +255,8 @@ class LCodeGen; |
V(StoreKeyedGeneric) \ |
V(StoreNamedField) \ |
V(StoreNamedGeneric) \ |
+ V(StringCharCodeAt) \ |
+ V(StringLength) \ |
V(SubI) \ |
V(TaggedToI) \ |
V(Throw) \ |
@@ -1590,6 +1594,34 @@ class LStoreKeyedGeneric: public LStoreKeyed { |
}; |
+class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> { |
+ public: |
+ LStringCharCodeAt(LOperand* string, LOperand* index) { |
+ inputs_[0] = string; |
+ inputs_[1] = index; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(StringCharCodeAt, "string-char-code-at") |
+ DECLARE_HYDROGEN_ACCESSOR(StringCharCodeAt) |
+ |
+ LOperand* string() { return inputs_[0]; } |
+ LOperand* index() { return inputs_[1]; } |
+}; |
+ |
+ |
+class LStringLength: public LTemplateInstruction<1, 1> { |
fschneider
2011/01/19 16:23:44
For consistency I'd write
public LTemplateInstru
Vitaly Repeshko
2011/01/19 20:08:41
Done.
|
+ public: |
+ explicit LStringLength(LOperand* string) { |
+ inputs_[0] = string; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(StringLength, "string-length") |
+ DECLARE_HYDROGEN_ACCESSOR(StringLength) |
+ |
+ LOperand* string() { return inputs_[0]; } |
+}; |
+ |
+ |
class LCheckFunction: public LTemplateInstruction<0, 1> { |
public: |
explicit LCheckFunction(LOperand* value) { |