OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/compiler.h" | 7 #include "src/compiler.h" |
8 #include "src/interpreter/bytecode-array-iterator.h" | 8 #include "src/interpreter/bytecode-array-iterator.h" |
9 #include "src/interpreter/bytecode-generator.h" | 9 #include "src/interpreter/bytecode-generator.h" |
10 #include "src/interpreter/interpreter.h" | 10 #include "src/interpreter/interpreter.h" |
(...skipping 2207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2218 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // | 2218 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // |
2219 R(0), U8(5), // | 2219 R(0), U8(5), // |
2220 B(Ldar), R(0), // | 2220 B(Ldar), R(0), // |
2221 B(Return), // | 2221 B(Return), // |
2222 }, | 2222 }, |
2223 4, | 2223 4, |
2224 {InstanceType::FIXED_ARRAY_TYPE, | 2224 {InstanceType::FIXED_ARRAY_TYPE, |
2225 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 2225 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
2226 InstanceType::SHARED_FUNCTION_INFO_TYPE, | 2226 InstanceType::SHARED_FUNCTION_INFO_TYPE, |
2227 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 2227 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
2228 {"return { get a() { return this.x; }, set b(val) { this.y = val } };", | 2228 {"return { set b(val) { this.y = val } };", |
2229 5 * kPointerSize, | 2229 5 * kPointerSize, |
2230 1, | 2230 1, |
2231 52, | 2231 31, |
2232 { | 2232 { |
2233 B(LdaConstant), U8(0), // | 2233 B(LdaConstant), U8(0), // |
2234 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 2234 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // |
2235 B(Star), R(0), // | 2235 B(Star), R(0), // |
2236 B(LdaConstant), U8(1), // | 2236 B(LdaConstant), U8(1), // |
2237 B(Star), R(1), // | 2237 B(Star), R(1), // |
2238 B(LdaConstant), U8(2), // | |
2239 B(CreateClosure), U8(0), // | |
2240 B(Star), R(2), // | |
2241 B(LdaNull), // | |
2242 B(Star), R(3), // | |
2243 B(LdaZero), // | |
2244 B(Star), R(4), // | |
2245 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // | |
2246 R(0), U8(5), // | |
2247 B(LdaConstant), U8(3), // | |
2248 B(Star), R(1), // | |
2249 B(LdaNull), // | 2238 B(LdaNull), // |
2250 B(Star), R(2), // | 2239 B(Star), R(2), // |
2251 B(LdaConstant), U8(4), // | 2240 B(LdaConstant), U8(2), // |
2252 B(CreateClosure), U8(0), // | 2241 B(CreateClosure), U8(0), // |
2253 B(Star), R(3), // | 2242 B(Star), R(3), // |
2254 B(LdaZero), // | 2243 B(LdaZero), // |
2255 B(Star), R(4), // | 2244 B(Star), R(4), // |
2256 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // | 2245 B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), // |
2257 R(0), U8(5), // | 2246 R(0), U8(5), // |
2258 B(Ldar), R(0), // | 2247 B(Ldar), R(0), // |
2259 B(Return), // | 2248 B(Return), // |
2260 }, | 2249 }, |
2261 5, | 2250 3, |
2262 {InstanceType::FIXED_ARRAY_TYPE, | 2251 {InstanceType::FIXED_ARRAY_TYPE, |
2263 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 2252 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
2264 InstanceType::SHARED_FUNCTION_INFO_TYPE, | |
2265 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | |
2266 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, | 2253 InstanceType::SHARED_FUNCTION_INFO_TYPE}}, |
2267 {"var a = 1; return { 1: a };", | 2254 {"var a = 1; return { 1: a };", |
2268 5 * kPointerSize, | 2255 5 * kPointerSize, |
2269 1, | 2256 1, |
2270 30, | 2257 30, |
2271 { | 2258 { |
2272 B(LdaSmi8), U8(1), // | 2259 B(LdaSmi8), U8(1), // |
2273 B(Star), R(0), // | 2260 B(Star), R(0), // |
2274 B(LdaConstant), U8(0), // | 2261 B(LdaConstant), U8(0), // |
2275 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // | 2262 B(CreateObjectLiteral), U8(0), U8(deep_elements_flags), // |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2499 for (size_t i = 0; i < arraysize(snippets); i++) { | 2486 for (size_t i = 0; i < arraysize(snippets); i++) { |
2500 Handle<BytecodeArray> bytecode_array = | 2487 Handle<BytecodeArray> bytecode_array = |
2501 helper.MakeTopLevelBytecode(snippets[i].code_snippet); | 2488 helper.MakeTopLevelBytecode(snippets[i].code_snippet); |
2502 CheckBytecodeArrayEqual(snippets[i], bytecode_array); | 2489 CheckBytecodeArrayEqual(snippets[i], bytecode_array); |
2503 } | 2490 } |
2504 } | 2491 } |
2505 | 2492 |
2506 } // namespace interpreter | 2493 } // namespace interpreter |
2507 } // namespace internal | 2494 } // namespace internal |
2508 } // namespace v8 | 2495 } // namespace v8 |
OLD | NEW |