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.

Reply via email to