lrn@chromium.org
465aa7ef08
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
2011-05-09 09:21:21 +00:00
lrn@chromium.org
217006f111
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
2011-05-09 09:02:27 +00:00
jkummerow@chromium.org
89c64653bf
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
2011-05-09 08:58:57 +00:00
vitalyr@chromium.org
b6f9db93ef
AUTHORS: add Akinori MUSHA <knu@FreeBSD.org>.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-08 14:55:57 +00:00
vitalyr@chromium.org
f5af29e848
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
2011-05-08 14:50:09 +00:00
whesse@chromium.org
912ec759da
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
2011-05-06 15:02:15 +00:00
vitalyr@chromium.org
913ce07e2f
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
2011-05-06 14:19:51 +00:00
ager@chromium.org
0961b1a936
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
2011-05-06 14:14:16 +00:00
whesse@chromium.org
efc43746df
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
2011-05-06 13:26:22 +00:00
sgjesse@chromium.org
b15475abbc
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
2011-05-06 12:52:12 +00:00
lrn@chromium.org
91968ac8a6
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
2011-05-06 12:47:18 +00:00
lrn@chromium.org
1a169aa3f0
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
2011-05-06 11:41:15 +00:00
ager@chromium.org
cf19179266
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
2011-05-06 11:07:52 +00:00
svenpanne@chromium.org
76d5eda67e
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
2011-05-06 11:02:23 +00:00
ricow@chromium.org
1d9133bbac
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
2011-05-06 09:22:54 +00:00
karlklose@chromium.org
d43066050a
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
2011-05-06 09:10:28 +00:00
karlklose@chromium.org
30c169718d
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
2011-05-06 09:05:44 +00:00
svenpanne@chromium.org
5cd715cbc3
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
2011-05-06 06:50:20 +00:00
dslomov@chromium.org
2500f14868
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
2011-05-05 18:55:31 +00:00
cira@chromium.org
9695ce9f37
Trying to re-land http://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
2011-05-05 17:18:22 +00:00
vegorov@chromium.org
9a9211e22d
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
2011-05-05 12:30:57 +00:00
vitalyr@chromium.org
5b2e2636b7
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
2011-05-05 11:40:08 +00:00
ager@chromium.org
0af052870f
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
2011-05-05 09:22:09 +00:00
fschneider@chromium.org
b4022f7b73
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
2011-05-05 08:17:31 +00:00
ager@chromium.org
4e85fab9f9
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
2011-05-05 06:22:58 +00:00
ricow@chromium.org
03852da3b8
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
2011-05-05 05:51:43 +00:00
ricow@chromium.org
e0eb110130
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
2011-05-05 05:21:30 +00:00
dslomov@chromium.org
6e4629a81c
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
2011-05-04 22:35:42 +00:00
dslomov@chromium.org
d54fe47fad
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
2011-05-04 21:04:32 +00:00
vitalyr@chromium.org
4ca7b50990
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
2011-05-04 18:30:37 +00:00
whesse@chromium.org
788db8aedc
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
2011-05-04 15:00:04 +00:00
ager@chromium.org
82a04c7fdc
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
2011-05-04 13:03:08 +00:00
fschneider@chromium.org
23b770759d
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
2011-05-04 11:55:09 +00:00
sgjesse@chromium.org
dfed2ce8a3
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
2011-05-04 11:12:06 +00:00
sgjesse@chromium.org
79fba38d6f
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
2011-05-04 11:10:49 +00:00
ager@chromium.org
24f19608d4
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
2011-05-04 11:07:09 +00:00
ager@chromium.org
26c775da94
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
2011-05-04 10:51:07 +00:00
ager@chromium.org
b8cdecb517
Add Call 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@7773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-04 10:03:49 +00:00
ager@chromium.org
87f225936f
Make Date and RegExp inherit from Object in the API.
...
They are objects and the API inheritance hierarchy should reflect that.
R=sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6929008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-04 07:28:27 +00:00
sgjesse@chromium.org
34174f3899
ARM: Add GYP variables to control V8 code generation
...
Added the GYP variables:
v8_can_use_unaligned_accesses
v8_use_arm_eabi_hardfloat
Refer to the comments in v8.gyp on their uses.
R=karlklose@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//6910025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-04 06:18:49 +00:00
cira@chromium.org
5a9fa7a8c6
Change v8Locale to match proposal - constructor is different (takes settings object, not a plain string) and I've added derive method to it.
...
Added comments to i18n.js methods and properties, and util functions to check settings and locale validity.
Added LanguageMatcher class until ICU gets C implementation (in progress, but late for our current deadline). I added TODO to remove LanguageMatcher code.
TEST=Visit http://i18n.kaziprst.org/locale.html .
Review URL: http://codereview.chromium.org/6901141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 20:43:51 +00:00
svenpanne@chromium.org
1b833ff35e
Additional minor cleanup regarding CallWrapper: Use the null object pattern.
...
Review URL: http://codereview.chromium.org/6909026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 15:12:40 +00:00
ricow@chromium.org
797cbc68b7
Delete empty test/mjsunit/function-call.js file
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 14:20:19 +00:00
karlklose@chromium.org
8b917d4d96
Replace long running loops by OptimizeFunctionOnNextCall in some tests that are often timing out on ARM.
...
Review URL: http://codereview.chromium.org/6910022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 13:53:08 +00:00
ricow@chromium.org
4d890da191
Revert 7763, missing implementation on x64 and arm for call and apply with null or undefined.
...
Review URL: http://codereview.chromium.org/6913024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 13:45:19 +00:00
ricow@chromium.org
2b730c2bf6
Don't exchange null and undefined with the global object in function.prototype.{call, apply} for natives.
...
This makes us compatible with firefox in throwing an exception when
call is invoked on a builtin with null as the this argument.
Review URL: http://codereview.chromium.org/6902104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 13:19:04 +00:00
lrn@chromium.org
569574b7bf
Fix implementation of == to correctly convert Date objects to primitives.
...
Fix issue 1356
BUG=v8:1356
TEST=mjsunit/double-equals
Review URL: http://codereview.chromium.org/6912021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 12:15:14 +00:00
ager@chromium.org
eda2a0d4d2
Cleanup: use xorps to zero out an xmm register on ia32 too.
...
Encoding is one byte shorter.
R=lrn@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6910021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 12:00:54 +00:00
svenpanne@chromium.org
5197bff4f2
Unified CallWrapper and PostCallGenerator classes, the former is a
...
generalization of the latter. This makes CallWrapper architecture-independant,
so it can be pulled up into assembler.h, nuking 3 copy-n-paste classes. Only a
small improvement, but nevertheless...
Review URL: http://codereview.chromium.org/6893156
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 09:30:06 +00:00
fschneider@chromium.org
3e94ac952d
Change heuristics for deciding phi-representation types to use int32 more frequently.
...
Until now we conservatively chose a double representation if
at least one use occurs in a double operation. This causes performance
degradation in many cases where there are mixes uses (integer and double)
e.g.:
for (int i = 0; i < 10; i++) {
var t = i / 3.5;
a[i] = t;
}
where the use in i/3 requires a double, where as the keyed store requires i
as an integer.
For these cases we want to have i as an integer and convert it only before the
double division.
In order to avoid unconditional deoptimization in some rare cases, we check
phis if there is any conversion that will always fail when converting a
heap-number constant to int32.
Review URL: http://codereview.chromium.org/6905166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 08:31:35 +00:00