verwaest@chromium.org
2b91f23b58
MIPS: Use a special EnumLength field to indicate number of valid enum cache values.
...
Port r12400 (03ae62de)
Original commit message:
This is preparatory work for sharing Enum Caches.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10914025
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-31 09:50:27 +00:00
yangguo@chromium.org
5dd51bafef
Cache results in SearchRegExpMultiple.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10837290
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-31 09:28:01 +00:00
rossberg@chromium.org
40f44b1d4f
Activate fixed ES5 readonly semantics by default.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10912042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-31 09:12:31 +00:00
verwaest@chromium.org
a4f7ebe5a0
Removed trailing whitespace.
...
Review URL: https://chromiumcodereview.appspot.com/10916020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-30 18:10:09 +00:00
verwaest@chromium.org
90db487390
Elements load depends on the type of the receiver.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10918005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-30 17:31:32 +00:00
jkummerow@chromium.org
6e1b979e4f
Add hardfp flag to the Makefile.
...
This flag passes -Dv8_use_arm_eabi_hardfloat=true to gyp.
This is needed for Linux distros that are experimenting
with hardfp.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10889026
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-30 16:43:58 +00:00
svenpanne@chromium.org
c3df19e692
Fixed comment and simplified the related code a bit.
...
TBR=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/10911003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-30 06:45:45 +00:00
loislo@chromium.org
5cd4e83bbc
Remove obsolete method declarations from HeapEntry class.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10892033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 16:12:23 +00:00
yangguo@chromium.org
5087f3ac48
Prepare push to trunk. Now working on version 3.13.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10899032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 15:29:41 +00:00
yangguo@chromium.org
4e2027bbc2
Revert r12379 (Add checks to external string API).
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10897027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 15:23:48 +00:00
rossberg@chromium.org
3d35ecf3b8
Slightly simplify declaration of node types.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10886010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 09:33:14 +00:00
rossberg@chromium.org
a6e45ce7b8
Introduce some predicates over variable modes.
...
These should be handy when we add more declaration forms for Harmony.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10897010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 09:19:53 +00:00
yangguo@chromium.org
5419ee7ba0
Release stack trace data after firing Error.stack accessor.
...
BUG=v8:2308
Review URL: https://chromiumcodereview.appspot.com/10886012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 07:51:48 +00:00
svenpanne@chromium.org
de3c3c0198
Added IC support for native setters on the prototype chain.
...
Review URL: https://chromiumcodereview.appspot.com/10873057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-29 06:12:46 +00:00
jkummerow@chromium.org
f9d4856289
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.
...
BUG=None
TEST=Included in CL.
Committed: https://code.google.com/p/v8/source/detail?r=12389
Review URL: https://chromiumcodereview.appspot.com/10795074
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 14:43:28 +00:00
verwaest@chromium.org
78037d0a4e
Use a special EnumLength field to indicate number of valid enum cache values.
...
This is preparatory work for sharing Enum Caches.
Review URL: https://chromiumcodereview.appspot.com/10824079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 14:20:50 +00:00
rossberg@chromium.org
b0067e9cd5
Disable test that triggers known bug.
...
R=verwaest@chromium.org
BUG=v8:2261
Review URL: https://chromiumcodereview.appspot.com/10896005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 14:17:55 +00:00
rossberg@chromium.org
ccc827a6f8
Allocate block-scoped global bindings to global context.
...
- The global object has a reference to the current global scope chain.
Running a script adds to the chain if it contains global lexical declarations.
- Scripts are executed relative to a global, not a native context.
- Harmony let and const bindings are allocated to the innermost global context;
var and function still live on the global object.
(Lexical bindings are not reflected on the global object at all,
but that will probably change later using accessors, as for modules.)
- Compilation of scripts now needs a (global) context (previously only eval did).
- The global scope chain represents one logical scope, so collision tests take
the chain into account.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10872084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 11:25:08 +00:00
rossberg@chromium.org
1dbf670713
Index script compilation cache over context, too,
...
in preparation for global lexical scope.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10878007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 10:49:23 +00:00
yangguo@chromium.org
7cbca775ee
Reland regexp global optimizations.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/10872010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 09:37:41 +00:00
yangguo@chromium.org
ee6ec7e24e
Prepare push to trunk. Now working on version 3.13.5.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10895004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 09:03:07 +00:00
yangguo@chromium.org
d3dca2adb0
Disable array bounds checks elimination.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/10895002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 07:39:45 +00:00
svenpanne@chromium.org
f6f4798189
Print reason for disabling optimization. Kill --trace-bailout flag.
...
The reason for disabling optimization of a given function is carried around in
CompilationInfo. The new mechanism is general enough that --trace-opt now
subsumes everything --trace-bailout could print, so we nuked the latter flag.
Review URL: https://chromiumcodereview.appspot.com/10868106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-28 07:18:06 +00:00
verwaest@chromium.org
a713f82aa6
Revert "Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers."
...
This reverts commit r12389.
TBR=jkummerow@chromium.org , CC=siggi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10870108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 19:47:02 +00:00
jkummerow@chromium.org
0a6493b5a8
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.
...
BUG=None
TEST=Included in CL.
Review URL: https://chromiumcodereview.appspot.com/10795074
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 18:03:38 +00:00
ulan@chromium.org
7b1d13affc
Revert r12342 "Flush monomorphic ICs on context disposal instead of context exit." because of canary channel crashes.
...
BUG=144230
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10868068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 16:08:27 +00:00
ulan@chromium.org
fcc1791a82
Provide option to disable full DEBUG build on Android.
...
V8 full DEBUG is too slow on Android. Disable it when android_full_debug==0.
R=ulan
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10874062
Patch from Xianzhu Wang <wangxianzhu@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-08-27 15:25:15 +00:00
ulan@chromium.org
b588b0949f
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
2012-08-27 15:17:14 +00:00
verwaest@chromium.org
efb53e1499
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
2012-08-27 13:47:34 +00:00
rossberg@chromium.org
cd585f26ab
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
2012-08-27 09:40:26 +00:00
svenpanne@chromium.org
27c9ef9f79
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
2012-08-27 09:39:05 +00:00
svenpanne@chromium.org
a30eab48cf
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
2012-08-27 09:05:07 +00:00
yurys@chromium.org
f2c0e06e64
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
2012-08-27 08:49:00 +00:00
ulan@chromium.org
2aad64d902
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
2012-08-27 07:29:36 +00:00
yangguo@chromium.org
89cd0677dc
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
2012-08-24 13:01:52 +00:00
verwaest@chromium.org
5b2282c691
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
2012-08-24 09:06:23 +00:00
danno@chromium.org
3544e2e875
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
2012-08-23 21:08:58 +00:00
rossberg@chromium.org
6d579f430e
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
2012-08-23 16:38:15 +00:00
vegorov@chromium.org
106a83252d
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
2012-08-23 16:14:01 +00:00
ulan@chromium.org
6095c38fa3
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
2012-08-23 16:11:37 +00:00
erikcorry
c6094f5237
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
2012-08-23 11:15:06 +00:00
erik.corry@gmail.com
44c3b03a29
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
2012-08-23 08:15:38 +00:00
vegorov@chromium.org
96f55352fc
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
2012-08-22 19:00:02 +00:00
vegorov@chromium.org
8ae899584f
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
2012-08-22 15:58:16 +00:00
vegorov@chromium.org
f476d4d431
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
2012-08-22 15:44:17 +00:00
verwaest@chromium.org
fcaab50e05
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
2012-08-22 15:08:48 +00:00
ulan@chromium.org
05e407b083
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
2012-08-22 14:45:25 +00:00
ulan@chromium.org
efc26f9b2b
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
2012-08-22 14:27:11 +00:00
svenpanne@chromium.org
0adda1c82e
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
2012-08-22 07:02:19 +00:00
verwaest@chromium.org
5df5eea066
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
2012-08-21 16:46:25 +00:00