Index: src/handles.cc |
=================================================================== |
--- src/handles.cc (revision 3374) |
+++ src/handles.cc (working copy) |
@@ -417,8 +417,8 @@ |
if (!script->source()->IsString()) { |
ASSERT(script->source()->IsUndefined()); |
- script->set_line_ends(*(Factory::NewJSArray(0))); |
- ASSERT(script->line_ends()->IsJSArray()); |
+ script->set_line_ends(*(Factory::NewFixedArray(0))); |
+ ASSERT(script->line_ends()->IsFixedArray()); |
return; |
} |
@@ -451,9 +451,8 @@ |
} |
ASSERT(array_index == line_count); |
- Handle<JSArray> object = Factory::NewJSArrayWithElements(array); |
- script->set_line_ends(*object); |
- ASSERT(script->line_ends()->IsJSArray()); |
+ script->set_line_ends(*array); |
+ ASSERT(script->line_ends()->IsFixedArray()); |
} |
@@ -461,17 +460,17 @@ |
int GetScriptLineNumber(Handle<Script> script, int code_pos) { |
InitScriptLineEnds(script); |
AssertNoAllocation no_allocation; |
- JSArray* line_ends_array = JSArray::cast(script->line_ends()); |
- const int line_ends_len = (Smi::cast(line_ends_array->length()))->value(); |
+ FixedArray* line_ends = FixedArray::cast(script->line_ends()); |
+ const int line_ends_len = line_ends->length(); |
int line = -1; |
if (line_ends_len > 0 && |
- code_pos <= (Smi::cast(line_ends_array->GetElement(0)))->value()) { |
+ code_pos <= (Smi::cast(line_ends->get(0)))->value()) { |
line = 0; |
} else { |
for (int i = 1; i < line_ends_len; ++i) { |
- if ((Smi::cast(line_ends_array->GetElement(i - 1)))->value() < code_pos && |
- code_pos <= (Smi::cast(line_ends_array->GetElement(i)))->value()) { |
+ if ((Smi::cast(line_ends->get(i - 1)))->value() < code_pos && |
+ code_pos <= (Smi::cast(line_ends->get(i)))->value()) { |
line = i; |
break; |
} |