OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 <iomanip> | 5 #include <iomanip> |
6 #include <sstream> | 6 #include <sstream> |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 11360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11371 (opcode = static_cast<Translation::Opcode>(iterator.Next()))) { | 11371 (opcode = static_cast<Translation::Opcode>(iterator.Next()))) { |
11372 os << std::setw(31) << " " << Translation::StringFor(opcode) << " "; | 11372 os << std::setw(31) << " " << Translation::StringFor(opcode) << " "; |
11373 | 11373 |
11374 switch (opcode) { | 11374 switch (opcode) { |
11375 case Translation::BEGIN: | 11375 case Translation::BEGIN: |
11376 UNREACHABLE(); | 11376 UNREACHABLE(); |
11377 break; | 11377 break; |
11378 | 11378 |
11379 case Translation::JS_FRAME: { | 11379 case Translation::JS_FRAME: { |
11380 int ast_id = iterator.Next(); | 11380 int ast_id = iterator.Next(); |
11381 int function_id = iterator.Next(); | 11381 int shared_info_id = iterator.Next(); |
11382 unsigned height = iterator.Next(); | 11382 unsigned height = iterator.Next(); |
11383 os << "{ast_id=" << ast_id << ", function="; | 11383 Object* shared_info = LiteralArray()->get(shared_info_id); |
11384 if (function_id != Translation::kSelfLiteralId) { | 11384 os << "{ast_id=" << ast_id << ", function=" |
11385 Object* function = LiteralArray()->get(function_id); | 11385 << Brief(SharedFunctionInfo::cast(shared_info)->DebugName()) |
11386 os << Brief(JSFunction::cast(function)->shared()->DebugName()); | 11386 << ", height=" << height << "}"; |
11387 } else { | |
11388 os << "<self>"; | |
11389 } | |
11390 os << ", height=" << height << "}"; | |
11391 break; | 11387 break; |
11392 } | 11388 } |
11393 | 11389 |
| 11390 case Translation::JS_FRAME_FUNCTION: { |
| 11391 os << "{function}"; |
| 11392 break; |
| 11393 } |
| 11394 |
11394 case Translation::COMPILED_STUB_FRAME: { | 11395 case Translation::COMPILED_STUB_FRAME: { |
11395 Code::Kind stub_kind = static_cast<Code::Kind>(iterator.Next()); | 11396 Code::Kind stub_kind = static_cast<Code::Kind>(iterator.Next()); |
11396 os << "{kind=" << stub_kind << "}"; | 11397 os << "{kind=" << stub_kind << "}"; |
11397 break; | 11398 break; |
11398 } | 11399 } |
11399 | 11400 |
11400 case Translation::ARGUMENTS_ADAPTOR_FRAME: | 11401 case Translation::ARGUMENTS_ADAPTOR_FRAME: |
11401 case Translation::CONSTRUCT_STUB_FRAME: { | 11402 case Translation::CONSTRUCT_STUB_FRAME: { |
11402 int function_id = iterator.Next(); | 11403 int shared_info_id = iterator.Next(); |
11403 JSFunction* function = | 11404 Object* shared_info = LiteralArray()->get(shared_info_id); |
11404 JSFunction::cast(LiteralArray()->get(function_id)); | |
11405 unsigned height = iterator.Next(); | 11405 unsigned height = iterator.Next(); |
11406 os << "{function=" << Brief(function->shared()->DebugName()) | 11406 os << "{function=" |
| 11407 << Brief(SharedFunctionInfo::cast(shared_info)->DebugName()) |
11407 << ", height=" << height << "}"; | 11408 << ", height=" << height << "}"; |
11408 break; | 11409 break; |
11409 } | 11410 } |
11410 | 11411 |
11411 case Translation::GETTER_STUB_FRAME: | 11412 case Translation::GETTER_STUB_FRAME: |
11412 case Translation::SETTER_STUB_FRAME: { | 11413 case Translation::SETTER_STUB_FRAME: { |
11413 int function_id = iterator.Next(); | 11414 int shared_info_id = iterator.Next(); |
11414 JSFunction* function = | 11415 Object* shared_info = LiteralArray()->get(shared_info_id); |
11415 JSFunction::cast(LiteralArray()->get(function_id)); | 11416 os << "{function=" << Brief(SharedFunctionInfo::cast(shared_info) |
11416 os << "{function=" << Brief(function->shared()->DebugName()) << "}"; | 11417 ->DebugName()) << "}"; |
11417 break; | 11418 break; |
11418 } | 11419 } |
11419 | 11420 |
11420 case Translation::REGISTER: { | 11421 case Translation::REGISTER: { |
11421 int reg_code = iterator.Next(); | 11422 int reg_code = iterator.Next(); |
11422 os << "{input=" << converter.NameOfCPURegister(reg_code) << "}"; | 11423 os << "{input=" << converter.NameOfCPURegister(reg_code) << "}"; |
11423 break; | 11424 break; |
11424 } | 11425 } |
11425 | 11426 |
11426 case Translation::INT32_REGISTER: { | 11427 case Translation::INT32_REGISTER: { |
(...skipping 5547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16974 Handle<Object> new_value) { | 16975 Handle<Object> new_value) { |
16975 if (cell->value() != *new_value) { | 16976 if (cell->value() != *new_value) { |
16976 cell->set_value(*new_value); | 16977 cell->set_value(*new_value); |
16977 Isolate* isolate = cell->GetIsolate(); | 16978 Isolate* isolate = cell->GetIsolate(); |
16978 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 16979 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
16979 isolate, DependentCode::kPropertyCellChangedGroup); | 16980 isolate, DependentCode::kPropertyCellChangedGroup); |
16980 } | 16981 } |
16981 } | 16982 } |
16982 } // namespace internal | 16983 } // namespace internal |
16983 } // namespace v8 | 16984 } // namespace v8 |
OLD | NEW |