Index: src/arm/deoptimizer-arm.cc |
diff --git a/src/arm/deoptimizer-arm.cc b/src/arm/deoptimizer-arm.cc |
index c75fdd4cadfb9c390347bbd360ab9ef518879aa9..0759504b0704833a20ca70fdb37d8a66af6821e0 100644 |
--- a/src/arm/deoptimizer-arm.cc |
+++ b/src/arm/deoptimizer-arm.cc |
@@ -211,11 +211,11 @@ void Deoptimizer::RevertStackCheckCodeAt(Code* unoptimized_code, |
} |
-static int LookupBailoutId(DeoptimizationInputData* data, unsigned ast_id) { |
+static int LookupBailoutId(DeoptimizationInputData* data, BailoutId ast_id) { |
ByteArray* translations = data->TranslationByteArray(); |
int length = data->DeoptCount(); |
for (int i = 0; i < length; i++) { |
- if (static_cast<unsigned>(data->AstId(i)->value()) == ast_id) { |
+ if (data->AstId(i) == ast_id) { |
TranslationIterator it(translations, data->TranslationIndex(i)->value()); |
int value = it.Next(); |
ASSERT(Translation::BEGIN == static_cast<Translation::Opcode>(value)); |
@@ -234,7 +234,7 @@ void Deoptimizer::DoComputeOsrOutputFrame() { |
optimized_code_->deoptimization_data()); |
unsigned ast_id = data->OsrAstId()->value(); |
- int bailout_id = LookupBailoutId(data, ast_id); |
+ int bailout_id = LookupBailoutId(data, BailoutId(ast_id)); |
unsigned translation_index = data->TranslationIndex(bailout_id)->value(); |
ByteArray* translations = data->TranslationByteArray(); |
@@ -597,7 +597,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator, |
void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, |
int frame_index) { |
// Read the ast node id, function, and frame height for this output frame. |
- int node_id = iterator->Next(); |
+ BailoutId node_id = BailoutId(iterator->Next()); |
JSFunction* function; |
if (frame_index != 0) { |
function = JSFunction::cast(ComputeLiteral(iterator->Next())); |
@@ -612,7 +612,7 @@ void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator, |
if (FLAG_trace_deopt) { |
PrintF(" translating "); |
function->PrintName(); |
- PrintF(" => node=%d, height=%d\n", node_id, height_in_bytes); |
+ PrintF(" => node=%d, height=%d\n", node_id.ToInt(), height_in_bytes); |
} |
// The 'fixed' part of the frame consists of the incoming parameters and |