palfia@homejinni.com [Fri, 8 Mar 2013 00:54:19 +0000 (00:54 +0000)]
MIPS: Cleaned up CpuFeature scope handling.
Port r13823 (
cb37ab63)
BUG=
Review URL: https://codereview.chromium.org/
12424004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:52:37 +0000 (00:52 +0000)]
MIPS: Make IC patching resilient to flushing of the original target() ic.
Port r13831 (
52d6fd70)
BUG=
Review URL: https://codereview.chromium.org/
12559003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:49:28 +0000 (00:49 +0000)]
MIPS: ES6 symbols: Allow symbols as property names
Port r13811 (
0e64f280)
Original commit message:
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).
Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.
(Baseline CL: https://codereview.chromium.org/
12296026/)
BUG=
Review URL: https://codereview.chromium.org/
12561003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:46:45 +0000 (00:46 +0000)]
MIPS: Polymorphism support for load IC.
Port r13801 (
6de52924)
BUG=
Review URL: https://codereview.chromium.org/
12560004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:44:52 +0000 (00:44 +0000)]
MIPS: Fixed ASSERT in commit r13807.
BUG=
Review URL: https://codereview.chromium.org/
12506006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 8 Mar 2013 00:42:59 +0000 (00:42 +0000)]
MIPS: ES6 symbols: Implement Symbol intrinsic and basic functionality
Port r13786 (
b5e7a82a)
Original commit message:
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.
Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).
(Baseline CL: https://codereview.chromium.org/
12223071/)
BUG=
Review URL: https://codereview.chromium.org/
12447009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 7 Mar 2013 16:59:18 +0000 (16:59 +0000)]
Reintroduce lost space in r13867.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
12449004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 7 Mar 2013 16:22:19 +0000 (16:22 +0000)]
Avoid bool to Oddball conversions by being lazy.
R=svenpanne@chromium.org
BUG=v8:2491
Review URL: https://chromiumcodereview.appspot.com/
12459011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 7 Mar 2013 16:19:51 +0000 (16:19 +0000)]
log: add %p option to --logfile, expands to pid
Review URL: https://chromiumcodereview.appspot.com/
12093008
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 7 Mar 2013 15:46:14 +0000 (15:46 +0000)]
Harden Function()'s parsing of function literals.
R=rossberg@chromium.org
BUG=v8:2470
TEST=mjsunit/regress/regress-2470
Review URL: https://codereview.chromium.org/
12613007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13867
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 7 Mar 2013 15:43:47 +0000 (15:43 +0000)]
ES6 symbols: refine test for getOwnPropertyNames
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
12432005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13866
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 7 Mar 2013 15:13:03 +0000 (15:13 +0000)]
Prepare push to trunk. Now working on version 3.17.9.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12457014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13863
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 7 Mar 2013 14:50:26 +0000 (14:50 +0000)]
Revert "Enable deprecations again." because of Chrome compile error.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12493008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13862
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 14:01:42 +0000 (14:01 +0000)]
fix uninitialized variable
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12566004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 7 Mar 2013 14:00:53 +0000 (14:00 +0000)]
Added pretenuring of array literals test.
BUG=
Review URL: https://codereview.chromium.org/
12607003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 13:31:52 +0000 (13:31 +0000)]
fix more windows warnings
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12425012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 12:58:44 +0000 (12:58 +0000)]
fix windows build
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12611004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13858
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 12:09:27 +0000 (12:09 +0000)]
Build fix for deprecated api use
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12610002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13857
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 7 Mar 2013 11:42:58 +0000 (11:42 +0000)]
Runtime version of declarative native accessors.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12297012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 7 Mar 2013 11:30:36 +0000 (11:30 +0000)]
Enable deprecations again.
Review URL: https://codereview.chromium.org/
12590003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Mar 2013 11:12:26 +0000 (11:12 +0000)]
Add missing license headers.
BUG=chromium:98597
Review URL: https://codereview.chromium.org/
12486003
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 7 Mar 2013 09:58:27 +0000 (09:58 +0000)]
Insert missing type cast in JSON.stringify.
R=dcarney@chromium.org
BUG=v8:2570
Review URL: https://chromiumcodereview.appspot.com/
12599003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 7 Mar 2013 09:27:49 +0000 (09:27 +0000)]
Integrate concurrent sweeping with incremental marking.
BUG=
Review URL: https://codereview.chromium.org/
12527011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 7 Mar 2013 09:12:48 +0000 (09:12 +0000)]
Revert "Send SIGPROF signals on the profiler event processor thread"
This reverts commit r13735 as CPU profiler data is inaccurate after that change.
BUG=v8:2571
Review URL: https://codereview.chromium.org/
12592002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 6 Mar 2013 21:51:07 +0000 (21:51 +0000)]
Unify grow mode and stub kind
In the process, ensure that transition-causing element stores handle all cases of the transitioned receiver map.
Review URL: https://codereview.chromium.org/
12390031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 6 Mar 2013 18:55:50 +0000 (18:55 +0000)]
MIPS: Fixed faulty branch condition handling for doubles.
This commit also includes BranchF refactoring in macro-assembler.
TEST=mozilla/ecma/TypeConversion/9.2.js
BUG=
Review URL: https://codereview.chromium.org/
12505004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 6 Mar 2013 18:54:13 +0000 (18:54 +0000)]
MIPS: Fix code size assertions for branch delay slots.
TEST=mozilla/ecma_3/Date/15.9.4.3.js
BUG=
Review URL: https://codereview.chromium.org/
12447010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Mar 2013 18:19:35 +0000 (18:19 +0000)]
Fix Array.length, String.length and Function.prototype LoadICs on x64.
R=jkummerow@chromium.org
BUG=v8:2568
Review URL: https://chromiumcodereview.appspot.com/
12545004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 6 Mar 2013 17:13:48 +0000 (17:13 +0000)]
Fix linebreak in grokdump
Review URL: https://chromiumcodereview.appspot.com/
12433006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 6 Mar 2013 17:06:48 +0000 (17:06 +0000)]
Extend grokdump with support for maps, transition and descriptor arrays.
Review URL: https://chromiumcodereview.appspot.com/
12389077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 16:15:01 +0000 (16:15 +0000)]
Make sure that on x86 we don't generate SSE2 code in the snapshot.
BUG=
Review URL: https://codereview.chromium.org/
12391033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13844
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Mar 2013 16:12:24 +0000 (16:12 +0000)]
Unify deoptimizer for construct stub frames.
This unifies the translation of artificial construct stub frames. The
frame layout is almost the same on all architectures and only differs
in the presence of a slot holding the constructor function.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12379042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 6 Mar 2013 15:39:57 +0000 (15:39 +0000)]
Added back some utf8 optimizations
R=yangguo@chromium.org
BUG=https://code.google.com/p/v8/issues/detail?id=2551
Review URL: https://codereview.chromium.org/
12390057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 15:11:27 +0000 (15:11 +0000)]
Arm fix: incorrect register used in CompareObjectType
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12532002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 6 Mar 2013 14:55:59 +0000 (14:55 +0000)]
Print dependent code in MapPrint.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12538002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 14:10:02 +0000 (14:10 +0000)]
Better hydrogen printing for the allocate instruction
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12391057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 6 Mar 2013 13:55:21 +0000 (13:55 +0000)]
ES6 symbols: filter symbols form for-in loops and Object.keys
R=verwaest@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
12455002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 12:25:42 +0000 (12:25 +0000)]
MIPS: A debug code assert needed to be behind the new optimize_constructed_arrays flag.
Port r13791 (
fe11ffe7)
BUG=
Review URL: https://codereview.chromium.org/
12512002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 6 Mar 2013 12:23:09 +0000 (12:23 +0000)]
MIPS: Allocation Info Tracking, continued.
Port r13790 (
0a70a3af)
Original commit message:
Addresses missing cases for array literals.
Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new.
BUG=
Review URL: https://codereview.chromium.org/
12507006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 6 Mar 2013 10:49:34 +0000 (10:49 +0000)]
Track Hydrogen statistics on a per-Isolate basis
This is basically the same fix as the one for --trace-hydrogen, but now for
--hydrogen-stats. Removed a few train wrecks on the way.
Review URL: https://codereview.chromium.org/
12481015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 6 Mar 2013 07:25:46 +0000 (07:25 +0000)]
Separate output files for --trace-hydrogen.
The output filenames have now the form "hydrogen-<ProcessId>-<IsolateId>.cfg".
Minor cleanup on the way.
Note that we have a similar bug regarding statistics, but this will be handled
in a separate CL.
BUG=v8:2563
Review URL: https://codereview.chromium.org/
12450003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Tue, 5 Mar 2013 19:35:59 +0000 (19:35 +0000)]
Split and replace the EmitVFPTruncate routine to only do what is needed. Floor
and Round have been rewritten to use the default rounding mode.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
12393008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 5 Mar 2013 17:51:49 +0000 (17:51 +0000)]
Presweep one page before parallel/concurrent sweeping.
BUG=
Review URL: https://codereview.chromium.org/
12444003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 5 Mar 2013 17:38:35 +0000 (17:38 +0000)]
Make IC patching resilient to flushing of the original target() ic.
Review URL: https://chromiumcodereview.appspot.com/
12451003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 5 Mar 2013 17:32:02 +0000 (17:32 +0000)]
Wait for sweeper threads in EnsureSweeperProgress() only if the main thread finished its sweeping phase.
BUG=
Review URL: https://codereview.chromium.org/
12462002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13830
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 5 Mar 2013 17:24:08 +0000 (17:24 +0000)]
ES6 symbols: enable symbols as weak map keys
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12456004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 5 Mar 2013 16:31:11 +0000 (16:31 +0000)]
Properly handle misses for StoreArrayLengthStub on ia32 and x64
Both failed to generate a miss if the key wasn't "length".
ARM and MIPS were already correct.
BUG=v8:2566
Review URL: https://codereview.chromium.org/
12378085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 5 Mar 2013 16:22:08 +0000 (16:22 +0000)]
Details wrt parallel recompilation.
This includes:
- actually release handles kept by compilation info when compilation completes.
- do not use parallel recompilation on single core CPUs.
- artificially delay parallel recompilation for debugging.
- fix outdated assertions wrt optimization status.
- add "parallel" option to %OptimizeFunctionOnNextCall.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12442002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Mar 2013 16:08:11 +0000 (16:08 +0000)]
Remove obsolete CodeFlusher debug code.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
12456002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Mar 2013 14:11:56 +0000 (14:11 +0000)]
Print whether a HCheckPrototypeMaps is omitted.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12425005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Mar 2013 13:54:03 +0000 (13:54 +0000)]
fix x32 handling of Atomic64
The x32 logic for the size of Atomic64 handles NaCL, but misses
the Linux case. Check the standard __ILP32__ to handle that too.
This has been fixed in the Chromium base tree already:
https://codereview.chromium.org/
12186005/
BUG=chromium-os:36866
TEST=compiled the code for x86_64 (64bit) & x86_64 (x32)
Review URL: https://codereview.chromium.org/
12374065
Patch from Mike Frysinger <vapier@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Mar 2013 10:48:16 +0000 (10:48 +0000)]
Cleaned up CpuFeature scope handling.
First of all, it has nothing to do with Isolates, it is related to the assembler
at hand. Furthermore, the saving/restoring is platform-independent. Cleaned up
some platform-specific stuff on the way.
Note that there are some things which still need some cleanup, like e.g. using
EnumSet instead of uint64_t, making Probe() more uniform across platforms etc.,
but the CL is already big enough.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12391055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13823
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 5 Mar 2013 09:49:54 +0000 (09:49 +0000)]
Linux: for use_system_v8=1, use all_dependent_settings
instead of direct_dependent_settings - with V8 headers
being included in other headers, the former works much better.
This is a configuration that is not used for Google Chrome
neither V8 buildbot, and has been tested for its intended
use case (Linux distributions).
BUG=none
Review URL: https://codereview.chromium.org/
12378092
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 5 Mar 2013 09:28:48 +0000 (09:28 +0000)]
Remove "library" variable from standalone.gypi.
BUG=111541
R=jkummerow@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://codereview.chromium.org/
12379082
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 5 Mar 2013 09:14:28 +0000 (09:14 +0000)]
Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations
BUG=v8:2556
Review URL: https://codereview.chromium.org/
12321165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13820
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 5 Mar 2013 08:47:59 +0000 (08:47 +0000)]
Improve integer division on ARM in favor of power of 2 constant divisor
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
12052032
Patch from Rajeev R Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13819
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 4 Mar 2013 18:24:37 +0000 (18:24 +0000)]
Enable zapping of disposed global handles in release mode.
R=hpayer@chromium.org
BUG=chromium:176056
Review URL: https://codereview.chromium.org/
12388080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 4 Mar 2013 17:53:40 +0000 (17:53 +0000)]
Add workaround for redefinition of __proto__ property.
This is a temporary workaround when the __proto__ property is being
redefined (e.g. by Object.freeze()) to not loose the foreign callback.
Once the __proto__ property is a real JavaScript accessor this hack is
no longer necessary. This change also makes __proto__ configurable.
R=rossberg@chromium.org
BUG=v8:2565
TEST=mjsunit/regress/regress-2565
Review URL: https://codereview.chromium.org/
12398010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 4 Mar 2013 16:12:26 +0000 (16:12 +0000)]
Also fix cast warnings on Win64
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12398011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 4 Mar 2013 16:05:12 +0000 (16:05 +0000)]
Make sure builtin functions don't rely on __proto__.
This makes sure that none of the builtin functions rely on the __proto__
accessor which can now be monkey-patched by applications. Instead use a
separate %SetPrototype() intrinsic or object literals to do the job.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
12385082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 4 Mar 2013 15:47:59 +0000 (15:47 +0000)]
Fix assert in PagedSpace::SizeOfObject for concurrent sweeping.
BUG=
Review URL: https://codereview.chromium.org/
12378071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 4 Mar 2013 15:25:33 +0000 (15:25 +0000)]
Fix one more cast warning on Win32
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12398009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 4 Mar 2013 15:15:37 +0000 (15:15 +0000)]
Fix cast warnings on Win32
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12374087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 4 Mar 2013 15:00:57 +0000 (15:00 +0000)]
ES6 symbols: Allow symbols as property names
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler).
Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h.
(Baseline CL: https://codereview.chromium.org/
12296026/)
R=verwaest@chromium.org,mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
12330012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 4 Mar 2013 14:56:20 +0000 (14:56 +0000)]
Wait for sweeper threads and finalize sweeping only if parallel/concurrent sweeping was in progress.
BUG=
Review URL: https://codereview.chromium.org/
12386084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 4 Mar 2013 14:45:39 +0000 (14:45 +0000)]
MIPS: Renamed "symbols" to "internalized strings" throughout the code base, in preparation of the introduction of ES6 'symbols' (aka private/unique names).
Port r13781 (
59f39a06)
Original commit message:
The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders.
The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently).
BUG=
Review URL: https://codereview.chromium.org/
12374074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 4 Mar 2013 14:44:23 +0000 (14:44 +0000)]
Prepare push to trunk. Now working on version 3.17.8.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12395012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 4 Mar 2013 14:41:39 +0000 (14:41 +0000)]
MIPS: Minor cleanup of CompareIC state
Port r13775 (
1fd19d83)
Original commit message:
Allow transitioning from KNOWN_OBJECT to KNONW_OBJECT or OBJECT.
Also, rename HEAP_NUMBER IC states to NUMBER, since they handle Smis, too.
BUG=
Review URL: https://codereview.chromium.org/
12387076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 4 Mar 2013 14:29:40 +0000 (14:29 +0000)]
MIPS: Currently this mostly just moves code around.
Port r13768 (
4996bcd0)
Original commit message:
- Later the different parts will become individual code objects that tailcall into one another.
- The mapcheck/symbol check still needs to be separated from the overall prototype-chain check so that the ICs can reuse the handlers.
BUG=
Review URL: https://codereview.chromium.org/
12378061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13804
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 4 Mar 2013 14:26:30 +0000 (14:26 +0000)]
MIPS: Fix materialization of arguments objects with unknown values.
Port r13763 (
6b32e7d6)
Original commit message:
This fixes the deoptimizer to materialize arguments objects of correct
length even in cases where the actual argument values are unknown and
were optimized away by Crankshaft. This can happen if only the length
property or the identity of an arguments object is used.
BUG=
Review URL: https://codereview.chromium.org/
12383076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 4 Mar 2013 14:23:30 +0000 (14:23 +0000)]
MIPS: Compile FastCloneShallowObjectStub using Crankshaft.
Port r13732 (
686b0a45)
Original commit message:
This changes FastCloneShallowObjectStub to be compiled independent of
the target architecture. It also adds tracing to the deoptimizer for
compiled stubs and contains some minor bugfixes.
BUG=
Review URL: https://codereview.chromium.org/
12389070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 4 Mar 2013 14:03:27 +0000 (14:03 +0000)]
Polymorphism support for load IC.
Review URL: https://chromiumcodereview.appspot.com/
12340112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 4 Mar 2013 13:15:16 +0000 (13:15 +0000)]
MIPS: Refactor RegExpStub to check lazily.
Port r13727 (
55a760ec)
BUG=
Review URL: https://codereview.chromium.org/
12374073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13798
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 4 Mar 2013 12:34:49 +0000 (12:34 +0000)]
Bugfix: allow handle dereference only when we have a valid hydrogen graph or lithium chunk.
BUG=
Review URL: https://codereview.chromium.org/
12389075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13793
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 4 Mar 2013 08:44:42 +0000 (08:44 +0000)]
Tweak register allocation for Math.round and do not use roundsd.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12374046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13792
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 1 Mar 2013 16:59:53 +0000 (16:59 +0000)]
A debug code assert needed to be behind the new optimize_constructed_arrays flag.
BUG=
Review URL: https://codereview.chromium.org/
12385050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13791
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 1 Mar 2013 16:06:34 +0000 (16:06 +0000)]
Allocation Info Tracking, continued.
Addresses missing cases for array literals.
Adds support for "new Array()" call sites. This isn't complete yet, I have to run with --noinline_new.
BUG=
Review URL: https://codereview.chromium.org/
11818021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 1 Mar 2013 15:50:57 +0000 (15:50 +0000)]
Handle dereferencing needs to be allowed for printing during optimization phase.
BUG=
Review URL: https://codereview.chromium.org/
12391031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13789
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 1 Mar 2013 14:50:14 +0000 (14:50 +0000)]
Limit EatAtLeast recursion by a budget.
BUG=178790
Review URL: https://chromiumcodereview.appspot.com/
12380026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Mar 2013 14:31:01 +0000 (14:31 +0000)]
Fix cast warning on Win32
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12385046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Mar 2013 13:28:55 +0000 (13:28 +0000)]
ES6 symbols: Implement Symbol intrinsic and basic functionality
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.
Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).
(Baseline CL: https://codereview.chromium.org/
12223071/)
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
12296026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 1 Mar 2013 12:46:20 +0000 (12:46 +0000)]
Fix Win64 compilation problem.
BUG=
Review URL: https://codereview.chromium.org/
12379043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13785
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 1 Mar 2013 12:23:24 +0000 (12:23 +0000)]
Unify deoptimizer for accessor and arguments frames.
This unifies the translation of artificial accessor stub and arguments
adaptor frames. The frame layout is the same on all architectures and
the computation code can be shared.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12374044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Mar 2013 10:34:31 +0000 (10:34 +0000)]
ES6 symbols: Introduce Symbol class, along with abstract Name class
The new instance type 'Symbol' represents ES6 symbols (a.k.a. private/unique names). Currently, symbols are simple data objects that only carry a hash code, random-generated upon allocation.
The new type 'Name' now serves as the common super class for strings and symbols, and is supposed to represent property names. We will eventually migrate APIs from String to Name for the standard key type.
Strings and symbols share the same hash field representation, via the Name class. This way, we should be able to use the same code paths for symbols and internalized strings in most cases. Also, Symbol's instance type code is allocated adjacent to internalized string codes in the enum, allowing a simple range check for the common case.
Baseline CL: https://codereview.chromium.org/
12210083/
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12223071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Feb 2013 17:40:24 +0000 (17:40 +0000)]
Simplify line editor choice in d8.
R=rossberg@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12330171
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 28 Feb 2013 17:03:34 +0000 (17:03 +0000)]
Renamed "symbols" to "internalized strings" throughout the code base,
in preparation of the introduction of ES6 'symbols' (aka private/unique names).
The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders.
The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently).
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12210083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 28 Feb 2013 15:53:29 +0000 (15:53 +0000)]
Prepare push to trunk. Now working on version 3.17.7.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
12386022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 28 Feb 2013 15:18:15 +0000 (15:18 +0000)]
Turn off parallel and concurrent sweeping on system with just one processor/core.
BUG=
Review URL: https://codereview.chromium.org/
12380020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 28 Feb 2013 15:07:28 +0000 (15:07 +0000)]
Set unswept free bytes for concurent sweeper.
BUG=
Review URL: https://codereview.chromium.org/
12184016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 28 Feb 2013 14:43:57 +0000 (14:43 +0000)]
Minor cleanup of CompareIC state
Allow transitioning from KNOWN_OBJECT to KNONW_OBJECT or OBJECT.
Also, rename HEAP_NUMBER IC states to NUMBER, since they handle Smis, too.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12254036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Feb 2013 11:24:18 +0000 (11:24 +0000)]
Revert "Reapply optimization of DeoptimizeIf for ia32." (r13767)
This optimization turns out to have a negative effect on i5 processors
throughout the board. This needs further investigation to figure out
the underlying reason but will be rolled out for now.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
12388016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13772
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Feb 2013 10:39:34 +0000 (10:39 +0000)]
Fix math.round with SSE4.1.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12388015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13771
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Feb 2013 15:36:02 +0000 (15:36 +0000)]
Fix wrong test in r13766 (Insert conversion to string in string.replace).
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12315130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13770
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 27 Feb 2013 15:33:37 +0000 (15:33 +0000)]
Order arguments of ComputeMonomorphicFlags to match ComputeFlags.
Review URL: https://chromiumcodereview.appspot.com/
12226090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13769
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 27 Feb 2013 15:28:53 +0000 (15:28 +0000)]
Currently this mostly just moves code around.
- Later the different parts will become individual code objects that tailcall into one another.
- The mapcheck/symbol check still needs to be separated from the overall prototype-chain check so that the ICs can reuse the handlers.
Review URL: https://chromiumcodereview.appspot.com/
12209021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13768
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 27 Feb 2013 15:17:27 +0000 (15:17 +0000)]
Reapply optimization of DeoptimizeIf for ia32 broken in r13633.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
12340113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13767
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Feb 2013 15:12:30 +0000 (15:12 +0000)]
Insert conversion to string in string.replace.
(missing since r13761)
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12316158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13766
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 27 Feb 2013 14:45:59 +0000 (14:45 +0000)]
Miscellaneous profile-driven Isolate plumbing.
While doing this, it became clear that quite a few functions should not be
static and should better live in various classes as instance methods, but I'll
leave this for a later CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12314152
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13765
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Feb 2013 14:44:57 +0000 (14:44 +0000)]
Handle negative input in inlined Math.round on Intel CPUs.
R=jkummerow@chromium.org
BUG=v8:2451
Review URL: https://chromiumcodereview.appspot.com/
12342037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13764
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 27 Feb 2013 14:37:51 +0000 (14:37 +0000)]
Fix materialization of arguments objects with unknown values.
This fixes the deoptimizer to materialize arguments objects of correct
length even in cases where the actual argument values are unknown and
were optimized away by Crankshaft. This can happen if only the length
property or the identity of an arguments object is used.
R=svenpanne@chromium.org
BUG=chromium:163530
TEST=mjsunit/regress/regress-crbug-163530
Review URL: https://codereview.chromium.org/
12335132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13763
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00