ulan@chromium.org [Mon, 27 Aug 2012 15:17:14 +0000 (15:17 +0000)]
Disallow updates to ic_with_type_info_count with negative values.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10883064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12386
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 27 Aug 2012 13:47:34 +0000 (13:47 +0000)]
Make order of addition the primary order of descriptor arrays.
The order by name is maintained as secondary order by using unused bits in the property details.
This is preliminary work towards sharing descriptors arrays.
The change allows us
- to get rid of the LastAdded bits in the map, binding it to the number of valid descriptors for the given map
- to avoid resorting by enumeration index to create the cache
- (maybe in the future, depending on performance) to get rid of the enumeration cache altogether.
Although generally the number_of_descriptors equals the NumberOfOwnDescriptors in the current version, this is preliminary work towards sharing descriptors, where maps may have more descriptors than are valid for the map.
Review URL: https://chromiumcodereview.appspot.com/
10879013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 27 Aug 2012 09:40:26 +0000 (09:40 +0000)]
Introduce global contexts to represent lexical global scope(s).
They are yet unused; actual allocation of global lexical bindings in these contexts is implemented in a separate follow-up CL.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10876067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 27 Aug 2012 09:39:05 +0000 (09:39 +0000)]
First steps towards named Litihium operands.
Accessing Lithium operands via position is fragile and makes it impossible to
statically find all uses of a given operand. This CL is a step towards cleaning
this up, more to come...
Review URL: https://chromiumcodereview.appspot.com/
10878073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 27 Aug 2012 09:05:07 +0000 (09:05 +0000)]
Unbreak MIPS build.
TBR=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10868102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 27 Aug 2012 08:49:00 +0000 (08:49 +0000)]
Remove unused method and add line breaks after each serialized edge
Review URL: https://chromiumcodereview.appspot.com/
10874063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 27 Aug 2012 07:29:36 +0000 (07:29 +0000)]
MIPS: Fix rounding in Uint8ClampedArray setter.
Port r12364 (
31e40def)
Original commit message:
According to Web IDL spec, we should round to
the nearest integer, choosing the even integer
if it lies halfway between two.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10870049
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 24 Aug 2012 13:01:52 +0000 (13:01 +0000)]
Add check to external string resource.
Extensions are a source of external strings where we don't perform check yet.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10878025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 24 Aug 2012 09:06:23 +0000 (09:06 +0000)]
MIPS: Check that index and length are Smi in bounds check.
Port r12362 (
cd39337c)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10876053
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 23 Aug 2012 21:08:58 +0000 (21:08 +0000)]
Disable speculative LICM when it may lead to unnecessary deopts
BUG=v8:2250
R=vegorov@chromium.org
TEST=tests/mjsunit/regress/regress-2250.js
Review URL: https://chromiumcodereview.appspot.com/
10867033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 23 Aug 2012 16:38:15 +0000 (16:38 +0000)]
Test case for conflicting global declarations across multiple scripts.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10872037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 23 Aug 2012 16:14:01 +0000 (16:14 +0000)]
Fix DoDeferredNumberTagU to keep the value in xmm1 instead of xmm0 on x64.
xmm0 is not saved across runtime call on x64 because MacroAssembler::EnterExitFrameEpilogue preserves only allocatable XMM registers unlike on ia32 where it preserves all registers.
Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.
Fix type inference for i-to-t change instruction. On X64 this ensures that write-barrier is generated correctly.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10868032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 23 Aug 2012 16:11:37 +0000 (16:11 +0000)]
Fix typo in grokdump.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10883004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Thu, 23 Aug 2012 11:15:06 +0000 (11:15 +0000)]
Fix semaphore on MacOS. This is a commit of https://chromiumcodereview.appspot.com/
10867009/ for Fedor Indutny
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12371
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 23 Aug 2012 08:15:38 +0000 (08:15 +0000)]
Make the performance of the VM more predictable by not letting the hash seed
affect the order in which the local variables are processed in the compiler.
Review URL: https://chromiumcodereview.appspot.com/
10870033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 22 Aug 2012 19:00:02 +0000 (19:00 +0000)]
When processing collected uint32 instructions skip those with non-Integer32 representation.
R=danno@chromium.org
BUG=test262 S15.4.4.8_A2_T3.js
Review URL: https://chromiumcodereview.appspot.com/
10867017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 22 Aug 2012 15:58:16 +0000 (15:58 +0000)]
Fix order of conversions in ObjectToInt32 and ObjectToUint32 helpers.
TBR=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10878012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 22 Aug 2012 15:44:17 +0000 (15:44 +0000)]
Allow uint32 value on optimized frames if they are consumed by safe operations.
Safe operations are those that either do not observe unsignedness or have special support for uint32 values:
- all binary bitwise operations: they perform ToInt32 on inputs;
- >> and << shifts: they perform ToInt32 on left hand side and ToUint32 on right hand side;
- >>> shift: it performs ToUint32 on both inputs;
- stores to integer external arrays (not pixel, float or double ones): these stores are "bitwise";
- HChange: special support added for conversions of uint32 values to double and tagged values;
- HSimulate: special support added for deoptimization with uint32 values in registers and stack slots;
- HPhi: phis that have only safe uses and only uint32 operands are uint32 themselves.
BUG=v8:2097
TEST=test/mjsunit/compiler/uint32.js
Review URL: https://chromiumcodereview.appspot.com/
10778029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 22 Aug 2012 15:08:48 +0000 (15:08 +0000)]
While finding the valueOf descriptor, only look at the key entries.
Review URL: https://chromiumcodereview.appspot.com/
10870012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 22 Aug 2012 14:45:25 +0000 (14:45 +0000)]
Fix Windows build after r12364.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10880004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 22 Aug 2012 14:27:11 +0000 (14:27 +0000)]
Fix rounding in Uint8ClampedArray setter.
According to Web IDL spec, we should round to
the nearest integer, choosing the even integer
if it lies halfway between two.
R=yangguo@chromium.org,kbr@chromium.org
BUG=v8:2294
Review URL: https://chromiumcodereview.appspot.com/
10831409
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 22 Aug 2012 07:02:19 +0000 (07:02 +0000)]
Print more x64 registers in grokdump.
Review URL: https://chromiumcodereview.appspot.com/
10873006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 21 Aug 2012 16:46:25 +0000 (16:46 +0000)]
Check that index and length are Smi in bounds check.
BUG=chromium:142218
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10829456
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 21 Aug 2012 14:21:53 +0000 (14:21 +0000)]
Introduce DISABLE_ASAN macro to disable AddressSanitizer instrumentation for given functions.
Disable AddressSanitizer instrumentation for StackTracer::Trace.
R=danno@chromium.org
BUG=chromium:134722
Review URL: https://chromiumcodereview.appspot.com/
10834430
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 21 Aug 2012 11:33:49 +0000 (11:33 +0000)]
MIPS: Fix write barrier for StoreKeyedFastElements on ARM.
Port r12238 (
300f3dac)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10828216
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Aug 2012 10:45:44 +0000 (10:45 +0000)]
Prepare push to trunk. Now working on version 3.13.4.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10861028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Aug 2012 09:48:26 +0000 (09:48 +0000)]
Revert r12346 (Introduce InternalProperty type and expose internal properties for bound functions)
Original CL: https://chromiumcodereview.appspot.com/
10834376
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10834428
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 21 Aug 2012 09:46:23 +0000 (09:46 +0000)]
Revert r12258, r12300 and r12302 (global regexp).
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10825472
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 21 Aug 2012 07:06:21 +0000 (07:06 +0000)]
Fix mjsunit/debug-script.js failure that occurs when running with the --isolates flag.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10825454
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12347
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 20 Aug 2012 21:49:19 +0000 (21:49 +0000)]
Introduce InternalProperty type and expose internal properties for bound functions
Review URL: https://chromiumcodereview.appspot.com/
10834376
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12346
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 20 Aug 2012 14:44:26 +0000 (14:44 +0000)]
While allocating code objects, perform the incremental marking step before NULLing the new object. Otherwise the code cache cannot iterate the code space anymore, which is required to clear ICs.
Review URL: https://chromiumcodereview.appspot.com/
10834408
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Aug 2012 14:32:32 +0000 (14:32 +0000)]
Handle native callbacks without getters.
TEST=cctest/test-api/SetterOnly,cctest/test-api/NoAccessors
Review URL: https://chromiumcodereview.appspot.com/
10831388
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 20 Aug 2012 13:19:52 +0000 (13:19 +0000)]
Fix test failures introduced by r12342.
Add missing context disposed notifications in test-api.
Move send-idle-notification flag to d8 options so that it is available in d8
when v8 is build as a shared libarary.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10834405
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 20 Aug 2012 12:09:03 +0000 (12:09 +0000)]
Flush monomorphic ICs on context disposal instead of context exit.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10836189
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 20 Aug 2012 11:35:50 +0000 (11:35 +0000)]
Rename JSGlobalProxy::context to native_context,
for clarity and consistency with GlobalObject::native_context.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10861007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 20 Aug 2012 09:17:58 +0000 (09:17 +0000)]
Prepare push to trunk. Now working on version 3.13.3.
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10836334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 20 Aug 2012 07:32:30 +0000 (07:32 +0000)]
Fix typo in Add|RemoveGCPrologueCallback
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10836234
Patch from Yang Gu <yang.gu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 17 Aug 2012 15:21:15 +0000 (15:21 +0000)]
Add input check to %DebugSetScriptSource.
R=verwaest@chromium.org
BUG=v8:2296
Review URL: https://chromiumcodereview.appspot.com/
10837308
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 17 Aug 2012 12:59:00 +0000 (12:59 +0000)]
Rename Context::global to Context::global_object,
in preparation for global lexical scope.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10832365
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 17 Aug 2012 10:43:32 +0000 (10:43 +0000)]
Deoptimization support for accessors.
Highlights of this CL:
* Introduced a new opcode in the deoptimizer for a setter stub frame.
* Added a global setter stub for returning after deoptimizing a setter.
* We do not need special deopt support for getters, although the getter stub creates an internal frame. The normal machinery works just right for this case, although we generate a stack that can never occur during normal fullcode execution. If this hurts us one day, we can parameterize and reuse the setter deopt machinery.
Review URL: https://chromiumcodereview.appspot.com/
10855098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 17 Aug 2012 09:03:08 +0000 (09:03 +0000)]
Rename "global context" to "native context",
in anticipation of the upcoming lexical global scope.
Mostly automatised as:
for FILE in `egrep -ril "global[ _]?context" src test/cctest`
do
echo $FILE
sed "s/Global context/Native context/g" <$FILE >$FILE.0
sed "s/global context/native context/g" <$FILE.0 >$FILE.1
sed "s/global_context/native_context/g" <$FILE.1 >$FILE.2
sed "s/GLOBAL_CONTEXT/NATIVE_CONTEXT/g" <$FILE.2 >$FILE.3
sed "s/GlobalContext/NativeContext/g" <$FILE.3 >$FILE
rm $FILE.[0-9]
done
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10832342
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 16 Aug 2012 15:39:37 +0000 (15:39 +0000)]
Prepare push to trunk. Now working on version 3.13.2.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10836290
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 16 Aug 2012 14:25:55 +0000 (14:25 +0000)]
Show map -> transition array -> descriptor array to the heap profiler.
BUG=chromium:142625
Review URL: https://chromiumcodereview.appspot.com/
10830309
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 16 Aug 2012 11:54:48 +0000 (11:54 +0000)]
Force eager compilation of some function literals.
In case a function literal is followed by parenthesis, we consider this
a hint that it will be called immediately. If we happen to have parsed
that function literal eagerly, we can also compile it eagerly.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10828227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 16 Aug 2012 11:42:02 +0000 (11:42 +0000)]
MIPS: Swapped transition array and descriptor array.
Port r12298 (
7b39ef67)
Original commit message:
Now a map points to a transition array which contains the descriptor array. The descriptor array is now immutable. The next step is to share the descriptor array with all back-pointed maps as long as there is a single line of extension. Maps that require a descriptor array but don't need transitions will still need a pseudo-empty transition array to contain the descriptor array.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10827335
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 16 Aug 2012 11:40:03 +0000 (11:40 +0000)]
Change the maximum optimization count into a commandline flag.
This is needed for some unit tests, which otherwise do not test what people
think they do. ;-)
Review URL: https://chromiumcodereview.appspot.com/
10823362
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 16 Aug 2012 10:35:39 +0000 (10:35 +0000)]
Fix accessor lookup in crankshaft.
Seeing monomorphic type feedback plus an AccessorPair does not necessarily imply
that the corresponding getter/setter is really there, so we have to check for
this explictly.
TEST=mjsunit/object-define-property
Review URL: https://chromiumcodereview.appspot.com/
10825384
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 16 Aug 2012 09:46:04 +0000 (09:46 +0000)]
MIPS: Check for function in %_CallFunction.
Port r12299 (
f6372257)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10834317
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 16 Aug 2012 09:13:25 +0000 (09:13 +0000)]
Extend constructor inlining test case.
This makes sure that deoptimization really happens in each hydrogen
context by not using binary operations but loads instead. This is
needed because we cannot clear BinaryOpICs explicitly.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-construct
Review URL: https://chromiumcodereview.appspot.com/
10825382
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 16 Aug 2012 09:10:10 +0000 (09:10 +0000)]
MIPS: Fix improved LoadICs for dictionaries with callbacks.
Port r12311 (
f698ddd7)
Original commit message:
This fixes the positive lookup performed by these LoadICs, to use the
holder instead of the receiver to perfrom the lookup on. It also extends
this improvement to KeyedLoadICs. And it fixes a bug introduced for the
JavaScript getter case of a LoadIC.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10823326
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 15 Aug 2012 15:08:42 +0000 (15:08 +0000)]
Fix bug in compare IC. BUG=2291
Review URL: https://chromiumcodereview.appspot.com/
10830334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 15 Aug 2012 09:39:13 +0000 (09:39 +0000)]
Improved constructor inlining unit tests.
Currently we inline functions with different contexts only on ia32, so we have
to move the helper functions for the various contexts to the top level. Further
more, "new Object()" seems to prevent inlining, too, so we us a simple object
literal.
Although things get consistently inlined now, something strange seems to happen
in test/effect contexts: The DEOPT output seems to contain too few frames, and
we don't get any DEOPT ouput after the first time for those contexts. This has
to be investigated...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10836258
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 14 Aug 2012 13:17:47 +0000 (13:17 +0000)]
Fix improved LoadICs for dictionaries with callbacks.
This fixes the positive lookup performed by these LoadICs, to use the
holder instead of the receiver to perfrom the lookup on. It also extends
this improvement to KeyedLoadICs. And it fixes a bug introduced for the
JavaScript getter case of a LoadIC.
R=erik.corry@gmail.com
BUG=chromium:142088
TEST=cctest/test-api/Regress142088,cctest/test-api/Regress137002b
Review URL: https://chromiumcodereview.appspot.com/
10828303
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 14 Aug 2012 12:16:38 +0000 (12:16 +0000)]
Do checks when receiving external string resources through the API.
This is to find incorrect API usage.
R=ulan@chromium.org
BUG=140050
Review URL: https://chromiumcodereview.appspot.com/
10836236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 14 Aug 2012 11:33:12 +0000 (11:33 +0000)]
Ensure capacity when adding parts in String.replace.
R=ulan@chromium.org
BUG=v8:2289
TEST=regress-2289.js
Review URL: https://chromiumcodereview.appspot.com/
10830304
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 14 Aug 2012 10:06:34 +0000 (10:06 +0000)]
Prevent segfault on undefined inline runtime call.
R=mstarzinger@chromium.org
BUG=v8:2286
Review URL: https://chromiumcodereview.appspot.com/
10828282
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 14 Aug 2012 09:22:34 +0000 (09:22 +0000)]
Disable array index dehoisting due to stability issues.
Review URL: https://chromiumcodereview.appspot.com/
10834303
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 13 Aug 2012 15:53:40 +0000 (15:53 +0000)]
Fix indexing bug in regexp, part 2.
The previous fix initialized the start index incorrectly.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10834291
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 13 Aug 2012 15:34:49 +0000 (15:34 +0000)]
Remove prototype of global builtins object.
R=yangguo@chromium.org
BUG=v8:2284
TEST=mjsunit/regress/regress-2284
Review URL: https://chromiumcodereview.appspot.com/
10854116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 13 Aug 2012 15:26:46 +0000 (15:26 +0000)]
Fix wrong indexing in global regexp.
R=ulan@chromium.org
BUG=142087
Review URL: https://chromiumcodereview.appspot.com/
10824278
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 13 Aug 2012 12:11:26 +0000 (12:11 +0000)]
Check for function in %_CallFunction.
R=mstarzinger@chromium.org
BUG=v8:2285
Review URL: https://chromiumcodereview.appspot.com/
10854115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 13 Aug 2012 08:43:16 +0000 (08:43 +0000)]
Swapped transition array and descriptor array.
Now a map points to a transition array which contains the descriptor array. The descriptor array is now immutable. The next step is to share the descriptor array with all back-pointed maps as long as there is a single line of extension. Maps that require a descriptor array but don't need transitions will still need a pseudo-empty transition array to contain the descriptor array.
Review URL: https://chromiumcodereview.appspot.com/
10816005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 13 Aug 2012 08:32:17 +0000 (08:32 +0000)]
Fix array-iteration test case.
R=verwaest@chromium.org
BUG=v8:2282
Review URL: https://chromiumcodereview.appspot.com/
10827295
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 10 Aug 2012 14:41:52 +0000 (14:41 +0000)]
Prepare push to trunk. Now working on version 3.13.1.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10823270
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 10 Aug 2012 14:21:46 +0000 (14:21 +0000)]
Fix compile failure on Win64 introduced in r12291.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10855102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 10 Aug 2012 13:45:22 +0000 (13:45 +0000)]
Fix intermittent failure in ReleaseOverReservedPages on x64.
BUG=v8:2216
Review URL: https://chromiumcodereview.appspot.com/
10828253
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 10 Aug 2012 13:09:31 +0000 (13:09 +0000)]
Add histograms for total allocated/live heap size, as well as allocated size and percentage of total for map and cell
BUG=none
TEST=none
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10854043
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 10 Aug 2012 12:28:12 +0000 (12:28 +0000)]
MIPS: Improve load IC so it can call a native accessor even if the holder is in dictionary mode. Add a flag to all maps to indicate whether they are used for dictionary (normalized) objects or fast mode objects. This is a commit of https://chromiumcodereview.appspot.com/
10826213/ for palfia. This is a port of r12264, https://chromiumcodereview.appspot.com/
10831153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Aug 2012 12:26:33 +0000 (12:26 +0000)]
Allow multiple lines of custom flags in javascript tests.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10855099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 10 Aug 2012 12:26:21 +0000 (12:26 +0000)]
Revert inadvertent commit of testing change to flag-definitions.h
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 10 Aug 2012 12:24:06 +0000 (12:24 +0000)]
Fix the full compiler on ARM to always generate the same code
regardless of the detected CPU. This is a requirement for the
debugger and the deoptimizer, which both expect that code from
the snapshot (compiled without VFP and ARM7) should have the
same layout as code compiled later.
This is another change to make snapshots more robust with
arbitrary code.
Review URL: https://chromiumcodereview.appspot.com/
10824235
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 10 Aug 2012 09:05:42 +0000 (09:05 +0000)]
Inline simple setter calls.
Currently only simple setter calls are handled (i.e. no calls in count
operations or compound assignments), and deoptimization in the setter is not
handled at all. Because of the latter, we temporarily hide this feature behind
the --inline-accessors flag, just like inlining getters.
We now use an enum everywhere we depend on the handling of a return value,
passing around several boolean would be more confusing.
Made VisitReturnStatement and the final parts of TryInline more similar, so
matching them visually is a bit easier now.
Simplified the signature of AddLeaveInlined, the target of the HGoto can simply
be retrieved from the function state.
Review URL: https://chromiumcodereview.appspot.com/
10836133
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 9 Aug 2012 12:25:03 +0000 (12:25 +0000)]
Remove obsolete SLOT_ADDR macro usages.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10823254
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 9 Aug 2012 11:44:56 +0000 (11:44 +0000)]
Use the correct oracle in TestContext::BuildBranch.
When inlining is being done, it is crucial to use the correct type feedback
oracle with a given type feedback ID. To ensure this, TestContext now carries an
oracle which is associated with the context's condition, and these are both used
together in TestContext::BuildBranch.
Note that in VisitReturnStatement and TryInline we are currently lucky that the
oracles don't go out of sync in an observable way, but this will change when we
inline setters. Therefore, there is no separate test case...
Review URL: https://chromiumcodereview.appspot.com/
10834247
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 9 Aug 2012 08:41:56 +0000 (08:41 +0000)]
MIPS: Improve constant element index access code generation
Port r12232 (
588ccf83)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10825263
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 9 Aug 2012 08:28:52 +0000 (08:28 +0000)]
MIPS: Refactor Math.min/max to be a single HInstruction.
Port r12265 (
7501dd73)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10854053
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 8 Aug 2012 14:57:10 +0000 (14:57 +0000)]
tools/push-to-trunk.sh: Add a check whether grepping for the just-committed SVN revision number succeeded.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10828210
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 8 Aug 2012 09:46:45 +0000 (09:46 +0000)]
Fix Win64 compile error caused by r12272.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10830213
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 8 Aug 2012 09:19:55 +0000 (09:19 +0000)]
Temporary skip failure on simulators due to r12270.
R=ulan@chromium.org
TEST=test262/S13.2.1_A1_T1
Review URL: https://chromiumcodereview.appspot.com/
10825243
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 8 Aug 2012 08:44:29 +0000 (08:44 +0000)]
Fix mozilla test expectations.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10837162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 8 Aug 2012 07:44:17 +0000 (07:44 +0000)]
Fix parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
R=svenpanne@chromium.org
BUG=v8:1645
TEST=test262, parse-int-float.js
Review URL: https://chromiumcodereview.appspot.com/
10836151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 8 Aug 2012 07:37:07 +0000 (07:37 +0000)]
Add heap space sizes and external memory counter to V8 statistics extension.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10823202
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 7 Aug 2012 14:48:19 +0000 (14:48 +0000)]
Add checks for interceptors to negative lookup code in Crankshaft.
BUG=140473
Review URL: https://chromiumcodereview.appspot.com/
10837141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 7 Aug 2012 14:47:36 +0000 (14:47 +0000)]
Force eager compilation of parenthesized functions.
This makes the compiler use eager compilation for function literals that
are parenthesized. We consider this to be a hint that the function will
be called immediatly and hence try to avoid parsing it twice. The parser
already respects this heuristic.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10836132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 7 Aug 2012 14:17:35 +0000 (14:17 +0000)]
Add flag to trace the amount of external memory.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10824196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 7 Aug 2012 14:06:25 +0000 (14:06 +0000)]
Unify handling of bailout IDs for property loads.
Renamed Property::ReturnId to Property::LoadId, which describes its use more
accurately. Compound assignments and CountOperations now consistently use
Property::LoadId() instead of their own CompoundLoadId/CountId.
Review URL: https://chromiumcodereview.appspot.com/
10832157
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 7 Aug 2012 08:19:11 +0000 (08:19 +0000)]
Adjust GC tracing: add a flag to ignore scavenger traces and print total GC time in verbose mode.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10536147
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 6 Aug 2012 14:28:27 +0000 (14:28 +0000)]
Refactor Math.min/max to be a single HInstruction.
That allows us to dynamically compute representations and insert appropriate HChange instructions.
Review URL: https://chromiumcodereview.appspot.com/
10829169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 6 Aug 2012 14:25:19 +0000 (14:25 +0000)]
Improve load IC so it can call a native accessor even if the holder is
in dictionary mode. Add a flag to all maps to indicate whether they are
used for dictionary (normalized) objects or fast mode objects.
Review URL: https://chromiumcodereview.appspot.com/
10831153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 6 Aug 2012 14:13:09 +0000 (14:13 +0000)]
Introduced TypeFeedbackId and BailoutId types.
This is a refactoring-only CL which improves the typing of IDs associated with
AST nodes. The interesting parts are in utils.h and ast.h, the rest of the CL
basically follows mechanically.
Review URL: https://chromiumcodereview.appspot.com/
10831172
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 6 Aug 2012 13:49:13 +0000 (13:49 +0000)]
Make AdjustAmountOfExternalAllocatedMemory() more robust.
Do not crash if called from a thread without V8 isolate, reset the external
memory counters in case of overflow, bump the external allocation limit.
This will allow us to track typed array allocation and deallocation in WebKit.
BUG=v8:2022,122097,42342
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10837122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 6 Aug 2012 13:23:52 +0000 (13:23 +0000)]
Fix integer division truncation error.
Review URL: https://chromiumcodereview.appspot.com/
10831148
Patch from Nico Weber <thakis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 6 Aug 2012 11:04:40 +0000 (11:04 +0000)]
Factor out SimulateIncrementalMarking in test-heap.
R=ulan@chromium.org
TEST=cctest/test-heap
Review URL: https://chromiumcodereview.appspot.com/
10824178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 6 Aug 2012 10:35:48 +0000 (10:35 +0000)]
Make incremental marking clear ICs.
This extends the existing clearing of ICs during GC to incremental
marking in order to prevent cross-context retention that would last
until the next non-incremental GC.
R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClears[Mono,Poly]morhpicIC
Review URL: https://chromiumcodereview.appspot.com/
10831123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 6 Aug 2012 09:06:27 +0000 (09:06 +0000)]
Take advantage of batched results when matching global regexp.
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/
10831126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 6 Aug 2012 07:55:05 +0000 (07:55 +0000)]
Allow SetHiddenValue to accept empty value.
R=mstarzinger@chromium.org
BUG=v8:2274
Review URL: https://chromiumcodereview.appspot.com/
10825196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 3 Aug 2012 14:03:30 +0000 (14:03 +0000)]
Fix crash bug when calling getV8Statistics().
BUG=v8:2270
Review URL: https://chromiumcodereview.appspot.com/
10830160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 3 Aug 2012 09:45:08 +0000 (09:45 +0000)]
Fixed compound/count operations with getter-only accessor properties.
The underlying problem is that for compound/count operations we use the *load*
type feedback for storing, too. For normal properties this doesn't matter, but
for accessor properties we should better use the *store* type feedback, which
would be available, too. This consistent feedback usage could be guaranteed if
we removed the heavy copy-n-paste in the crankshaft code generation for
compound/count operations and assignments/property loads.
To be on the safe side, we postpone this refactoring and do a quick and easily
mergeable fix.
BUG=140083
TEST=mjsunit/regress/regress-crbug-140083.js
Review URL: https://chromiumcodereview.appspot.com/
10828146
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 2 Aug 2012 14:20:38 +0000 (14:20 +0000)]
Make test-heap resilient against --stress-compaction.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10843052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 2 Aug 2012 10:03:21 +0000 (10:03 +0000)]
android: refine custom ucontext_t definitions.
This is a forward-compatible change to avoid type/naming
conflicts when the Android platform/NDK will update its
<signal.h> header to properly define 'struct sigcontext',
'mcontext_t' and 'ucontext_t'.
In particular:
- Do not define 'struct sigcontext.h' to avoid
conflicts with the C library definition (which
is different, see below).
- Only provide custom ucontext_t declarations if
the Android <signal.h> doesn't provide it. This can
be tested with a macro check (__BIONIC_HAVE_UCONTEXT_T)
+ Use 'gettid()' on Android since it is available (at all
API levels).
See http://code.google.com/p/android/issues/detail?id=34784
Review URL: https://chromiumcodereview.appspot.com/
10829122
Patch from David Turner <digit@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00