Revision: 24965
Author: [email protected]
Date: Wed Oct 29 09:02:27 2014 UTC
Log: Revert "X87: Classes: Add basic support for properties."
This reverts r24964.
[email protected]
Review URL: https://codereview.chromium.org/689593002
https://code.google.com/p/v8/source/detail?r=24965
Modified:
/branches/bleeding_edge/src/x87/full-codegen-x87.cc
=======================================
--- /branches/bleeding_edge/src/x87/full-codegen-x87.cc Wed Oct 29 08:01:07
2014 UTC
+++ /branches/bleeding_edge/src/x87/full-codegen-x87.cc Wed Oct 29 09:02:27
2014 UTC
@@ -2406,67 +2406,6 @@
__ bind(&done);
context()->Plug(eax);
}
-
-
-void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) {
- // Constructor is in eax.
- DCHECK(lit != NULL);
- __ push(eax);
-
- // No access check is needed here since the constructor is created by the
- // class literal.
- Register scratch = ebx;
- __ mov(scratch, FieldOperand(eax,
JSFunction::kPrototypeOrInitialMapOffset));
- __ Push(scratch);
-
- for (int i = 0; i < lit->properties()->length(); i++) {
- ObjectLiteral::Property* property = lit->properties()->at(i);
- Literal* key = property->key()->AsLiteral();
- Expression* value = property->value();
- DCHECK(key != NULL);
-
- if (property->is_static()) {
- __ push(Operand(esp, kPointerSize)); // constructor
- } else {
- __ push(Operand(esp, 0)); // prototype
- }
- VisitForStackValue(key);
-
- switch (property->kind()) {
- case ObjectLiteral::Property::CONSTANT:
- case ObjectLiteral::Property::MATERIALIZED_LITERAL:
- case ObjectLiteral::Property::COMPUTED:
- case ObjectLiteral::Property::PROTOTYPE:
- VisitForStackValue(value);
- __ push(Immediate(Smi::FromInt(NONE)));
- __ CallRuntime(Runtime::kDefineDataPropertyUnchecked, 4);
- break;
-
- case ObjectLiteral::Property::GETTER:
- VisitForStackValue(value);
- __ push(Immediate(isolate()->factory()->null_value()));
- __ push(Immediate(Smi::FromInt(NONE)));
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5);
- break;
-
- case ObjectLiteral::Property::SETTER:
- __ push(Immediate(isolate()->factory()->null_value()));
- VisitForStackValue(value);
- __ push(Immediate(Smi::FromInt(NONE)));
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5);
- break;
-
- default:
- UNREACHABLE();
- }
- }
-
- // prototype
- __ CallRuntime(Runtime::kToFastProperties, 1);
-
- // constructor
- __ CallRuntime(Runtime::kToFastProperties, 1);
-}
void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr,
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.