| Index: src/ia32/deoptimizer-ia32.cc
|
| diff --git a/src/ia32/deoptimizer-ia32.cc b/src/ia32/deoptimizer-ia32.cc
|
| index 32421aecdb54b85b6bf151f352afd05ad8210e7b..fc324d2f8650e5b83a396600792daaa411454af8 100644
|
| --- a/src/ia32/deoptimizer-ia32.cc
|
| +++ b/src/ia32/deoptimizer-ia32.cc
|
| @@ -299,11 +299,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));
|
| @@ -325,7 +325,7 @@ void Deoptimizer::DoComputeOsrOutputFrame() {
|
| // the ast id. Confusing.
|
| ASSERT(bailout_id_ == ast_id);
|
|
|
| - 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();
|
|
|
| @@ -696,7 +696,7 @@ void Deoptimizer::DoComputeConstructStubFrame(TranslationIterator* iterator,
|
|
|
| void Deoptimizer::DoComputeJSFrame(TranslationIterator* iterator,
|
| int frame_index) {
|
| - int node_id = iterator->Next();
|
| + BailoutId node_id = BailoutId(iterator->Next());
|
| JSFunction* function;
|
| if (frame_index != 0) {
|
| function = JSFunction::cast(ComputeLiteral(iterator->Next()));
|
| @@ -711,7 +711,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
|
|
|