| Index: src/arm/builtins-arm.cc
|
| ===================================================================
|
| --- src/arm/builtins-arm.cc (revision 7267)
|
| +++ src/arm/builtins-arm.cc (working copy)
|
| @@ -325,7 +325,7 @@
|
| r5,
|
| JSArray::kPreallocatedArrayElements,
|
| call_generic_code);
|
| - __ IncrementCounter(&Counters::array_function_native, 1, r3, r4);
|
| + __ IncrementCounter(COUNTERS->array_function_native(), 1, r3, r4);
|
| // Setup return value, remove receiver from stack and return.
|
| __ mov(r0, r2);
|
| __ add(sp, sp, Operand(kPointerSize));
|
| @@ -361,7 +361,7 @@
|
| r7,
|
| true,
|
| call_generic_code);
|
| - __ IncrementCounter(&Counters::array_function_native, 1, r2, r4);
|
| + __ IncrementCounter(COUNTERS->array_function_native(), 1, r2, r4);
|
| // Setup return value, remove receiver and argument from stack and return.
|
| __ mov(r0, r3);
|
| __ add(sp, sp, Operand(2 * kPointerSize));
|
| @@ -385,7 +385,7 @@
|
| r7,
|
| false,
|
| call_generic_code);
|
| - __ IncrementCounter(&Counters::array_function_native, 1, r2, r6);
|
| + __ IncrementCounter(COUNTERS->array_function_native(), 1, r2, r6);
|
|
|
| // Fill arguments as array elements. Copy from the top of the stack (last
|
| // element) to the array backing store filling it backwards. Note:
|
| @@ -442,7 +442,8 @@
|
| // Jump to the generic array code if the specialized code cannot handle
|
| // the construction.
|
| __ bind(&generic_array_code);
|
| - Code* code = Builtins::builtin(Builtins::ArrayCodeGeneric);
|
| + Code* code = Isolate::Current()->builtins()->builtin(
|
| + Builtins::ArrayCodeGeneric);
|
| Handle<Code> array_code(code);
|
| __ Jump(array_code, RelocInfo::CODE_TARGET);
|
| }
|
| @@ -474,7 +475,8 @@
|
| // Jump to the generic construct code in case the specialized code cannot
|
| // handle the construction.
|
| __ bind(&generic_constructor);
|
| - Code* code = Builtins::builtin(Builtins::JSConstructStubGeneric);
|
| + Code* code = Isolate::Current()->builtins()->builtin(
|
| + Builtins::JSConstructStubGeneric);
|
| Handle<Code> generic_construct_stub(code);
|
| __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET);
|
| }
|
| @@ -488,7 +490,7 @@
|
| // -- sp[(argc - n - 1) * 4] : arg[n] (zero based)
|
| // -- sp[argc * 4] : receiver
|
| // -----------------------------------
|
| - __ IncrementCounter(&Counters::string_ctor_calls, 1, r2, r3);
|
| + __ IncrementCounter(COUNTERS->string_ctor_calls(), 1, r2, r3);
|
|
|
| Register function = r1;
|
| if (FLAG_debug_code) {
|
| @@ -518,7 +520,7 @@
|
| r5, // Scratch.
|
| false, // Is it a Smi?
|
| ¬_cached);
|
| - __ IncrementCounter(&Counters::string_ctor_cached_number, 1, r3, r4);
|
| + __ IncrementCounter(COUNTERS->string_ctor_cached_number(), 1, r3, r4);
|
| __ bind(&argument_is_string);
|
|
|
| // ----------- S t a t e -------------
|
| @@ -572,13 +574,13 @@
|
| __ tst(r3, Operand(kIsNotStringMask));
|
| __ b(ne, &convert_argument);
|
| __ mov(argument, r0);
|
| - __ IncrementCounter(&Counters::string_ctor_conversions, 1, r3, r4);
|
| + __ IncrementCounter(COUNTERS->string_ctor_conversions(), 1, r3, r4);
|
| __ b(&argument_is_string);
|
|
|
| // Invoke the conversion builtin and put the result into r2.
|
| __ bind(&convert_argument);
|
| __ push(function); // Preserve the function.
|
| - __ IncrementCounter(&Counters::string_ctor_conversions, 1, r3, r4);
|
| + __ IncrementCounter(COUNTERS->string_ctor_conversions(), 1, r3, r4);
|
| __ EnterInternalFrame();
|
| __ push(r0);
|
| __ InvokeBuiltin(Builtins::TO_STRING, CALL_JS);
|
| @@ -597,7 +599,7 @@
|
| // At this point the argument is already a string. Call runtime to
|
| // create a string wrapper.
|
| __ bind(&gc_required);
|
| - __ IncrementCounter(&Counters::string_ctor_gc_required, 1, r3, r4);
|
| + __ IncrementCounter(COUNTERS->string_ctor_gc_required(), 1, r3, r4);
|
| __ EnterInternalFrame();
|
| __ push(argument);
|
| __ CallRuntime(Runtime::kNewStringWrapper, 1);
|
| @@ -633,8 +635,8 @@
|
| // Set expected number of arguments to zero (not changing r0).
|
| __ mov(r2, Operand(0, RelocInfo::NONE));
|
| __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION_AS_CONSTRUCTOR);
|
| - __ Jump(Handle<Code>(builtin(ArgumentsAdaptorTrampoline)),
|
| - RelocInfo::CODE_TARGET);
|
| + __ Jump(Handle<Code>(Isolate::Current()->builtins()->builtin(
|
| + ArgumentsAdaptorTrampoline)), RelocInfo::CODE_TARGET);
|
| }
|
|
|
|
|
| @@ -906,7 +908,8 @@
|
| if (is_api_function) {
|
| __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset));
|
| Handle<Code> code = Handle<Code>(
|
| - Builtins::builtin(Builtins::HandleApiCallConstruct));
|
| + Isolate::Current()->builtins()->builtin(
|
| + Builtins::HandleApiCallConstruct));
|
| ParameterCount expected(0);
|
| __ InvokeCode(code, expected, expected,
|
| RelocInfo::CODE_TARGET, CALL_FUNCTION);
|
| @@ -963,7 +966,7 @@
|
| __ LeaveConstructFrame();
|
| __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2 - 1));
|
| __ add(sp, sp, Operand(kPointerSize));
|
| - __ IncrementCounter(&Counters::constructed_objects, 1, r1, r2);
|
| + __ IncrementCounter(COUNTERS->constructed_objects(), 1, r1, r2);
|
| __ Jump(lr);
|
| }
|
|
|
| @@ -1039,8 +1042,8 @@
|
| // Invoke the code and pass argc as r0.
|
| __ mov(r0, Operand(r3));
|
| if (is_construct) {
|
| - __ Call(Handle<Code>(Builtins::builtin(Builtins::JSConstructCall)),
|
| - RelocInfo::CODE_TARGET);
|
| + __ Call(Handle<Code>(Isolate::Current()->builtins()->builtin(
|
| + Builtins::JSConstructCall)), RelocInfo::CODE_TARGET);
|
| } else {
|
| ParameterCount actual(r0);
|
| __ InvokeFunction(r1, actual, CALL_FUNCTION);
|
| @@ -1169,7 +1172,7 @@
|
| void Builtins::Generate_OnStackReplacement(MacroAssembler* masm) {
|
| // Probe the CPU to set the supported features, because this builtin
|
| // may be called before the initialization performs CPU setup.
|
| - CpuFeatures::Probe(false);
|
| + Isolate::Current()->cpu_features()->Probe(false);
|
|
|
| // Lookup the function in the JavaScript frame and push it as an
|
| // argument to the on-stack replacement function.
|
| @@ -1332,8 +1335,8 @@
|
| // Expected number of arguments is 0 for CALL_NON_FUNCTION.
|
| __ mov(r2, Operand(0, RelocInfo::NONE));
|
| __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION);
|
| - __ Jump(Handle<Code>(builtin(ArgumentsAdaptorTrampoline)),
|
| - RelocInfo::CODE_TARGET);
|
| + __ Jump(Handle<Code>(Isolate::Current()->builtins()->builtin(
|
| + ArgumentsAdaptorTrampoline)), RelocInfo::CODE_TARGET);
|
| __ bind(&function);
|
| }
|
|
|
| @@ -1348,8 +1351,8 @@
|
| __ mov(r2, Operand(r2, ASR, kSmiTagSize));
|
| __ ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset));
|
| __ cmp(r2, r0); // Check formal and actual parameter counts.
|
| - __ Jump(Handle<Code>(builtin(ArgumentsAdaptorTrampoline)),
|
| - RelocInfo::CODE_TARGET, ne);
|
| + __ Jump(Handle<Code>(Isolate::Current()->builtins()->builtin(
|
| + ArgumentsAdaptorTrampoline)), RelocInfo::CODE_TARGET, ne);
|
|
|
| ParameterCount expected(0);
|
| __ InvokeCode(r3, expected, expected, JUMP_FUNCTION);
|
|
|