Revision: 24999
Author: [email protected]
Date: Thu Oct 30 02:01:19 2014 UTC
Log: X87: Classes: Add super support in methods and accessors
port r24976.
original commit message:
Classes: Add super support in methods and accessors
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=
[email protected]
Review URL: https://codereview.chromium.org/687273005
Patch from Chunyang Dai <[email protected]>.
https://code.google.com/p/v8/source/detail?r=24999
Modified:
/branches/bleeding_edge/src/x87/full-codegen-x87.cc
=======================================
--- /branches/bleeding_edge/src/x87/full-codegen-x87.cc Wed Oct 29 09:24:12
2014 UTC
+++ /branches/bleeding_edge/src/x87/full-codegen-x87.cc Thu Oct 30 02:01:19
2014 UTC
@@ -2431,29 +2431,22 @@
__ push(Operand(esp, 0)); // prototype
}
VisitForStackValue(key);
+ VisitForStackValue(value);
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);
+ __ CallRuntime(Runtime::kDefineClassMethod, 3);
break;
case ObjectLiteral::Property::GETTER:
- VisitForStackValue(value);
- __ push(Immediate(isolate()->factory()->null_value()));
- __ push(Immediate(Smi::FromInt(NONE)));
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5);
+ __ CallRuntime(Runtime::kDefineClassGetter, 3);
break;
case ObjectLiteral::Property::SETTER:
- __ push(Immediate(isolate()->factory()->null_value()));
- VisitForStackValue(value);
- __ push(Immediate(Smi::FromInt(NONE)));
- __ CallRuntime(Runtime::kDefineAccessorPropertyUnchecked, 5);
+ __ CallRuntime(Runtime::kDefineClassSetter, 3);
break;
default:
--
--
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.