Index: test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden |
diff --git a/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden b/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden |
new file mode 100644 |
index 0000000000000000000000000000000000000000..62214594ea157b5b9bdae657311f35aaa260b2cc |
--- /dev/null |
+++ b/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden |
@@ -0,0 +1,261 @@ |
+# |
+# Autogenerated by generate-bytecode-expectations. |
+# |
+ |
+--- |
+pool type: mixed |
+execute: yes |
+wrap: no |
+test function name: test |
+ |
+--- |
+snippet: " |
+ var test; |
+ (function() { |
+ class A { |
+ method() { return 2; } |
+ } |
+ class B extends A { |
+ method() { return super.method() + 1; } |
+ } |
+ test = new B().method; |
+ test(); |
+ })(); |
+" |
+frame size: 7 |
+parameter count: 1 |
+bytecode array length: 57 |
+bytecodes: [ |
+ B(Ldar), R(closure), |
+ B(Star), R(0), |
+ B(StackCheck), |
+ B(Ldar), R(this), |
+ B(Star), R(3), |
+ B(Ldar), R(0), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1), |
+ B(Star), R(6), |
+ B(LdaConstant), U8(1), |
+ B(KeyedLoadIC), R(6), U8(3), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3), |
+ B(Mov), R(3), R(2), |
+ B(Star), R(1), |
+ B(Call), R(1), R(2), U8(1), U8(1), |
+ B(Star), R(3), |
+ B(LdaSmi8), U8(1), |
+ B(Add), R(3), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::SYMBOL_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var test; |
+ (function() { |
+ class A { |
+ get x() { return 1; } |
+ set x(val) { return; } |
+ } |
+ class B extends A { |
+ method() { super.x = 2; return super.x; } |
+ } |
+ test = new B().method; |
+ test(); |
+ })(); |
+" |
+frame size: 6 |
+parameter count: 1 |
+bytecode array length: 80 |
+bytecodes: [ |
+ B(Ldar), R(closure), |
+ B(Star), R(0), |
+ B(StackCheck), |
+ B(Ldar), R(this), |
+ B(Star), R(1), |
+ B(Ldar), R(0), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), |
+ B(Star), R(5), |
+ B(LdaConstant), U8(1), |
+ B(KeyedLoadIC), R(5), U8(1), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(3), |
+ B(LdaSmi8), U8(2), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4), |
+ B(Ldar), R(this), |
+ B(Star), R(1), |
+ B(Ldar), R(0), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(KeyedLoadIC), R(4), U8(3), |
+ B(Star), R(2), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::SYMBOL_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var test; |
+ (function() { |
+ class A { |
+ constructor(x) { this.x_ = x; } |
+ } |
+ class B extends A { |
+ constructor() { super(1); this.y_ = 2; } |
+ } |
+ test = new B().constructor; |
+ })(); |
+" |
+frame size: 5 |
+parameter count: 1 |
+bytecode array length: 106 |
+bytecodes: [ |
+ B(Ldar), R(closure), |
+ B(Star), R(1), |
+ B(Ldar), R(new_target), |
+ B(Star), R(0), |
+ B(StackCheck), |
+ B(Ldar), R(1), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1), |
+ B(Star), R(2), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(3), |
+ B(Ldar), R(0), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
+ B(New), R(2), R(3), U8(1), |
+ B(Star), R(2), |
+ B(Ldar), R(this), |
+ B(JumpIfNotHole), U8(4), |
+ B(Jump), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
+ B(Ldar), R(2), |
+ B(Star), R(this), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
+ B(Star), R(2), |
+ B(LdaSmi8), U8(2), |
+ B(StoreICStrict), R(2), U8(3), U8(4), |
+ B(Ldar), R(this), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var test; |
+ (function() { |
+ class A { |
+ constructor() { this.x_ = 1; } |
+ } |
+ class B extends A { |
+ constructor() { super(); this.y_ = 2; } |
+ } |
+ test = new B().constructor; |
+ })(); |
+" |
+frame size: 4 |
+parameter count: 1 |
+bytecode array length: 102 |
+bytecodes: [ |
+ B(Ldar), R(closure), |
+ B(Star), R(1), |
+ B(Ldar), R(new_target), |
+ B(Star), R(0), |
+ B(StackCheck), |
+ B(Ldar), R(1), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1), |
+ B(Star), R(2), |
+ B(Ldar), R(0), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
+ B(New), R(2), R(0), U8(0), |
+ B(Star), R(2), |
+ B(Ldar), R(this), |
+ B(JumpIfNotHole), U8(4), |
+ B(Jump), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
+ B(Ldar), R(2), |
+ B(Star), R(this), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
+ B(Star), R(2), |
+ B(LdaSmi8), U8(2), |
+ B(StoreICStrict), R(2), U8(3), U8(4), |
+ B(Ldar), R(this), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |