Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: src/objects.cc

Issue 10701054: Enable stub generation using Hydrogen/Lithium (again) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: First pass at pre-VFP2 RA Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 8933 matching lines...) Expand 10 before | Expand all | Expand 10 after
8944 if (function_id != Translation::kSelfLiteralId) { 8944 if (function_id != Translation::kSelfLiteralId) {
8945 Object* function = LiteralArray()->get(function_id); 8945 Object* function = LiteralArray()->get(function_id);
8946 JSFunction::cast(function)->PrintName(out); 8946 JSFunction::cast(function)->PrintName(out);
8947 } else { 8947 } else {
8948 PrintF(out, "<self>"); 8948 PrintF(out, "<self>");
8949 } 8949 }
8950 PrintF(out, ", height=%u}", height); 8950 PrintF(out, ", height=%u}", height);
8951 break; 8951 break;
8952 } 8952 }
8953 8953
8954 case Translation::COMPILED_STUB_PSEUDO_FRAME: {
8955 Code::Kind stub_kind = static_cast<Code::Kind>(iterator.Next());
8956 PrintF(out, "{kind=%d}", stub_kind);
8957 break;
8958 }
8959
8954 case Translation::ARGUMENTS_ADAPTOR_FRAME: 8960 case Translation::ARGUMENTS_ADAPTOR_FRAME:
8955 case Translation::CONSTRUCT_STUB_FRAME: { 8961 case Translation::CONSTRUCT_STUB_FRAME: {
8956 int function_id = iterator.Next(); 8962 int function_id = iterator.Next();
8957 JSFunction* function = 8963 JSFunction* function =
8958 JSFunction::cast(LiteralArray()->get(function_id)); 8964 JSFunction::cast(LiteralArray()->get(function_id));
8959 unsigned height = iterator.Next(); 8965 unsigned height = iterator.Next();
8960 PrintF(out, "{function="); 8966 PrintF(out, "{function=");
8961 function->PrintName(out); 8967 function->PrintName(out);
8962 PrintF(out, ", height=%u}", height); 8968 PrintF(out, ", height=%u}", height);
8963 break; 8969 break;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
9058 FullCodeGenerator::StateField::decode(pc_and_state))); 9064 FullCodeGenerator::StateField::decode(pc_and_state)));
9059 } 9065 }
9060 } 9066 }
9061 9067
9062 9068
9063 // Identify kind of code. 9069 // Identify kind of code.
9064 const char* Code::Kind2String(Kind kind) { 9070 const char* Code::Kind2String(Kind kind) {
9065 switch (kind) { 9071 switch (kind) {
9066 case FUNCTION: return "FUNCTION"; 9072 case FUNCTION: return "FUNCTION";
9067 case OPTIMIZED_FUNCTION: return "OPTIMIZED_FUNCTION"; 9073 case OPTIMIZED_FUNCTION: return "OPTIMIZED_FUNCTION";
9074 case COMPILED_STUB: return "COMPILED_STUB";
9068 case STUB: return "STUB"; 9075 case STUB: return "STUB";
9069 case BUILTIN: return "BUILTIN"; 9076 case BUILTIN: return "BUILTIN";
9070 case LOAD_IC: return "LOAD_IC"; 9077 case LOAD_IC: return "LOAD_IC";
9071 case KEYED_LOAD_IC: return "KEYED_LOAD_IC"; 9078 case KEYED_LOAD_IC: return "KEYED_LOAD_IC";
9072 case STORE_IC: return "STORE_IC"; 9079 case STORE_IC: return "STORE_IC";
9073 case KEYED_STORE_IC: return "KEYED_STORE_IC"; 9080 case KEYED_STORE_IC: return "KEYED_STORE_IC";
9074 case CALL_IC: return "CALL_IC"; 9081 case CALL_IC: return "CALL_IC";
9075 case KEYED_CALL_IC: return "KEYED_CALL_IC"; 9082 case KEYED_CALL_IC: return "KEYED_CALL_IC";
9076 case UNARY_OP_IC: return "UNARY_OP_IC"; 9083 case UNARY_OP_IC: return "UNARY_OP_IC";
9077 case BINARY_OP_IC: return "BINARY_OP_IC"; 9084 case BINARY_OP_IC: return "BINARY_OP_IC";
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
9173 DeoptimizationOutputData* data = 9180 DeoptimizationOutputData* data =
9174 DeoptimizationOutputData::cast(this->deoptimization_data()); 9181 DeoptimizationOutputData::cast(this->deoptimization_data());
9175 data->DeoptimizationOutputDataPrint(out); 9182 data->DeoptimizationOutputDataPrint(out);
9176 } else if (kind() == OPTIMIZED_FUNCTION) { 9183 } else if (kind() == OPTIMIZED_FUNCTION) {
9177 DeoptimizationInputData* data = 9184 DeoptimizationInputData* data =
9178 DeoptimizationInputData::cast(this->deoptimization_data()); 9185 DeoptimizationInputData::cast(this->deoptimization_data());
9179 data->DeoptimizationInputDataPrint(out); 9186 data->DeoptimizationInputDataPrint(out);
9180 } 9187 }
9181 PrintF("\n"); 9188 PrintF("\n");
9182 9189
9183 if (kind() == OPTIMIZED_FUNCTION) { 9190 if (kind() == OPTIMIZED_FUNCTION || kind() == COMPILED_STUB) {
9184 SafepointTable table(this); 9191 SafepointTable table(this);
9185 PrintF(out, "Safepoints (size = %u)\n", table.size()); 9192 PrintF(out, "Safepoints (size = %u)\n", table.size());
9186 for (unsigned i = 0; i < table.length(); i++) { 9193 for (unsigned i = 0; i < table.length(); i++) {
9187 unsigned pc_offset = table.GetPcOffset(i); 9194 unsigned pc_offset = table.GetPcOffset(i);
9188 PrintF(out, "%p %4d ", (instruction_start() + pc_offset), pc_offset); 9195 PrintF(out, "%p %4d ", (instruction_start() + pc_offset), pc_offset);
9189 table.PrintEntry(i); 9196 table.PrintEntry(i);
9190 PrintF(out, " (sp -> fp)"); 9197 PrintF(out, " (sp -> fp)");
9191 SafepointEntry entry = table.GetEntry(i); 9198 SafepointEntry entry = table.GetEntry(i);
9192 if (entry.deoptimization_index() != Safepoint::kNoDeoptimizationIndex) { 9199 if (entry.deoptimization_index() != Safepoint::kNoDeoptimizationIndex) {
9193 PrintF(out, " %6d", entry.deoptimization_index()); 9200 PrintF(out, " %6d", entry.deoptimization_index());
(...skipping 4665 matching lines...) Expand 10 before | Expand all | Expand 10 after
13859 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); 13866 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER);
13860 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); 13867 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER);
13861 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); 13868 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER);
13862 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); 13869 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER);
13863 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); 13870 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER);
13864 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); 13871 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER);
13865 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); 13872 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER);
13866 } 13873 }
13867 13874
13868 } } // namespace v8::internal 13875 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698