rossberg@chromium.org [Mon, 16 May 2011 16:33:58 +0000 (16:33 +0000)]
Implement get trap for proxies.
TODO: reflective Object methods not handled yet.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7035007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 16 May 2011 14:10:56 +0000 (14:10 +0000)]
Support conversion of clamped double values for pixel arrays in Crankshaft.
BUG=1313
TEST=test/mjsunit/external-array.js
Review URL: http://codereview.chromium.org/
7014033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 16 May 2011 11:28:23 +0000 (11:28 +0000)]
Prepare push to trunk. Now working on version 3.3.8.
Review URL: http://codereview.chromium.org/
7030012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7896
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 16 May 2011 09:06:16 +0000 (09:06 +0000)]
Extend GCMole with poor man's data flow analysis to catch dead raw pointer vars.
Fix various places in the code found by improved GCMole.
Review URL: http://codereview.chromium.org/
6973063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7895
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 16 May 2011 08:59:56 +0000 (08:59 +0000)]
Submit debug-mips.cc.
It compiles, but is not testable until the rest of the mips port
is in place. This has been tested externally.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7032003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 16 May 2011 08:38:19 +0000 (08:38 +0000)]
Submit code-stubs-mips.cc.
This submission required a small change to arch-indep code to declare
code stub DirectCEntry for mips.
It also required updates to macro-assembler-mips.cc & h and frames-mips.h.
I also made a small change to frames-mips.cc.
This code submission will compile, but is not testable until the majority
of the mips port is in place. It has been tested externally.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7034008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7893
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 16 May 2011 08:27:52 +0000 (08:27 +0000)]
Limit the number of local variables in a function
Review URL: http://codereview.chromium.org//
7003030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 16 May 2011 06:36:43 +0000 (06:36 +0000)]
Fix typos in include/*.h inline documentation.
Patch by Nicolas Kaiser <nikai@nikai.net>
R=sgjesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7030008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7891
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 May 2011 13:29:02 +0000 (13:29 +0000)]
Removed a "feature envy" bad smell: Moved AssumeRepresentation method to where
it belongs.
Review URL: http://codereview.chromium.org/
7015039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7890
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 13 May 2011 11:10:18 +0000 (11:10 +0000)]
Fix uninitialized variable recording how much regexp code
has been generated.
Review URL: http://codereview.chromium.org/
7015040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7888
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 13 May 2011 10:58:25 +0000 (10:58 +0000)]
A first skeleton for introducing Harmony proxies.
1) Add new type JSProxy for representing proxy objects.
Currently devoid of functionality, i.e., all properties are undefined.
2) Some rudimentary global $Proxy functions to create proxies.
Next step: Hook up getProperty and getOwnProperty handlers. Will probably
require introducing a new LookupResult type, which is a mixture of
INTERCEPTOR (handles any property) and CALLBACK (calls back to JS).
Can we unify this somehow?
TODO: Should probably rename existing Proxy type to something like
"Foreign", to avoid confusion.
Review URL: http://codereview.chromium.org/
6932068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 May 2011 09:25:05 +0000 (09:25 +0000)]
Remove more dead code.
Review URL: http://codereview.chromium.org/
7013045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 13 May 2011 08:54:16 +0000 (08:54 +0000)]
Isolates cleanup: move top.cc to isolate.cc.
Review URL: http://codereview.chromium.org/
6969042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 May 2011 08:21:50 +0000 (08:21 +0000)]
Removed dead code (ingenious 3-bit representation of types)
Review URL: http://codereview.chromium.org/
6973053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7883
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 13 May 2011 08:21:35 +0000 (08:21 +0000)]
Use type feedback for unary minus, improving the performance on e.g. 3d-cube by
7.2% and math-cordic by 5.7%.
Review URL: http://codereview.chromium.org/
7013025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7882
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 13 May 2011 07:27:46 +0000 (07:27 +0000)]
Submit builtins-mips.cc.
This code submission will compile, but is not testable until the majority
of the mips port is in place. This has been tested externally.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
7013031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 13 May 2011 07:26:44 +0000 (07:26 +0000)]
Only send null or undefined as receiver for es5 natives, not generally
for builtin functions.
Review URL: http://codereview.chromium.org/
7012012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 12 May 2011 16:19:03 +0000 (16:19 +0000)]
Micro-optimize passing of args to HasLocalProperty.
Review URL: http://codereview.chromium.org/
7018001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7878
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 12 May 2011 14:56:56 +0000 (14:56 +0000)]
Don't use environment values at certain deoptimize-instructions.
If a HDeoptimize does not cut away parts of the control-flow-graph
we don't need to insert uses to correctly elimiate dead phis since
the full function is visible to the optimizing compiler.
This is a small improvement of the change r7221 which fixed a problem
when deoptimizing on never executed case-clauses.
Review URL: http://codereview.chromium.org/
7012010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7877
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 12 May 2011 14:48:20 +0000 (14:48 +0000)]
Introduce ic-mips.cc.
This code submission will compile, but is not testable until the majority
of the mips port is in place. This has been tested externally.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
6973024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7876
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 12 May 2011 14:44:49 +0000 (14:44 +0000)]
ARM: Fix disasm for strh, vabs, vneg. Add load/store tests.
Patch from ARM Ltd.
BUG=none
TEST=added to test/cctest/test-disasm-arm.cc
Original review at http://codereview.chromium.org/
7013024/.
Review URL: http://codereview.chromium.org/
7013027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7875
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 12 May 2011 13:36:49 +0000 (13:36 +0000)]
Made the output of the --trace-representation flag a bit more informative and
centralized its handling.
Review URL: http://codereview.chromium.org/
6969034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7874
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 12 May 2011 13:33:14 +0000 (13:33 +0000)]
ARM: Reduce amount of code generated for context save on deopt.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
6930038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7873
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 12 May 2011 13:13:00 +0000 (13:13 +0000)]
Make the code flushing candidate field explicit in code objects.
This way it is counted and the rounding of the size will just work
without extra tweaking if you want to add an extra field to code
objects.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6969037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7872
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 12 May 2011 12:48:10 +0000 (12:48 +0000)]
Extend the fast case of HasLocalProperty.
Review URL: http://codereview.chromium.org/
7016016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7871
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 12 May 2011 08:54:13 +0000 (08:54 +0000)]
Fixed TypeFeedbackOracle for unary operations: Record code for the corresponding
type recording IC.
Review URL: http://codereview.chromium.org/
6973025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7870
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 11 May 2011 17:29:47 +0000 (17:29 +0000)]
Speculative fix fo MultithreadedParallelIsolates on ARM
It looks like the problem with the test is too many concurrently created isolates.
Cranking the number to 100 on MacOS and Linux produce similar results.
BUG=http://code.google.com/p/v8/issues/detail?id=1375
TBR=vitalyr
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7869
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 11 May 2011 14:16:24 +0000 (14:16 +0000)]
Add constant splitting for user controlled constants in the full compiler
This is IA32 only for now.
Added a random value to each assembler instance (JIT cookie) to be used for constant splitting. Added safe versions of setting a register with an immediate value and for pushing an immediate value. Used these functions where user controlled immediate values could be emitted in the code stream. I also used it for immediates which are an argument number even though the number of formal arguments is currently limited to 16k.
I found no compares directly with user controlled constants.
I am not sure whether the test is that useful, but it might catch some changes missing constant splitting.
Review URL: http://codereview.chromium.org//
7005031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7868
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 11 May 2011 13:45:30 +0000 (13:45 +0000)]
Kill some dead code.
Review URL: http://codereview.chromium.org/
6995048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7867
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 11 May 2011 13:26:07 +0000 (13:26 +0000)]
Remove support for branch hints from the IA32 and X64 assembler.
They were not on by default and should not be needed on modern
platforms.
Review URL: http://codereview.chromium.org/
7001025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7866
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 11 May 2011 12:50:04 +0000 (12:50 +0000)]
Support symbol comparison in crankshaft.
Review URL: http://codereview.chromium.org/
7000021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7865
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 11 May 2011 12:11:23 +0000 (12:11 +0000)]
Don't emit code for HContext values with no uses.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6982023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Wed, 11 May 2011 11:56:15 +0000 (11:56 +0000)]
JSON.parse improvement. Call "LookupSymbol" rather than "NewString"
for property string tokens.
Review URL: http://codereview.chromium.org/
7004016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 11 May 2011 11:53:43 +0000 (11:53 +0000)]
Support %_IsUndetectableObject in crankshaft.
Review URL: http://codereview.chromium.org/
6995046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Wed, 11 May 2011 11:34:56 +0000 (11:34 +0000)]
Prepare push to trunk. Now working on version 3.3.7.
Review URL: http://codereview.chromium.org/
7005029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 11 May 2011 11:29:53 +0000 (11:29 +0000)]
Remove peephole optimiziations from IA32 and ARM assembler.
They are not used with Crankshaft anymore.
Review URL: http://codereview.chromium.org/
7003025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 11 May 2011 11:26:11 +0000 (11:26 +0000)]
Allow closures to be optimized if outer contexts that call eval are all in strict mode.
R=kmillikin@chromium.org
BUG=
TEST=mjsunit/compiler/eval-introduced-closure.js
Review URL: http://codereview.chromium.org/
6993008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 11 May 2011 11:25:03 +0000 (11:25 +0000)]
Add case for EXTERNAL_ARRAY_TRANSITION to JSObject::NormalizeProperties
Review URL: http://codereview.chromium.org/
7004014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7852
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 11 May 2011 11:03:12 +0000 (11:03 +0000)]
Recommit "First step in letting Crankshaft inline functions with a different context.""
This reverts r7810, thus recommitting 7807.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6963009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 11 May 2011 09:50:34 +0000 (09:50 +0000)]
Rename parameters to fix Windows build
TEST=compiles on Windows
Review URL: http://codereview.chromium.org/
7005027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 11 May 2011 09:19:28 +0000 (09:19 +0000)]
Improved c1visualizer output a bit: Emit a human-readable description for
changes instead of a bit-pattern. Fixed logic when ranges are emitted. Improved
indentation in hydrogen.cfg (aesthetical change only). Some minor additional
cleanup.
Review URL: http://codereview.chromium.org/
6995024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 11 May 2011 09:12:16 +0000 (09:12 +0000)]
Remove NearLabel, replacing remaining occurrences with Label
TEST=compiles, existing tests pass
Review URL: http://codereview.chromium.org/
6991010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 11 May 2011 08:53:46 +0000 (08:53 +0000)]
Allow strict mode flag as extraicstate for keyed external array store ic
We currently hit an assertion in computeflags, but the extra_ic_state is used to pass the strict mode flag in.
BUG: 1383
Review URL: http://codereview.chromium.org/
7003022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 11 May 2011 08:26:22 +0000 (08:26 +0000)]
Add cctest/test-disasm-mips which was mistakenly omitted from r7825.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
6994013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 11 May 2011 06:39:27 +0000 (06:39 +0000)]
Limit the generation of regexp code with large inlined constants.
Review URL: http://codereview.chromium.org/
6997015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7845
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 10 May 2011 15:25:17 +0000 (15:25 +0000)]
Avoid using a register for constant external array indices.
This CL is based on and obsoletes CL
6879037.
TEST=mjsunit/external-array.js
Review URL: http://codereview.chromium.org/
6902112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7844
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 10 May 2011 15:07:30 +0000 (15:07 +0000)]
Fix timeout of test regress-1118.js
TEST=mjsunit/regress/regress-1118.js no longer times out when run in the ARM simulator.
Review URL: http://codereview.chromium.org/
6994010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 10 May 2011 14:39:19 +0000 (14:39 +0000)]
Reverted some code which got accidentally committed as part of another commit.
TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/
6994011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 10 May 2011 14:21:23 +0000 (14:21 +0000)]
Fix lint.
TBR=svenpanne@chromium.org
Review URL: http://codereview.chromium.org/
6995022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 10 May 2011 14:17:23 +0000 (14:17 +0000)]
Refactor HCheckInstanceType to allow mask/tag tests.
This allows us to get rid of totally fake LAST_STRING_TYPE and makes
it possible to test for symbols.
I considered splitting HCheckInstanceType into two instructions, but
it seems nice to be able to hide the instance type implementation
details from the hydrogen level.
Review URL: http://codereview.chromium.org/
6964011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 10 May 2011 13:29:57 +0000 (13:29 +0000)]
A few "extract method" refactorings, trying to get individual method definitions
onto a sinlge 30" screen. A lot of times, the AST visitor stops a bit too early,
so we have to do the rest of the dispatch by hand. This is caused by the fact
that the kind of the AST nodes are a bit too coarse for some traversals (e.g. a
single node type for all binary ops), perhaps one could try to refine this a
little bit more.
Review URL: http://codereview.chromium.org/
6963008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Tue, 10 May 2011 12:30:01 +0000 (12:30 +0000)]
ARM: Disable test test-lockers/MultithreadedParallelIsolates because it is flaky.
BUG=1375
Review URL: http://codereview.chromium.org/
6994008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 10 May 2011 09:15:21 +0000 (09:15 +0000)]
fix x64 build error (introduced by rebasing)
TEST=compiles
Review URL: http://codereview.chromium.org/
6980018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7833
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 10 May 2011 09:03:42 +0000 (09:03 +0000)]
Merge Label and NearLabel
by adding NearLabel's functionality to Label and introducing a "near" parameter to jump instructions.
TEST=compiles; existing tests still pass.
Review URL: http://codereview.chromium.org/
6928060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7832
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 10 May 2011 06:29:16 +0000 (06:29 +0000)]
Add new function ICCompareStub::GenerateSymbols to mips, introduced in r7824.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
6970006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 9 May 2011 16:15:18 +0000 (16:15 +0000)]
Propagate a Failure from GenerateDictionaryNegativeLookup instead of causing GC.
Review URL: http://codereview.chromium.org/
6973001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 9 May 2011 15:24:48 +0000 (15:24 +0000)]
Add IsCallable method for Object in the API
Patch by Peter Varga.
BUG=none
TEST=cctest/test-api/CallableObject
Review URL: http://codereview.chromium.org/
6964005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7828
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 9 May 2011 15:21:40 +0000 (15:21 +0000)]
Simple elimination of redundant array-hole checks.
If the result of an fast elements load is converted to an untagged
representation we can omit the hole check if the value is not used
anywhere else except for HChange instructions converting it to
an untagged representation since those will deoptimize for the hole
value anyway.
Review URL: http://codereview.chromium.org/
6964012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7827
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 9 May 2011 14:58:06 +0000 (14:58 +0000)]
Code should be retrieved via the AST id, not via the source position. Bugs like
this are a "little bit" hard to find when everything is an int... >:-(
Review URL: http://codereview.chromium.org/
6970001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 9 May 2011 14:28:09 +0000 (14:28 +0000)]
Update mips infrastructure files.
- Merge to current tip of tree, fix build problems.
- Remove deprecated source files.
- Add cctest test-disasm-mips
- Consistently use single-reg push()/pop() (remove uppercase variants)
- Add assembler field accessors.
- More style fixes.
BUG=
TEST=
Review URL: http://codereview.chromium.org//
6965006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 9 May 2011 13:30:04 +0000 (13:30 +0000)]
Compare IC: add SYMBOLS state.
Review URL: http://codereview.chromium.org/
6960011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7824
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 9 May 2011 12:39:16 +0000 (12:39 +0000)]
Make preparser-process.cc ignore flags on the command line.
Avoids breaking when passed, e.g., the --nosse2 flag by certain builders.
Review URL: http://codereview.chromium.org/
6964008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 9 May 2011 10:39:02 +0000 (10:39 +0000)]
Make sure v8::String::Value and relatives are always initialized.
BUG=1370
Review URL: http://codereview.chromium.org/
6966003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 9 May 2011 09:21:21 +0000 (09:21 +0000)]
Prepare push to trunk. Now working on version 3.3.6.
Review URL: http://codereview.chromium.org/
6964006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 9 May 2011 09:02:27 +0000 (09:02 +0000)]
Let test configuration disable variant flags. Used for preparser tests.
Fixes problem with nosse[234] tests (or anything else that would pass an
unexpected extra parameter on the preparser test command line).
Review URL: http://codereview.chromium.org/
6965008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 9 May 2011 08:58:57 +0000 (08:58 +0000)]
Expose optimization info via runtime functions
TEST=mjsunit/assert-opt-and-deopt.js
Review URL: http://codereview.chromium.org/
6879108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 8 May 2011 14:55:57 +0000 (14:55 +0000)]
AUTHORS: add Akinori MUSHA <knu@FreeBSD.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 8 May 2011 14:50:09 +0000 (14:50 +0000)]
Fix build on FreeBSD.
Patch by Akinori MUSHA.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7811
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 6 May 2011 15:02:15 +0000 (15:02 +0000)]
Revert "First step in letting Crankshaft inline functions with a different context."
This reverts commit r7807. TBR=kmillikin@chromium.org.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6928061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7810
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 6 May 2011 14:19:51 +0000 (14:19 +0000)]
Extract common code in string compare loops.
Review URL: http://codereview.chromium.org/
6927044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7809
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 6 May 2011 14:14:16 +0000 (14:14 +0000)]
Check that receiver is JSObject on API calls.
R=sgjesse@chromium.org
BUG=v8:1369
TEST=mjsunit/regress/regress-1369.js
Review URL: http://codereview.chromium.org/
6931056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7808
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 6 May 2011 13:26:22 +0000 (13:26 +0000)]
First step in letting Crankshaft inline functions with a different context.
Use a special slot for HContext, and fetch the value from there each time it is used. Allocate space for special slots in every HEnvironment. Fill them with constant undefined. Do not copy them to LEnvironment.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6929066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 6 May 2011 12:52:12 +0000 (12:52 +0000)]
ARM: Fix the detection of whether the binary was compiler with -mfloat-abi=hard
The constant 1.0 should be 0x3FF0000000000000 not 0x03FF000000000000.
R=karlklose@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//
6930064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 6 May 2011 12:47:18 +0000 (12:47 +0000)]
Fix newly introduced bug in detecing octal numbers.
TEST=mjsunit/strict
Review URL: http://codereview.chromium.org/
6928059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 6 May 2011 11:41:15 +0000 (11:41 +0000)]
Strict mode detection in preparser.
Handle octal escapes in everything but RegExps.
Extend preparser test suite to test whether the preparser reports
exceptions to throw.
TEST=preparser/*
Review URL: http://codereview.chromium.org/
6927075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7804
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 6 May 2011 11:07:52 +0000 (11:07 +0000)]
Implement CallAsConstructor method for Object in the API
Patch by Peter Varga.
BUG=v8:1348
TEST=cctest/test-api/ConstructorForObject
Review URL: http://codereview.chromium.org/
6902108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 6 May 2011 11:02:23 +0000 (11:02 +0000)]
Tiny refactorings to improve the readability of the compiler pipeline a bit.
Review URL: http://codereview.chromium.org/
6933048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 6 May 2011 09:22:54 +0000 (09:22 +0000)]
Split threaded cctests into four parts (instead of 2)
The number of cctests are now so large that this is causing timeouts
when only splitting these into two parts.
Review URL: http://codereview.chromium.org/
6929063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 6 May 2011 09:10:28 +0000 (09:10 +0000)]
Replace loops by OptimizeFunctionOnNextCall in regress-1085 and regress-1210.
Review URL: http://codereview.chromium.org/
6938001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7800
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 6 May 2011 09:05:44 +0000 (09:05 +0000)]
Remove unused but set variable.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/
6930063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7799
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 6 May 2011 06:50:20 +0000 (06:50 +0000)]
A tiny contribution for the IWYU day: Include allocation.h in every
header which uses BASE_EMBEDDED and/or AllStatic. Note that still only
45 out of 135 headers in src/ can be used stand-alone, but at least
this is a little bit more than before...
Review URL: http://codereview.chromium.org/
6931031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7798
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 5 May 2011 18:55:31 +0000 (18:55 +0000)]
This implements per-isolate locking and unlocking, including tests
BUG=
TEST=
Committed: http://code.google.com/p/v8/source/detail?r=7734
Committed: http://code.google.com/p/v8/source/detail?r=7784
Review URL: http://codereview.chromium.org/
6788023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7797
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
cira@chromium.org [Thu, 5 May 2011 17:18:22 +0000 (17:18 +0000)]
Trying to re-land codereview.chromium.org/
6901141.
Changes from previus revision:
- Made my own strncpy in I18NUtils class (we can't use OS::SNPrintF nor snprintf).
- Fixed a crashing bug related to ICU call in LanguageMatcher::BCP47ToICUFormat.
TEST=Visit i18n.kaziprst.org/locale.html
Review URL: http://codereview.chromium.org/
6928017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7796
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 5 May 2011 12:30:57 +0000 (12:30 +0000)]
Unroll more StringDictionary lookup probes both for positive and negative dictionary lookups.
Review URL: http://codereview.chromium.org/
6932010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7795
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 5 May 2011 11:40:08 +0000 (11:40 +0000)]
Faster string equals in generated code.
In my previous change I mixed up "compare" and "equals". This made us
miss the fast length check before comparing strings for equality.
Now we have a separate helper for "equals". It shares some of the
inner loop details with "compare". I'll see if this can be cleaned up
without making it unreadable.
Review URL: http://codereview.chromium.org/
6928020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7794
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 5 May 2011 09:22:09 +0000 (09:22 +0000)]
Support polymorphic loads of constant functions as well as fields.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6930005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7792
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 5 May 2011 08:17:31 +0000 (08:17 +0000)]
Fix bug in x64 >>> operator.
Whenever >>> produces a non-smi result, the binary op stub would
return a wrong result in case of a failed new-space allocation.
This also fixes the (flaky) sparse-array-reverse test which was failing
sometimes because of this.
BUG=v8:1359
TEST=mjsunit/sparse-array-reverse.js
Review URL: http://codereview.chromium.org/
6927013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 5 May 2011 06:22:58 +0000 (06:22 +0000)]
Fix overflow in arm simulator.
Don't copy 64 bits to a 32 bit value.
R=karlklose@chromium.org,sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6933009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 5 May 2011 05:51:43 +0000 (05:51 +0000)]
Remove extra debug line from Object.prototype.toString
Fixes mozilla failures
Review URL: http://codereview.chromium.org/
6935020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 5 May 2011 05:21:30 +0000 (05:21 +0000)]
Reapply 7763, including arm and x64 variants.
The only difference to revision 7763 is the implementation in the
builtins file for arm and x64, plus a move of Array.prototype.toString
and Array.prototype.toLocaleString from should throw on null or
undefined to the non generic test cases in the function-call test (due
to us not currently supporting generic cases with these to functions)
Review URL: http://codereview.chromium.org/
6928007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 4 May 2011 22:35:42 +0000 (22:35 +0000)]
Revert "This implements per-isolate locking and unlocking, including tests"
This reverts commit
1aa40d0c278e195e9e69dcf8b29a212aa1817c0b.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7785
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 4 May 2011 21:04:32 +0000 (21:04 +0000)]
This implements per-isolate locking and unlocking, including tests
BUG=
TEST=
Committed: http://code.google.com/p/v8/source/detail?r=7734
Review URL: http://codereview.chromium.org/
6788023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 4 May 2011 18:30:37 +0000 (18:30 +0000)]
Compare IC: add STRINGS state.
BUG=1340
Review URL: http://codereview.chromium.org/
6937001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 4 May 2011 15:00:04 +0000 (15:00 +0000)]
Tiny refactoring - change compilation phase parameter for CopyForInlining from a boolean to an enum.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6913021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 4 May 2011 13:03:08 +0000 (13:03 +0000)]
Add CallAsFunction method to the Object class in the API
Patch by Peter Varga.
BUG=v8:1336
TEST=cctest/test-api/CallAsFunction
Review URL: http://codereview.chromium.org/
6883045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 4 May 2011 11:55:09 +0000 (11:55 +0000)]
Prepare push to trunk. Now working on version 3.3.5.
Review URL: http://codereview.chromium.org/
6933004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 4 May 2011 11:12:06 +0000 (11:12 +0000)]
Revert r7768
This broke the Chromium Windows shared build.
BUG=none
TEST=Windows shared build works when pushed to Chromium
Review URL: http://codereview.chromium.org/
6932007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 4 May 2011 11:10:49 +0000 (11:10 +0000)]
Fix the Windows shared build
R=fschneider@chromium.org
BUG=none
TEST=Windows shared build works when pushed to Chromium
Review URL: http://codereview.chromium.org//
6932006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 4 May 2011 11:07:09 +0000 (11:07 +0000)]
Actually revert "Add Call method to the Object class in the API"
Tests are failing in debug mode.
This also reapplies the change "Make Date and RegExp inherit from
Object in the API" that I accidentally reverted.
R=sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6927009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 4 May 2011 10:51:07 +0000 (10:51 +0000)]
Revert "Make Date and RegExp inherit from Object in the API."
Tests are failing in debug mode.
R=sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6930004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7774
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00