Commit Graph

10874 Commits

Author SHA1 Message Date
yangguo@chromium.org
f96267aa7b Prepare push to trunk. Now working on version 3.16.3.
R=svenpanne@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11748029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-04 08:55:22 +00:00
ulan@chromium.org
bb96439743 Cleanup RelocInfo::NONE usage.
There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
  https://chromiumcodereview.appspot.com/11191029/

I'll rename NONE to NONE32 in a later CL.

This CL cleans up the RelocInfo::NONE usage by:
 - Using RelocInfo::IsNone when testing for NONE-ness.
 - Using NONE on 32-bit platforms (MIPS and IA32), and NONE64 on 64-bit
   platforms (x64).

This cleans up the code and prevents it from evolving bugs in the future
because NONE32 and NONE64 are used in misleading ways.

R= ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11695006
Patch from JF Bastien <jfb@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 14:20:08 +00:00
yangguo@chromium.org
ffa936927b Fix Win64 build.
R=dcarney@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11746015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 13:16:00 +00:00
svenpanne@chromium.org
b74f1b8b4a Synched postmortem script with not-so-recent changes.
Review URL: https://codereview.chromium.org/11744019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 13:11:47 +00:00
yangguo@chromium.org
e2444edd8f Refactor out assumption that one byte strings are ascii in utf8 processing.
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11725006
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 12:59:54 +00:00
svenpanne@chromium.org
252fbddc67 Improved printing of HForceRepresentation.
Review URL: https://codereview.chromium.org/11745011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 10:05:40 +00:00
yangguo@chromium.org
04ccb975f4 Remove InputBuffer
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11727004
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 09:18:01 +00:00
yangguo@chromium.org
a50259f75c Add Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).
With these Makefile changes, it is possible to build V8 on the Raspberry Pi with the following make invocation:

make native armv7=false vfp3=off hardfp=on disassembler=on console=readline snapshot=on gdbjit=on strictaliasing=off

R=danno@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11722003
Patch from Luis Reis <luis.m.reis@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 08:56:05 +00:00
svenpanne@chromium.org
840b1a37da Fixed printing of LInstructions in the presence of optional arguments
TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/11743012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 07:23:33 +00:00
yangguo@chromium.org
ddf70504cb Relax test expectations in BootUpMemoryUse.
R=dcarney@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11738004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-02 15:00:12 +00:00
verwaest@chromium.org
537d1d89b0 Move CopyElements to the accessor of the target.
Review URL: https://chromiumcodereview.appspot.com/11416238

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-02 10:09:42 +00:00
yangguo@chromium.org
bccef0c712 Reland r13275 and 13276 (Remove most uses of StringInputBuffer).
R=dcarney@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11727003
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-31 11:13:50 +00:00
danno@chromium.org
45a012ec2c Elide unnecessary context reload in generated stubs.
Review URL: https://codereview.chromium.org/11550005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 16:25:38 +00:00
yangguo@chromium.org
e536abb777 Handle non-constant divisor in MathFloorOfDiv, on ia32/x64
Zheng Liu
zheng.z.liu@intel.com

Review URL: https://chromiumcodereview.appspot.com/11624022
Patch from Zheng Liu <zheng.z.liu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 15:52:17 +00:00
ulan@chromium.org
eb27eb0351 Enable type feedback for branch statement and function call
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.

Review URL: https://chromiumcodereview.appspot.com/11635046
Patch from Jay Conrod <dconrod@codeaurora.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 15:14:44 +00:00
danno@chromium.org
3526c6be98 Use EXTERNAL_REFERENCE instead of RUNTIME_ENTRY for Runtime::PerformGC and
CallApiFunctionAndReturn in X64

Review URL: https://codereview.chromium.org/11694008
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 14:36:55 +00:00
ulan@chromium.org
a7f9c491dc Use VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV immediate.
This requires constant blinding before it can be enabled. There are other interesting optimizations that can be added later, detailed in a TODO.

BUG=optimization
R=ulan@chromium.org,mstarzinger@chromium.org, hwennborg@google.com

Review URL: https://chromiumcodereview.appspot.com/11191029
Patch from JF Bastien <jfb@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 13:34:15 +00:00
danno@chromium.org
2e6a7c733b postmortem: export kSmiShiftSize
Right now it's impossible to figure out from headers that smis are left shifted
by 31 bit on x64, and only then tagged.

R=erik.corry@gmail.com

Review URL: https://codereview.chromium.org/11676005
Patch from Fedor Indutny <fedor@indutny.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 13:06:08 +00:00
danno@chromium.org
17326e8746 Refactor and improve inlined double-aligned allocations
Change is performance neutral but generates smaller code and encapsulates double alignment in the macro-assembler rather than at the allocation site.

Review URL: https://codereview.chromium.org/11684005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 11:09:16 +00:00
ulan@chromium.org
0aee912480 Prepare push to trunk. Now working on version 3.16.2.
R=danno@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11675006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 15:56:02 +00:00
danno@chromium.org
9307f8ea30 Fix SSE2 debug asserts in LayoutTests
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/11675005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 15:40:34 +00:00
yangguo@chromium.org
2f821f1ed9 Revert r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
R=ulan@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11678006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 13:12:27 +00:00
yangguo@chromium.org
074038058a Add kNumberStringCacheRootIndex into writable_roots
Review URL: https://chromiumcodereview.appspot.com/11660028
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 10:11:08 +00:00
yangguo@chromium.org
121f3f6020 Revert r13275 and 13276 (Remove most uses of StringInputBuffer).
This is due to test failures in test-mark-compact/BootUpMemoryUse.

R=ulan@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11688003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-27 10:03:17 +00:00
yangguo@chromium.org
6e6140728b Fix build warnings.
TBR=dcarney@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11669020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-24 08:52:32 +00:00
yangguo@chromium.org
7f074acd8d Remove most uses of StringInputBuffer
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11638037
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-24 08:29:48 +00:00
vegorov@chromium.org
6b7fe028e9 Fix typo in the CheckSSE2OperandIsInt32: use bitwise not instead of integer negation.
R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11662009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 18:16:27 +00:00
ulan@chromium.org
b64f834383 Fix x64 MathMinMax for negative untagged int32 arguments.
An untagged int32 has zeros in the upper half even if it is negative.
Using cmpq to compare such numbers will incorrectly ignore the sign.

BUG=164442
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11665007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 17:52:00 +00:00
adamk@chromium.org
d14b05a38d Basic test for interaction of Object.observe and hidden prototypes
The test simply shows the current behavior, not necessarily what we
want the behavior to be.

Review URL: https://codereview.chromium.org/11635033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 17:40:09 +00:00
svenpanne@chromium.org
6ad15b88be Fixed typing confusion found by GCMole
Review URL: https://codereview.chromium.org/11668006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 14:28:33 +00:00
svenpanne@chromium.org
9c7bb6da23 Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
BUG=v8:2458

Review URL: https://codereview.chromium.org/11660010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 14:01:53 +00:00
svenpanne@chromium.org
c024ba9a90 Fixed x64 disassembler for cmpb_al
Review URL: https://codereview.chromium.org/11666007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 13:50:17 +00:00
svenpanne@chromium.org
e6141a84eb Added (dis-)assembler support for movmskps on ia32 and x64.
Review URL: https://codereview.chromium.org/11664007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 13:47:08 +00:00
yangguo@chromium.org
beec898b05 Fast-forward version 3.15.12 to 3.16.0.
Now working on 3.16.1.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11659010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 13:44:40 +00:00
yangguo@chromium.org
ee21013534 Prepare push to trunk. Now working on version 3.15.13.
R=svenpanne@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11665006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 12:33:30 +00:00
svenpanne@chromium.org
93998c58ef Refactoring only: Use CheckSSE2OperandIsInt32 instead of copy-n-paste code.
Review URL: https://codereview.chromium.org/11666004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 10:19:42 +00:00
svenpanne@chromium.org
3cff9a2a4a Refactored deopt tracing and FindOptimizedCode. Fixed a bug when printing stubs.
Review URL: https://codereview.chromium.org/11636046

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-21 07:18:56 +00:00
danno@chromium.org
6323bb3e38 MIPS: ARM: fix a bug with saving lr register in GenerateSmiToDouble.
Port r13107 (63aea0a3)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11574013
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 17:07:38 +00:00
danno@chromium.org
653a66f527 ARM: Use division instructions in lithium and stubs
BUG=none
TEST=Added to test/mjsunit/math-floor-of-div.js, math-floor-of-div-nosudiv.js

Review URL: https://codereview.chromium.org/11316105
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 16:31:19 +00:00
yangguo@chromium.org
a3f16f8e65 Fix several bugs in error stack trace formatting.
GetScriptWrapper can be called recursively:
GetScriptWrapper -> GC -> DeferredFormatStackTrace -> GetScriptWrapper

GC-unsafe code in ErrorObjectList::DeferredFormatStackTrace

Enable overwriting Error.prepareStackTrace by itself while not
causing infinity recursion when it triggers an exception.

R=ulan@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11649037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 16:25:26 +00:00
rossberg@chromium.org
97eba9d3cd Object.observe: fix observation for optimised in/decrement and compound assignment.
R=svenpanne@chromium.org
BUG=v8:2409

Review URL: https://codereview.chromium.org/11642042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 15:03:30 +00:00
rossberg@chromium.org
d2ed67a958 Object.observe: temporarily disable one test to unbreak ARM.
R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11646004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 14:12:41 +00:00
danno@chromium.org
09fec366f8 Remove redundant loads in DoCheckMaps
Hoist the loop-invariant load out of the loop and call the other CheckMap function
BUG=none
TEST=none

Committed: https://code.google.com/p/v8/source/detail?r=13200

Review URL: https://codereview.chromium.org/11369014
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 14:05:14 +00:00
svenpanne@chromium.org
3d123fdfe2 Refactoring only: Extracted a method for finding optimized code.
Review URL: https://codereview.chromium.org/11637036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 13:05:16 +00:00
svenpanne@chromium.org
9b00a57a92 Refactoring only: Extracted method to print deopt location.
Review URL: https://codereview.chromium.org/11640041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 11:53:42 +00:00
svenpanne@chromium.org
49a791a1b1 Refactoring only: Move stuff to DeoptimizerData where it belongs. Use "for".
Review URL: https://codereview.chromium.org/11637034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:47:09 +00:00
yangguo@chromium.org
4cb7b83466 Fix windows build errors.
R=dcarney@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11637033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:33:55 +00:00
yangguo@chromium.org
eedcaf1866 Remove Utf8InputBuffer
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11649018
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:20:37 +00:00
yangguo@chromium.org
9eccd63ccc Fix ARM code for DoModI.
R=ulan@chromium.org
BUG=166379

Review URL: https://chromiumcodereview.appspot.com/11618020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-20 09:07:05 +00:00
adamk@chromium.org
354fc4abe5 Object.observe: test mutating an object via the API
Review URL: https://codereview.chromium.org/11598014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-19 17:02:12 +00:00